1. PLA 基础理论
PLA是一个线性二分类算法。
1.1 Perceptron Hypothesis
我们也可以把偏置项作为一个恒为1的维度并入x向量,于是得到:
h ( x ) = s i g n ( w T x ) h(x) = sign(w^Tx) h(x)=sign(wTx)
注意:这里的负样本是-1而不是0
1.2. PLA的算法实现过程
算法步骤:
- 选择 w 0 = 0 w_0 = 0 w0=0 (选择初始值,一般选0)
- 选择一个分类错误的样本n,更新w, w 1 = w 0 + y n x n w_1 = w_0 +y_nx_n w1=w0+ynxn (也有带学习率的版本)
- 重复第二步,直至所有样本分类正确。
如何理解更新步骤呢?
- 当 y n = 1 y_n=1 yn=1时,如果分类错误,则 w T x n w^Tx_n wTxn的值为负数,也就是说向量 w w w和向量 x n x_n xn的內积为负,也就是夹角为钝角,想要减小两者的角度,可以用w+x更新w(根据平行四边形法则,w+x与x的夹角会更小), 因为 y n = 1 y_n=1 yn=1,所以 w + x n w+x_n w+xn = w + y n x n w+y_nx_n w+ynxn
- 当 y n = − 1 y_n=-1 yn=−1时,如果分类错误,则 w T x n w^Tx_n wTxn的值为正数,也就是说需要增大w与x的夹角,实现的方法是用w-x更新w,因为 y n = − 1 y_n=-1 yn=−1,所以依然可以写作 w + y n x n w+y_nx_n w+ynxn
图示更新过程如下:
假设有正负样本分布如下,使用PLA找到一条将两种标记完全区分的直线。