神经网络(一):Perceptron

一、定义

   将神经网络看作一种自适应机器后可给出定义:
  神经网络是由简单处理单元(神经元)构成的大规模并行分布式处理器,天然地具有存储经验知识和使之可用的特性。神经网络在两个方面与大脑相似:

  1. 神经网络是通过学习过程从外界环境中获取知识的;
  2. 互连神经元的连接强度,即突触权值,用于存储获取的知识。
                   ——《神经网络与机器学习》 [加] Simon Haykin

  神经网络中最基本的成分是神经元(neuron)模型,在生物神经网络中,每个神经元与其他神经元相连,当它受到刺激兴奋时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;当接受传递的神经元电位超过一个“阈值”时,它将会被激活,进而向与其相连的神经元发送化学物质。

二、MP模型

  上述情形被McCulloch & Pitts抽象为“M-P神经元模型”,如图所示,神经元接收到来自n个其他神经元传递过来的输入信号,这些信号通过代权重的连接进行传递,神经元接收到的总输入值将于其阈值进行比较,然后通过“激活函数”处理以产生神经元的输出。
神经网络(一):Perceptron_第1张图片
激活函数:

  激活函数(activation function)是神经元中重要的组成部分,可用来加入一些非线性的因素,其种类繁多,部分形式见下图:
神经网络(一):Perceptron_第2张图片
详情见维基百科:https://en.wikipedia.org/wiki/Activation_function

主要介绍如下两种,其中阶跃函数输出最为理想,直接将输入值映射为输出值“0”或“1”,其中“1”对应于神经元兴奋。但因其不连续、不光滑,因而实际常用Sigmoid函数作为激活函数,将可能在较大范围内变化的输入值挤压到(0,1)输出值范围内,因而也称“挤压函数”。

神经网络(一):Perceptron_第3张图片
三、感知器 Perceptron

  Rosenblatt感知器是第一个具有完整算法描述的神经网络学习算法,由两层神经元组成,由输入层接受外界输入信号并传递给输出层,输出层是MP神经元,亦称“阈值逻辑单元”。它与MP模型的区别在于神经元间连接权的变化,感知器的连接权定义为可变的,这样感知器就被赋予了学习的特性。
          神经网络(一):Perceptron_第4张图片
  Rosenblatt证明了当输入数据的模式是线性可分的时候,感知器学习算法能够在有限步迭代后收敛,且决策面是位于两类之间的超平面[ 超平面(Hyperplane)是n维欧氏空间中余维度等于1的线性子空间。这是平面中的直线、空间中的平面之推广]。

  感知器的符号流程
神经网络(一):Perceptron_第5张图片
感知器组成部分:

① 突触权值(w1、w2);
② 求和单元,用突触权值对输入进行加权并加上偏置b,得到诱导局部域(v)
③ 硬限幅器(即hard limiter)用于限制诱导局部域输出的振幅,在感知器中,使用符号函数来限制输出(当v>0时输出为1,反之-1或0)

可用公式概括为:
在这里插入图片描述
在这里插入图片描述
关于偏置b的作用,可以如此直观理解:

在这里插入图片描述
模型输出为1,反之则输出为-1或0,这里-b实际上是一个阈值,而求和单元求和的结果可认为是一个根据输入特征进行打分的函数,突触权值是特征的重要性或理解为每个特征的分数。当总分超过阈值时,我们将其分在+1代表的类,不超过则分到-1或0.

分类步骤:
1、权重初始为0或较小随机数;
2、对训练集中一个实例的输入值,进行计算输出值;
3、根据输出值更新权重:

更新规则(算法核心)
在这里插入图片描述
在这里插入图片描述
其中,n为学习率(learning rate),由人为指定。括号内为实际值与模型输出值的差,可以发现若分类成功则权重不更新。继续遍历数据集中的每一行来更新权重,对数据集的一次完整遍历即一次迭代,可以指定迭代次数或是设定准确率,当模型达到设定准确率则停止迭代。

优点:易于实现
缺点:仅能解决线性可分问题;只拥有一层功能神经元,学习能力十分有限。而要解决多分类或非线性可分问题,则需考虑使用多层功能神经元。

参考书籍:
周志华,机器学习
[加] Simon Haykin ,神经网络与机器学习

你可能感兴趣的:(学习笔记)