感知机公式推导
0.参考
机器学习方法,作者:李航
感知机与超平面,作者:GRNovmbrain
浅析感知机(一)–模型与学习策略,作者:忆臻
1.待解决问题
1. w T x + b = 0 中 w T 为什么是约束边界的法向量? w^Tx+b=0中w^T为什么是约束边界的法向量? wTx+b=0中wT为什么是约束边界的法向量?
2. 从点到超平面的距离推导出 l o s s f u n c t i o n 。 从点到超平面的距离推导出loss function。 从点到超平面的距离推导出lossfunction。
也就是需要首先找到损失函数,然后转化为最优化问题。
1.1需要知道的是
思想:错误驱动
感知机解决的是二分类问题且必须线性可分,输入(特征向量) x ∈ R p x\in \mathbb{R}^p x∈Rp,输出 y = { − 1 , + 1 } y=\{-1,+1\} y={
−1,+1}
决策函数: f ( x ) = s i g n ( w T x + b ) f(x)=sign(w^Tx+b) f(x)=sign(wTx+b)
s i g n ( a ) = { − 1 , a < 0 + 1 , a ≥ 0 sign(a)=\begin{cases}-1,a<0\\+1,a\geq0\end{cases} sign(a)={
−1,a<0+1,a≥0
其中 w w w是weight vector, b b b是bias
图示:
1.2补充:什么是线性可分?
给定一个数据集,如果存在某个超平面 S ( w x + b = 0 ) S(wx+b=0) S(wx+b=0),能够将数据集的正实例点和负实例点完全正确的划分到超平面的两侧,即对 y = + 1 y=+1 y=+1的实例点,有 w x + b > 0 wx+b>0 wx+b>0,对 y = − 1 y=-1 y=−1的实例点,有 w x + b ≤ 0 wx+b\leq0 wx+b≤0,则称数据集线性可分,否则线性不可分。
2.一些问题
2.1 w ⃗ \vec w w是超平面的法向量?
如图在 w T + b = 0 w^T+b=0 wT+b=0上任意取两个点 x 1 , x 2 x_1,x_2 x1,x2

即得: { w T x 1 + b = 0 w T x 2 + b = 0 → w T ( x 1 − x 2 ) = 0 \begin{cases}w^Tx_1+b=0 \\ w^Tx_2+b=0\end{cases}\rightarrow w^T(x_1-x_2)=0 {
wTx1+b=0wTx2+b=0→wT(x1−x2)=0
即得: w ⃗ ⋅ ( x 1 − x 2 ) ⃗ = 0 → w ⃗ ⊥ ( x 1 − x 2 ) ⃗ \vec w \cdot \vec{(x_1-x_2)}=0 \rightarrow \vec w \bot \vec{(x_1-x_2)} w⋅(x1−x2)=0→w⊥(x1−x2)
所以得到如下图所示:
所以可以推导出 w ⃗ \vec w w是超平面的法向量。
2.2从点到超平面的距离 → \rightarrow →Loss Function
预备知识:点到平面的距离怎么求?
设点为 P P P,在平面上任取一点 A A A,距离就等于 P A ⃗ \vec {PA} PA往单位法向量上的投影,如图所示:
∣ P Q ∣ = P A ⃗ 在 n ⃗ ( 法向量 ) 的投影 = ∣ P A ⃗ ⋅ n ⃗ ∣ ∣ n ⃗ ∣ |PQ|=\vec{PA}在\vec{n}(法向量)的投影=\frac{|\vec{PA}\cdot\vec{n}|}{|\vec n|} ∣PQ∣=PA在n(法向量)的投影=∣n∣∣PA⋅n∣,分子是绝对值,分母是模。
回到问题:求d?
在 w T x + b = 0 w^Tx+b=0 wTx+b=0上,任取一点 x ′ x^{'} x′,则 d = ∣ w T ⋅ ( x − x ′ ) ∣ ∣ ∣ w ∣ ∣ 2 d=\frac{|w^T\cdot (x-x^{'})|}{||w||_2} d=∣∣w∣∣2∣wT⋅(x−x′)∣,这里 w w w的 L 2 L2 L2范式就是模长。
即
{ w T x ′ + b = 0 → b = − w T x ′ d = ∣ w T ⋅ ( x − x ′ ) ∣ ∣ ∣ w ∣ ∣ 2 = ∣ w T x − w T x ′ ∣ ∣ ∣ w ∣ ∣ 2 = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ 2 \begin{cases} w^Tx^{'}+b=0\rightarrow b=-w^Tx^{'}\\d=\frac{|w^T\cdot (x-x^{'})|}{||w||_2}=\frac{|w^Tx-w^Tx^{'}|}{||w||_2}=\frac{|w^Tx+b|}{||w||_2} \end{cases} {
wTx′+b=0→b=−wTx′d=∣∣w∣∣2∣wT⋅(x−x′)∣=∣∣w∣∣2∣wTx−wTx′∣=∣∣w∣∣2∣wTx+b∣
至此,距离的表达式就推导出来了。
3.loss function推导
很自然的会想到用误分类点的数目来作为损失函数,是误分类点个数越来越少,最终全部分对就可以了,建立如下所示的loss function(这样的损失函数并不是w,b连续可导(无法用可导函数形式来表达出误分类点的个数),无法进行优化。):
l ( w , b ) = ∑ i = 1 N I ( y i ( w T x i + b ) < 0 ) l(w,b)=\sum_{i=1}^N I(y_i(w^Tx_i+b) < 0) l(w,b)=i=1∑NI(yi(wTxi+b)<0)
对于指示函数的由来:考虑正确分类 ( w T x i + b ) > 0 , y i = + 1 (w^Tx_i+b)>0,y_i=+1 (wTxi+b)>0,yi=+1, y w T x i + b ) < 0 , y i = − 1 yw^Tx_i+b)<0,y_i=-1 ywTxi+b)<0,yi=−1,得到正确的 y i ( w T x i + b ) > 0 y_i(w^Tx_i+b)>0 yi

文章详细介绍了感知机模型,包括其超平面的法向量、点到超平面的距离与损失函数的推导,以及学习策略(使用梯度下降法)。此外,还探讨了感知机的实现代码,展示了训练过程,并证明了感知机的收敛性,确保在有限次迭代后能找到正确分类的超平面。最后提到了对偶形式在高维特征空间中的优势。
最低0.47元/天 解锁文章
8516

被折叠的 条评论
为什么被折叠?



