以下内容和思考来自 李航<统计学习方法>
一,感知机定义
感知机的定义详见wiki 感知机,http://zh.wikipedia.org/wiki/%E6%84%9F%E7%9F%A5%E5%99%A8.
是二类分类的线性分类模型,属于判别模型的一种. 判别模型和生成模型的区别详见http://blog.csdn.net/zouxy09/article/details/8195017.
二:损失函数
如果损失函数选择误分类点的个数,则参数w,b关于其不连续可导,不易优化了。
这里采用误分类点到超平面的距离总距离作为损失函数。
2.1 点到超平面距离
设P为超平面外一点,Q为超平面上一点,n为超平面法向量。则点P到该超平面的距离为:
----- 注:Q是一个点,不是直线,因此点积的结果不为0。
2.2 感知机损失函数
最终,我们得到所有误分类点到超平面的总距离为:
三 感知机学习算法
学习算法最终转为对损失函数的极小化问题,采用的是随机梯度下降法。
3.1梯度下降法
梯度的定义见wiki http://zh.wikipedia.org/wiki/%E6%A2%AF%E5%BA%A6
有关梯度下降法有一篇很好的博文,见http://blog.csdn.net/xiazdong/article/details/7950084
那么迭代过程中有:
根据这里的+ -号具体分为梯度上升和梯度下降,后边统一称为梯度下降。
记得学过的数值分析曾讲到类似的,后来查到这里用到的应该是欧拉法的思想;
3.2 欧拉法
根据导数的定义:
我们可以得到:
即
不失一般性,即得到
------------×××××××× 这里需要再补充一幅图 ********************---------------------
根据偏导数的定义:
偏导数得到的结果便是下降的方向, 其实就是下降的步长。对变量a求偏导便是沿a的方向,该点的梯度显示变化最快的方向,大小(绝对值)表示在该方向变化的速度。
四 算法的收敛性
关于算法的收敛性,书中有很详细的证明。这里省略。
五 样本线性可分的证明
证:样本线性可分的充要条件是正负实例点集所构成的凸壳互不相交。
凸集见http://zh.wikipedia.org/wiki/%E5%87%B8%E9%9B%86
n维欧式空间中K个点组成一个凸集
对于全体的实例点,可以得到
-----------------持续更新中