MATLAB下神经网络的设计
现在导师给我一个项目,有65张布满数字和英文字母的图片(类似车牌AJ98765432),一共有十位我已经把每张图片的每个数字二值化、分割,然后归一成10X25的向量了。现...
现在导师给我一个项目,有65张布满数字和英文字母的图片(类似车牌AJ98765432),一共有十位
我已经把每张图片的每个数字二值化、分割,然后归一成10X25的向量了。现在问题如下:
1、我现在的设想是把50张图片,也就是100个字母和400个数字作为训练样本,余下的30个字母和120个数字作为测试样本用,请问这个方案是否可行?
2、如果可行该怎么去设计这个网络,我现在不太理解多样本训练和单样本训练的问题,比方说如果我想识别“0”,是不是得把所有400个数字中的“0”都单独拿出来形成一个网络来识别0,然后一共形成10+26=36个网络来分别识别10个数字和26个字母?
3、接着上面那个问题,如果单独拿出了比如说40个“0”,那我设计0网络的输入会不会太大?因为归一化成250X1的向量后,250X40=10000!!
4、如果不是这么设计的话,那么我该怎么对这个课题进行神经网络设计?
5、对于数字的识别,是否一定要把250x1的向量作为特征来识别,有没有比较好的方法。
谢谢!
用BP网络 展开
我已经把每张图片的每个数字二值化、分割,然后归一成10X25的向量了。现在问题如下:
1、我现在的设想是把50张图片,也就是100个字母和400个数字作为训练样本,余下的30个字母和120个数字作为测试样本用,请问这个方案是否可行?
2、如果可行该怎么去设计这个网络,我现在不太理解多样本训练和单样本训练的问题,比方说如果我想识别“0”,是不是得把所有400个数字中的“0”都单独拿出来形成一个网络来识别0,然后一共形成10+26=36个网络来分别识别10个数字和26个字母?
3、接着上面那个问题,如果单独拿出了比如说40个“0”,那我设计0网络的输入会不会太大?因为归一化成250X1的向量后,250X40=10000!!
4、如果不是这么设计的话,那么我该怎么对这个课题进行神经网络设计?
5、对于数字的识别,是否一定要把250x1的向量作为特征来识别,有没有比较好的方法。
谢谢!
用BP网络 展开
展开全部
我来说下我的理解,不一定对,一起讨论下吧
1.100个字母,400个数字组成的训练样本应该是可以的,因为训练样本多的话会使整个网络的权值更加接近准确的权值,500个训练样本对于图像处理来说应该不算多。
2.因为预处理后的每个字母/图片为250的向量值,所有训练样本可以组成250*500的输入矩阵,因为一共有10+26=36个分类,所以3层的神经网络为输入层250,输出层36,隐层选20左右,最终得到的输出矩阵为36*500。(期望矩阵中需要归为一类的可以设为1,其余35个向量值为0)
3.和4.应该都可以归为2中
5.图片可以用特征提取的方法来减少输入向量的维数,经典有容易理解的如PCA。
1.100个字母,400个数字组成的训练样本应该是可以的,因为训练样本多的话会使整个网络的权值更加接近准确的权值,500个训练样本对于图像处理来说应该不算多。
2.因为预处理后的每个字母/图片为250的向量值,所有训练样本可以组成250*500的输入矩阵,因为一共有10+26=36个分类,所以3层的神经网络为输入层250,输出层36,隐层选20左右,最终得到的输出矩阵为36*500。(期望矩阵中需要归为一类的可以设为1,其余35个向量值为0)
3.和4.应该都可以归为2中
5.图片可以用特征提取的方法来减少输入向量的维数,经典有容易理解的如PCA。
追问
其实我的意思是神经网络设计时,那么多样本是并联的还是串联的,也就是说,是该把500个训练样本一次性放入输入层(并联),还是没36类一次,一共进行500/36=13次重复训练这个网络(串联)。按照你的意思是不是应该并行设计?
追答
我用的是并联,如果用串联的话把前一次的训练得到的权值赋给下一次的网络,这是可行的,但具体效果怎么样,要编个程序试试。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询