我需要使用反向传播算法对图像进行分类。 为此,我选择了 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 文件中正确组织了数据?