1.线性模型基本形式
线性模型就是学习器试图学到一个通过属性的线性组合来预测的函数,数学表达如下
以向量表示可以写成
这里,w为列向量。
2.线性回归
线性回归即回归类任务学习线性模型的过程,其核心方法即均方误差最小化。均方根误差最小化求解线性方程参数的过程即为最小二乘法。推导过程这里不赘述。值得注意的是们对于多元线性回归,求解的矩阵往往不是满秩矩阵,折就意味着可以有多组解都可以使得均方根误差最小,选择哪一个与算法的归纳偏好相关,需要用到正则化(regularization)项(后面章节内容)。
线性模型在实际应用中还可以进行衍生,如对数线性回归。
更一般地,对于单调可微函数g(*),可推广至广义线性模型。
3.对数几率回归
前面讨论的是线性模型的回归学习方法,对于分类任务(先讨论二分类任务),采用的是广义线性模型的一种形式。对于二分类任务,理想的模型函数是“单位阶跃函数”,如下:
但是单位阶跃函数不连续,我么需要知道一个单调可微的函数拟合它,这就是对数几率函数。
用对数几率函数衍生的广义线性模型完整的表达式为
可以将y视为类后验概率估计p(y=1|x),则表达式可重写为:
利用极大似然法即可估计参量,推导过程略。
4.线性判别分析LDA
LDA的核心思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。它是一种经典的监督降维技术。
5.多分类学习
多分类学习的基本思路是拆解为若干个二分类任务求解。,经典的拆分策略有:一对一(OvO)、一对其余(OvR)以及多对多(MvM)。
一对一和一对其余的思路比较简单,可以用下面的图例来理解:
多对多是每次将若干个类作为正类,若干个类作为反类。可以视为一对一和一对其余的衍生推广。MvM的正反类构造必须有特殊设计。最常用的MvM技术是“纠错码技术(ECOC)”。
ECOC工作重要分为编码和解码两步:编码即对N个类进行M次划分,产生M和训练集,训练出M个类;解码即为M 个分类器分别对测试样本进行预测,这些预测标记组成一个编码,将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。
基本图示如下
6.类别不平衡问题
当不同类别的样本数量差别比较大时,采用前面常规的方式得到的学习器往往没有价值。例如有998 个反例,但正例只有2 个,那么学习方法只需返回一个永远将新样本预测为反例的学习器,就能达到99.8% 的精度,然而这样的学习器往往没有价值,因为它不能预测出任何正例。
解决办法是“再缩放”。前面我们是将判别的阈值设为0.5,即
结合具体的样本数目(设正例数为m+,反例数为m-),将其修正为
也即引入y’,有
再缩放思想是为了解决这样的问题:实际中训练集往往不是真实样本的无偏采样。这种问题解决办法有三种(假设反例远多于正例):(1)对训练集的反例进行欠采样,去除一些反例,使得正反例数目接近;(2)对正例进行过采样;(3)阈值移动,就是前面的再缩放思想。