五、感知机

5.1 定义

  1. 感知机是二分类的线性分类模型,属于判别模型。

    • 模型的输入为实例的特征向量,模型的输出为实例的类别:正类取值 +1, 负类取值 -1
    • 感知机的物理意义:将输入空间(特征空间)划分为正、负两类的分离超平面。
  2. 设输入空间(特征空间)为 五、感知机 - 图1;输出空间为 五、感知机 - 图2;输入 五、感知机 - 图3 为特征空间的点;输出 五、感知机 - 图4 为实例的类别。

    定义函数 五、感知机 - 图5 为感知机。其中:

    • 五、感知机 - 图6 为权值向量,五、感知机 - 图7 为偏置。它们为感知机的参数。
    • sign 为符号函数:

    五、感知机 - 图8

  3. 感知机的几何解释: 五、感知机 - 图9 对应特征空间 五、感知机 - 图10 上的一个超平面 五、感知机 - 图11 ,称作分离超平面。

    • 五、感知机 - 图12 是超平面 五、感知机 - 图13 的法向量, 五、感知机 - 图14 是超平面的截距。

    • 超平面 五、感知机 - 图15 将特征空间划分为两个部分:

      • 超平面 五、感知机 - 图16 上方的点判别为正类。
      • 超平面 五、感知机 - 图17 下方的点判别为负类。

5.2 损失函数

  1. 给定数据集 五、感知机 - 图18,其中 五、感知机 - 图19

    若存在某个超平面 五、感知机 - 图20五、感知机 - 图21 , 使得将数据集中的正实例点与负实例点完全正确地划分到超平面的两侧,则称数据集 五、感知机 - 图22 为线性可分数据集;否则称数据集 五、感知机 - 图23 线性不可分。

    划分到超平面两侧,用数学语言描述为: 五、感知机 - 图24

  2. 根据感知机的定义:

    • 对正确分类的点 五、感知机 - 图25,有 五、感知机 - 图26

    • 对误分类的点 五、感知机 - 图27,有 五、感知机 - 图28

  3. 如果将感知机的损失函数定义成误分类点的中总数,则它不是 五、感知机 - 图29 的连续可导函数,不容易优化。

    因此,定义感知机的损失函数为误分类点到超平面 五、感知机 - 图30 的总距离。

    对误分类的点五、感知机 - 图31,则 五、感知机 - 图32 距离超平面的距离为:

    五、感知机 - 图33

    由于 五、感知机 - 图34,以及 五、感知机 - 图35 ,因此上式等于

    五、感知机 - 图36

    不考虑 五、感知机 - 图37,则得到感知机学习的损失函数:

    五、感知机 - 图38

    其中:

    • 五、感知机 - 图39 为误分类点的集合。它隐式的与 五、感知机 - 图40 相关,因为 五、感知机 - 图41 优化导致误分类点减少从而使得 五、感知机 - 图42 收缩。
    • 之所以不考虑 五、感知机 - 图43,因为感知机要求训练集线性可分,最终误分类点数量为零,此时损失函数为零。即使考虑分母,也是零。若训练集线性不可分,则感知机算法无法收敛。
    • 误分类点越少或者误分类点距离超平面 五、感知机 - 图44 越近, 则损失函数 五、感知机 - 图45 越小。
  4. 对于特定的样本点,其损失为:

    • 若正确分类,则损失为 0 。
    • 若误分类,则损失为 五、感知机 - 图46 的线性函数。

    因此给定训练集 五、感知机 - 图47 ,损失函数 五、感知机 - 图48五、感知机 - 图49 的连续可导函数。

5.3 学习算法

  1. 给定训练集 五、感知机 - 图50,求参数 五、感知机 - 图51

    五、感知机 - 图52

