什么是线性模型
线性模型就是用一个多项式函数来表征输入和输出之间的关系,其形式如下:
y
=
w
1
∗
x
1
+
w
2
∗
x
2
+
.
.
.
w
d
∗
x
d
+
b
(1)
y = w_1*x_1+w_2*x_2+... w_d*x_d+b\tag{1}
y=w1∗x1+w2∗x2+...wd∗xd+b(1)
其中
x
i
x_i
xi表示不同的属性,
y
y
y表示模型的预测值。可以写成如下向量的形式:
y
=
W
T
∗
x
+
b
(2)
y=W^T*x+b\tag{2}
y=WT∗x+b(2)
线性模型是最简单的模型,很多非线性的模型都是在其基础上进行改进的,由于我们可以根据系数矩阵
W
W
W 来判断哪一个属性对预测结果比较重要,因此它的可解释性比较强。以下是几种比较经典的线性模型。
线性回归
线性回归试图学得一个线性模型以尽可能准确的预测实值输出标记,即线性回归模型目的在于求出(2)中的系数矩阵
W
W
W 以及常数项
b
b
b 使得
y
(
x
i
)
≈
y
i
(3)
y(x_i) \approx y_i\tag{3}
y(xi)≈yi(3)其中,
y
(
x
i
)
y(x_i)
y(xi)为模型的预测值,
y
i
y_i
yi为示例的真值。预测值和真值之间的偏差越小越好,可以采用均方误差来作为性能度量,即通过最小化均方误差来求
W
W
W 和
b
b
b ,均方误差有着很好的几何意义,因为其对应了常用的欧几里得距离。基于均方误差最小化来进行模型求解的方法被称为最小二乘法,最小二乘法的介绍网上有很多,这里就不多赘述了。
有时,我们也可以让模型逼近实值输出标记地函数,比如将模型表示成以下形式:
ln
y
=
W
T
∗
x
+
b
(4)
\ln y=W^T*x+b\tag{4}
lny=WT∗x+b(4)
这就是对数线性回归,实际上是试图让
e
W
T
∗
x
+
b
e^{W^T*x+b}
eWT∗x+b去逼近
y
y
y,实质上是在求输入空间到输出空间地非线性函数映射,因此我们将类似的线性回归叫做广义线性模型,其形式如下:
y
=
g
−
1
(
W
T
∗
x
+
b
)
(5)
y=g^{-1}(W^T*x+b)\tag{5}
y=g−1(WT∗x+b)(5)
其中
g
(
⋅
)
g( \cdot )
g(⋅)称为联系函数(link function),要求连续且充分光滑,广义线性模型的参数估计常需要通过加权最小二乘法或极大似然法进行。
对数几率回归
对数几率回归虽然名字是回归,但实际上是一种分类学习方法,要想将线性回归模型用于分类问题,就需要找到一个单调,可微函数将分类任务的真实标记
y
y
y与线性回归模型输出的预测值联系起来,对数几率函数就是一个比较理想的函数,将对数几率函数代入(5)得:
y
=
1
1
+
e
−
(
W
T
∗
x
+
b
)
(6)
y= \frac{1}{1+{e^{-(W^T*x+b)}}}\tag{6}
y=1+e−(WT∗x+b)1(6)可变化为:
ln
y
1
−
y
=
W
T
x
+
b
(7)
\ln {\frac y{1-y}}=W^Tx+b \tag{7}
ln1−yy=WTx+b(7) 可以看出(7)和(4)很相似,同时如果把
y
y
y看成是样本
x
x
x为正例的可能性,则
1
−
y
1-y
1−y为反例的可能性,两者的比值被称为几率,这也就是该模型为什么被成为对数几率回归的原因。该方法有很多优点,首先是直接对分类的可能性进行建模,无须事先假设数据的分布,避免了分布假设不准确的问题,同时其不仅能够预测类别,还能够得到近似的概率预测,有助于一些利用概率辅助决策的任务,最后,其目标函数是任意阶可导的,有很好的数学性质。
线性判别分析(LDA)
LDA的思想是将给定的训练集投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影点尽可能远。在对新样本进行分类时,将其投影到这条直线上,再根据投影点的位置来确定新样本的类别。
LDA最大化的目标是类间散度矩阵和类内散度矩阵的广义瑞利商,同时,如果利用LDA将样本投影到新的空间,其维数通常会减小,且投影过程使用了类别信息,因此LDA也被视为一种经典的监督降维技术。
多分类学习
多分类学习可以将二分类的方法直接推广到多分类,但更多情况下,是基于一些基本策略,利用二分类学习器来解决多分类问题。其基本思路是“拆解法”,即将原始问题拆分成多个二分类任务,最后对各预测结果进行集成,从而获得多分类的结果。最经典的拆分策略有一对一(OVO)、一对其余(OVR)和多对多(MVM)。
OVO策略是将N个类别两两配对,最终生成
N
∗
(
N
−
1
)
2
\frac{N*(N-1)}{2}
2N∗(N−1)个二分类任务,在测试阶段,新样本将同时提交给所有的分类器,最终得到
N
∗
(
N
−
1
)
2
\frac{N*(N-1)}{2}
2N∗(N−1)个结果,再利用投票,把被预测的最多的类别作为最终的分类结果。
OVR策略则是将一个类的样例作为正例,其余类的样例作为反例来训练N个分类器, 在测试时,如果仅有一个分类器预测结果为正,则其结果为最终分类结果,如果有多个分类器则需要考虑每个分类器的置信度,选择置信度大的类别标记作为分类结果。比如一个人猜数,5个评委(5个分类器),每一个评委只能回答选手猜的数是对还是错,当两个评委产生冲突时,则需要考虑哪个评委最靠谱(置信度高)。
MVM策略每次将若干个类作为正类,其余类作为反类。正反类的设计需要经过设计,最常用的MVM技术是“纠错输出码”,通过编码、解码操作返回最终预测结果。
多分类学习的类别指的是样本的类别,每个样本仅属于一个类别。如果一个样本有多个标签(类别)则称为多标记学习。
类别不平衡
类别不平衡指的是分类任务中不同类别的训练样例数目差别很大的情况。比有99个正例,1个反例,分类器只需要全部输出正例准确率就可以达99%,但是这种分类器是没有用的。
类别不平衡解决的方法:
(1)再缩放。通常情况下,我们将分类器输出的y与一个阈值(0.5)作比较,比如大于0.5则为正例,小于0.5则为反例,即输出的是样例属于正反例的可能性,0.5则表示默认正反例出现的可能性相同,实际上这是不对的,因此需要对预测值进行调整,这种调整的方法被称为再缩放。但是这个操作的前提是训练样本是真实样本的无偏采样,这个假设通常不成立。
(2)欠采样。即去掉一些样本使得正反例数目接近。欠采样可能会丢失一些重要信息。
(3)过采样。即增加一些样本使得正反例数目接近。不能不能简单的复制,否则会产生过拟合现象。