前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《机器学习技法》学习笔记12——神经网络

《机器学习技法》学习笔记12——神经网络

作者头像
小爷毛毛_卓寿杰
发布2019-02-13 11:26:41
3770
发布2019-02-13 11:26:41
举报
文章被收录于专栏:Soul Joy Hub

http://blog.csdn.net/u011239443/article/details/76680704

动因

单隐藏层神经网络:

单隐藏层神经网络做“与”运算:

但是单隐藏层神经网无法做异或运算:

可以看到上面最右边的图,就算是映射到高维的空间中,依旧是线性不可分的。我们可以使用多层的神经网络来解决这个问题:

神经网络假说

神经网络基本上的模型为:

由于阶梯函数不好求导优化;整个网络的激活函数都是线性函数的话,和只使用一个线性函数没太多的区别;所以我们更多使用S形函数,这里使用双曲正切函数,写作tanh:

我的可以得到新的基本模型:

神经网络学习

我们学习的目标的:学习到各层之间的w,使得最终输出的误差最小。记误差为:

那么我们是想使用(随机)梯度下降来计算:

我们先来看下对于最后一层w该如何计算:

如果不是最后一层:

如何计算δ呢?我们先来想想s和e的关系:

于是,我们由链式求导可以得到以下递推的公式:

这样一来我们就可以从最后一层开始计算得到前一层,一直到第一层。这就是著名的“反向传播”:

对于每一条数据我们都经过1~3的步骤,向前传播一次,再向后传播一次,这样十分耗时。mini-batch的策略,让一批数据并行的进行1~3的步骤,将各个xl−1iδljx_i^{l−1}δ_j^l的平均值代入步骤4。

优化与正则化

我们知道随机梯度下降/梯度下降我们只能找到局部的最优解。所以神经网络模型的效果,对于w的初始化十分敏感。过大的w值会使得在S函数上的变化变得很小,导致梯度消失。建议对w进行随机的小数值取值。

复杂的神经网络会产生过拟合,需要引入正则化:

  • L1,不好求导。
  • L2,本质上是在对原来的w根据一定比例缩小,然而原来w中大权重缩小后还是比原来小的权重大。
  • 权消去正则化:
  • 根据验证集的结果,早点停止迭代。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年08月04日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 动因
  • 神经网络假说
  • 神经网络学习
  • 优化与正则化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档