机器学习学习记录——《统计学习方法》笔记——第二章 感知机(Perceptron)

第二章 感知机(Perceptron)

1. 感知机:二元分类 线性分类模型 判别模型

f ( x ) = s i g n ( w ∗ x + b ) f(x) = sign(w * x +b) f(x)=sign(wx+b)

w x 均为n维向量

y取+1 -1

目的是为了找到一个超平面将正负完全分开

损失函数模型:

损失函数模型


对损失函数的一些说明:

  1. 损失函数原定义为错误分类的点到超平面的距离

在这里插入图片描述

||w|| L2范数

  1. 分类错误下,对于错误分类的点 ( x 0   y 0 ) (x_0\ y_0) x0 y0,伪代码形式如下:

if ( w ∗ x 0 + b ) < 0 (w*x_0+b)<0 (wx0+b)<0

then y 0 = 1 y_0 = 1 y0=1

if ( w ∗ x 0 + b ) > 0 (w*x_0+b)>0 (wx0+b)>0

then y 0 = − 1 y_0 = -1 y0=1

in all − y 0 ( w ∗ x 0 + b ) > 0 -y_0(w * x_0 + b)>0 y0(wx0+b)>0

原loss函数形式化为
在这里插入图片描述

损失函数固定非负


2. 感知机的学习算法–>损失函数的最优化问题

梯度下降法BGD

针对的是整个数据集,通过对所有的样本的计算来求解梯度的方向。(注意公式中的求和函数)

优点:全局最优解;易于并行实现;

缺点:当样本数据很多时,计算量开销大,计算速度慢

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


随机梯度下降法SGD

每个数据都计算算一下损失函数,然后求梯度更新参数。

优点:计算速度快

缺点:

  • 准确度下降,可能收敛到局部最佳点,因为单个样本不能代表整体样本的趋势
  • 即使在目标函数为强凸函数的情况下,SGD仍然无法达到线性收敛
  • 不利于并行实现

在这里插入图片描述

在这里插入图片描述

证明:随机梯度下降法的收敛性

在这里插入图片描述

小批量梯度下降法MBGD

把数据分为若干个批,按批来更新参数,这样,一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性

优点:加快了收敛速度,减少了计算的开销量,降低了随机性,提高了并行性
缺点:batch的选择不当可能带来问题
在这里插入图片描述

感知机学习算法的原始形式

( x i , y i ) (x_i,y_i) xi,yi为任意一给误分类点,所有误分类点的集合为 M M M
在这里插入图片描述

对于上述误差函数求极值,关于w,b 分别求偏导

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

对于感知机算法 如果初值不同或者随机梯度下降法选点的顺序不同 结果可能不同

代码实现(未完待续)

感知机学习算法的对偶形式

在这里插入图片描述

Gram矩阵

在这里插入图片描述

在这里插入图片描述

实例点更新次数越多,意味着它距离分离超平面越近 ,也就越难正确分类。

代码实现(未完待续)