给定样本 ,其中 , 为样本 的第 个特征,特征有 种。
线性模型(linear model
) 的形式为: 。
其中 为每个特征对应的权重生成的权重向量。
线性模型的优点是:
很多功能强大的非线性模型(nolinear model
) 可以在线性模型的基础上通过引入层级结构或者非线性映射得到。
给定数据集 ,其中 。
线性回归问题试图学习模型 :
该问题也被称作多元线性回归(
multivariate linear regression
)
对于每个 ,其预测值为 。采用平方损失函数,则在训练集 上,模型的损失函数为:
优化目标是损失函数最小化,即: 。
可以用梯度下降法来求解上述最优化问题的数值解,但是实际上该最优化问题可以通过最小二乘法获得解析解。
令:
则有:
令:
则:
令 。为求得它的极小值,可以通过对 求导,并令导数为零,从而得到解析解:
当 为满秩矩阵时,可得: 。
其中 为 的逆矩阵。
最终学得的多元线性回归模型为: 。
当 不是满秩矩阵。此时存在多个解析解,他们都能使得均方误差最小化。究竟选择哪个解作为输出,由算法的偏好决定。
比如 (样本数量小于特征种类的数量),根据 的秩小于等于 中的最小值,即小于等于 (矩阵的秩一定小于等于矩阵的行数和列数); 而矩阵 是 大小的,它的秩一定小于等于 ,因此不是满秩矩阵。
常见的做法是引入正则化项:
正则化:此时称作Lasso Regression
:
为正则化系数,调整正则化项与训练误差的比例。
正则化:此时称作Ridge Regression
:
为正则化系数,调整正则化项与训练误差的比例。
同时包含 正则化:此时称作Elastic Net
:
其中:
多元线性回归算法:
输入:
输出模型:
算法步骤:
令:
求解:
最终学得模型:
考虑单调可微函数 ,令 ,这样得到的模型称作广义线性模型 (generalized linear model
)。
其中函数 称作联系函数 (link function
) 。
对数线性回归是广义线性模型在 时的特例。即: 。
如果给定 和 的条件概率分布 服从指数分布族,则该模型称作广义线性模型。
指数分布族的形式为:。
高斯分布:
令:
则满足广义线性模型。
伯努利分布(二项分布, 为 0 或者 1,取 1的概率为 ):
令:
则满足广义线性模型。
根据 ,有 。 则得到:
因此 logistic
回归属于伯努利分布的广义形式。
假设有 个分类,样本标记 。每种分类对应的概率为 。则根据全概率公式,有
定义 为一个 维的列向量:
定义示性函数 : 表示属于 分类; 表示不属于 分类。则有:
构建概率密度函数为:
令
则有:
令 ,则满足广义线性模型。
根据:
则根据:
于是有:
.
考虑二分类问题。
给定数据集 。
考虑到 取值是连续的,因此它不能拟合离散变量。
可以考虑用它来拟合条件概率 ,因为概率的取值也是连续的。
但是对于 (若等于零向量则没有什么求解的价值), 取值是从 ,不符合概率取值为 ,因此考虑采用广义线性模型。
最理想的是单位阶跃函数:
但是阶跃函数不满足单调可微的性质,不能直接用作 。
对数几率函数(logistic function
)就是这样的一个替代函数:
这样的模型称作对数几率回归(logistic regression
或logit regression
)模型。
由于 ,则有:
比值 表示样本为正例的可能性比上反例的可能性,称作几率(odds
)。几率反映了样本作为正例的相对可能性。
几率的对数称作对数几率(log odds
,也称作logit
)。
对数几率回归就是用线性回归模型的预测结果去逼近真实标记的对数几率。
虽然对数几率回归名字带有回归,但是它是一种分类的学习方法。其优点:
给定训练数据集 ,其中 。可以用极大似然估计法估计模型参数,从而得出模型。
为了便于讨论,将参数 吸收进 中。
令:
令
则似然函数为: 。
对数似然函数为:
由于 ,因此:
则需要求解最优化问题:
最终 logistic
回归模型为:
logistic
回归的最优化问题,通常用梯度下降法或者拟牛顿法来求解。
可以推广二分类的 logistic
回归模型到多分类问题。
设离散型随机变量 的取值集合为: ,则多元 logistic
回归模型为:
其中 。
其参数估计方法类似二项 logistic 回归模型。
线性判别分析Linear Discriminant Analysis:LDA
基本思想:
设 表示类别为 0
的样例的集合,这些样例的均值向量为 ,这些样例的特征之间协方差矩阵为 (协方差矩阵大小为 )。
设 表示类别为 1
的样例的集合,这些样例的均值向量为 ,这些样例的特征之间协方差矩阵为 (协方差矩阵大小为 )
假定直线为: ,其中 。
这里省略了常量 ,因为考察的是样本点在直线上的投影,总可以平行移动直线到原点而保持投影不变,此时 。
将数据投影到直线上,则:
由于直线是一维空间,因此上面四个值均为实数
根据线性判别分析的思想:
要使得同类样例的投影点尽可能接近,则可以使同类样例投影点的方差尽可能小,即 尽可能小
要使异类样例的投影点尽可能远,则可以使异类样例的中心的投影点尽可能远,即 尽可能大
同时考虑两者,则得到最大化的目标:
.
定义类内散度矩阵和类间散度矩阵:
类内散度矩阵 within-class scatter matrix
:
它是每个类的散度矩阵之和。
类间散度矩阵 between-class scatter matrix
: 。
它是向量 与它自身的外积。
利用类内散度矩阵和类间散度矩阵,线性判别分析的最优化目标为:
也称作 与 的广义瑞利商 。
现在求解最优化问题:
应用拉格朗日乘子法,上式等价于
令 ,其中 为实数。则 。代入上式有:
由于与 的长度无关,可以令 则有:
考虑数值解的稳定性,在实践中通常是对 进行奇异值分解: ,其中 为实对角矩阵,对角线上的元素为 的奇异值 ; 均为酉矩阵,它们的列向量分别构成了标准正交基。
然后 。
可以将线性判别分析推广到多分类任务中。
假定存在 个类,属于第 个类的样本的集合为 , 中的样例数为 。其中: , 为样本总数。
定义类别 的均值向量为:所有该类别样本的均值:
类别 的样例的特征之间协方差矩阵为 (协方差矩阵大小为 )。
定义 是所有样例的均值向量。
定义各类别的类内散度矩阵、总的类内散度矩阵、总的类间散度矩阵:
定义类别 的类内散度矩阵为:
它实际上就等于样本集 的协方差矩阵 , 刻画了同类样例投影点的方差。
定义总的类内散度矩阵为: 。
它 刻画了所有类别的同类样例投影点的方差。
定义总的类间散度矩阵为: 。
它刻画了异类样例的中心的投影点的相互距离。
注意: 也是一个协方差矩阵,它刻画的是第 类与总体之间的关系。
由于这里有不止两个中心点,因此不能简单的套用二分类线性判别分析的做法。
这里用每一类样本集的中心点与总的中心点的距离作为度量。
考虑到每一类样本集的大小可能不同(密度分布不均),对这个距离施加权重,权重为每类样本集的大小。
根据线性判别分析的思想,设 是投影矩阵。经过推导可以得到最大化的目标:
其中 表示矩阵的迹。
- 一个矩阵的迹是矩阵对角线的元素之和,它是一个矩阵不变量,也等于所有特征值之和。
- 还有一个常用的矩阵不变量就是矩阵的行列式,它等于矩阵的所有特征值之积。
与二分类线性判别分析不同,在多分类线性判别分析中投影方向是多维的,因此使用投影矩阵 。
二分类线性判别分析的投影方向是一维的(只有一条直线),所以使用投影向量 。
上述最优化问题可以通过广义特征值问题求解:
LDA
因此也被视作一种经典的监督降维技术。感知机是二分类的线性分类模型,属于判别模型。
+1
, 负类取值 -1
。设输入空间(特征空间)为 ;输出空间为 ;输入 为特征空间的点;输出 为实例的类别。
定义函数 为感知机。其中:
sign
为符号函数:感知机的几何解释: 对应特征空间 上的一个超平面 ,称作分离超平面。
是超平面 的法向量, 是超平面的截距。
超平面 将特征空间划分为两个部分:
给定数据集 ,其中 。
若存在某个超平面 : , 使得将数据集中的正实例点与负实例点完全正确地划分到超平面的两侧,则称数据集 为线性可分数据集;否则称数据集 线性不可分。
划分到超平面两侧,用数学语言描述为:
根据感知机的定义:
如果将感知机的损失函数定义成误分类点的中总数,则它不是 的连续可导函数,不容易优化。
因此,定义感知机的损失函数为误分类点到超平面 的总距离。
对误分类的点,则 距离超平面的距离为:
由于 ,以及 ,因此上式等于
不考虑 ,则得到感知机学习的损失函数:
其中:
对于特定的样本点,其损失为:
因此给定训练集 ,损失函数 是 的连续可导函数。
给定训练集 ,求参数 :
。
假设误分类点集合 是固定的,则损失函数 的梯度为:
通过梯度下降法,随机选取一个误分类点 ,对 进行更新:
其中 是步长,即学习率。
通过迭代可以使得损失函数 不断减小直到 0 。
感知机学习算法的原始形式:
输入:
输出:
步骤:
选取初始值 。
在训练集中选取数据 。若 则:
在训练集中重复选取数据来更新 直到训练集中没有误分类点。
对于某个误分类点 ,假设它被选中用于更新参数。
则:
因此有 。
这里要求 ,因此步长 要相当小。
几何解释 :当一个实例点被误分类时,调整 使得分离平面向该误分类点的一侧移动,以减少该误分类点与超平面间的距离,直至超平面越过所有的误分类点以正确分类。
感知机学习算法由于采用不同的初值或者误分类点选取顺序的不同,最终解可以不同。
感知机收敛性定理:设线性可分训练集 。
存在满足 的超平面: ,该超平面将 完全正确分开。
且存在 ,对所有的 有: 。
其中 。
令 ,则感知机学习算法原始形式在 上的误分类次数 满足:
感知机收敛性定理说明了:
当训练集线性可分时,感知机学习算法原始形式迭代是收敛的。
当训练集线性不可分时,感知机学习算法不收敛,迭代结果会发生震荡。
根据原始迭代形式 :
取初始值 均为 0。则 可以改写为:
这就是感知机学习算法的对偶形式。
感知机学习算法的对偶形式:
输入:
输出:
步骤:
在对偶形式中, 训练集 仅仅以内积的形式出现,因为算法只需要内积信息。
可以预先将 中的实例间的内积计算出来,并以矩阵形式存储。即 Gram
矩阵:
与原始形式一样,感知机学习算法的对偶形式也是收敛的,且存在多个解。