初识神经网络

神经网络简介

神经网络中最基本的成分是神经元(neuron)模型,在生物神经网络中,每个神经元与其他神经元相连,当它“兴奋”时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个“阈值”(threshold), 那么它就会被激活,即“兴奋”起来,向其他神经元发送化学物质.
在这里插入图片描述
类似的“M-P 神经元模型”,在这个模型中,神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重 w \bm{w} w的连接(connection)进行传递,神经元接收到的总输入值 x 1 , x 2 , . . . x n \bm{x_1,x_2,...x_n} x1,x2,...xn将与神经元的阀值 θ \bm{\theta} θ进行比较,即: ( ∑ i = 1 n w i x i − θ ) \left(\sum_{i=1}^{n} w_{i} x_{i}-\theta\right) (i=1nwixiθ)然后通过激活函数(activation function) 处理以产生神经元的输出.
即: y = f ( ∑ i = 1 n w i x i − θ ) , 其 中 f 为 激 活 函 数 ; y=f\left(\sum_{i=1}^{n} w_{i} x_{i}-\theta\right),其中f为激活函数; y=f(i=1nwixiθ),f理想中的激活函数是图(a)所示的阶跃函数,它将输入值映射为输出值“0”或“1”,显然“1”对应于神经元兴奋,“0” 对应于神经元抑制. 然而,阶跃函数具有不连续、不光滑等不太好的性质,因此实际常用Sigmoid 函数作为激活函数.典型的Sigmoid函数如图(b)所示,它把可能在较大范围内变化的输入值挤压到(0,1)输出值范围内,因此有时也称为“挤压函数”,把许多个这样的神经元按照一定的层次结构连接起来,就得到了神经网络。
在这里插入图片描述

感知机

下面先来了解一下简单的神经网络结构
感知机由两层神经元组成,输入层接收外界输入信号后传递给输出层。
在这里插入图片描述
举例:
在这里插入图片描述
- 不同的连接将产生不同的神经网络结构,
- 权重和阙值是神经网络的参数
在这里插入图片描述
一般地:给定训练数据集,权重 w ( i = 1 , 2... , n ) w (i= 1,2...,n) w(i=1,2...,n)以及阙值θ(又称为偏置bias)可通过学习得到,阙值θ可看作一个固定输入为-1.0的“哑结点" (dummy node)所对应的连接权重 w n + 1 w_{n+1} wn+1,即: θ = − 1 ∗ w n + 1 \theta=-1*w_{n+1} θ=1wn+1
在这里插入图片描述
这样,权重和阈值的学习就可统一为权重的学习 ,感知机学习规则非常简单,对训练样例(x,y),若当前感知机的输出为 y ^ \hat{y} y^,则感知机权重将这样调整:
w i ← w i + Δ w i Δ w i = η ( y − y ^ ) x i \begin{array}{c}{w_{i} \leftarrow w_{i}+\Delta w_{i}} \\ {\Delta w_{i}=\eta(y-\hat{y}) x_{i}}\end{array} wiwi+ΔwiΔwi=η(yy^)xi其中 η ∈ ( 0 , 1 ) , 通 常 为 一 个 小 正 数 , \eta \in(0,1),通常为一个小正数, η(0,1)称为学习率(learning rate).从式中可看出,若感知机对训练样例(x,y)预测正确,即 y ^ = y \hat{y}=y y^=y,则感知机不发生变化,否则将根据错误的程度进行权重调整.
需注意的是,感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元(functional neuron), 其学习能力非常有限.事实上,上述与、或、非问题都是线性可分(linearly separable)的问题.例:

  • 与, ( x 1 ∧ x 2 ) , 令 w 1 = w 2 = 1 , θ = 2 , 则 y = f ( 1 ⋅ x 1 + 1 ⋅ x 2 − 2 ) , 仅 在 x 1 = x 2 = 1  时 , y = 1 \left(x_{1} \wedge x_{2}\right),令w_{1}=w_{2}=1, \theta=2, 则y=f\left(1 \cdot x_{1}+1 \cdot x_{2}-2\right),仅在x_{1}=x_{2}=1 \text { 时}, y=1 (x1x2)w1=w2=1,θ=2,y=f(1x1+1x22)x1=x2=1 ,y=1
  • 或, ( x 1 ∨ x 2 ) : 令 w 1 = w 2 = 1 , θ = 0.5 , 则 y = f ( 1 ⋅ x 1 + 1 ⋅ x 2 − 0.5 ) , 当 x 1 = 1 或 x 2 = 1 时 , y = 1 \left(x_{1} \vee x_{2}\right) : 令w_{1}=w_{2}=1, \theta=0.5,则y=f\left(1 \cdot x_{1}+1 \cdot x_{2}-0.5\right),当x_1=1或x_2=1时,y=1 (x1x2):w1=w2=1,θ=0.5y=f(1x1+1x20.5)x1=1x2=1y=1
  • 非, ( ¬ x 1 ) , 令 w 1 = − 0.6 , w 2 = 0 , θ = − 0.5 , 则 y = f ( − 0.6 ⋅ x 1 + 0 x 2 + 0.5 ) , 当 x 1 = 1 时 , y = 0 , 当 x 1 = 0 时 , y = 1 \left(\neg x_{1}\right),令w_{1}=-0.6, w_{2}=0, \theta=-0.5,则y=f\left(-0.6 \cdot x_{1}+0\right.x_{2}+0.5 ),当x_1=1时,y=0,当x_1=0时,y=1 (¬x1),w1=0.6,w2=0,θ=0.5y=f(0.6x1+0x2+0.5)x1=1y=0,x1=0y=1
  • 在这里插入图片描述
    若两类模式是线性可分的,即存在一个线性超平面能将它们分开,如图a-c所示,则感知机的学习过程一定会收敛(converge)而求得适当的权向量 w = ( w 1 ; w 2 ; . . ; w n + 1 ) w = (w_1;w_2; .. ;w_{n+1}) w=(w1;w2;..;wn+1);否则感知机学习过程将会发生振荡(fuctuation), w难以稳定下来,不能求得合适解,例如感知机甚至不能解决如图(d)所示的异或这样简单的非线性可分问题.即感知机是一个线性分类模型
    在这里插入图片描述
    要解决异或问题需要用到多层神经网络或多层感知机。

多层前馈神经网络

  • 隐层和输出层神经元都是有激活函数的功能性神经元
  • 神经元之间不存在同层连接也不存在跨层连接
    在这里插入图片描述
    例如:在这里插入图片描述
    多层神经网络有输入层(Input Layer),隐层(HiddenLayers),输出层(Output Layer)构成。
    在这里插入图片描述
    可以解决异或问题的两层感知机,箭头表示第二层感知机。
    在这里插入图片描述
    神经网络学习的过程,是根据训练数据来调整神经元之间的“连接权”,以及每个功能神经元(隐层和输出层包含功能神经元)的阙值,简而言之,神经网络学习到的东西蕴含在连接权和阙值中(即不断的根据训练集来调整权重 w 和 阙 值 θ \bm{w}和阙值\bm{\theta} wθ).
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值