声明:
1,本篇为个人对《2012.李航.统计学习方法.pdf》的学习总结,不得用作商用,欢迎转载,但请注明出处(即:本帖地址)。
2,由于本人在学习初始时有很多数学知识都已忘记,因此为了弄懂其中的内容查阅了很多资料,所以里面应该会有引用其他帖子的小部分内容,如果原作者看到可以私信我,我会将您的帖子的地址付到下面。
3,如果有内容错误或不准确欢迎大家指正。
4,如果能帮到你,那真是太好了。
感知机模型说白了就是判断“属于规定类?还是不属于规定类”的模型。
其函数为:
F(x)= sign(w·x + b)
w、b :感知机模型的参数
w∈Rn :权值/权值向量
b∈R :偏置
w·x :w和x的内积
Sign :符号函数
感知机为一种线性分类模型,属于一宗判别模型
首先,其线性方程为w·x + b = 0,于是如下图所示:
若该线性方程对应特征空间Rn中的一个超平面S,则w为该超平面的法向量,b为超平面的截距,该超平面将Rn分成正负两类,于是该超平面也被称为分离超平面。
综上所述,感知机预测就是通过学习得到的感知机模型,给出新输入实力对应的输出类别。
对数据集 T={(x1,y1),(x2,y2),...,(xn,yn)},其中x1∈Rn,yi={+1,-1}, i=1, 2, ...,n,若存在一超平面S:
w·x + b = 0
可将数据集的正实例点和负实例点完全正确的划分到超平面的两侧,即:
对所有的yi = +1的实例i,有w·xi+ b > 0
对所有的yi = -1的实例i,有w·xi+ b < 0
则称数据集T为线性可分数据集,反之,称其为线性不可分数据集。
于是,其学习策略就是找出一个可将数据集完全正确分离的超平面:
w·x + b = 0
话句话说,就是确定w和b这两个参数
而为了确定这两个参数,我们需了解下“损失函数”。
我们规定,损失函数为误分类点到超平面S的总距离。
于是,我们先写出输入空间Rn中任一点x0到超平面S的距离:
|w·x + b| / ||w||
这里||w||为w的L2范数。
对于误分类的数据(xi,yi)来说:
-yi(wxi + b) > 0
因为,对于误分类的数据:
w·x + b > 0 时,yi = -1
w·x + b < 0 时,yi = +1
于是
∵误分类点xi到超平面S的距离为:
-yi(wxi + b) / ||w||
∴ 对于误分类点集合M,所有误分类点到S的总距离为:
∴若不考虑1/||w|||,就得到了感知机学习模型的损失函数
最后,损失函数定义为:
对给定数据集 T={(x1,y1),(x2,y2),...,(xn,yn)},其中x1∈Rn,yi={+1,-1}, i=1, 2, ...,n
感知机sign(w·x + b)学习的损失函数定义为:
L(w,b) = -yi(w·xi + b)
其中,M为误分类点的集合。
1, 损失函数L(w, b) 是非负的
2, 若无误分类点,则损失函数为0
而随着误分类点的减少,损失函数的值也会降低
3, 一个特定的样本的损失函数:
在误分类时为参数w,b 的线性函数,在正确分类时为0
4, 于是,对给定训练数据T,损失函数L(w, b)为:w,b的连续可导函数
感知机学习算法的最优化的方法为:随机梯度下降算法。
(类似的还有个:最小二乘法)
现已知,对于误分类点的几何,损失函数为:
L(w,b) = -yi(w·xi + b)
于是乎,我们的目的就是求L(w, b)的极小值,而这里,我们选择随机梯度下降算法来求此极小值。
下面请转到“随机梯度下降算法”的总结。