机器学习——感知机与神经网络

来源:互联网 发布:更改防火墙端口 编辑:程序博客网 时间:2024/05/16 19:46

一、神经元模型

1、神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。

2、神经网络最基本的成分:神经元模型

3、M-P神经元模型

    a) 每个神经元与其他神经元相连

    b) 当它“兴奋”时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位

    c) 如果某神经元的电位超过“阈值”,那么它就会被激活,即“兴奋起来”


4、激活(响应)函数

    a) 理想为阶跃函数,它将输入值映射为“0”和“1”,分别对应“抑制”和“兴奋”,缺点是不连续、不光滑

    b) 实际常用sigmoid函数,将值域压缩到0-1之间(这时该神经元模型实际是一个LR模型)


二、感知机与多层网络

1、感知机有两层神经元组成,输入层接受外界输入信号再传递给输出层,输出层是M-P神经元


2、感知机能容易实现逻辑与、或、非运算,解决线性可分问题,却无法解决异或、同或等非线性问题

    a) “与” (x_1∧x_2 ) :令 ω_1=ω_2=1, θ=2,则 y=f(x_1+x_2-2) ,仅在 x_1=x_2=1时, y=1

    b) “或” (x_1∨x_2 ) :令 ω_1=ω_2=1 , θ=0.5 ,则 y=f(x_1+x_2-0.5) ,当 x_1=1 或 x_2=1 时, y=1

    c) “非” (¬x_1 ) :令 ω_1=-0.6, ω_2=0 , θ=-0.5 ,则 y=f(-0.6x_1+0.5) ,当 x_1=1 时 y=0 ;当 x_1=0 时, y=1

3、多层感知机(两层或以上)能解决异或等大多数非线性问题,其中典型的结构为“多层前馈神经网络”


三、前向传播

1、前向传播:样本数据从输入层输入,此后每一层神经元的输出作为下一层神经元的输入,逐层传递直到输出层

2、传递过程的数学表示

    a) 第一个隐含层的第j个神经元: y_j^1=f(∑_{i=0}^nw_i^0 x_i )

    b) 此后第 层的第j个神经元: y_j^l=f(∑_{i=0}^nw_i^{l-1} y_i^{l-1} )

    c) 每层的输入和输出可作向量表示,每一层前向传递可看作矩阵变换 Y^l=f(W^l Y^{l-1} )

四、误差反向传播

1、样本数据前向传播到输出层,利用损失函数评估样本标签与网路输出的误差

2、误差反向传递基于梯度下降(gradient descent, GD)策略,以目标的负梯度方向对参数进行调整

3、由前向传播原理可知,当我们想对某个特定的参数进行调整时,可直接通过链式求导法则求梯度


4、反向传播过程:可把误差当做输入向量,网络传播方向反向,误差层级反向传播同时根据梯度下降法更新参数值

w_i^{l-2}≔w_i^{l-2}-α ∂E_k/(∂w_i^{l-2} )

五、全局最小与局部极小

1、局部极小值:参数空间中的某个点,其邻域点的误差函数值均不小于该点的函数值

2、全局最小解:参数空间中误差函数值最小的一个点

3、梯度下降算法(又称最速下降法)是选择当前点下降最快速的方向下降,即沿着其负梯度方向搜索最优解,故而无法保证能够下降到全局最优解(贪心算法)


阅读全文
0 0
原创粉丝点击