《统计学习方法》第二章:感知机

(听课记得笔记,大部分是课上的课件内容,发博客作为纪录方便查阅)

感知机–入门垫脚石

如果找不到好的直线,就要在差的线里面找到一个相对好的线(量化直线有多好)。
再进一步就是如果我们把所有分错的点和直线的距离求和,让这段求和的距离最小,那么这条直线就是我们要找的直线。
段落总结

  1. 一条直线如果能一个点都不分错的话,就是一条好的分类直线。
  2. 模型要尽可能的找到好的直线。
  3. 如果没有好的直线,在差的直线中要找到好的直线。
  4. 判断直线多差的方式:分错的点到直线之间的距离求和。

1.感知机模型

确定终极目标:最后的目标就是 f ( x ) f(x) f(x),也就是说模型就是一个函数
其中: f ( x ) = s i g n ( w ⋅ s ⋅ + b ) f(x) = sign(w·s· + b) f(x)=sign(ws+b)
s i g n ( x ) = { + 1 ; x > 0 − 1 ; x ≤ 0 sign(x)=\left\{ \begin{aligned} +1 ;x>0\\ -1 ;x\leq0 \end{aligned} \right. sign(x)={+1;x>01;x0
sign函数,最终输出的就是+1 或者-1, 用这两个树来判断类别
w ⋅ x + b w·x+b wx+b指的是超平面,在红绿豆的例子里面,当在这条线的右边大于0,左边小于0,在线上等于0,取决于平面的法向量。 其中 w , x w,x w,x都是向量
在二维的平面当中,可以用一个一维的线来划分
而在一个三位的空间中,可以用一个二维平面来划分
正式来说:
w ⋅ s + b w·s +b ws+b是一个n维空间中的超平面S,其中w是超平面的法向量,b是超平面的截距,这个超平面将特征空间划分为两个部分,位于两部分的点被分为正负两类,所以,超平面S称为分离超平面。
其中:
w是超平面的法向量
b是超平面的截距
特征空间也就是整个N维空间,样本的每一个属性都叫一个特征,特征空间的意思是在这个空间中可以找到样本所有的属性组合

2. 感知机的学习策略

对于感知机而言,他只能去划分线性可分的数据。
函数间隔和几何间隔
空间中任意一个点 x 0 x_0 x0到平面S的距离是:
函数间距: ∣ w ⋅ x 0 + b ∣ |w·x_0 +b| wx0+b
几何间距: 1 ∣ ∣ w ∣ ∣ ∣ w ⋅ x 0 + b ∣ \frac{1}{||w||} |w·x_0+b| w1wx0+b ∣ ∣ w ∣ ∣ 2 = ∑ i = 1 N w i 2 ||w||_2 = \sqrt{\sum_{i=1}^N w_i^2} w2=i=1Nwi2
一般的情况下都用的是几何间距,因为函数间距存在等比例放大或缩小来找到解的情况。

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

对于误分的数据而言: − y i ( w ⋅ x i + b ) > 0 -y_i(w·x_i+b)>0 yi(wxi+b)>0

  • 括号中的是预测值,括号外的是真实值,用于判断模型对于样本分类是否正确。

误分类点 x i x_i xi到超平面S的距离为:
− 1 ∣ ∣ w ∣ ∣ y i ( w ⋅ x i + b ) -\frac{1}{||w||} y_i(w·x_i +b) w1yi(wxi+b)
因此,所有误分类点到超平面S的总距离为: − 1 ∣ ∣ w ∣ ∣ ∑ x i ∈ M y i ( w ⋅ x i + b ) -\frac{1}{||w||} \sum_{x_i\in{M}} y_i(w·x_i +b) w1xiMyi(wxi+b)
损失函数: L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) L(w,b) = -\sum_{x_i\in{M}}y_i(w·x_i +b) L(w,b)=xiMyi(wxi+b)

  1. 任选取超平面 w 0 , b 0 w_0,b_0 w0,b0
  2. 采用梯度下降法极小化目标函数:
    L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) L(w,b) = -\sum_{x_i\in{M}}y_i(w·x_i +b) L(w,b)=xiMyi(wxi+b)
    对于w求偏导
    ∇ w L ( w , b ) = − ∑ x i ∈ M y i x i \nabla_w L(w,b)= -\sum_{x_i\in{M}}y_i x_i wL(w,b)=xiMyixi
    对于b求偏导
    ∇ b L ( w , b ) = − ∑ x i ∈ M y i \nabla_b L(w,b)= -\sum_{x_i\in{M}}y_i bL(w,b)=xiMyi
  3. 更新 w , b w,b w,b
    w ← w + η y i x i w← w+\eta y_i x_i ww+ηyixi
    d ← b + η y i d← b+\eta y_i db+ηyi

4. 总结

  1. 感知机是通过构建超平面的形式来划分不同类别的点。
  2. 感知机属于线性类别的模型,因为他的判别边界是线性的。
  3. 函数间隔和几何间隔的区别
    对于感知机用函数间隔,是因为感知机是误分类驱动,最后的目标是不分错每一个点

你可能感兴趣的:(统计学习方法,机器学习,算法)