【问题标题】:Single Character recognition Competitive Neural Network单字符识别竞争神经网络
【发布时间】:2012-03-31 23:06:49
【问题描述】:

我正在做一个作业:我必须在 Matlab 中构建一个字母识别脚本

我从输入的字母(26 个不同的字母)中提取了 44 个特征,我希望使用竞争性神经网络

每个字母都有一个 44x26 特征矩阵,我正在尝试构建一个网络,可以将字母分为 26 个不同的类别,但没有成功:(

每个字母的特征集都与其他字母不同,所以我认为训练参数有问题

这是网络训练的代码:

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 个班级?

【问题讨论】:

    标签: matlab neural-network


    【解决方案1】:

    发生的情况是,经过训练的网络区分的类别少于给定数据集(特征)的指定类别数量。它只是说你训练不成功。

    代码是正确的。

    您应该尝试使用参数和时期,直到根据您的喜好训练网络。

    最后,如果您无法训练一个能够正确识别类别的网络,您应该考虑查看如何提取特征。

    【讨论】:

    • 也许我使用了错误的方法来提取字符特征。常用的提取方式有哪些?
    • 这是一个不同的问题。通常,在 NN 中,字符图像作为数组输入到神经网络中。我建议查看级联 NN,但我认为这对于您的应用程序了解此事有点过头了。
    猜你喜欢
    • 2017-01-30
    • 2010-12-17
    • 2011-12-12
    • 1970-01-01
    • 2011-09-18
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多