番外篇2.1:图像处理与深度学习-bp神经网络以及一些基本原理

这两天为了找工作,焦头烂额,越查别人的面试经越深知自己实力不济,基础不牢,毕竟半路出家,在基础上会有很多大不如人的地方。。
没办法,反正选择了这条路,只能一头扎进去了,大不了读个图像的博(实在是不想)
想来想去,还是来更个博,一来在总结中学习的可以稍微扎实一点,二来我的这个辣鸡博客也写简历上了,能稍微多加一点是一点。。
这篇博客里,我会总结一下各种深度学习+图像处理的算法,可能细节部分会有所遗失,希望有人能在下面补充啦。。
首先第一项是图像识别,也就是给一张图片,输入到一个网络里,然后会输出结果,这个结果就是整个网络对这张图片识别的结果。这里网络主要是使用CNN网络。
在说CNN网络之前,要先提一下BP(back propagation)神经网络。BP神经网络是86年由D.E.Ru melhart提出的。如名,这种神经网络是具有反向传播能力的,它可以对组成前向多层网络的各人工神经元之间的连接权值进行不断的修改,从而使该前向多层网络能够将输入它的信息变换成所期望的输出信息。之所以将其称作为反向学习算法,是因为在修改各人工神经元的连接权值时,所依据的是该网络的实际输出与其期望的输出之差,将这一差值反向一层一层的向回传播,来决定连接权值的修改。
这种网络的结构是一个前向的多层网络,学习过程是由信号的正向传播与误差的反向传播两个过程完成。这种过程一直进行到网络输出的误差减小到可以接受的程度或者到了预定学习次数为止。各节点的传输函数一般用sigmoid函数。训练之后,一般得到的是每一层之间的权重矩阵。
这个误差一般用什么来表示呢?一说是用损失(loss)函数,另一说是用代价(cost)函数,还有一说是目标(object)函数。实际上代价函数可以认为是所有损失函数的加总,代价函数越小,说明结构鲁棒性就越好。还有一个概念要先提一下,是风险(risk)函数。风险函数是损失函数的期望值,而由于分布是未知的,所以无法计算。不过我们有训练集,这个训练集的损失函数期望叫做经验风险(experiment risk)。
在拟合过程中,经验风险函数最小并不是最好的状态,由于过度学习历史数据的关系,在真正预测时效果会很不好,这种情况称之为过拟合(over fitting)。这种结果的原因一般都是因为拟合的函数过于复杂,使结构风险增大。
结构风险也就是函数的复杂度有另一个函数来度量,在机器学习中称为正则化(regularization)。一般常用的有L1,L2范数。我们最终需要优化的结果,就是结构风险加经验风险,也就是上面所说的目标函数。
说一下L1,L2范数。对于线性回归模型,L1正则化的模型叫做lasso回归,L2正则化的模型叫做Ridge回归(岭回归)。区别在于:
L1正则化是指权值向量w中各个元素的绝对值之和,通常表示为||w||1;
L2正则化是指权值向量w中各个元素的平方和然后再求平方根(可以看到Ridge回归的L2正则化项有平方符号),通常表示为||w||2。
L1正则化容易产生稀疏权值矩阵,即产生稀疏模型,进而可以用于特征的选择;而L2正则化不容易产生稀疏权值,他们的作用都是防止模型过拟合。
(原理层面有一篇文章说的非常好,给出链接:
https://blog.csdn.net/zouxy09/article/details/24971995
说完了目标函数的问题,接下来就说如何通过反向传播来改变目标函数值。
简要来讲,就是首先计算输出层的误差,然后计算隐含层的误差,推导出参数变化率,再向着梯度的反方向更新参数。
更细节的部分由于时间问题,不在上边摆了,推荐两篇博客:
https://blog.csdn.net/u014303046/article/details/78200010(数学推导)
https://blog.csdn.net/mao_xiao_feng/article/details/53048213(推导例子)
如果你看完了这两篇博客,那应该对bp神经算法有所了解了。
bp神经算法还有各种改进版本,最为人所知的就是增加动量项:
标准BP算法在调整权值时,只按t时刻误差的梯度下降方向调整,而没有考虑t时刻以前的梯度方向,从而常使训练过程发生振荡,收敛缓慢。为了提高训练速度,可以在权值调整公式中加一动量项。大多数BP算法中都增加了动量项,以至于有动量项的BP算法成为一种新的标准算法。
还有一些改进方式,比如学习速度可变(VLBP)、学习速度自适应调节、引入陡度因子等。这方面了解不多,以后可能会单独拿出来总结www
(另:听说有的面试岗位还要写bp的代码实现还有svm的代码实现,惊了&#x

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值