感知机与BP神经网络

一、感知机
1、感知机简介

在这里插入图片描述
感知机是用于二分类的线性分类模型,其输入是实例的特征向量,输出是实例的类别,类别取+1和-1二个值,+1代表正类,-1代表负类。
上图的圆圈就代表一个感知器。它接受多个输入(x1,x2,x3…),产生一个输出(output),好比神经末梢感受各种外部环境的变化,最后产生电信号。
2、感知机模型
感知机是二分类的线性分类模型,两类的分离超平面。感知机旨在求出该超平面,为求得超平面导入了基于误分类的损失函数,利用梯度下降法对损失函数进行最优化(最优化)。
定义(感知机):
假设输入空间(特征向量)是 χ⊆Rn,输出空间为Y={+1,−1},输入x⊆χ表示实例的特征向量,对应于输入空间的点;输出 y⊆Y表示实例的类别,则由输入空间到输出空间的表达形式为:

在这里插入图片描述
称为感知机,其中w叫作权值,b叫作偏置。sign是符号函数,即:
在这里插入图片描述

损失函数
假设训练数据线性可分,为了找到这个平面需要确定一个学习策略,即定义(经验)损失函数并将损失函数极小化。为此,我们首先计算任意一点x0到超平面S的距离:

在这里插入图片描述
这里,||w||是w的L2范数。
其次,对于误分类数据来说,
在这里插入图片描述
损失函数是所有误分类点的集合:

在这里插入图片描述

感知机学习算法是误分类驱动的,具体采用随机梯度下降法。首先任意选取一个超平面w0,b0,然后用梯度下降法不断地极小化目标函数.感知机模型选择的是采用随机梯度下降,这意味着我们每次仅仅需要使用一个误分类的点来更新梯度。
在这里插入图片描述
原始形式
输入:训练数据集T={(x1,y1),(x2,y2),…,(xN,yN)}

其中,xi∈χ=R n, yi∈γ={+1,−1}, i=1,2,…,N,学习率η(0<η≤1)
输出:w,b,感知机模型f(x)=sign(w*x+b)
1.选出初值w0,b0
2.在训练集中选取数据(xi,yi)
3.如果yi(w⋅xi+b)≤0
w←w+ηyixi
b←b+ηyi

4.转至2,直到训练集中没有误分类点。
二、BP神经网络
1、概念
BP神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,其算法称为BP算法,即每次根据训练得到的结果与预想结果进行误差分析,进而修改权值和阈值,一步一步得到能输出和预想结果一致的模型。
下面是一个简单的BP神经网络示意图。其拥有一个输入层,一个隐含层,一个输出层。
在这里插入图片描述
2、神经网络的特点

  1. 神经元按照层来布局。最左边的层叫做输入层,负责接收输入数据;最右边的层叫输出层,我们可以从这层获取神经网络输出数据。输入层和输出层之间的层叫做隐藏层,因为它们对于外部来说是不可见的;
  2. 同一层的神经元之间没有连接;
  3. 第N层的每个神经元和第N-1层的所有神经元相连,第N-1层神经元的输出就是第N层神经元的输入;
  4. 每个连接都有一个权值。

参考:https://blog.csdn.net/daaikuaichuan/article/details/81135802blog.csdnimg.cn/20190930192633523.png) https://www.cnblogs.com/jin-liang/p/9713118.html https://blog.csdn.net/daaikuaichuan/article/details/81135802