感知机学习笔记

“读书百遍,其义自现“————《三国志·魏志·董遇传》

  再读李航老师的《统计学习方法》,上一次没看懂的地方,这次居然豁然开朗。看来,书果然是要重复读的。
  从这篇开始,将陆续记录《统计学习方法》的读书笔记,希望再次加深印象和理解,如果能给同道带来一些帮助,则是更好。
  进入主题吧。
  先回顾一下统计学习方法三要素:模型、策略、算法。(放在这里做定海神针)
  对于感知机来说,这三个要素分别是:
   —- 模型:f(x) = sign( wx w ⋅ x +b),是线性分类模型。其中sign(x)是符号函数,当 x0+1x<01wx+b=0 x ⩾ 0 时 , 其 值 为 + 1 , 当 x < 0 时 , 其 值 为 − 1 。 模 型 的 几 何 解 释 : w ⋅ x + b = 0 是将正负两类样本分离的超平面。
  —- 策略:找到使(经验)损失函数:L(w,b) = Mi=0yi(wxi+b) − ∑ i = 0 M y i ( w ⋅ x i + b ) 极小化的w,b,其中M为误分类点的个数。损失函数由误分类点到分离超平面的总距离获得。
  —- 算法:随机梯度下降法,包括原始形式和对偶形式。
  原始形式:
  由策略中的损失函数得: wL(w,b) ∇ w L ( w , b ) = Mi=0yixi − ∑ i = 0 M y i x i bL(w,b) ∇ b L ( w , b ) = Mi=0yi − ∑ i = 0 M y i ,其中M为误分类点的个数。随机选取一个误分类点( xi,yi x i , y i ),对w,b进行更新:
   w w+ηyixi,b b+ηyi
  伪代码:
  输入:训练集和学习率(详细内容略,参考教材)
  输出:w,b; 感知机模型 f(x)=sign(wx+b) f ( x ) = s i g n ( w ⋅ x + b )
  1)选取初值, w0b0 w 0 , b 0 (可设置为0,但是在神经网络中,w的初始值不能设置为0,会造成隐藏层计算的都是相同的内容,失去意义。详參吴恩达深度学习课程)
  2)选取数据 xiyi ( x i , y i )
  3)将数据代入模型,如果 yi(wxi+b)<0 y i ( w ⋅ x i + b ) < 0 ,即为误分类点,更新w,b
    w w+ηyixi,b b+ηyi
  4)转至2),直到训练集中没有误分类点。

  对偶形式:
  其基本想法是把w,b用实例 xi,yi x i , y i 表示出来。假设其初始值均为0。根据w,b的更新规则:
   ww+ηyixibb+ηyi w ← w + η y i x i , b ← b + η y i
  误分类点 xi,yi ( x i , y i ) 经过ni次w、b的更新,得以正确分类,则此时:
   w=w0+niηyixi=niηyixib=b0+niηyi=niηyi w = w 0 + n i η y i x i = n i η y i x i , b = b 0 + n i η y i = n i η y i
   niη=αiw=αiyixib=αiyi 设 n i η = α i , 则 w = α i y i x i , b = α i y i
  能将所有数据正常划分的w,b则表示为:
   w=Ni=1αiyixib=Ni=1αiyiN w = ∑ i = 1 N α i y i x i , b = ∑ i = 1 N α i y i ( N 为 训 练 集 样 本 个 数 )
  伪代码:
  输入:训练集和学习率(详细内容略,参考教材)
  输出:α,b; 感知机模型f(x)=sign( Nj=1αjyjxjx+b)N ∑ j = 1 N α j y j x j ⋅ x + b ) ( N 为 训 练 集 样 本 个 数 )
  1)初值 w0b00 w 0 , b 0 设 置 为 0 .
  2)选取数据 xiyi ( x i , y i )
  3)将数据代入模型,如果 yi(Nj=1αjyjxj.xi+b)<0 y i ( ∑ j = 1 N α j y j x j . x i + b ) < 0 ,即为误分类点,更新 αi α i (注意这里的角标是i,不是j。即只更新当前样本对应的α),b:
   αiαi+ηαi=niηηbb+ηyi α i ← α i + η ( 解 释 : α i = n i η , 那 么 自 然 是 更 新 一 次 , 就 加 一 次 η ) , b ← b + η y i
  4)转至2),直到训练集中没有误分类点。

  下面是关于书中内容的思考:
   1. 输入空间中任一点到分离超平面的距离怎么计算?
这里写图片描述

