对于感知机Perceptron算法的理解
算法的适用范围
目标二分类,数据集线性可分。之所以不能学习XOR是因为XOR线性不可分。
几何意义
特征空间R^n中的一个超平面S将特征空间划分为两个部分。这两个部分分别代表两类。这个超平面称为分离超平面。
学习策略
感知机的损失函数由误分类点到超平面的距离之后推出,根据空间点到面的距离得到损失函数。
原始形式和对偶形式的区别
感知机学习算法分为原始形式和对偶形式,我的理解是原始形式和对偶形式本质上是一样的(废话),不同点在于计算顺序不同。假定处理高维数据,对偶形式的好处为可以首先并行计算出Gram矩阵,然后通过查表更新参数。而原始形式串行处理每组数据进行更新参数。
知乎的这个答案解释的有点过了吧。
收敛性证明
收敛性证明的思路为递推缩放,主要是推导以下两个不等式。
||\hat{W}_k|| \cdot ||\hat{W}_{opt}||\leq k \eta \gamma
||\hat{W}_k||^2 \leq k \eta^2 R^2
多解的原因
- 初值不同
- 误分类点出现顺序不同
代码
通过sklearn
实现:Github