• CMSC5724-数据挖掘之线性分类问题与感知机


    这章主要探讨了线性分类问题这个大问题及其理论。

    线性分类问题和线性可分的定义

    可以将线性分类问题定义如下,有一个线性分类器(Linear classifier)为 h h h,输入样本 X X X,我们可以通过分类器预测其标签 h ( x ) h(x) h(x)。其分类规则就是 x ⋅ w ≥ 0 x \cdot w \ge 0 xw0(这里在定义的时候取到了 = = =号), h h h输出其预测标签 h ( x ) = 1 h(x)=1 h(x)=1;否则 x ⋅ w < 0 x \cdot w \lt 0 xw<0 h h h输出其预测标签 h ( x ) = − 1 h(x)=-1 h(x)=1

    PPT中可以认为 h ∗ h^{*} h是那个「上帝」掌控的完美分类器,它在分布 D D D上不会分类错误。
    请添加图片描述
    当存在一个训练集 S S S的时候,如何题表示 S S S线性可分(Linearly separable)的?相当于我们分类器 h h h分类出来的结果,和训练样本 p p p的标签是一致的,如下所示,其中 w ⋅ p = 0 w \cdot p=0 wp=0的地方是划分出来的超平面(这里需要严格划分超平面,因此不存在点在超平面上,取不到 = = =号)。
    请添加图片描述
    其中让我疑惑的点是,线性分类问题找到的分类器都是过原点的嘛?是否有点缺乏普遍性?答案为是,参考知乎@李诗旸在机器学习中的超平面为什么不过原点?上的回答,“线性子空间”需要过原点,“超平面”可以指任意线性子空间在任意仿射下的象,言外之意不需要过原点。至于是否缺乏普适性,其实在 R d \mathbb{R}^{d} Rd上不过原点的超平面,可以通过法向量 ω d + 1 \omega^{d+1} ωd+1的构造,转换为 R d + 1 \mathbb{R}^{d+1} Rd+1上过原点的超平面,参考相关题目中的题目5

    感知机算法Perceptron

    执行过程

    在定义了线性分类问题后,我们就是想找到那个分类器 h h h所表示的分割的超平面,找到了该超平面就能让训练样本 S S S上的误差为0,即 e r r S ( h ) = 0 err_{S}(h)=0 errS(h)=0

    为了找到合适的分类器 h h h,其实就是要找到它的参数 w w w,感知机算法先初始化 w = ( 0 , 0 , . . . , 0 ) w=(0,0,...,0) w=(0,0,...,0),然后在迭代中找到那些异常点violation point p p p,根据这些异常点调整 w w w,直到不出现异常点。其中异常点的判断是和它们的label直接相关的,当label p = 1 p=1 p=1,正常的点需要分类器算出来的 w ⋅ p > 0 w \cdot p>0 wp>0(这里就是严格取不到 = = =),否则就是异常,异常调整的规则就是 w = w + p w=w+p w=w+p;对于label p = − 1 p=-1 p=1,正常的点需要分类器算出来的 w ⋅ p < 0 w \cdot p<0 wp<0,否则就是异常,异常调整的规则就是 w = w − p w=w-p w=wp
    请添加图片描述
    老师推导了一个完整的例子,两步确实找到了分割平面,实在是small and sweet。在图中我们需要记住的是,一个线性分割超平面的决定参数 ω \omega ω,对应着就是垂直于该超平面的法向量(图中的红色箭头)。
    请添加图片描述

    最大调整次数通理

    其中涉及到几个概念:

    • R R R:radius, the farthest distance from the origin to a point.
    • margin of classifier: distance from the boundary line to the closest point.
    • γ \gamma γ: the largest margin of all seperating plane.

    通理就是:感知机最大的调整次数为 ( R r ) 2 \left( \frac{R}{r} \right)^{2} (rR)2,或者可以认为从 w 0 = ( 0 , 0... , 0 ) w_{0}=(0,0...,0) w0=(0,0...,0)开始最多找到 ( R r ) 2 \left( \frac{R}{r} \right)^{2} (rR)2个violation point.

    为了证明这个Theorem,需要了解一些矩阵分析vector analysis的知识:
    请添加图片描述

    最重要的一个分析就是将某条直线 l ∗ l^{*} l的margin,和其单位法向量 u ⃗ ∗ \vec{u}^{*} u 联系起来,如下图所示,通过矩形的对边相等,我们可以看出,训练集 S S S中任意一点 p ⃗ \vec{p} p 到直线 l ∗ l^{*} l的距离为 ∣ u ∗ ⃗ ⋅ p ∗ ⃗ ∣ |\vec{u^*} \cdot \vec{p^*}| u p , 也可以这样理解,点到直线的距离 ∣ p ⃗ ⋅ w ⃗ ∣ w ⃗ ∣ ∣ = ∣ u ∗ ⃗ ⋅ p ∗ ⃗ ∣ |\frac{\vec{p} \cdot \vec{w}}{|\vec{w}|}|=|\vec{u^*} \cdot \vec{p^*}| w p w =u p .

    因为margin是点到直线的最短距离,训练集 S S S中任意一点 p ⃗ \vec{p} p 到直线 l ∗ l^{*} l的距离,必定是大于等于 m a r g i n ( l ∗ ) margin(l^{*}) margin(l)的。
    在这里插入图片描述
    为了证明这个通理,需要证明两个引理:

    1. w i + 1 ∗ u ∗ ≥ w i ∗ u ∗ + γ w_{i+1}*u^{*} \ge w_{i}*u^{*}+ \gamma wi+1uwiu+γ 这表明了在迭代过程中,我们修正的参数 w i w^{i} wi在不断往正确的方向调整,且每次调整的幅度,体现在与我们最终要找的超平面 l ∗ l^{*} l的法向量 u ∗ u^{*} u点乘之后,大于等于 γ \gamma γ
    2. ∣ w i + 1 ∣ 2 ≤ ∣ w i ∣ 2 + R 2 |w_{i+1}|^{2} \le |w_{i}|^{2} + R^{2} wi+12wi2+R2 这表明在迭代过程中,我们修正的参数的模的上限是在不断缩小的,体现在幅度上,就是小于等于 R 2 R^{2} R2

    Lemma1证明,其中 w 0 = ( 0 , 0 , . . . 0 ) w_{0}=(0,0,...0) w0=(0,0,...0)
    请添加图片描述
    Lemma2证明:
    请添加图片描述
    将上面的两个引理证明的结论一夹逼,就得到了通理的证明,主要是记住两个引理的最后一步。
    ∣ w k ∣ ≥ k γ |w_{k}| \ge k\gamma wkkγ
    ∣ w k ∣ 2 ≤ k R 2 |w_{k}|^{2} \le kR^{2} wk2kR2
    在这里插入图片描述

    进一步思考

    感知机算法能够找到分类器 h h h让训练样本 S S S上的emprical error为0,即 e r r S ( h ) = 0 err_{S}(h)=0 errS(h)=0,进一步地,我们能否用它来约束达到一个较小的泛化误差 e r r D ( h ) err_{D}(h) errD(h)? 用第一节课学过的泛化误差和训练误差的通理是不能够进行约束了。因为其中有一项 l n ( ∣ H ∣ ) ln(\left |H \right|) ln(H)和可能的分类器数目有关,然而在线性分类的空间中这个值无限大,不能够像决策树那样根据parameter数目进行合理估计。这就为下一章引入VC-dim埋下了伏笔,将训练误差和泛化误差的关系用VC-dim联系起来。

    相关题目

    1. 应用感知机算法迭代,掌握其迭代过程
      在这里插入图片描述

    2. 考察通理的应用,超过最大迭代次数 ( R γ ) 2 \left( \frac{R}{\gamma} \right)^{2} (γR)2,则没有超平面。
      请添加图片描述

    3. 直接带入通理计算,对于找到的任意点来说一定都是上限。
      请添加图片描述
      请添加图片描述

    4. 通理的推导过程,系数 λ \lambda λ可以在不等式中消去。
      请添加图片描述

    1. 线性分类问题的推广,从 R d \mathbb{R}^{d} Rd空间出发,构造法向量 ω ′ \omega^{'} ω R d + 1 \mathbb{R}^{d+1} Rd+1请添加图片描述
      在这里插入图片描述
  • 相关阅读:
    5 Dijkstra算法的设计--来源王英S同学
    C++11 lambda表达式 已完成未发布
    springboot+vue+nodejs游戏资讯攻略分享网站java
    linux下Qt的pro文件
    做网赚的核心是:流量思维+变现思维
    VM虚拟机部署Linux(CentOS6.5)环境及JDK+Tomcat+ MySQL-5.7
    GIS实战应用案例100篇(七十九)-多规整合底图的制作要点
    开发板通过网线连接电脑而上网
    UE4 解决车轮等模型快速旋转时画面模糊
    Selenium自动化测试框架工作原理你明白了吗?
  • 原文地址:https://blog.csdn.net/qq_44036439/article/details/127055557