首页 > 解决方案 > Accord.Net:我应该将哪些数据传递给 RunEpoch() 方法?

问题描述

我需要使用反向传播算法对图像进行分类。为此,我选择了 Accord.Net 框架。我有几个代表字母和数字的 5x7 图片的数据集。数据写入 CSV 文件,每行包含:

所以,首先,在收到这些数据后,我建立了我的神经网络:

ActivationNetwork network = new ActivationNetwork(new SigmoidFunction(), 35, 100, 100, 4);

BackPropagationLearning learner = new BackPropagationLearning(network)
{
   LearningRate = 0.05
};
new GaussianWeights(network, 0.1).Randomize();

之后,我将训练我的网络:

int epochsCount = 500;

for (int i = 0; i < epochsCount; i++)
{
   double error = learner.RunEpoch();
}

我是 ML 的新手,对 Accord.Net 框架有点坚持。方法 RunEpoch() 接受 2 个参数:double[][] 和 double[][]。我不明白我应该如何组织数据以及应该将哪些数据传递给 RunEpoch 方法。你能建议我吗?我是否在 .csv 文件中正确组织数据?

标签: c#machine-learningneural-networkbackpropagationaccord.net

解决方案


推荐阅读