3.线性模型
3.1基本形式
线性模型试图学得一个通过属性的线性组合来进行预测的函数
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 x = ( x 1 , x 2 , . . . , x d ) T 向量形式:f(x)=w^T\bf{x}\rm{+b}\\ \bf{x}=\rm{(x_1,x_2,...,x_d)^T} 向量形式:f(x)=wTx+bx=(x1,x2,...,xd)T
- 离散属性的处理:若有“序”,则连续化;否则,转化为k维向量
- 高、矮:{1,0}
- 高、中、低:{1,0.5,0}
- 西瓜、南瓜、黄瓜:(1,0,0)、(0,1,0)、(0,0,1)
3.2线性回归
有一组数据集D
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
m
,
y
m
)
}
\{(\bf{x}\rm{_1,y_1)},(\bf{x}\rm{_2,y_2)},...,(\bf{x}\rm{_m,y_m)}\}
{(x1,y1),(x2,y2),...,(xm,ym)}
x i = ( x i 1 ; x i 2 ; . . . ; x i d ) \bf{x}\rm{_i=(x_{i1};x_{i2};...;x_{id})} xi=(xi1;xi2;...;xid)
使用这组数据集做出线性回归模型
f
(
x
i
)
=
w
x
i
+
b
,
使得
f
(
x
i
)
≈
y
i
f(x_i)=wx_i+b,使得f(x_i)≈y_i
f(xi)=wxi+b,使得f(xi)≈yi
试图让均方误差最小化,即满足下式的最小的w和b
(
w
∗
,
b
∗
)
=
a
r
g
m
i
n
(
w
,
b
)
∑
i
=
1
m
(
f
(
x
i
)
−
y
i
)
2
=
a
r
g
m
i
n
(
w
,
b
)
∑
i
=
1
m
(
y
i
−
w
x
i
−
b
)
2
(w^*,b^*)=arg\,min_{(w,b)}\sum_{i=1}^m(f(x_i)-y_i)^2\\ =arg\,min_{(w,b)}\sum_{i=1}^m(y_i-wx_i-b)^2
(w∗,b∗)=argmin(w,b)i=1∑m(f(xi)−yi)2=argmin(w,b)i=1∑m(yi−wxi−b)2
J ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 = ∑ i = 1 m ( x i 2 w 2 + y i 2 + b 2 − 2 y i x i w − 2 y i b − 2 w b x i ) = ( ∑ x i 2 ) w 2 + m b 2 + ( − 2 ∑ ( x i y i ) ) w + ( − 2 ∑ y i ) b + 2 ∑ x i w b + ∑ y i 2 J(w,b)=\sum_{i=1}^m(y_i-wx_i-b)^2=\sum_{i=1}^m(x_i^2w^2+y_i^2+b^2-2y_ix_iw-2y_ib-2wbx_i)\\ =(\sum x_i^2)w^2+mb^2+(-2\sum (x_iy_i))w+(-2\sum y_i)b+2\sum x_iwb+\sum y_i^2 J(w,b)=i=1∑m(yi−wxi−b)2=i=1∑m(xi2w2+yi2+b2−2yixiw−2yib−2wbxi)=(∑xi2)w2+mb2+(−2∑(xiyi))w+(−2∑yi)b+2∑xiwb+∑yi2
图像是如下的一个曲面,找出w和b的最小值,可以分别对w和b求偏导
∂ J ( w , b ) ∂ w = 2 ∑ i = 1 m x i 2 w − 2 ∑ i = 1 m x i y i + 2 ∑ i = 1 m x i b = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \frac{\partial J(w,b)}{\partial w}=2\sum_{i=1}^mx_i^2w-2\sum_{i=1}^mx_iy_i+2\sum_{i=1}^mx_ib\\ =2(w\sum_{i=1}^mx_i^2-\sum_{i=1}^m(y_i-b)x_i) ∂w∂J(w,b)=2i=1∑mxi2w−2i=1∑mxiyi+2i=1∑mxib=2(wi=1∑mxi2−i=1∑m(yi−b)xi)
∂ J ( w , b ) ∂ b = 2 m b − 2 ∑ i = 1 m y i + 2 ∑ i = 1 m x i w = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) \frac{\partial J(w,b)}{\partial b}=2mb-2\sum_{i=1}^my_i+2\sum_{i=1}^mx_iw\\ =2\bigg(mb-\sum_{i=1}^m(y_i-wx_i)\bigg) ∂b∂J(w,b)=2mb−2i=1∑myi+2i=1∑mxiw=2(mb−i=1∑m(yi−wxi))
当数据集D样本由多个d属性描述,也就是说,一个样本有多个属性,比如说第一个样本为
x
i
x_i
xi
则它属性对应的值为
x
11
,
x
12
,
.
.
.
,
x
1
d
x_{11},x_{12},...,x_{1d}
x11,x12,...,x1d
此时我们用训练集D学得
f
(
x
i
)
=
w
T
x
i
+
b
,
使得
f
(
x
i
)
≈
y
i
f(\bf{x}\rm{_i})=\bf{w}\rm{^T}\bf{x}\rm{_i+b,使得f(\bf{x}\rm{_i})≈y_i}
f(xi)=wTxi+b,使得f(xi)≈yi
这称为“多元线性回归”
X × W ^ = ( y ^ 1 y ^ 2 . . . y ^ m ) X\times \hat W=\begin{pmatrix} \hat y_1 \\ \hat y_2 \\.\\.\\.\\ \hat y_m \end{pmatrix} X×W^= y^1y^2...y^m
y = ( y 1 y 2 . . . y m ) \bf{y}\rm=\begin{pmatrix} y_1 \\ y_2 \\.\\.\\.\\ y_m \end{pmatrix} y= y1y2...ym
y − X w ^ = ( y 1 − y ^ 1 y 2 − y ^ 2 . . . y m − y ^ m ) \bf{y}\rm{-X\hat w}=\begin{pmatrix} y_1-\hat y_1 \\ y_2-\hat y_2 \\.\\.\\.\\ y_m-\hat y_m \end{pmatrix} y−Xw^= y1−y^1y2−y^2...ym−y^m
同样采样最小二乘法求解,有
w
^
∗
=
a
r
g
m
i
n
(
y
−
X
w
^
)
T
(
y
−
X
w
^
)
\hat w^*=arg \, min (\bf{y}\rm{-X\hat w})^T(\bf{y}\rm{-X\hat w})
w^∗=argmin(y−Xw^)T(y−Xw^)
令
E
w
^
=
(
y
−
X
w
^
)
T
(
y
−
X
w
^
)
,
对
w
^
求导
:
E_{\hat w}=(\bf{y}\rm{-X\hat w})^T(\bf{y}\rm{-X\hat w}),对\hat w 求导:
Ew^=(y−Xw^)T(y−Xw^),对w^求导:
∂ E w ^ ∂ w ^ = 2 X T ( X w ^ − y ) , 令其为零可得 w ^ \frac{\partial E_{\hat w}}{\partial \hat w}=2\bf{X}\rm{^T}(\bf{X}\rm{\hat w}-y),令其为零可得\hat w ∂w^∂Ew^=2XT(Xw^−y),令其为零可得w^
-
若
X T X \bf{X}\rm{^T}\bf{X} XTX
满秩或正定,则
w ^ ∗ = ( X T X ) − 1 X T y \hat w^*=(X^TX)^{-1}X^Ty w^∗=(XTX)−1XTy -
若
X T X \bf{X}\rm{^T}\bf{X} XTX
不满秩,则可解出多个
w ^ ∗ \hat w^* w^∗
这时需求助于归纳偏好,或引入正则化
对于样例
(
x
,
y
)
,
y
∈
R
(\bf{x}\rm{,y)},y\in R
(x,y),y∈R
希望线性模型的预测值逼近真实标记,则得到线性回归模型
y
=
w
T
x
+
b
y=w^Tx+b
y=wTx+b
若令
l
n
y
=
w
T
x
+
b
lny=w^Tx+b
lny=wTx+b
则可以得到对数线性回归
实际是在用
e
w
T
+
b
逼近
y
e^{w^T+b}逼近y
ewT+b逼近y
- 广义线性模型
一般形式:
y
=
g
−
1
(
w
T
x
+
b
)
g
−
1
为单调可微的联系函数
y=g^{-1}(w^Tx+b) g^{-1}为单调可微的联系函数
y=g−1(wTx+b)g−1为单调可微的联系函数
3.3 对数几率回归
对数几率函数
y
=
1
1
+
e
−
z
y=\frac{1}{1+e^{-z}}
y=1+e−z1
把
z
=
w
T
x
+
b
z=w^Tx+b
z=wTx+b
代入,可得
y
=
1
1
+
e
−
(
w
T
x
+
b
)
y=\frac{1}{1+e^{-(w^Tx+b)}}
y=1+e−(wTx+b)1
- 无需事先假设数据分布
- 可得到“类别”的近似概率预测
- 可直接应用现有数值优化算法求取最优解
若将y看作类后验概率估计p(y=1|x),则
l
n
y
1
−
y
=
w
T
x
+
b
ln\frac{y}{1-y}=w^Tx+b
ln1−yy=wTx+b
可写为
l
n
p
(
y
=
1
∣
x
)
p
(
y
=
0
∣
x
)
=
w
T
x
+
b
ln\frac{p(y=1|x)}{p(y=0|x)}=w^Tx+b
lnp(y=0∣x)p(y=1∣x)=wTx+b
于是,可使用“极大似然法”
给定数据集
{
(
x
i
,
y
i
)
}
i
=
1
m
\{(\bf{x}\rm{_i,y_i)\}_{i=1}^m}
{(xi,yi)}i=1m
最大化“对数似然”函数
l
(
w
,
b
)
=
∑
i
=
1
m
l
n
p
(
y
i
∣
x
i
;
w
,
b
)
l(\bf{w}\rm{,b)}=\sum_{i=1}^mln\,p(y_i|\bf{x}\rm{_i;}\bf{w}\rm{,b})
l(w,b)=i=1∑mlnp(yi∣xi;w,b)
令
β
=
(
w
;
b
)
,
x
^
=
(
x
;
1
)
\beta=(\bf{w}\rm{;b)},\hat x=(\bf{x}\rm{;1)}
β=(w;b),x^=(x;1)
w T x + b 可简写成 β T x ^ \bf{w}\rm{^T}\bf{x}\rm{+b}可简写成\bf{\beta}\rm{^T}\bf{\hat x} wTx+b可简写成βTx^
再令
p
1
=
(
x
^
i
;
β
)
=
p
(
y
=
1
∣
x
^
;
β
)
=
e
w
T
x
+
b
1
+
e
w
T
x
+
b
p_1=(\hat x_i;\beta)=p(y=1|\hat x;\beta)=\frac{e^{w^Tx+b}}{1+e^{w^Tx+b}}
p1=(x^i;β)=p(y=1∣x^;β)=1+ewTx+bewTx+b
p 0 = ( x ^ i ; β ) = p ( y = 0 ∣ x ^ ; β ) = 1 − p 1 ( x ^ ; β ) = 1 1 + e w T x + b p_0=(\hat x_i;\beta)=p(y=0|\hat x;\beta)=1-p_1(\hat x;\beta)=\frac{1}{1+e^{w^Tx+b}} p0=(x^i;β)=p(y=0∣x^;β)=1−p1(x^;β)=1+ewTx+b1
则似然项可重写为
p
(
y
i
∣
x
i
;
w
,
b
)
=
y
i
p
1
(
x
^
;
β
)
+
(
1
−
y
i
)
p
0
(
x
^
;
β
)
p(y_i|\bf{x}\rm{_i;}\bf{w}\rm{,b})=y_ip_1(\hat x;\beta)+(1-y_i)p_0(\hat x;\beta)
p(yi∣xi;w,b)=yip1(x^;β)+(1−yi)p0(x^;β)
于是,最大化似然函数
l
(
w
,
b
)
=
∑
i
=
1
m
l
n
p
(
y
i
∣
x
i
;
w
,
b
)
l(\bf{w}\rm{,b)}=\sum_{i=1}^mln\,p(y_i|\bf{x}\rm{_i;}\bf{w}\rm{,b})
l(w,b)=i=1∑mlnp(yi∣xi;w,b)
等价为最小化
l
(
w
,
b
)
=
∑
i
=
1
m
(
−
y
i
β
T
x
^
i
+
l
n
(
1
+
e
β
T
x
^
i
)
)
l(\bf{w}\rm{,b)}=\sum_{i=1}^m(-y_i\beta^T\hat x_i+ln(1+e^{\beta^T\hat x_i}))
l(w,b)=i=1∑m(−yiβTx^i+ln(1+eβTx^i))
3.4 线性判断分析(LDA)
由于将样例投影到一条直线(低维空间),因此也被视为一种“监督降维”技术
给定数据集
{
(
x
i
,
y
i
)
}
i
=
1
m
\{(\bf{x}\rm{_i,y_i})\}_{i=1}^m
{(xi,yi)}i=1m
- 第i类示例的集合
X i X_i Xi
- 第i类示例的均值向量
μ i \bf{\mu}\rm{_i} μi
- 第i类示例的协方差矩阵
∑ i \sum{}_i ∑i
- 两类样本的中心在直线上的投影
w T μ 0 和 w T μ 1 w^T\bf{\mu}\rm{_0}和w^T\bf{\mu}\rm{_1} wTμ0和wTμ1
- 两类样本的协方差
w T ∑ 0 w 和 w T ∑ 1 w w^T\sum{}_0 w和w^T\sum{}_1 w wT∑0w和wT∑1w
同类样例的投影点尽可能接近 − > w T ∑ 0 w + w T ∑ 1 w 尽可能小 同类样例的投影点尽可能接近->w^T\sum{}_0 w+w^T\sum{}_1 w尽可能小 同类样例的投影点尽可能接近−>wT∑0w+wT∑1w尽可能小
异类样例的投影点尽可能远离 − > ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ 2 2 尽可能大 异类样例的投影点尽可能远离->||w^T\bf{\mu}\rm{_0}-w^T\bf{\mu}\rm{_1}||_2^2尽可能大 异类样例的投影点尽可能远离−>∣∣wTμ0−wTμ1∣∣22尽可能大
于是,最大化
J
=
∣
∣
w
T
μ
0
−
w
T
μ
1
∣
∣
2
2
w
T
∑
0
w
+
w
T
∑
1
w
=
w
T
(
μ
0
−
μ
1
)
(
μ
0
−
μ
1
)
T
w
w
T
(
∑
0
+
∑
1
)
w
J=\frac{||w^T\mu_0-w^T\mu_1||^2_2}{w^T\sum{}_0 \,w+w^T\sum{}_1 \,w}\\ =\frac{w^T(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw}{w^T(\sum{}_0+\sum{}_1)w}
J=wT∑0w+wT∑1w∣∣wTμ0−wTμ1∣∣22=wT(∑0+∑1)wwT(μ0−μ1)(μ0−μ1)Tw
- 类内散度矩阵
s w = ∑ 0 + ∑ 1 = ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ X 1 ( x − μ 1 ) ( x − μ 1 ) T s_w=\sum{}_0+\sum{}_1\\ =\sum_{x\in X_0}(x-\mu_0)(x-\mu_0)^T+\sum_{x\in X_1}(x-\mu_1)(x-\mu_1)^T sw=∑0+∑1=x∈X0∑(x−μ0)(x−μ0)T+x∈X1∑(x−μ1)(x−μ1)T
- 类间散度矩阵
S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_b=(\mu_0-\mu_1)(\mu_0-\mu_1)^T Sb=(μ0−μ1)(μ0−μ1)T
LDA的目标:最大化广义瑞利商
J
=
w
T
S
b
w
w
T
S
w
w
J=\frac{w^TS_bw}{w^TS_ww}
J=wTSwwwTSbw
令
w
T
S
w
w
=
1
w^TS_ww=1
wTSww=1
最大化广义瑞利商等价形式为
m
i
n
w
−
w
T
S
b
w
s
.
t
.
w
T
S
w
w
=
1
min_w \,\, -w^TS_bw\\ s.t. w^TS_ww=1
minw−wTSbws.t.wTSww=1
运用拉格朗日乘子法
F
=
−
w
T
S
b
w
+
λ
(
w
T
S
w
w
−
1
)
F=-w^TS_bw+\lambda(w^TS_ww-1)
F=−wTSbw+λ(wTSww−1)
∂ F ∂ w = − ( S b + S b ) T w + λ ( S w + S w T ) w = − 2 S b w + λ 2 S w w = 0 \frac{\partial F}{\partial w}=-(S_b+S_b)^Tw+\lambda(S_w+S_w^T)w\\ =-2S_bw+\lambda2S_ww=0 ∂w∂F=−(Sb+Sb)Tw+λ(Sw+SwT)w=−2Sbw+λ2Sww=0
∴ S b w = λ S w w \therefore S_bw=\lambda S_ww ∴Sbw=λSww
由
S
b
S_b
Sb
定义,有
S
b
w
=
(
μ
0
−
μ
1
)
(
μ
0
−
μ
1
)
T
w
S_bw=(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw
Sbw=(μ0−μ1)(μ0−μ1)Tw
注意到
(
μ
0
−
μ
1
)
T
w
(\mu_0-\mu_1)^Tw
(μ0−μ1)Tw
标量,令其等于
λ
\lambda
λ
于是
w
=
S
w
−
1
(
μ
0
−
μ
1
)
w=S_w^{-1}(\mu_0-\mu_1)
w=Sw−1(μ0−μ1)
实践中通常是进行奇异值分解
S
w
=
U
∑
V
T
S_w=U\sum V^T
Sw=U∑VT
然后
S
w
−
1
=
V
∑
−
1
U
T
S_w^{-1}=V\sum {}^{-1}U^T
Sw−1=V∑−1UT
假定有N个类
-
全局散度矩阵
S t = S b + S w = ∑ i = 1 m ( x i − μ ) ( x i − μ ) T S_t=S_b+S_w=\sum_{i=1}^m(x_i-\mu)(x_i-\mu)^T St=Sb+Sw=i=1∑m(xi−μ)(xi−μ)T -
类内散度矩阵
S w = ∑ i = 1 N S w i S w i = ∑ x ∈ X i ( x − μ i ) ( x − μ i ) T S_w=\sum_{i=1}^NS_{w_i}\quad\quad S_{w_i}=\sum_{x\in X_i}(x-\mu_i)(x-\mu_i)^T Sw=i=1∑NSwiSwi=x∈Xi∑(x−μi)(x−μi)T -
类间散度矩阵
S b = S t − S w = ∑ i = 1 N m i ( μ i − μ ) ( μ i − μ ) T S_b=S_t-S_w=\sum_{i=1}^Nm_i(\mu_i-\mu)(\mu_i-\mu)^T Sb=St−Sw=i=1∑Nmi(μi−μ)(μi−μ)T
多分类 L D A 有多种实现方法:采用 S b , S w , S t 中的任何两个 \color{red}{多分类LDA有多种实现方法:采用S_b,S_w,S_t中的任何两个} 多分类LDA有多种实现方法:采用Sb,Sw,St中的任何两个
例如
m
a
x
w
t
r
(
W
T
S
b
W
)
t
r
(
W
T
S
w
W
)
——
>
S
b
W
=
λ
S
w
W
W
∈
R
d
×
(
N
−
1
)
W
的闭式解是
S
w
−
1
S
b
的
d
,
(
≤
N
−
1
)
个最大非零广义特征值对应的特征向量组成的矩阵
max_w\frac{tr(W^TS_bW)}{tr(W^TS_wW)}——>S_bW=\lambda S_wW\\ W\in R^{d\times(N-1)}\\ W的闭式解是S_w^{-1}S_b的d^,(\leq N-1)个最大非零广义特征值对应的特征向量组成的矩阵
maxwtr(WTSwW)tr(WTSbW)——>SbW=λSwWW∈Rd×(N−1)W的闭式解是Sw−1Sb的d,(≤N−1)个最大非零广义特征值对应的特征向量组成的矩阵
3.5 多分类学习
拆解法:将一个多分类任务拆分为若干个二分类任务求解
- OvO
- 训练N(N-1)/2个分类器,存储开销和测试时间大
- 训练只用两个类的样例,训练时间短
- OvR
- 训练N个分类器,存储开销和测试实践小
- 训练用到全部训练样例,训练时间长
3.6 类别不平衡问题
不同类别的样本比例相差很大;“小类”往往更重要
- 基本思路
若 y 1 − y > 1 则预测为正例 —— > 若 y 1 − y > m + m − 则预测为正例 若\frac{y}{1-y}>1则预测为正例\quad ——>\quad 若\frac{y}{1-y}>\frac{m^+}{m^-}则预测为正例 若1−yy>1则预测为正例——>若1−yy>m−m+则预测为正例
- 基本策略——“再缩放”
y , 1 − y = y 1 − y × m − m + \frac{y^,}{1-y}=\frac{y}{1-y}\times\frac{m^-}{m^+} 1−yy,=1−yy×m+m−
然而,精确估计
m
−
m
+
\frac{m^-}{m^+}
m+m−
通常很困难
- 常见类别不平衡学习方法
- 过采样:即增加一些正例使得正、反例数目接近,然后再进行学习
例如:SMOTE - 欠采样:即去除反例使得正、反例数目接近,然后再进行学习
例如:EasyEnsemble - 阈值移动:即直接基于原始训练集进行学习
- 过采样:即增加一些正例使得正、反例数目接近,然后再进行学习