/// <summary> /// MultipleLinearRegressionを取得します。 /// </summary> /// <param name="version">AIプレイヤのバージョン</param> /// <returns>MultipleLinearRegression</returns> public MultipleLinearRegression GetMultipleLinearRegression(AiPlayer.Version version) { if (!this.MultipleLinearRegressions.ContainsKey(version)) { var csv = Resources.Load <TextAsset>($"Csvs/Learners/{MultipleLinearRegressionFileName}_{version.ToString().ToLower()}").ToString(); var weightsAndIntercept = csv.Split(','); var weightsLength = weightsAndIntercept.Count() - 1; var intercept = weightsAndIntercept.Last(); var weights = weightsAndIntercept.Take(weightsLength).Select(w => double.Parse(w)).ToArray(); this.MultipleLinearRegressions[version] = new MultipleLinearRegression(); this.MultipleLinearRegressions[version].NumberOfInputs = weightsLength; this.MultipleLinearRegressions[version].Intercept = double.Parse(intercept); this.MultipleLinearRegressions[version].Weights = weights; } return(this.MultipleLinearRegressions[version]); }
/// <summary> /// DeepBeliefNetworkを取得します。 /// </summary> /// <param name="version">AIプレイヤのバージョン</param> /// <returns>DeepBeliefNetwork</returns> public DeepBeliefNetwork GetDeepBeliefNetwork(AiPlayer.Version version) { if (!this.DeepBeliefNetworks.ContainsKey(version)) { this.DeepBeliefNetworks[version] = Serializer.Load <DeepBeliefNetwork>(string.Format(LearningConfig.LearnerSavePath + @"/{0}_{1}.bin", DeepBeliefNetworkFileName, version.ToString().ToLower())); } return(this.DeepBeliefNetworks[version]); }
/// <summary> /// DeepBeliefNetworkを保存します。 /// </summary> /// <param name="network">DeepBeliefNetwork</param> public void SaveDeepBeliefNetwork(DeepBeliefNetwork network, AiPlayer.Version version) { var filePath = string.Format(LearningConfig.LearnerSavePath + @"/{0}_{1}_{2}.bin", DeepBeliefNetworkFileName, DateTime.Now.ToString("yyyyMMddhhmmss"), version.ToString().ToLower()); network.Save(filePath); }
/// <summary> /// MultipleLinearRegression。 /// </summary> /// <param name="learner">MultipleLinearRegression</param> /// <param name="version">AIプレイヤのバージョン</param> public void SaveMultipleLinearRegression(MultipleLinearRegression learner, AiPlayer.Version version) { var filePath = string.Format(LearningConfig.LearnerSavePath + @"/{0}_{1}_{2}.csv", MultipleLinearRegressionFileName, DateTime.Now.ToString("yyyyMMddhhmmss"), version.ToString().ToLower()); var sb = new StringBuilder(); foreach (var w in learner.Weights) { sb.Append($"{w},"); } sb.Append(learner.Intercept.ToString()); FileHelper.Write(sb.ToString(), filePath); }