使用OpenCV自带的神经网络对MNIST手写字体进行识别

本文介绍了如何利用OpenCV自带的CvANN_MLP类实现对MNIST手写字体数据集的识别。通过设置神经网络参数,如sigmoid激活函数,训练网络并进行预测,最终在测试集上获得了90%的正确率。
摘要由CSDN通过智能技术生成
    在学习了斯坦福机器学习公开课中关于神经网络的章节之后,一直想自己实现一个神经网络,但是在没有对照的情况下,实在是无法验证自己写的程序对不对,因此,必须先找一个已经写好的神经网络来进行对比实验,刚好OpenCV中就有神经网络,于是,先使用OpenCV自带的神经网络对MNIST手写字体进行识别。
    在OpenCV中,使用神经网络需要先设置一些关于神经网络的参数。
    OpenCV中的神经网络是由类CvANN_MLP定义的,可以使用CvANN_MLP的构造函数或create函数产生一个神经网络,在产生神经网络的过程中,需要的参数如下:


    因此,需要先设置神经网络每一层的神经元的个数,包括输入层和输出层,神经网络的激活函数,以及激活函数中对应的参数的值。
    在这里,我主要选择sigmoid函数,sigmoid函数的参数都设置为1.

    接下来,看一下神经网络的训练函数:

    从函数的参数列表中可以看出,训练的过程需要一个CvANN_MLP_TrainParams类型的训练参数。
    CvANN_MLP_TrainParams类型的说明如下:
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值