感知机(perceptron)
感知机模型属于二分类线性分类模型,属于判别模型和非概率模型。用一句话描述这个模型,就是找到一个超平面,把线性可分数据集分到超平面两侧。
线性可分数据集
存在某个超平面可以将数据集的正实例点和负的实例点完全正确的划分到超平面的两侧,这样的数据集称作线性可分数据集,否则是非线性可分数据集。感知机要求数据集是线性可分的。
原始形式
统计学习方法三要素
模型: y = s i g n ( ω T x + b ) y=sign(\omega ^{T}x+b) y=sign(ωTx+b)
策略: L ( ω , b ) = ∑ i ∈ m − y i ( ω T x i + b ) L(\omega,b)=\sum\limits_{i \in m}-y_{i}(\omega ^{T}x_{i}+b) L(ω,b)=i∈m∑−yi(ωTxi+b),m是误分类的数据集
学习:SGD
∂ L ∂ ω = ∑ i ∈ m − y i x i , ∂ L ∂ b = ∑ i ∈ m − y i \frac{\partial L}{\partial \omega}=\sum\limits_{i \in m}-y_{i}x_{i}, ~~~~~~\frac{\partial L}{\partial b}=\sum\limits_{i \in m}-y_{i} ∂ω∂L=i∈m∑−yixi, ∂b∂L=i∈m∑−yi
所以参数的更新过程为( η 为 学 习 率 \eta为学习率 η为学习率)
ω = ω − η ∂ L ∂ ω = ω + ∑ i ∈ m η y i x i \omega=\omega-\eta \frac{\partial L}{\partial \omega}=\omega+\sum\limits_{i \in m}\eta y_{i}x_{i} ω=ω−η∂ω∂L=ω+i∈m∑ηyixi
b = b − η ∂ L ∂ b = b + ∑ i ∈ m η y i b=b-\eta \frac{\partial L}{\partial b}=b+\sum\limits_{i \in m}\eta y_{i} b=b−η∂b∂L=b+i∈m∑ηyi
由于学习方法是随机梯度下降法,所以每次找到一个误分类的 ( x i , y i ) (x_{i},y_{i}) (xi,yi)即可。
学习算法直观上可以看成,当被选择的实例点位于超平面错误的一侧,则调整