感知机
1957年由Rosenblatt提出,是神经网络与支持向量机的基础。
- 感知机是根据输入实例的特征向量x对其在进行二类分类的线性分类模型:
f(x)=sign(wx+b) f ( x ) = s i g n ( w x + b )
感知机模型对应于输入空间(特征空间)中的分离超平面wx+b=0
- 感知机学习的策略是极小化损失函数:
minw,bL(w,b)=−1N∑i=1Nyi(wxi+b) m i n w , b L ( w , b ) = − 1 N ∑ i = 1 N y i ( w x i + b )
损失函数对应于误分类点到分离超平面的总距离 (几何间隔):
−1||w||∑i=1Nyi(wxi+b) − 1 | | w | | ∑ i = 1 N y i ( w x i + b )
- 感知机学习算法是误分类驱动的的、基于随机梯度下降的对损失函数的最优化算法,有原始形式和对偶形式。
- 当训练数据集线性可分时,感知机是收敛的
算法:
1. 选取初值w0, b0
2. 训练集中选取数据(xi, yi)
3. if yi(w·xi+b) <= 0:
w := w + \alpha yixi
b := b + \alpha yi
4. 转至2,知道训练集中没有误分类点
支持向量机
优:泛化错误率低、计算开销不大、结果易解释
缺:对参数调节和核函数的选择敏感
线性可分:可以用一条直线将两组数据分开。
超平面:将数据集分隔开的直线或平面称为超平面(hyperplane),也就是分类的决策边界。
间隔:希望找到离分隔超平面最近的点,确保它们离超平面的距离尽可能远。点到分隔面的距离称为间隔。
支持向量:离分隔超平面最近的那些点。
间隔最大化
回顾点到直线的距离公式:
d=|Ax0+By0+C0