我正在进行一项任务:我要在Matlab中建立一个字母识别脚本
我从输入的字母中提取了44个特征(26个不同的字母),我希望使用竞争神经网络
我每个字母都有一行44x26的特征矩阵,我正在尝试构建一个可以对26个不同类别的字母进行分类的网络,但没有成功:(
每个字母的一组特征与其他字母不同,所以我认为te训练参数的错误
这是网络培训的代码:
epochs = 1500;
kohonen_weights_learning_rate = 0.02;
conscience_bias_learning_rate = 0.001;
net = competlayer(26, kohonen_weights_learning_rate, conscience_bias_learning_rate);
net.trainParam.epochs = epochs;
net = train(net, Features);
outputs = net(Features);
classes = vec2ind(outputs);
问题是“类”不包含26个不同的类,但通常包含一个或两个重复的类
我怎么能设置我的网以使其适合26个班级?
答案 0 :(得分:1)
发生的情况是,训练后的网络区分的类别少于指定数据集(特征)的指定班级数量。它只是说你训练不成功。
代码是正确的。
您应该尝试使用参数和时期,直到根据您的喜好训练网络。
最后,如果您无法实现训练正确识别类的网络,则应考虑查看如何提取功能。