基于集成学习改进的卷积神经网络 手写字符识别
2018-05-31 15:30:13 1 举报
AI智能生成
基于集成学习改进的卷积神经网络 手写字符识别 可以用作毕设参考,
作者其他创作
大纲/内容
研究意义
感言
在此之前呢,我想说几句感言
机器学习是一个很大很深很难的领域,我自认为难以触及皮毛
在这次学习过程中触及了数十个崭新陌生的概念,最终通过查找文献,不断学习,才稍懂
最开始立题的时候认为不是那么难,但后来开始做的时候,理解然后搭建神经网络,面对各种参数调节的时候才知道难度远超我想象
虽然网上有这样大量的代码 ,但是如果不明白其中的原理,没有亲力亲为去实践,是没办法真正去懂的,没办法去调参的,更别谈改进
因为我作为一个本科生去做这些事情,并没有经过规范的学习,
所以我对某些概念的理解,所说的话,很可能会出错,希望老师能够提出来,我也能够学习和改正
国际前沿,国内,没人这么做过, 国外,极少人这么做过,我相信我所研究的内容,在这次比赛中,就学术水平及领域探索来说,是较高的
意义
字符识别能够将字符高速、快效的输入到计算机系统,提高处理效率,因而具有重要的研究价值。
工作
这次搭建了BP神经网络和卷积神经网络,并不断调整参数,对算法进行改进,对手写字符进行了简单识别
研究相关
三个领域及其关系
人工智能
不是讲给老师一个人听,所以我会大概地讲一下机器学习
大部分人,可能认为
人工智能 -> 机器人统治地球
现实是,在现在,不可能,到目前为止没有一家公司或组织敢说,
他们的机器拥有真正的感情,真正会为自己考虑
大部分人,可能认为
人工智能 -> 机器人统治地球
现实是,在现在,不可能,到目前为止没有一家公司或组织敢说,
他们的机器拥有真正的感情,真正会为自己考虑
再者,有一个组织OpenAI就是为了防止这一类事情出现而生的,你所考虑的,他们都会考虑
机器学习
机器学习
学习如何去做四则运算题
比如最开始一个蠢材 什么都不知道
告诉他什么是数字,什么是个位百位千位 (计算机通过编码实现)
然后就给他10000道习题让他做,一小批一小批去练习,然后对照答案
自己(或者外力)算一下答案的误差,根据误差去调整自己的想法和思路
蠢材最可能开始会完全做错,不断做错,不断反思积累经验
最终,他可以无限提高准确率到1,成为计算天才
学习如何去做四则运算题
比如最开始一个蠢材 什么都不知道
告诉他什么是数字,什么是个位百位千位 (计算机通过编码实现)
然后就给他10000道习题让他做,一小批一小批去练习,然后对照答案
自己(或者外力)算一下答案的误差,根据误差去调整自己的想法和思路
蠢材最可能开始会完全做错,不断做错,不断反思积累经验
最终,他可以无限提高准确率到1,成为计算天才
深度学习
使用深层神经网络进行的机器学习
集成学习
通过组合多个子学习器,通过一定的组合策略,得到一个更加优秀的强学习器,的一种机器学习算法
http://www.cnblogs.com/pinard/p/6131423.html
研究相关理论
BP神经网络
CNN
目前公认的最优的图像识别模型,没有之一
模式识别
其他应用
Alpha go初代、master、zero
相关实践技术
TensorFlow
TensorFlow 库多强大,但太多太泛
学习成本很高,
学习成本很高,
Keras
编写一段时间过后,因为文档太杂,并且抽象概念以及操作太多,有点力不从心
转向Keras
研究结果
BP-NN
使用Keras搭建简单BP神经网络
CNN
TensorFlow
搭建简单CNN
TensorFlow 库多强大,但太多太泛
学习成本很高,没有继续下去
97.5%左右
学习成本很高,没有继续下去
97.5%左右
Keras
BP-NN
mnist 95.1%
单一CNN
缘由
使用keras 继续,抽象层次非常高,使用也很方便
搭建CNN并进行改进
tf mnist 97.6%
keras mnist 99.1% 其他的各种途径没有得到数据集(Datang)
组合CNN
多CNN模型
mnist 99.41%
如何组合 -> 后续
其他字符集
考虑尝试中科院的英文字符和中文字符数据集(CASIA),
但四处寻找数据集失败,故只做mnist,并不断提高mnist精度。
算法改进
Bagging -- 集成学习
原因及理由
单一模型具有局限性
任何一种模型,都有其缺陷 多模型补充趋近完美
一个计算天才去算10000道四则运算题,很大某一道题可能会犯错,那么他就只能算是趋近完美
但如果十个计算天才一起去做这10000道题,每道题由多数人投票决定,那么,最终的效果必定是更优秀的
一个计算天才去算10000道四则运算题,很大某一道题可能会犯错,那么他就只能算是趋近完美
但如果十个计算天才一起去做这10000道题,每道题由多数人投票决定,那么,最终的效果必定是更优秀的
启发
某一次,听到别人提到多分类器投票,并且mnist分类达到100%,(听人说的,真伪待辨)
虽然是很简单的思想,但其所带来的效果令人惊叹,正在撰写论文,打算发中文核心或者ei
组合策略1
思路1 组合概率分类
某一img(1)的最终各label(10×概率)概率分布
n种分类器(不同参数可获得同多个一种分类器)
得到n×10个概率值,取最高概率值所属的label
(去掉最高值,去掉最低值,取平均值)
某一img(1)的最终各label(10×概率)概率分布
n种分类器(不同参数可获得同多个一种分类器)
得到n×10个概率值,取最高概率值所属的label
(去掉最高值,去掉最低值,取平均值)
实现
误差率0.9% -> 0.6% 识别率 99.1% -> 99.4%
因为单个模型就已经足够优秀,故最终反应在识别率上的数字不是十分明显
当单一模型不是很优秀时,组合模型效果会十分明显
组合策略2
思路2 组合投票分类
n种分类器,此种已经有人做出来,
n种结果
投票最多的label为最终label
n种分类器,此种已经有人做出来,
n种结果
投票最多的label为最终label
组合策略3
基于学习
Harmonica
目前最优的调参方法之一,因为时间有限,我无法具体应用到上面去
拉锁算法、决策树,另外一种很深的理论
ResNet
何恺明 2015
2017 ICCV国际计算机视觉顶级会议再次包揽两项最佳论文奖
一种更高级更先进的卷积神经网络,具有更好的效果
Alpha Go Zero
DenseNet
黄高博士 康奈尔大学 2016
CVPR2017最佳论文
基于ResNet改进的更高级卷积神经网络
自己根据别人的代码尝试搭建
收敛速度极慢
Adam、PReLU、DropOut、Regularization、Batch Normalization, 相比这些来说,都是不足为道的,最多只能算是参数调节中的一种
0 条评论
下一页