线性模型

  1. 给定样本 ,其中 为样本 的第 个特征,特征有 种。

    线性模型(linear model) 的形式为:

    其中 为每个特征对应的权重生成的权重向量。

  2. 线性模型的优点是:

    • 模型简单。
    • 可解释性强,权重向量 直观地表达了各个特征在预测中的重要性。
  3. 很多功能强大的非线性模型(nolinear model) 可以在线性模型的基础上通过引入层级结构或者非线性映射得到。

一、线性回归

1.1 问题

  1. 给定数据集 ,其中

    线性回归问题试图学习模型 :

    该问题也被称作多元线性回归(multivariate linear regression)

  2. 对于每个 ,其预测值为 。采用平方损失函数,则在训练集 上,模型的损失函数为:

    优化目标是损失函数最小化,即:

1.2 求解

  1. 可以用梯度下降法来求解上述最优化问题的数值解,但是实际上该最优化问题可以通过最小二乘法获得解析解。

  2. 令:

    则有:

    令:

    则:

  3. 。为求得它的极小值,可以通过对 求导,并令导数为零,从而得到解析解:

    • 为满秩矩阵时,可得:

      其中 的逆矩阵。

      最终学得的多元线性回归模型为:

    • 不是满秩矩阵。此时存在多个解析解,他们都能使得均方误差最小化。究竟选择哪个解作为输出,由算法的偏好决定。

      比如 (样本数量小于特征种类的数量),根据 的秩小于等于 中的最小值,即小于等于 (矩阵的秩一定小于等于矩阵的行数和列数); 而矩阵 大小的,它的秩一定小于等于 ,因此不是满秩矩阵。

      常见的做法是引入正则化项:

      • 正则化:此时称作Lasso Regression

        为正则化系数,调整正则化项与训练误差的比例。

      • 正则化:此时称作Ridge Regression

        为正则化系数,调整正则化项与训练误差的比例。

      • 同时包含 正则化:此时称作Elastic Net

        其中:

        • 为正则化系数,调整正则化项与训练误差的比例。
        • 为比例系数,调整 正则化与 正则化的比例。

1.3 算法

  1. 多元线性回归算法:

    • 输入:

      • 数据集
      • 正则化项系数
    • 输出模型:

    • 算法步骤:

      令:

      求解:

      最终学得模型:

二、广义线性模型

2.1 广义线性模型的函数定义

  1. 考虑单调可微函数 ,令 ,这样得到的模型称作广义线性模型 (generalized linear model)。

    其中函数 称作联系函数 (link function) 。

  2. 对数线性回归是广义线性模型在 时的特例。即:

    • 它实际上是试图让 逼近
    • 它在形式上仍是线性回归,但是实质上是非线性的。

2.2 广义线性模型的概率定义

  1. 如果给定 的条件概率分布 服从指数分布族,则该模型称作广义线性模型。

    指数分布族的形式为:

    • 的线性函数:
    • 的函数
    • 的函数

2.3 常见分布的广义线性模型

2.3.1 高斯分布

  1. 高斯分布:

    令:

    则满足广义线性模型。

2.3.2 伯努利分布

  1. 伯努利分布(二项分布, 为 0 或者 1,取 1的概率为 ):

    令:

    则满足广义线性模型。

  2. 根据 ,有 。 则得到:

    因此 logistic 回归属于伯努利分布的广义形式。

2.3.3 多元伯努利分布

  1. 假设有 个分类,样本标记 。每种分类对应的概率为 。则根据全概率公式,有

    • 定义 为一个 维的列向量:

    • 定义示性函数 : 表示属于 分类; 表示不属于 分类。则有:

    • 构建概率密度函数为:

    • 则有:

      ,则满足广义线性模型。

  2. 根据:

    则根据:

    于是有:

    .

三、对数几率回归

  1. 线性回归不仅可以用于回归任务,还可以用于分类任务。

3.1 二分类模型

  1. 考虑二分类问题。

    给定数据集

    • 考虑到 取值是连续的,因此它不能拟合离散变量。

      可以考虑用它来拟合条件概率 ,因为概率的取值也是连续的。

    • 但是对于 (若等于零向量则没有什么求解的价值), 取值是从 ,不符合概率取值为 ,因此考虑采用广义线性模型。

      最理想的是单位阶跃函数:

    • 但是阶跃函数不满足单调可微的性质,不能直接用作

      对数几率函数(logistic function)就是这样的一个替代函数:

      这样的模型称作对数几率回归(logistic regressionlogit regression)模型。

  2. 由于 ,则有:

    • 比值 表示样本为正例的可能性比上反例的可能性,称作几率(odds)。几率反映了样本作为正例的相对可能性。

      几率的对数称作对数几率(log odds,也称作logit)。

    • 对数几率回归就是用线性回归模型的预测结果去逼近真实标记的对数几率。

  3. 虽然对数几率回归名字带有回归,但是它是一种分类的学习方法。其优点:

    • 直接对分类的可能性进行建模,无需事先假设数据分布,这就避免了因为假设分布不准确带来的问题。
    • 不仅预测出来类别,还得到了近似概率的预测,这对许多需要利用概率辅助决策的任务有用。
    • 对数函数是任意阶可导的凸函数,有很好的数学性质,很多数值优化算法都能直接用于求取最优解。

