机器学习笔记2-感知机
感知机是二分类的线性分类模型,输入为实例的特征向量,输出为实例的类别,取+1和-1两个值。感知机学习旨在求出将训练数据进行线性划分的分离超平面,损失函数基于误分类,利用梯度下降法对损失函数进行极小化。(感知机模型是神经网络和支持向量机的基础)
感知机具有形式
f(x)=sign(wx+b),其中
w是权值向量,
b是偏置向量,sign函数是符号函数,超平面S:
wx+b=0,称为分离超平面。若对数据集中所有点{(
x1,y1)(
x2,y2)…(
xn,yn)},都有
wxi+b>0时,
yi=+1;
wxi+b<0时,
yi=−1,则称为数据集线性可分。其损失函数选取为误分类点集(
M)到超平面S的总距离,即
−∥w∥1i∈M∑yi(wxi+b)。一般不考虑
∥w∥1,损失函数可写为
−i∈M∑yi(wxi+b)。损失函数是非负的,当误分类点数为零时,损失函数为零。
感知机的学习算法采用随机梯度下降法(SGD),与之对应的有批量梯度下降法(BGD)。BGD每一次迭代时使用所有样本来进行梯度的更新。当样本数目很大时,每迭代一步都需要对所有样本计算,训练过程会很慢。SGD每次迭代使用一个样本来对参数进行更新。此时虽然训练速度加快了,但准确度会下降,且不易于并行实现。此外还有一个小批量梯度下降法(MBGD),它是对SGD与BGD折中的一个方法,每次迭代使用 batch_size个样本来对参数进行更新。
感知机学习算法的具体形式:
(1)选取初值
w0,b0;
(2)在训练集中选取数据
(xi,yi);
(3)如果
yi(wxi+b)<=0,更新参数
w←w+ηyixi,
b←b+ηyi;
(4)转至(2),直到训练集中没有误分类点。
以上是感知机学习算法的原始形式,除此之外,其还有对偶形式。对偶形式在支持向量机中会有详细讲述(利用的是拉格朗日对偶性)。
参考:
李航《统计学习方法》
https://www.cnblogs.com/lliuye/p/9451903.html