这里有一点要注意,为了方便书写,用 x1x2 x 1 , x 2 表示任一点的两个分量,有点不合规矩。正确的书写方法是图上两个坐标轴的标示方法。不过暂且就这样了。由于误分类点的标签y与 wx+b ( w ⋅ x + b ) 的符号肯定相反,即其乘积为 |wx+b| − | w ⋅ x + b | ,因此,误分类点到超平面的距离为 [y(wx+b)]/||w|| [ − y ( w ⋅ x + b ) ] / | | w | | 。将所有误分类点到超平面的距离相加,并且不再考虑 1||w|| 1 | | w | | ,即得损失函数。

   2. 算法收敛性证明(原始模型,前提是数据集线性可分)
   因为虽然书上的证明很完美,但自愧没有那么好的脑回路,不明白为什么老师就能想到该如此如此证明呢,所以本部分主要采取分析的推理方法,从结论倒推。
   基本思路是证明经过有限次迭代(假设为k次),可以找到能将训练集数据完全正确划分的分离超平面及感知机模型。即证明k会小于等于一个数。所以我们需要构造一个不等式和一个数。在向量运算中,最明显的不等式就是比较模的大小了。又鉴于模的计算涉及开方,为简化,我们直接就比较模的平方了。那么这个数怎么构造呢?k肯定是跟w、b的迭代有关的,而我们知道我们可以把b并入到向量w中生成 ŵ  w ^ ,把1并入 xx̂  x 中 生 成 x ^ , ŵ x̂ =wx+b w ^ ⋅ x ^ = w ⋅ x + b 。那么我们根据 ŵ  w ^ 的更新公式来看看第k次 |̂ |w|| | ^ | w | | 的情况吧:
   ||ŵ k||2=||ŵ k1+ηyix̂ i||2=||ŵ k1||2+||ηyix̂ i||2+2ηyix̂ iŵ k1 | | w ^ k | | 2 = | | w ^ k − 1 + η y i x ^ i | | 2 = | | w ^ k − 1 | | 2 + | | η y i x ^ i | | 2 + 2 η y i x ^ i ⋅ w ^ k − 1
  由于 xi,yi x i , y i 是误分类点,所以 2ηyix̂ iŵ k10 2 η y i x ^ i ⋅ w ^ k − 1 ⩽ 0 ,由上式得出
   ||ŵ k||2||ŵ k1||2+||ηyix̂ i||2 | | w ^ k | | 2 ⩽ | | w ^ k − 1 | | 2 + | | η y i x ^ i | | 2
  由于 yi y i 是+1或者-1, η η 是标量,因此 ||ηyix̂ i||2=η2||xi||2 | | η y i x ^ i | | 2 = η 2 | | x i | | 2 ,由上式得出:
   ||ŵ k||2||ŵ k1||2+η2||x̂ i||2 | | w ^ k | | 2 ⩽ | | w ^ k − 1 | | 2 + η 2 | | x ^ i | | 2
  假设 R=max1iN||xi|| R = m a x 1 ⩽ i ⩽ N | | x i | | ,则由上式有:
   ||ŵ k||2||ŵ k1||2+η2R2 | | w ^ k | | 2 ⩽ | | w ^ k − 1 | | 2 + η 2 R 2
  同理:
   ||ŵ k1||2||ŵ k2||2+η2R2 | | w ^ k − 1 | | 2 ⩽ | | w ^ k − 2 | | 2 + η 2 R 2
  则有:
   ||ŵ k||2||ŵ k2||2+2η2R2 | | w ^ k | | 2 ⩽ | | w ^ k − 2 | | 2 + 2 η 2 R 2
  继续递推得:
   ||ŵ k||2||ŵ 0||2+kη2R2 | | w ^ k | | 2 ⩽ | | w ^ 0 | | 2 + k η 2 R 2
  我们将权重初始化为0,即 ŵ 0=0 w ̂ 0 = 0 ,则有:
   ||ŵ k||2kη2R2 | | w ^ k | | 2 ⩽ k η 2 R 2
  不等式的构造到这里算是完成了一半,因为 ||ŵ k||2 | | w ̂ k | | 2 并不确定。我们还需要构造另一半,以 ||ŵ k||2 | | w ̂ k | | 2 ||ŵ k|| | | w ̂ k | | 为桥,即” k"||ŵ k||2 k 的 表 达 式 "⩽ | | w ̂ k | | 2 ||ŵ k|| | | w ̂ k | | ,其中k的次数要高,系数要保证不等号的方向。
  向量计算中另一个常见的可以比较大小的量是向量点乘。而我们又知道,向量点乘 向量模的乘积。如果能构造出一个“k“的表达式小于等于 ŵ k w ̂ k 与另一个向量的点乘是再好不过的。这另一个向量该选谁呢?我们暂且取向量z,与 ŵ k w ̂ k 同维。将 ŵ k w ̂ k 迭代(这样才能出现k的表达式):
   ŵ kz=ŵ k1z+ηyix̂ iz w ̂ k ⋅ z = w ̂ k − 1 ⋅ z + η y i x ^ i ⋅ z
  鉴于我们希望 ŵ kz w ̂ k ⋅ z 是大于等于一个“k的表达式“的,那么当然 ηyix̂ iz η y i x ^ i ⋅ z 恒大于某个数就好了。而对于有限的数据集, yix̂ iz y i x ^ i ⋅ z (考虑到另一半不等式中有 η η ,我们这一半最好也有,以便于约分,因此把它撇出去,不放在这个整体里考虑)当然存在最小值,我们不妨叫它 γ γ 。则有:
   ŵ kz=ŵ k1z+ηyix̂ izŵ k1z+ηγŵ k2z+2ηγ......ŵ 0z+kηγ=kηγŵ 0=0 w ̂ k ⋅ z = w ̂ k − 1 ⋅ z + η y i x ^ i ⋅ z ⩾ w ̂ k − 1 ⋅ z + η γ ⩾ w ̂ k − 2 ⋅ z + 2 η γ . . . 递 推 . . . ⩾ w ̂ 0 ⋅ z + k η γ = k η γ ( 注 : w ^ 0 = 0 )
  又因为 ŵ kz||ŵ k||||z|| w ̂ k ⋅ z ⩽ | | w ^ k | | | | z | | ,要将各不等式连起来,显然令z的模为1是最方便的,有:
   kηγŵ kz||ŵ k||ηRk k η γ ⩽ w ̂ k ⋅ z ⩽ | | w ^ k | | ⩽ η R k
  公式两边同时除以 ηγk η γ k ,等等, ηk η , k 都是大于0的,可 γ γ 是什么符号呢?这可决定着能不能除,以及除之后不等号的方向问题。若要得出想要的结论,即k小于等于一个正数,我们需要 γ>0 γ > 0 ,那么 yix̂ iz y i x ^ i ⋅ z 就都得大于0,即z需要是能将所有样本正确分类的分类超平面的 ŵ  w ^ ,我们叫它 ŵ opt w ^ o p t ,取optimum,即最优之意。问题是它真的存在吗?答:既然数据集线性可分,那么它一定存在。还有一个问题,它的模是1吗?答:它的模可以是1,相关证明见备注2。
  因此,我们最后证明的结论就是:
   k(Rγ)2 k ⩽ ( R γ ) 2