3.2 参数估计

  1. 给定训练数据集 ,其中 。可以用极大似然估计法估计模型参数,从而得出模型。

    为了便于讨论,将参数 吸收进 中。

    令:

    则似然函数为:

    对数似然函数为:

  2. 由于 ,因此:

    则需要求解最优化问题:

    最终 logistic 回归模型为:

  3. logistic 回归的最优化问题,通常用梯度下降法或者拟牛顿法来求解。

3.3 多分类模型

  1. 可以推广二分类的 logistic 回归模型到多分类问题。

  2. 设离散型随机变量 的取值集合为: ,则多元 logistic 回归模型为:

    其中

    其参数估计方法类似二项 logistic 回归模型。

四、线性判别分析

  1. 线性判别分析Linear Discriminant Analysis:LDA 基本思想:

    • 训练时:给定训练样本集,设法将样例投影到某一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离。要学习的就是这样的一条直线。
    • 预测时:对新样本进行分类时,将其投影到学到的直线上,在根据投影点的位置来确定新样本的类别。

4.1 二分类模型

  1. 考虑二类分类问题。设数据集为:

4.1.1 投影

  1. 表示类别为 0 的样例的集合,这些样例的均值向量为 ,这些样例的特征之间协方差矩阵为 (协方差矩阵大小为 )。

    表示类别为 1 的样例的集合,这些样例的均值向量为 ,这些样例的特征之间协方差矩阵为 (协方差矩阵大小为

  2. 假定直线为: ,其中

    这里省略了常量 ,因为考察的是样本点在直线上的投影,总可以平行移动直线到原点而保持投影不变,此时

    将数据投影到直线上,则:

    • 两类样本的中心在直线上的投影分别为
    • 两类样本投影的方差分别为

    由于直线是一维空间,因此上面四个值均为实数

    LDA

  3. 根据线性判别分析的思想:

    • 要使得同类样例的投影点尽可能接近,则可以使同类样例投影点的方差尽可能小,即 尽可能小

    • 要使异类样例的投影点尽可能远,则可以使异类样例的中心的投影点尽可能远,即 尽可能大

    • 同时考虑两者,则得到最大化的目标:

      .

4.1.2 求解

  1. 定义类内散度矩阵和类间散度矩阵:

    • 类内散度矩阵 within-class scatter matrix

      它是每个类的散度矩阵之和。

    • 类间散度矩阵 between-class scatter matrix

      它是向量 与它自身的外积。

  2. 利用类内散度矩阵和类间散度矩阵,线性判别分析的最优化目标为:

    也称作 的广义瑞利商 。

  3. 现在求解最优化问题:

    • 考虑到分子与分母都是关于 的二次项,因此上式的解与 的长度无关,只与 的方向有关。令 ,则最优化问题改写为:
    • 应用拉格朗日乘子法,上式等价于

      • ,其中 为实数。则 。代入上式有:

      • 由于与 的长度无关,可以令 则有:

      • 考虑数值解的稳定性,在实践中通常是对 进行奇异值分解: ,其中 为实对角矩阵,对角线上的元素为 的奇异值 ; 均为酉矩阵,它们的列向量分别构成了标准正交基。

        然后

4.2 多分类模型

  1. 可以将线性判别分析推广到多分类任务中。

  2. 假定存在 个类,属于第 个类的样本的集合为 中的样例数为 。其中: 为样本总数。

    • 定义类别 的均值向量为:所有该类别样本的均值:

      类别 的样例的特征之间协方差矩阵为 (协方差矩阵大小为 )。

    • 定义 是所有样例的均值向量。

  3. 定义各类别的类内散度矩阵、总的类内散度矩阵、总的类间散度矩阵:

    • 定义类别 的类内散度矩阵为:

      它实际上就等于样本集 的协方差矩阵 , 刻画了同类样例投影点的方差。

    • 定义总的类内散度矩阵为:

      它 刻画了所有类别的同类样例投影点的方差。

    • 定义总的类间散度矩阵为:

      它刻画了异类样例的中心的投影点的相互距离。

      注意: 也是一个协方差矩阵,它刻画的是第 类与总体之间的关系。

      • 由于这里有不止两个中心点,因此不能简单的套用二分类线性判别分析的做法。

        这里用每一类样本集的中心点与总的中心点的距离作为度量。

      • 考虑到每一类样本集的大小可能不同(密度分布不均),对这个距离施加权重,权重为每类样本集的大小。

  4. 根据线性判别分析的思想,设 是投影矩阵。经过推导可以得到最大化的目标:

    其中 表示矩阵的迹。

    • 一个矩阵的迹是矩阵对角线的元素之和,它是一个矩阵不变量,也等于所有特征值之和。
    • 还有一个常用的矩阵不变量就是矩阵的行列式,它等于矩阵的所有特征值之积。
  5. 与二分类线性判别分析不同,在多分类线性判别分析中投影方向是多维的,因此使用投影矩阵

    二分类线性判别分析的投影方向是一维的(只有一条直线),所以使用投影向量

  6. 上述最优化问题可以通过广义特征值问题求解:

    • 的解析解为 个最大广义特征值所对应的特征向量组成的矩阵。
    • 多分类线性判别分析将样本投影到 维空间。
    • 通常 远小于数据原有的特征数,LDA因此也被视作一种经典的监督降维技术。

五、感知机

5.1 定义

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

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

    定义函数 为感知机。其中:

    • 为权值向量, 为偏置。它们为感知机的参数。
    • sign 为符号函数:
  3. 感知机的几何解释: 对应特征空间 上的一个超平面 ,称作分离超平面。

    • 是超平面 的法向量, 是超平面的截距。

    • 超平面 将特征空间划分为两个部分:

      • 超平面 上方的点判别为正类。
      • 超平面 下方的点判别为负类。

5.2 损失函数

  1. 给定数据集 ,其中

    若存在某个超平面 , 使得将数据集中的正实例点与负实例点完全正确地划分到超平面的两侧,则称数据集 为线性可分数据集;否则称数据集 线性不可分。

    划分到超平面两侧,用数学语言描述为:

  2. 根据感知机的定义:

    • 对正确分类的点 ,有
    • 对误分类的点 ,有
  3. 如果将感知机的损失函数定义成误分类点的中总数,则它不是 的连续可导函数,不容易优化。

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

    对误分类的点,则 距离超平面的距离为:

    由于 ,以及 ,因此上式等于

    不考虑 ,则得到感知机学习的损失函数:

    其中:

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

    • 若正确分类,则损失为 0 。
    • 若误分类,则损失为 的线性函数。

    因此给定训练集 ,损失函数 的连续可导函数。

5.3 学习算法

  1. 给定训练集 ,求参数

5.3.1 原始形式

  1. 假设误分类点集合 是固定的,则损失函数 的梯度为:

  2. 通过梯度下降法,随机选取一个误分类点 ,对 进行更新:

    其中 是步长,即学习率。

    通过迭代可以使得损失函数 不断减小直到 0 。

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

    • 输入:

      • 线性可分训练集
      • 学习率
    • 输出:


      • 感知机模型:
    • 步骤:

      • 选取初始值

      • 在训练集中选取数据 。若 则:

      • 在训练集中重复选取数据来更新 直到训练集中没有误分类点。

5.3.2 性质

  1. 对于某个误分类点 ,假设它被选中用于更新参数。

    • 假设迭代之前,分类超平面为 ,该误分类点距超平面的距离为
    • 假设迭代之后,分类超平面为 ,该误分类点距超平面的距离为

    则:

    因此有

    这里要求 ,因此步长 要相当小。

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

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

5.3.3 收敛性

  1. 感知机收敛性定理:设线性可分训练集

    • 存在满足 的超平面: ,该超平面将 完全正确分开。

      且存在 ,对所有的 有:

      其中

    • ,则感知机学习算法原始形式在 上的误分类次数 满足:

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

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

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

5.3.4 对偶形式

  1. 根据原始迭代形式 :

    取初始值 均为 0。则 可以改写为:

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

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

    • 输入:

      • 线性可分训练集
      • 学习率
    • 输出:

      • ,其中
      • 感知机模型
    • 步骤:

      • 初始化:
      • 在训练集中随机选取数据 ,若 则更新:
      • 在训练集中重复选取数据来更新 直到训练集中没有误分类点。
  3. 在对偶形式中, 训练集 仅仅以内积的形式出现,因为算法只需要内积信息。

    可以预先将 中的实例间的内积计算出来,并以矩阵形式存储。即 Gram矩阵:

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