感知器公式推导

感知器推导总结

我们知道当 x ∈ R x \in \mathbb{R} xR,若规定 y y y 的取值只能为 { 1 , − 1 } \{1, -1\} {1,1},那么我们的决策边界函数为: f ( x ) = s i g n ( ω T x + b ) f(x) = sign(\omega^Tx+b) f(x)=sign(ωTx+b)
其中上式的 s i g n sign sign 函数用于判断选择最后 y y y 的取值。
s i g n ( a ) = { 1 , a ⩾ 0 − 1 , a ⩽ 0 sign(a) = \left\{\begin{array}{rr} 1, a\geqslant0\\-1, a\leqslant0\end{array}\right. sign(a)={1,a01,a0

条件推理

证明: ω ⃗ \vec \omega ω 是超平面的法向量

证:

我们知道对一个超平面,划分决策边界为 ω T x + b = 0 \omega^Tx+b = 0 ωTx+b=0,其中 ω \omega ω 向量为超平面的权重向量( w e i g h t weight weight v e c t o r vector vector),而 b b b 则被称为偏置( b i a s bias bias)。如上图我们在决策边界上取两个点,分别是 x 1 , x 2 x_1, x_2 x1,x2。将其分别带入到决策边界上得到两个方程。

{ ω T x 1 + b = 0 ω T x 2 + b = 0 \left\{\begin{array}{lr} \omega^Tx_1+b=0\\\omega^Tx_2+b=0\end{array}\right. {ωTx1+b=0ωTx2+b=0 ,将两式相减可推出: ω T ( x 1 − x 2 ) = 0 \omega^T(x_1-x_2)=0 ωT(x1x2)=0

我们仔细观察得出的式子,实际上就是两个向量的数量积为0,即: ω → ⋅ ( x − y ) → = 0 \overrightarrow{\omega} \centerdot \overrightarrow{(x-y)} = 0 ω (xy) =0,这说明 ω → ⊥ ( x 1 − x 2 ) → \overrightarrow{\omega} \perp \overrightarrow{(x_1-x_2)} ω (x1x2) ,即证明了 ω → \overrightarrow{\omega} ω 是超平面的法向量。

从点到超平面的距离 d d d 如何计算?

首先在计算 d d d 之前先补充一个知识点:
在这里插入图片描述
如图,假设向量 b → = x − x 1 → \overrightarrow{b} = \overrightarrow{x-x_1} b =xx1 ,直线到 x x x 点的向量为 a → \overrightarrow{a} a 。此时对于 a → ⋅ b → \overrightarrow{a} \centerdot \overrightarrow{b} a b 随着 a → \overrightarrow{a} a 逐渐单位化,向量 b → \overrightarrow{b} b 会逐渐靠近 a → \overrightarrow{a} a 这侧(即单位化这侧的投影)。所以 x x x 到直线的距离为: d = ∣ b → ⋅ e → ∣ ∥ ω ∥ 2 d = \frac{|\overrightarrow{b}\centerdot\overrightarrow{e}|}{\|\omega\|_2} d=ω2b e

这个结论非常的重要,以至于我们后面的证明因此而变得清晰,接下来计算点到超平面的距离。

{ d = ∣ ( x − x 1 ) → ⋅ ω → ∣ ∥ ω ∥ 2 ω T x 1 + b = 0 \left\{\begin{array}{lr} d = \frac{|\overrightarrow{(x-x_1)}\centerdot\overrightarrow{\omega}|}{\|\omega\|_2}\\\omega^Tx_1+b=0\end{array}\right. {d=ω2(xx1) ω ωTx1+b=0,由此推出: { d = ∣ ω T x − ω T x 1 ∣ ∥ ω ∥ 2 b = − ω T x 1 \left\{\begin{array}{lr} d = \frac{|\omega^Tx-\omega^Tx_1|}{\|\omega\|_2}\\b=-\omega^Tx_1\end{array}\right. {d=ω2ωTxωTx1b=ωTx1

所以结论得到,平面一点到决策边界的距离(或者说点到超平面的距离)为: d = ∣ ω T x + b ∣ ∥ ω ∥ 2 d = \frac{|\omega^Tx+b|}{\|\omega\|_2} d=ω2ωTx+b

L o s s Loss Loss f u n c t i o n function function

感知器的损失函数最初设想如下:

L ( ω , b ) = ∑ i = 1 N I [ y i ( ω T x i + b ) ] L(\omega, b) = \sum\limits_{i=1}^NI\left[y_i(\omega^Tx_i+b)\right] L(ω,b)=i=1NI[yi(ωTxi+b)]

其中中括号里的部分,代表着错误的分类,比如分类错误:
f ( x i ) = s i g n ( ω T x i + b ) = + 1 , y i = − 1 ⇒ y i ( ω T x i + b ) < 0 f(x_i) = sign(\omega^Tx_i+b) = +1,y_i=-1 \Rightarrow y_i(\omega^Tx_i+b)<0 f(xi)=sign(ωTxi+b)=+1,yi=1yi(ωTxi+b)<0 f ( x i ) = s i g n ( ω T x i + b ) = − 1 , y i = + 1 ⇒ y i ( ω T x i + b ) < 0 f(x_i) = sign(\omega^Tx_i+b) = -1,y_i=+1 \Rightarrow y_i(\omega^Tx_i+b)<0 f(xi)=sign(ωTxi+b)=1,yi=+1yi(ωTxi+b)<0

上式的 I I I 函数功能: { 若 y i ( ω T x i + b ) > 0 , I = 1 若 y i ( ω T x i + b ) < 0 , I = 0 \left\{\begin{array}{lr}若y_i(\omega^Tx_i+b)>0,I=1\\若y_i(\omega^Tx_i+b)<0,I=0\end{array}\right. {yi(ωTxi+b)>0I=1yi(ωTxi+b)<0I=0,那么就很好解释损失函数了,主要是用于计算当预测错误时,点到决策边界的代价值。通常,为了使得损失达到最小,我们需要寻找在定义内的最小点,就会涉及到求导。对于上式 L o s s Loss Loss f u n c t i o n function function I I I 不可导,因此我们互哪一种思路,将 L o s s Loss Loss f u n c t i o n function function 转化为下式:

L ( ω , b ) = ∑ x i ∈ M ∣ ω T x i + b ∣ ∥ ω ∥ 2 L(\omega, b) = \sum\limits_{x_i\in M}\frac{|\omega^Tx_i+b|}{\|\omega\|_2} L(ω,b)=xiMω2ωTxi+b

其中 M M M 是所有误分类点的集合, L o s s Loss Loss f u n c t i o n function function 代表的就是所有分类错误的点到直线的距离之和。我们只需要将这个距离降到最小,即可划分出一条直线到各个点的距离之和最小,因此我们对上式求导,这个时候问题又出现了,由于分子中有绝对值,这不方便我们求导,我们对该式的分子去绝对值操作后即为:

L ( ω , b ) = ∑ x i ∈ M − y i ( ω T x i + b ) ∥ ω ∥ 2 L(\omega, b) = \sum\limits_{x_i\in M}\frac{-y_i(\omega^Tx_i+b)}{\|\omega\|_2} L(ω,b)=xiMω2yi(ωTxi+b)

学习策略

通过梯度下降算法,找到局部最优解。我们将上式 L ( ω , b ) = ∑ x i ∈ M = − y i ( ω T x i + b ) ∥ ω ∥ 2 L(\omega, b) = \sum\limits_{x_i\in M} = \frac{-y_i(\omega^Tx_i+b)}{\|\omega\|_2} L(ω,b)=xiM=ω2yi(ωTxi+b) 的常数 1 ∥ ω ∥ 2 \frac{1}{\|\omega\|_2} ω21 直接去掉,对找到局部最优解无任何影响,得到:

L ( ω , b ) = ∑ x i ∈ M − y i ( ω T x i + b ) L(\omega, b) = \sum\limits_{x_i\in M}-y_i(\omega^Tx_i+b) L(ω,b)=xiMyi(ωTxi+b)

我们分别对 L ( ω , b ) L(\omega, b) L(ω,b) 关于权重 ω \omega ω 和偏置 b b b 求梯度,分别确定这两个参数所对应超平面的梯度下降,并进行迭代更新,直至找到局部最优解为止。

{ ∇ ω L ( ω , b ) = − ∑ x i ∈ M y i x i ∇ b L ( ω , b ) = − ∑ x i ∈ M y i \left\{\begin{array}{lr}\nabla_{\omega}L(\omega, b) = -\sum\limits_{x_i\in M}y_ix_i\\\nabla_bL(\omega, b) = -\sum\limits_{x_i\in M}y_i \end{array}\right. ωL(ω,b)=xiMyixibL(ω,b)=xiMyi

通过 { ω ⇐ ω − ∇ ω L ( ω , b ) ⋅ α b ⇐ b − ∇ b L ( ω , b ) ⋅ α \left\{\begin{array}{lr}\omega \Leftarrow \omega - \nabla_{\omega}L(\omega, b)\centerdot\alpha\\b \Leftarrow b - \nabla_{b}L(\omega, b)\centerdot\alpha\end{array}\right. {ωωωL(ω,b)αbbbL(ω,b)α 分别对误分类点的 L o s s Loss Loss f u n c t i o n function function 中的 ω \omega ω b b b 更新,即如下迭代方式:

ω ⇐ ω + α ⋅ ∑ x i ∈ M y i x i \omega \Leftarrow \omega + \alpha\centerdot\sum\limits_{x_i\in M}y_ix_i ωω+αxiMyixi b ⇐ b + α ⋅ ∑ x i ∈ M y i b \Leftarrow b + \alpha\centerdot\sum\limits_{x_i\in M}y_i bb+αxiMyi

以上即为感知器相关公式推导。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值