一 线性回归
1 线性模型
线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数。
f
(
x
)
=
w
1
x
1
+
w
2
x
2
+
⋯
+
w
d
x
d
+
b
f ( x ) = w _ { 1 } x _ { 1 } + w _ { 2 } x _ { 2 } + \cdots + w _ { d } x _ { d } + b
f(x)=w1x1+w2x2+⋯+wdxd+b向量形式:
f
(
x
)
=
w
T
x
+
b
f ( x ) = w ^ { T } x + b
f(x)=wTx+b
2 线性回归
f ( x i ) = w x i + b 使得 f ( x i ) ≃ y i f ( x _ { i } ) = w x _ { i } + b 使得 f ( x _ { i } ) ≃ y _ { i } f(xi)=wxi+b使得f(xi)≃yi
离散属性的处理: 若有“序”(order),则连续化;否则,转化为
k
k
k 维向量。
令均方误差最小化,有:
(
w
∗
,
b
∗
)
=
arg min
(
w
,
b
)
∑
i
=
1
m
(
f
(
x
i
)
−
y
i
)
2
=
arg min
(
w
,
b
)
∑
i
=
1
m
(
y
i
−
w
x
i
−
b
)
2
\begin{align*} (w^*, b^*) &= \argmin_{(w,b)} \sum_{i=1}^{m} (f(x_i) - y_i)^2 \\ &= \argmin_{(w,b)} \sum_{i=1}^{m} (y_i - wx_i - b)^2 \end{align*}
(w∗,b∗)=(w,b)argmini=1∑m(f(xi)−yi)2=(w,b)argmini=1∑m(yi−wxi−b)2
3 最小二乘解
对
E
(
w
,
b
)
=
∑
i
=
1
m
(
y
i
−
w
x
i
−
b
)
2
E _ { ( w , b ) } = \sum _ { i = 1 } ^ { m } ( y _ { i } - w x _ { i } - b ) ^ { 2 }
E(w,b)=∑i=1m(yi−wxi−b)2 进行最小二乘参数估计。
分别对
w
w
w 和
b
b
b 求导:
∂
E
(
w
,
b
)
∂
w
=
2
(
w
∑
i
=
1
m
x
i
2
−
∑
i
=
1
m
(
y
i
−
b
)
x
i
)
\frac { \partial E _ { ( w , b ) } } { \partial w } = 2 ( w \sum _ { i = 1 } ^ { m } x _ { i } ^ { 2 } - \sum _ { i = 1 } ^ { m } ( y _ { i } - b ) x _ { i } )
∂w∂E(w,b)=2(wi=1∑mxi2−i=1∑m(yi−b)xi)
∂
E
(
w
,
b
)
∂
b
=
2
(
m
b
−
∑
i
=
1
m
(
y
i
−
w
x
i
)
)
\frac { \partial E _ { ( w,b) } } { \partial b } = 2 ( m b - \sum _ { i = 1 } ^ { m } ( y _ { i } - w x _ { i } ) )
∂b∂E(w,b)=2(mb−i=1∑m(yi−wxi))令导数为0,得到闭式(closed-form)解:
w
=
∑
i
=
1
m
y
i
(
x
i
−
x
ˉ
)
∑
i
=
1
m
x
i
2
−
1
m
(
∑
i
=
1
m
x
i
)
2
w = \frac { \sum _ { i = 1 } ^ { m } y _ { i }( x _ { i } - \bar{x} ) } { \sum _ { i = 1 } ^ { m } x _ { i } ^ { 2 } - \frac { 1 } { m } ( \sum _ { i = 1 } ^ { m } x _ { i } ) ^ { 2 } }
w=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ)
b
=
1
m
∑
i
=
1
m
(
y
i
−
w
x
i
)
b = \frac { 1 } { m } \sum _ { i = 1 } ^ { m } ( y _ { i } - w x _ { i } )
b=m1i=1∑m(yi−wxi)
二 多元线性回归
f ( x i ) = w T x i + b 使得 f ( x i ) ≃ y i f ( x _ { i } ) = w ^ Tx _ { i } + b 使得 f ( x _ { i } )≃ y _ { i } f(xi)=wTxi+b使得f(xi)≃yi
x i = ( x i 1 ; x i 2 ; ⋯ ; x i d ) , y i ∈ R x _ { i } = ( x _ { i1 } ; x _ { i2 } ; \cdots ; x _ { i d } ) , y _ { i }∈R xi=(xi1;xi2;⋯;xid),yi∈R
把
w
w
w 和
b
b
b 吸收入向量形式
w
^
=
(
w
;
b
)
\hat{w} = ( w ; b )
w^=(w;b) 数据集表示为:
同样用最小二乘法求解,有:
w ^ ∗ = arg m i n ( y − X w ^ ) T ( y − X w ^ ) \hat{w} ^ { * } = \operatorname { a r g } m i n ( y - X \hat{w} ) ^ { T } ( y - X\hat{w} ) w^∗=argmin(y−Xw^)T(y−Xw^)
令 E w ^ = ( y − X w ^ ) T ( y − X w ^ ) E _{ \hat{ w }} = ( y - X \hat{w} ) ^ { T } ( y - X\hat{w} ) Ew^=(y−Xw^)T(y−Xw^) , 对 w ^ \hat{ w } w^ 求导:
∂ E w ∂ w 0 = 2 X r ( X w − y ) 令其为零可得 w ^ \frac { \partial E _ { w } } { \partial w _ { 0 } } = 2 X ^ { r } ( X w - y ) 令其为零可得\hat{ w } ∂w0∂Ew=2Xr(Xw−y)令其为零可得w^
然而,麻烦来了:涉及矩阵求逆!
- 若 X T X X^TX XTX 满秩或正定,则 w ^ ∗ = ( X T X ) − 1 X T y \hat{w} ^ { * } = ( X ^ { T } X ) ^ { - 1 } X ^ { T } y w^∗=(XTX)−1XTy
- 若 X T X X^TX XTX 不满秩,则可解出多个 w ^ \hat{w} w^
此时需求助于归纳偏好,或引入正则化
(regularization)
三 广义线性模型
1 线性模型的变化
对于样例
(
x
,
y
)
,
y
∈
R
(x,y),y∈R
(x,y),y∈R,希望线性模型的预测值逼近真实标记,得到线性回归模型
y
=
w
T
x
+
b
y=w^Tx+b
y=wTx+b
令预测值逼近 y 的衍生物
若令
ln
y
=
w
T
x
+
b
\ln y = w ^ { T } x + b
lny=wTx+b,则得到对数线性回归(log-linear regression)
实际是在用
e
w
T
x
+
b
e ^ { w ^ { T } x + b }
ewTx+b 逼近
y
y
y
2 广义线性模型
一般形式:
y
=
g
−
1
(
w
T
x
+
b
)
y = g^{-1}(w^Tx+b)
y=g−1(wTx+b)
g
−
1
g^{-1}
g−1 被称为单调可微的联系函数
令
g
(
⋅
)
=
ln
(
⋅
)
g(·)=\ln(·)
g(⋅)=ln(⋅) 则得到对数线性回归
ln
y
=
w
T
x
+
b
\ln y = w^Tx+b
lny=wTx+b
四 对率回归
1 二分类任务
2 对率回归
以对率函数为联系函数:
y = 1 1 + e − z y = \frac { 1 } { 1 + e ^ { - z } } y=1+e−z1 变为 y = 1 1 + e − ( w T x + b ) y = \frac { 1 } { 1 + e ^ { - ( w ^ { T } x + b ) } } y=1+e−(wTx+b)1
即: ln y 1 − y = w T x + b \ln \frac { y } { 1 - y } = w ^ { T } x + b ln1−yy=wTx+b
其中
ln
y
1
−
y
\ln \frac { y } { 1 - y }
ln1−yy 被称为对数几率(log odds,亦称 logit),反应了
x
x
x 作为正例的可能性。
“对数几率回归”(logistic regression)简称“对率回归”。
- 无需事先假设数据分布
- 可得到”类别“的近似概率预测
- 可直接应用现有的数值优化算法求取最优解
3 求解思路
若将 y y y 看作类后验概率估计 p ( y = 1 ∣ x ) p( y = 1 | x ) p(y=1∣x),则
ln y 1 − y = w T x + b \ln \frac { y } { 1 - y } = w ^ { T } x + b ln1−yy=wTx+b 可写为:
ln p ( y = 1 ∣ x ) p ( y = 0 ∣ x ) = w T x + b \ln \frac { p ( y = 1 | x ) } { p ( y = 0 | x ) } = w ^ { T } x + b lnp(y=0∣x)p(y=1∣x)=wTx+b
于是,可使用“极大似然法”(maximum likelihood method)
M
A
X
(
(
P
(
真是
+
)
P
(预测为
+
)
+
P
(真是
−
)
P
(预测为
−
)
)
MAX((P(真是+)P(预测为+)+ P(真是-)P(预测为-))
MAX((P(真是+)P(预测为+)+P(真是−)P(预测为−))给定数据集
{
(
x
i
,
y
i
)
}
i
=
1
m
\{ ( x _ { i } , y _ { i } ) \} _ { i = 1 } ^ { m }
{(xi,yi)}i=1m
最大化“对数似然”(log-likelihood)函数
l ( w , b ) = ∑ i = 1 m ln p ( y i ∣ x i ; w , b ) l ( w , b ) = \sum _ { i = 1 } ^ { m } \ln p ( y _ { i } | x _ { i } ; w , b ) l(w,b)=∑i=1mlnp(yi∣xi;w,b)
令 β = ( w ; b ) , x ^ = ( x ; 1 ) \beta = ( w ; b ) , \hat x = ( x ; 1 ) β=(w;b),x^=(x;1),则 w T x + b w^Tx+b wTx+b 可简写为 β T x ^ \beta ^ T \hat x βTx^
再令 p 1 ( x ^ i ; β ) = p ( y = 1 ∣ x ^ i ; β ) = e w T x + b 1 + e w T x + b p _ { 1 } (\hat x _ { i } ; \beta ) = p ( y = 1 | \hat x _ { i } ; \beta ) = \frac { e ^ { w ^ { T } x + b } } { 1 + e ^ {w^T x + b } } p1(x^i;β)=p(y=1∣x^i;β)=1+ewTx+bewTx+b
p 0 ( x ^ i ; β ) = p ( y = 0 ∣ x ^ i ; β ) = 1 − p 1 ( x ^ i ; β ) = 1 1 + e w T x + b p _ { 0 } ( \hat x _ { i } ; \beta ) = p ( y = 0 | \hat x _ { i } ; \beta ) = 1 - p _ { 1 } (\hat x _ { i } ; \beta ) = \frac { 1 } { 1 + e ^ {w^Tx + b }} p0(x^i;β)=p(y=0∣x^i;β)=1−p1(x^i;β)=1+ewTx+b1
则似然项可重写为 p ( y i ∣ x i ; w i , b ) = y i p 1 ( x ^ i ; β ) + ( 1 − y i ) p 0 ( x ^ i ; β ) p ( y _ { i } | x _ { i } ; w _ { i } , b ) = y _ { i }p_1 (\hat x _ { i } ; \beta ) + ( 1 - y _ { i } ) p _ { 0 } (\hat x _ { i } ; \beta ) p(yi∣xi;wi,b)=yip1(x^i;β)+(1−yi)p0(x^i;β)
于是,最大化似然函数 l ( w , b ) = ∑ i = 1 m ln p ( y i ∣ x i ; w , b ) l ( w , b ) = \sum _ { i = 1 } ^ { m } \ln p ( y _ { i } | x _ { i } ; w , b ) l(w,b)=∑i=1mlnp(yi∣xi;w,b)
等价为最小化 l ( β ) = ∑ i = 1 m ( − y i β T x ^ i + ln ( 1 + e β T x ^ i ) ) l ( \beta ) = \sum _ { i = 1 } ^ { m } ( - y _ { i } \beta ^T \hat x_ { i } + \ln ( 1 + e ^ { \beta ^T \hat x_ { i } } ) ) l(β)=∑i=1m(−yiβTx^i+ln(1+eβTx^i))
高阶可导连续凸函数,可用经典的数值优化方法:如梯度下降法/牛顿法
五 线性判别分析
1 线性判别分析(Linear Discriminant Analysis)
由于将样例投影到一条直线(低维空间),因此也被视为一种“监督降维”技术。
2 LDA的目标
给定数据集 { ( x i , y i ) } i = 1 m \{ ( x _ { i } , y _ { i } ) \} _ { i = 1 } ^ { m } {(xi,yi)}i=1m
第 i i i 类示例的集合 X i X_i Xi
第 i i i 类示例的均值向量 μ i \mu_i μi
第 i i i 类示例的 ∑ i \sum _ { i } ∑i
两类样本的中心在直线上的投影: w T μ 0 w^T\mu_0 wTμ0 和 w T μ 1 w^T\mu_1 wTμ1
两类样本的协方差: w T ∑ 0 w w^T\sum_0w wT∑0w 和 w T ∑ 1 w w^T\sum_1w wT∑1w
同类样例的投影的尽可能接近
−
>
w
T
∑
0
w
+
w
T
∑
1
w
-> w^T\sum_0w+w^T\sum_1w
−>wT∑0w+wT∑1w 尽可能小
异类样例的投影的尽可能远离
−
>
∣
∣
w
T
μ
0
−
w
T
u
1
∣
∣
2
2
-> | | w ^ { T } μ _ { 0 } - w ^ { T } u _ { 1 } | | _ { 2 } ^ { 2 }
−>∣∣wTμ0−wTu1∣∣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 } μ _ { 0 } - w ^ { T } μ _ { 1 } | | _ { 2 } ^ { 2 } } { w ^ { T } \sum _ { 0 } w + w ^ { T } \sum _ { 1 } w } =\frac { w ^ { T } ( μ _ { 0 } - μ _ { 1 } ) ( μ _ { 0 } - μ _ { 1 } ) ^ { T } w } { 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类内散度矩阵(within-class scatter matrix)
S
w
=
∑
0
+
∑
1
=
∑
x
∈
X
0
(
x
−
μ
0
)
(
x
−
μ
0
)
T
+
∑
x
∈
X
1
(
x
−
μ
1
)
(
x
−
μ
1
)
T
\begin{align*} 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 \end{align*}
Sw=0∑+1∑=x∈X0∑(x−μ0)(x−μ0)T+x∈X1∑(x−μ1)(x−μ1)T类间散度矩阵(between-class scatter matrix)
S
b
=
(
μ
0
−
μ
1
)
(
μ
0
−
μ
1
)
T
S _ { b } = ( \mu_ { 0 } - \mu _ { 1 } ) ( \mu _ { 0 } - \mu _ { 1 } ) ^ { T }
Sb=(μ0−μ1)(μ0−μ1)TLDA的目标:最大化广义瑞利商(generalized Rayleigh quotient)
J
=
w
T
S
b
w
w
T
S
w
w
J = \frac { w ^ { T } S _ { b } w } { w ^ { T } S _ { w } w }
J=wTSwwwTSbw
3 求解思路
令
w
T
S
w
w
=
1
w^TS_ww=1
wTSww=1 最大化广义瑞利商等价形式为;
m
i
w
n
−
w
T
S
b
w
m\underset w in - w ^ { T } S _ { b } w
mwin−wTSbw
s
.
t
.
:
w
T
S
w
w
=
1
s.t.:w ^ { T } S _ { w } w = 1
s.t.:wTSww=1运用拉格朗日乘子法,有
S
b
w
=
λ
S
w
w
S_bw=\lambda S_ww
Sbw=λSww
由
S
b
S_b
Sb 定义,有
S
b
w
=
(
μ
0
−
μ
1
)
(
μ
0
−
μ
1
)
T
w
S _ { b } w = ( \mu _ { 0 } - \mu _ { 1 } ) ( \mu _ { 0 } - \mu _ { 1 } ) ^ { T } w
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
六 类别不平衡(class-imbalance)
不同类别的样本比例相差很大;“小类”往往更重要
基本思路:
若
y
1
−
y
>
1
\frac { y } { 1 - y } \gt 1
1−yy>1,则预测为正例。
−
>
->
−> 若
y
1
−
y
>
m
+
m
−
\frac {y} {1-y} \gt \frac {m^+}{m^-}
1−yy>m−m+,则预测为正例。
基本策略:——“再缩放”(rescaling)
y
′
1
−
y
′
=
y
1
−
y
×
m
−
m
+
\frac { y ^ { \prime } } { 1 - y ^ { \prime } } = \frac { y } { 1 - y } \times \frac { m ^ { - } } { m ^+ }
1−y′y′=1−yy×m+m−然而,精确估计
m
−
/
m
+
m^-/m^+
m−/m+ 通常很困难!
常见类别不平衡学习方法:
- 过采样(oversampling) 例如:
SMOTE
- 欠采样(undersampling) 例如:
EasyEnsemble
- 阈值移动(threshold-moving)