x.1 前言
perceptron感知机是二分类的线性分类模型,输入为实例的特征向量,输出为实例类别(取-1,+1)。perceptron旨在求出将训练数据进行线性划分的分离超平面,属于classification判别模型,策略为基于误分类的损失函数,算法为梯度下降算法。
perceptron由Rosenblatt于1957年提出,是神经网络与SVM支持向量机的基础。
为了方便理解,下面每讲一个统计学习方法都是根据统计学习三要素进行切入点:模型,策略,算法。
x.2 模型
preceptron意在将正负类别分开,若特征空间R的维度为n,则分离超平面的维度空间为n-1。
x.3 策略
首先定义N-1维超平面wx+b=0。
定义x_0到超平面的距离。
写出所有误分类点到超平面的距离。
得到损失函数为2.4中所示:
x.4 算法
perceptron模型中的未知参数为w和b,为了计算得到w和b,即求解最小化Loss损失函数的参数w和b
我们使用梯度下降算法来更新参数。
batch gradient descent一次性使用所有训练集进行梯度计算和参数更新,但是计算量大。
stochastic gradient descent(SGD)随机选取一个误分类点对w,b进行参数更新。
于是综合上面的方法诞生出mini-batch gradient descent随机选取小批量个误分类点对w,b进行参数更新。
x.5 算法收敛性
当训练数据集线性可分的时候,perceptron是收敛的。perceptron算法存在许多解,这些解依赖于初值的选择,迭代过程中误分类点的选择顺序。
x.6 感知机学习算法的对偶形式
了解即可,即误分类点被误分类n次,则乘以次数n用于更新参数w,b。