5.3.1 原始形式

  1. 假设误分类点集合 五、感知机 - 图53 是固定的,则损失函数 五、感知机 - 图54 的梯度为:

    五、感知机 - 图55

  2. 通过梯度下降法,随机选取一个误分类点 五、感知机 - 图56,对 五、感知机 - 图57 进行更新:

    五、感知机 - 图58

    其中 五、感知机 - 图59 是步长,即学习率。

    通过迭代可以使得损失函数 五、感知机 - 图60 不断减小直到 0 。

  3. 感知机学习算法的原始形式:

    • 输入:

      • 线性可分训练集 五、感知机 - 图61
      • 学习率 五、感知机 - 图62
    • 输出:

      • 五、感知机 - 图63

      • 感知机模型: 五、感知机 - 图64

    • 步骤:

      • 选取初始值 五、感知机 - 图65

      • 在训练集中选取数据 五、感知机 - 图66 。若 五、感知机 - 图67 则:

        五、感知机 - 图68

      • 在训练集中重复选取数据来更新 五、感知机 - 图69 直到训练集中没有误分类点。

5.3.2 性质

  1. 对于某个误分类点 五、感知机 - 图70 ,假设它被选中用于更新参数。

    • 假设迭代之前,分类超平面为 五、感知机 - 图71 ,该误分类点距超平面的距离为 五、感知机 - 图72
    • 假设迭代之后,分类超平面为 五、感知机 - 图73 ,该误分类点距超平面的距离为 五、感知机 - 图74

    则:

    五、感知机 - 图75

    因此有 五、感知机 - 图76

    这里要求 五、感知机 - 图77,因此步长 五、感知机 - 图78 要相当小。

  2. 几何解释 :当一个实例点被误分类时,调整 五、感知机 - 图79 使得分离平面向该误分类点的一侧移动,以减少该误分类点与超平面间的距离,直至超平面越过所有的误分类点以正确分类。

  3. 感知机学习算法由于采用不同的初值或者误分类点选取顺序的不同,最终解可以不同。

5.3.3 收敛性

  1. 感知机收敛性定理:设线性可分训练集 五、感知机 - 图80

    • 存在满足 五、感知机 - 图81 的超平面:五、感知机 - 图82 ,该超平面将 五、感知机 - 图83 完全正确分开。

      且存在 五、感知机 - 图84 ,对所有的 五、感知机 - 图85 有:五、感知机 - 图86

      其中 五、感知机 - 图87

    • 五、感知机 - 图88,则感知机学习算法原始形式在 五、感知机 - 图89 上的误分类次数 五、感知机 - 图90 满足:

      五、感知机 - 图91

  2. 感知机收敛性定理说明了:

    • 当训练集线性可分时,感知机学习算法原始形式迭代是收敛的。

      • 此时算法存在许多解,既依赖于初值,又依赖于误分类点的选择顺序。
      • 为了得出唯一超平面,需要对分离超平面增加约束条件。
    • 当训练集线性不可分时,感知机学习算法不收敛,迭代结果会发生震荡。

5.3.4 对偶形式

  1. 根据原始迭代形式 :

    五、感知机 - 图92

    取初始值 五、感知机 - 图93 均为 0。则 五、感知机 - 图94 可以改写为:

    五、感知机 - 图95

    这就是感知机学习算法的对偶形式。

  2. 感知机学习算法的对偶形式:

    • 输入:

      • 线性可分训练集 五、感知机 - 图96
      • 学习率 五、感知机 - 图97
    • 输出:

      • 五、感知机 - 图98 ,其中 五、感知机 - 图99
      • 感知机模型 五、感知机 - 图100
    • 步骤:

      • 初始化:五、感知机 - 图101
      • 在训练集中随机选取数据 五、感知机 - 图102 ,若 五、感知机 - 图103 则更新:

      五、感知机 - 图104

      • 在训练集中重复选取数据来更新 五、感知机 - 图105 直到训练集中没有误分类点。
  3. 在对偶形式中, 训练集 五、感知机 - 图106 仅仅以内积的形式出现,因为算法只需要内积信息。

    可以预先将 五、感知机 - 图107 中的实例间的内积计算出来,并以矩阵形式存储。即 Gram矩阵: 五、感知机 - 图108

  4. 与原始形式一样,感知机学习算法的对偶形式也是收敛的,且存在多个解。