c# - 如何保存神经元训练数据?
问题描述
我写了一个学习转换值的神经元。但我希望它保存学习结果。怎么做?
这是神经元的源代码:
public class Neuron
{
private decimal weight = 0.5m;
public decimal Errors { get; private set; }
public decimal Smooth { get; set; } = 0.0000001m;
public decimal InputData(decimal input)
{
return input * weight;
}
public decimal RestoreInputData(decimal output)
{
return output / weight;
}
public void Training(decimal input, decimal expResult)
{
var mainResult = input * weight;
Errors = expResult - mainResult;
var correction = (Errors / mainResult) * Smooth;
weight += correction;
}
}
static void Main(string[] args)
{
decimal uk = 100;
decimal eu = 3.34m;
Neuron neuron = new Neuron();
int i = 0;
do
{
i++;
neuron.Training(uk, eu);
if (i % 700000 == 0)
{
Console.WriteLine($"Iteration: {i}\tIssue:\t{neuron.Errors}");
}
} while (neuron.Errors > neuron.Smooth || neuron.Errors < -neuron.Smooth);
Console.WriteLine("Training the end!");
Console.WriteLine("Enter your value: ");
decimal res = Convert.ToDecimal(Console.ReadLine());
Console.WriteLine($"{neuron.InputData(res)}");
Console.ReadLine();
我从 Internet 上的一个示例创建了这个神经元,以了解它是如何工作的。
解决方案
推荐阅读
- reactjs - 反应键盘景观
- raspberry-pi4 - 在树莓派 4 上安装 Iroha
- java - 有没有办法为 EditText 定义最小值和最大值。EG 20 - 200(不是从 1 开始)
- javascript - 在自定义元素中设置属性的最佳做法是什么?
- javascript - 更新从 Javascript 中的另一个对象引用数据的对象的最佳方法是什么?
- windows - velodyne 驱动程序上的 Catkin_make 在 Windows 10 环境中失败
- c++ - 在 Visual Studio 2019 中将左大括号保持在同一行
- java - java.sql.SQLRecoverableException:没有更多数据要从从 NoSQL 读取的套接字读取
- android - 更新我的 Android Studio 后无法再打开 Flutter 项目
- php - PHP - 如何将名称添加到数组