/// <summary> /// Sets up noise hyper-parameters. /// </summary> /// <param name="noiseHyperparameters">The noise hyper-parameters.</param> private void SetNoiseHyperparameters(NoiseHyperparameters noiseHyperparameters) { Debug.Assert(noiseHyperparameters != null, "Valid noise hyperparameters must be provided."); this.inferenceAlgorithm.AffinityNoiseVariance = noiseHyperparameters.AffinityVariance; this.inferenceAlgorithm.UserThresholdNoiseVariance = noiseHyperparameters.UserThresholdVariance; }
/// <summary> /// Initializes a new instance of the <see cref="CommunityTrainingAlgorithm"/> class. /// </summary> /// <param name="iterationCount">The number of inference iterations to perform.</param> /// <param name="traitCount">The number of traits the algorithm will try to learn.</param> /// <param name="noiseHyperparameters">The noise-related hyper-parameters.</param> /// <param name="userHyperparameters">The user-related hyper-parameters.</param> /// <param name="itemHyperparameters">The item-related hyper-parameters.</param> /// <param name="userFeatureHyperparameters">The user feature related hyper-parameters.</param> /// <param name="itemFeatureHyperparameters">The item feature related hyper-parameters.</param> public CommunityTrainingAlgorithm( int iterationCount, int traitCount, NoiseHyperparameters noiseHyperparameters, UserHyperparameters userHyperparameters, ItemHyperparameters itemHyperparameters, FeatureHyperparameters userFeatureHyperparameters, FeatureHyperparameters itemFeatureHyperparameters) { this.inferenceAlgorithm = new MatchboxCommunityTraining_EP(); Debug.Assert(iterationCount > 0, "The number of iterations must be positive."); this.iterationCount = iterationCount; Debug.Assert(traitCount > 0, "The number of traits must be positive."); this.inferenceAlgorithm.TraitCount = traitCount; this.SetNoiseHyperparameters(noiseHyperparameters); this.SetUserHyperparameters(userHyperparameters); this.SetItemHyperparameters(itemHyperparameters); this.SetUserFeatureHyperparameters(userFeatureHyperparameters); this.SetItemFeatureHyperparameters(itemFeatureHyperparameters); }
/// <summary> /// Initializes a new instance of the <see cref="RatingPredictionAlgorithm"/> class. /// </summary> /// <param name="noiseHyperparameters">The noise hyper-parameters.</param> public RatingPredictionAlgorithm(NoiseHyperparameters noiseHyperparameters) { this.inferenceAlgorithm = new MatchboxRatingPrediction_EP(); this.SetNoiseHyperparameters(noiseHyperparameters); }