2019-02-27

ML——神经网络

神经元模型

神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,最基本的成分是神经元模型,下图便是一个“M-P神经元模型”。

在这个模型中,神经元接到来自n个其他神经元传递过来的输入信号,通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值θ进行比较,然后通过激活函数f处理产生神经元的输出。

理想的激活函数为(a)阶跃函数,输出值“0”代表神经元抑制,“1”代表神经元兴奋,但考虑到阶跃函数不连续、不光滑的性质,因此常用sigmoid作为激活函数。

把多个神经元按一定的层次结构连接起来就得到了神经网络。

感知机和多层网络

如图,感知机有两层神经元,输入层接收外界输入信号后传递给输出层,输出层是上述介绍的M-P神经元。

感知机只有输出层神经元进行激活函数处理,学习能力非常有限。对于线性可分的问题,感知机的学习过程一定能收敛,但对于非线性可分问题,需考虑使用多层功能神经元,即在输入层和输出层之间添加隐层,隐层和输出层神经元都是具有激活函数的功能神经元。

上图所示的层级结构的神经网络叫“多层前馈神经网络”:每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接。其中,输入层神经元仅接受外界输入,不进行函数处理,隐层和输出层包含功能神经元。

反向传播算法BP

反向传播(简称BP)算法是求解多层网络算法中的杰出代表。一般所说的“BP网”是指用BP算法训练的多层前馈神经网络。

BP算法推导

给定训练集D=\left\{ (x_1,y_1),(x_2,y_2),...(x_m,y_m) \right\} ,x_i\in R^d,y_i\in R^l下图给出了具有d个输入神经元、l个输出神经元、q个隐层神经元的多层前馈神经网,隐层第h个神经元阈值为\gamma _h,输出层第j个神经元阈值为\theta _j,输入层第i个神经元与隐层第h个神经元间的连接权为v_{ih},隐层第h个神经元与输出层第j个神经元间的连接权为w_{hj},隐层第h个神经元输出为b_h,且隐层和输出层都使用sigmoid函数。

对训练例(x_k,y_k),设神经网络输出为\hat{y} _k=(\hat{y}_{1}^k, \hat{y}_{2}^k,...\hat{y}_{l}^k),即 

                                                \hat{y} _{j}^k =f(\beta _j-\theta _j)

则网络在(x_k,y_k)上的均方误差为E_k=\frac{1}{2} \sum_{j=1}^l(\hat{y}_{j}^k-y_{j}^k   )^2

BP算法在迭代的每一轮采用广义感知机学习规则,基于梯度下降法,以目标的负梯度方向对参数进行调整。

\nu =\nu +\Delta \nu \\\Delta \nu =-\eta \frac{\partial E_k}{\partial\nu }

以隐层到输出层的连接权w_{hj}为例: \Delta w_{hj}=-\eta \frac{\partial E_k }{\partial w_{hj}}

复合函数求导得:                         \frac{\partial E_k }{\partial w_{hj}} = \frac{\partial E_k }{\partial \hat{y}_{j}^k  } \cdot  \frac{\partial \hat{y}_{j}^k }{\partial \beta _j} \cdot  \frac{\partial \beta _j }{\partial w_{hj}}

BP算法流程

BP算法先将输入示例提供给输入层神经元,然后逐层将信号前传,直到产生输出层的结果,然后计算输出层误差,再将误差逆向传播至隐层神经元,最后根据隐层神经元的误差对连接权阈值进行调整,如此循环迭代,直到达到某些条件为止。流程图如下:

BP算法的目标是要最小化训练集D上的累积误差。上述“标准BP算法”每次更新只针对单个样例,需进行多次迭代已达到累积误差极小点,由于其强大的表示能力,BP常会发生过拟合,因此训练误差持续降低,但测试误差逐渐升高。常用“early stopping”或“regularization”方法解决。

early stopping:将数据集分为训练集和验证集。训练集用于计算梯度、更新连接权和阈值;验证集用于估计误差。若训练集误差降低但验证集误差升高则停止训练,同时返回具有最小验证集误差的连接权和阈值。

regularization:在误差目标函数中增加一个用于描述网络复杂度的部分,eg连接权与阈值的平方和,其中\lambda \in (0,1),常用交叉验证法来估计。

全局最小与局部最小

神经网络的训练过程可看做一个参数寻优过程,例如BP算法就是通过梯度下降寻找使累积误差E最小的权值和阈值。常说的最优有“局部极小”和“全局最小

局部极小解:参数空间中某个点,其领域点的误差函数值均不小于该店的函数值;

全局最小解:参数空间中某个点,所有其他点的误差函数值均不小于该店的函数值;

基于梯度的搜索是使用最为广泛的参数寻优方法,但当误差函数具有多个局部极小,则不能保证此法找到的解是全局最小,因此常用以下一些启发式算法:

1)以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数;

2)使用“模拟退火”:每一部都以一定的概率接受比当前解更差的结果,但也可能会跳出全局最小;

3)使用随机梯度下降,在计算梯度时加入随机因素,使得在局部最小时,梯度仍可能不为0 ,能继续搜索。

其他常见网络

径向基(RBF)网络:单隐层前馈神经网络,示意图如下:

训练RBF网络:1)利用随机采样、聚类等方法确定神经元中心ci;2)利用BP算法确定参数w和β。

Elman网络:递归神经网络,隐层神经元的输出被反馈回来与下一时刻t+1输入层神经元的信号一起,作为隐层神经元在下一时刻的输入,实现时间序列建模的目的。

Boltzmann机:基于能量的模型,能量最小化时达到理想状态。标准的Boltzmann机是全连接的,但计算复杂度高。Restricted Boltzmann机则进行了改进,层内无连接,层间有连接,一般用对比散度来进行训练。

深度学习

理论上,参数越多模型越复杂,容量越大,深度学习模型就是复杂且容量大的模型,它通常有八九层甚至更多隐层。为提高容量,一般会采用增加隐含层数目增加隐含层神经元数目的方法。

训练:

无监督逐层训练:每次训练一层隐结点,把上一层隐结点的输出作为输入,本层隐结点的输出作为下一层隐结点的输入,称为“预训练”,预训练完成后进行“微调”。预训练+微调可看成将大量参数分组,找出每组局部较好设置,基于其联合进行全局寻优。

权共享:令同一层神经元使用完全相同的连接权。

周志华《机器学习》

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,233评论 6 495
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,357评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,831评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,313评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,417评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,470评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,482评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,265评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,708评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,997评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,176评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,503评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,150评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,391评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,034评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,063评论 2 352

推荐阅读更多精彩内容