Perceptron Learning Algorithm
一、条件
样本集线性可分
二、原理
寻找一个超平面/直线将两类样本分开
h(xi1,xi2,⋯ ,xid)=sign(∑j=1dwjxij−θ)h(x_{i1},x_{i2},\cdots,x_{id}) = \text{sign}(\sum\limits_{j=1}^d w_jx_{ij} -\theta)h(xi1,xi2,⋯,xid)=sign(j=1∑dwjxij−θ) , i=1,2,⋯ ,ni=1,2,\cdots,ni=1,2,⋯,n
wjw_jwj 可看成生物神经元的权重,xijx_{ij}xij 可看成生物神经元的刺激,θ\thetaθ 为阈值。当 ∑j=1dwjxij>θ\sum\limits_{j=1}^d w_jx_{ij}>\thetaj=1∑dwjxij>θ 时神经元兴奋,∑j=1dwjxij<θ\sum\limits_{j=1}^d w_jx_{ij} <\thetaj=1∑dwjxij<θ 时神经元抑制。因此该方法称为感知器学习算法
令 xi0=1x_{i0}=1xi0=1 , w0=θw_0=\thetaw0=θ , i=1,2,⋯ ,ni = 1,2,\cdots,ni=1,2,⋯,n 即 x⃗i=[1xi1xi2⋯xin]T\vec x_i = \begin{bmatrix} 1&x_{i1}&x_{i2}&\cdots&x_{in} \end{bmatrix}^Txi=[1xi1xi2⋯xin]T , w⃗=[θw1w2⋯wn]T\vec w = \begin{bmatrix} \theta&w_1&w_2&\cdots&w_n \end{bmatrix}^Tw=[θw1w2⋯wn]T 则 h(x⃗i)=sign(w⃗T⋅x⃗i)h(\vec x_i)=\text{sign}(\vec w^T\cdot\vec x_i)h(xi)=sign(wT⋅xi)
-
构造损失函数
- L(h)=∑i=1nI(h(x⃗i)≠yi)L(h) = \sum\limits_{i=1}^n\mathbb{I}(h(\vec x_i) \neq y_i)L(h)=i=1∑nI(h(xi)=yi)
即当前假设下被错分样本的个数,但此函数不连续,难以用数学方法求最优值 - L(w⃗)=−∑x⃗∈yw⃗T⋅x⃗L(\vec w) = -\sum\limits_{\vec x\in}y\vec w^T \cdot\vec xL(w)=−x∈∑ywT⋅x
当样本被错分时,yyy 与 w⃗T⋅x⃗\vec w^T\cdot\vec xwT⋅x 异号
- L(h)=∑i=1nI(h(x⃗i)≠yi)L(h) = \sum\limits_{i=1}^n\mathbb{I}(h(\vec x_i) \neq y_i)L(h)=i=1∑nI(h(xi)=yi)
-
求损失函数取最小值 0 时对应的假设 hhh