1. 基本形式
设有 d 个属性描述的示例
x
=
(
x
1
,
x
2
,
x
3
,
.
.
.
,
x
d
)
x = ({x_1, x_2, x_3, ..., x_d})
x=(x1,x2,x3,...,xd)
线性模型(linear model):学得通过属性的线性组合进行预测的函数
f
(
x
)
=
w
1
x
1
+
w
2
x
2
+
.
.
.
+
w
d
x
d
+
b
f(x) = w_1x_1 + w_2x_2 + ... + w_dx_d + b
f(x)=w1x1+w2x2+...+wdxd+b
向量形式:
f
(
x
)
=
w
T
x
+
b
f(x) = w^Tx + b
f(x)=wTx+b
其中,
w
=
(
w
1
,
w
2
,
.
.
.
,
w
d
)
w=(w_1, w_2, ..., w_d)
w=(w1,w2,...,wd)
学得
w
w
w 和
b
b
b 后,模型得以确定
- 许多功能强大的 非线性模型(nonlinear model) 可在线性模型基础上引入 层级结构 或 高维映射 而得
- w w w 直观表达各属性在预测中的重要性,因此 线性模型有很好的 可解释性(comporehensibility)
对 2,例如:
f 好瓜 ( x ) = 0.2 x 色泽 + 0.5 x 根蒂 + 0.3 x 敲声 + 1 f_{好瓜}(x) = 0.2x_{色泽} + 0.5x_{根蒂} + 0.3x_{敲声} + 1 f好瓜(x)=0.2x色泽+0.5x根蒂+0.3x敲声+1
则:好瓜可由 色泽、根蒂、敲声 判断。根蒂 > 敲声 > 色泽
2. 线性回归
令 数据集
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
m
,
y
m
)
}
;其中:
x
i
=
(
x
i
1
,
x
i
2
,
.
.
.
,
x
i
d
)
,
y
i
∈
R
D = \{(x_1, y_1), (x_2, y_2), ..., (x_m, y_m)\} ;其中:x_i = (x_{i1}, x_{i2}, ..., x_{id}), y_i\in R
D={(x1,y1),(x2,y2),...,(xm,ym)};其中:xi=(xi1,xi2,...,xid),yi∈R
对于离散属性,若属性值之间存在 “序” 的关系,则可将取值通过连续化转为连续值。例如:将高度的高、矮转为{1.0, 0.5, 0.0};
若不存在 “序” 的关系,假定有 k 个属性值,则通常将取值转化为 k 维向量。例如:瓜类的取值 西瓜、南瓜、黄瓜 可转化为 (0,0,1),(0,1,0),(1,0,0)
线性回归试图学得
f
(
x
i
)
=
w
x
i
+
b
,
↦
f
(
x
i
)
≈
y
i
f(x_i) = wx_i + b,\mapsto f(x_i) \approx y_i
f(xi)=wxi+b,↦f(xi)≈yi
要确定
w
w
w 和
b
b
b,关键在于衡量
f
(
x
)
f(x)
f(x) 和
y
y
y 之间的差别。通常用 均方误差(Mean Squared Error, MSE) 作为 回归任务 的性能度量,让均方误差最小化,即
w
∗
,
b
∗
w^*,b^*
w∗,b∗ 表示
w
w
w 和
b
b
b 的解
最小二乘法(Least Squares Method)
:基于 均方误差
最小化进行模型求解的方法。在线性回归中,试图找到一条直线,使所有样本到直线上的 欧氏距离
之和最小。
欧氏距离(Euclidean distance)
:
d
(
x
,
y
)
=
Σ
j
=
1
n
(
x
j
−
y
j
)
2
d(x, y) = \sqrt{\Sigma ^{n} _{j=1}(x_j-y_j)^2}
d(x,y)=Σj=1n(xj−yj)2。(x, y) 表示 n 维坐标中的两个向量
求解
w
w
w 和
b
b
b 使
E
(
w
,
b
)
=
Σ
i
=
1
m
(
y
i
−
w
x
i
−
b
)
2
E_{(w, b)} = \Sigma ^m _{i=1}(y_i - wx_i - b)^2
E(w,b)=Σi=1m(yi−wxi−b)2
的过程称为 线性回归模型的最小二乘“参数估计”(parameter estimation)
E E E 表示
误差平方和(Sum of Squared Errors, SSE)
,即:每一组数据与真实数据之间差的平方和
对上式求偏导,得
令以上两个偏导数为 0,得到
w
w
w 和
b
b
b 的闭式解
上面式子是基于单个属性求得的 一元线性回归模型
,针对 一元数据集
的误差平方和。通常样本由多个属性描述(涉及多个自变量)即 多元线性回归模型
,此时我们要学得的是(向量形式):
f
(
x
i
)
=
w
T
x
i
+
b
,
↦
f
(
x
i
)
≈
y
i
f(x_i) = w^Tx_i + b, \mapsto f(x_i) \approx y_i
f(xi)=wTxi+b,↦f(xi)≈yi
多元线性模型的误差平方和可由一元的得出为:
E ( w , b ) = Σ i = 1 m ( y i − ( Σ j = 1 n w j x i j + b ) ) 2 E_{(w,b)} = \Sigma^m_{i=1}(y_i - (\Sigma^n_{j=1}w_jx_{ij}+b))^2 E(w,b)=Σi=1m(yi−(Σj=1nwjxij+b))2
用最小二乘法对
w
w
w 和
b
b
b 进行估计:
首先把
w
w
w 和
b
b
b 写成向量形式
w
^
=
(
w
,
b
)
\hat w = (w, b)
w^=(w,b)
此处的 w w w 也是一个向量,有 d 个属性,d 表示数据集的属性描述个数,即 每个样本 d 个属性值对应的系数
把数据集(m 个样本,每个样本由 d 个属性描述)表示为
m
∗
(
d
+
1
)
m * (d+1)
m∗(d+1) 大小的矩阵
X
X
X。显然由公式可知最后一个元素恒为 1
即:
此时,模型公式由向量形式表示为:
f
(
x
^
)
=
X
w
^
f(\hat x) = X\hat w
f(x^)=Xw^
类比一元线性模型,我们要求解使误差平方和最小,可得
令偏层数为0求出 w w w 和 b b b,但多元求解比一元求解复杂。
此处假设 X T X X^TX XTX是可逆的,是为了让回归系数 w ^ \hat w w^可以被惟一确定。实际应用中当发现 X T X X^TX XTX 不可逆时,需要用其他方法处理(例如特征值分解、岭回归、主成分回归等)
线性模型让预测值逼近真实值 y。但示例对应的预测值不一定是线性尺度上的变化。比如可能是对数尺度上的变化,即
l
n
y
=
w
T
+
b
y
=
e
w
T
x
+
b
ln\ y = w^T + b \newline y = e^{w^Tx}+b
ln y=wT+by=ewTx+b
第一个式子 ln y 形式上是线性的,但实质上已经是输入空间到输出空间的非线性函数映射。大胆一点,考虑单调可微函数
g
g
g,可以得到 广义线性模型(generalized linear model)
g
(
y
)
=
w
T
x
+
b
y
=
g
−
1
(
w
T
x
+
b
)
g(y) = w^Tx + b \newline y = g^{-1}(w^Tx+b)
g(y)=wTx+by=g−1(wTx+b)
对数线性回归是广义线性模型在
g
=
l
n
g = ln
g=ln 时的特例
3. 对数几率回归
上述分类得到的结果是一个数值,将结果与分类联系起来,可以找一个单调可微的函数 g g g
通常用 对数几率函数(logistic function)
当作
g
g
g
这里的 z 和 y 都是预测值。z 表示线性模型的
w
T
x
+
b
w^Tx + b
wTx+b,y 表示广义线性模型的预测值 y。
代入可得
该式也可以写为
对数几率回归
:用 线性回归模型的预测结果
逼近 真实标记的对数几率
比如求得某样例的 y 为0.8,而 1 表示正例,0表示反倒,那 样例为正的概率为 0.8,为反例概率为 1 - y = 1 - 0.8 = 0.2
我们要求解上式的
w
w
w 和
b
b
b,将上式可写为
p
(
y
=
0
∣
x
)
为
1
−
y
p(y=0|x) 为 1 - y
p(y=0∣x)为1−y
4. 线性判别分析
线性判别分析(Linear Discriminant Analysis,LDA)
:给定训练样例集,高潮将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定样本的类别
以下是求解
w
w
w 的一些计算过程:
结论:
将 LDA 推广到多分类任务:
5. 多分类学习
多分类学习的基本思路:拆解为若干个二分类任务,对每个二分类任务训练一个分类器,将所有预测结果集成,获得多分类结果
拆分策略:一对一(OvO),一对其余(OvR),多对多(MvM)
OvO
:
OvR
:
OvO 与 OvR 示意图
:
OvO 与 OvR 成本对比
:
MvM
:
将测试示例用 4 个分类器预测,对于 分类器 f1,f1训练时将 C2 作为正例,测试示例在 f1 下被判定为反例,依次进行 5 个分类器判定
海明距离:计算正例集合与反例集合类别的中心样本与测试样例的海明距离。会计算出两个值,选最小的一个作为类别判定
假设有两个二进制字符串:
样本1: 11001
样本2: 10110
有 4 个值不同,所以海明距离 = 4
叫纠错输出码,是因为分类器有一定的容错纠正能力
6. 类别不平衡问题
正反例样本数目判别过大时,会对训练结果产生很大影响。例如正例999个,反例1个,只需要永远返回正例,精度就能达到 99.9%。但这没有意义
OvR、MvM 策略可能出现类别不平衡现象
正反例相同时,判定依据可为:
y
1
−
y
>
1
\frac{y}{1-y} > 1
1−yy>1
正反例不同,正例判定:
y
1
−
y
>
m
+
m
−
\frac{y}{1-y} > \frac{m^+}{m^-}
1−yy>m−m+
所以,决策时,可以:
称为 阈值移动
欠采样
:主动移除多的一部分正例或反例
过采样
:主动增加少的那方数量