<正文终于写完了>

  备注1:证明两个向量的点乘小于等于向量模的乘积。
  设两个向量 a⃗ ,b⃗  a → , b → 分别为 [a1,a2]T[b1,b2]T [ a 1 , a 2 ] T , [ b 1 , b 2 ] T ,则 a⃗ b⃗ =a1b1+a2b2 a → ⋅ b → = a 1 b 1 + a 2 b 2 ||a⃗ ||||b⃗ ||=(a21+a22)(b21+b22)=a21b21+a21b22+a22b21+a22b22=(a1b1+a2b2)2+(a1b2a2b1)2a1b1+b2b2 | | a → | | | | b → | | = ( a 1 2 + a 2 2 ) ( b 1 2 + b 2 2 ) = a 1 2 b 1 2 + a 1 2 b 2 2 + a 2 2 b 1 2 + a 2 2 b 2 2 = ( a 1 b 1 + a 2 b 2 ) 2 + ( a 1 b 2 − a 2 b 1 ) 2 ⩾ a 1 b 1 + b 2 b 2
  备注2:证明方程ax+by+c=0( a0b0 a ≠ 0 , b ≠ 0 )的系数向量 [a,b,c]T [ a , b , c ] T 的模缩为1,只要方向保持不变,其所确定的直线不变。
  该直线必经过(0, cb,ca,0a2+b2+c2=C2(C>0) − c b ) , ( − c a , 0 ) 两 点 。 设 a 2 + b 2 + c 2 = C 2 ( C > 0 ) ,直线方程两边同时除以C,得 ax+by+cC=0 a x + b y + c C = 0 ,则系数向量模为 a2+b2+c2C2=1 a 2 + b 2 + c 2 C 2 = 1 ,而直线仍经过$(0,-\frac {c}{b}),(-\frac {c}{a},0)两点。由两点确定一条直线,得出直线不变。
<备注也终于写完了>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值