INF 442 Amphi 8: Linear models for classification
0.Introduction
Prediction Error:
L
:
Y
×
Y
→
R
L: \mathcal{Y} \times \mathcal{Y} \to \mathbb{R}
L:Y×Y→R
目的:
m
i
n
E
(
X
,
Y
)
L
(
Y
,
f
(
X
)
)
min \mathbb{E}_{(X,Y)}L(Y,f(X))
minE(X,Y)L(Y,f(X))
实际上:
m
i
n
1
n
∑
i
L
(
Y
i
,
f
(
X
i
)
)
min \frac{1}{n}\sum_{i} L(Y_i,f(X_i))
minn1∑iL(Yi,f(Xi))
如果取0-1 Loss:
R
(
f
)
=
E
(
X
,
Y
)
1
Y
≠
f
(
X
)
=
E
X
E
(
Y
∣
X
)
[
1
Y
≠
f
(
X
)
∣
X
]
\begin{aligned} R(f) &= \mathbb{E}_{(X,Y)} \mathbb{1}_{Y\neq f(X)}\\ &= \mathbb{E}_X \mathbb{E}_{(Y|X)} [\mathbb{1}_{Y\neq f(X)}|X]\\ \end{aligned}
R(f)=E(X,Y)1Y=f(X)=EXE(Y∣X)[1Y=f(X)∣X]
此时最优的
f
∗
f^*
f∗满足:(即取x在使得
P
(
Y
=
y
∣
X
=
x
)
\mathbb{P}(Y=y|X=x)
P(Y=y∣X=x)最大的y)
KNN优缺点:
1. Linear methods for classification
- fibres (fiber),某一个类别对应的X的区域。
- Linear Decision Boundaries,线性决策边界。
两种方法:
- Model Posterior Probability,引入Discriminant Functions
- Model the separating hyperplanes directly
1.1 Linear regression for classification
- ∀ y ∈ { 1 , . . . , κ } , δ y ( x ) : = [ 1 , x T ] β y , β y ∈ R d + 1 \forall y \in \{1,...,\kappa\}, \delta_y(x):=[1,x^T] \beta_y, \beta_y \in \mathbb{R}^{d+1} ∀y∈{1,...,κ},δy(x):=[1,xT]βy,βy∈Rd+1
-
B
:
=
[
β
1
,
.
.
.
,
β
κ
]
∈
R
(
d
+
1
)
×
κ
B := [\beta_1,...,\beta_\kappa] \in \mathbb{R}^{(d+1)\times \kappa}
B:=[β1,...,βκ]∈R(d+1)×κ
将最后预测的目的用one-hot形式表示,然后用MSE损失。
缺点:
- 决策边界是线性的,不如Bayes Classifier。
- 中间的Class消失了。因为它的概率一直在其他类的下面,而我们最后取的预测结果是按照最大概率来算的。
- 预测的结果有可能不在[0,1]中间。
1.2 Logistic Regression for binary classification
- δ 1 ( x ) : = σ ( [ 1 , x T ] β 1 ) , β 1 ∈ R d + 1 \delta_1(x):=\sigma([1,x^T] \beta_1), \beta_1\in \mathbb{R}^{d+1} δ1(x):=σ([1,xT]β1),β1∈Rd+1
- P ( Y = 1 ∣ X = x ) = δ 1 ( x ) = σ ( [ 1 , x T ] β 1 ) \mathbb{P}(Y=1|X=x)=\delta_1(x)=\sigma([1,x^T]\beta_1) P(Y=1∣X=x)=δ1(x)=σ([1,xT]β1)
- P ( Y = 2 ∣ X = x ) = 1 − δ 1 ( x ) = σ ( − [ 1 , x T ] β 1 ) \mathbb{P}(Y=2|X=x)=1-\delta_1(x)=\sigma(-[1,x^T]\beta_1) P(Y=2∣X=x)=1−δ1(x)=σ(−[1,xT]β1)
- Probability Ratio log-linear
l n P ( Y = 1 ∣ X = x ) P ( Y = 2 ∣ X = x ) = [ 1 , x T ] β 1 ln\frac{\mathbb{P}(Y=1|X=x)}{\mathbb{P}(Y=2|X=x)}=[1,x^T] \beta_1 lnP(Y=2∣X=x)P(Y=1∣X=x)=[1,xT]β1 - 🌟 我们可以通过它的linear decision boundary判断它依旧是一个Linear Model: δ 1 ( x ) = δ 2 ( x ) → [ 1 , x T ] β 1 = σ − 1 ( 1 / 2 ) \delta_1(x)=\delta_2(x) \to [1,x^T]\beta_1=\sigma^{-1}(1/2) δ1(x)=δ2(x)→[1,xT]β1=σ−1(1/2)
- 性质:
- 值域为(0,1),解决了之前预测结果越界的情况
- σ − 1 ( u ) = l n ( u 1 − u ) \sigma^{-1}(u)=ln(\frac{u}{1-u}) σ−1(u)=ln(1−uu)
- σ ( t ) + σ ( − t ) = 1 \sigma(t)+\sigma(-t)=1 σ(t)+σ(−t)=1
- σ ′ ( t ) = σ ( t ) ( 1 − σ ( t ) ) \sigma'(t)=\sigma(t)(1-\sigma(t)) σ′(t)=σ(t)(1−σ(t))
Model fitting by maximum likelihood
求解方法:Newton-Raphson
因为使用了牛顿求解法,所以要求一开始的值靠近目标值。
如果是Singular的情况(不能inverse),我们可以加上Regularization项。
1.3 Multi-class logistic regression
- 对于 κ \kappa κ类,只有 κ − 1 \kappa-1 κ−1个 β \beta β,因为还有一个概率总和为1的限制条件。
- 是对于之前Probability Ratio log-linear的推广:
2. Support Vector Machines (SVM)
见笔记
目的:找到使得Margin最大的Hyperplane
Hyperplane:
x
T
β
−
β
0
=
0
x^T \beta -\beta_0=0
xTβ−β0=0
Parameters:
β
∈
R
d
∖
0
,
β
0
∈
R
\beta \in \mathbb{R}^d \setminus {0},\beta_0 \in \mathbb{R}
β∈Rd∖0,β0∈R
- 大于0就预测为类别1,反之就预测为类别0。
- 当Classes are not linearly classifiable,引入Hinge Loss,得到Relaxed Optimization (Soft Margin)。[我们希望 β \beta β越小越好]
- 使用Pbm Dual
2.2 Multi-class SVM
One-vs-all
- 训练一个判断是否为第k类的SVM,如果是第k类则位于 x T β ^ k + b x^T\hat{\beta}^k+b xTβ^k+b 的上方(Label=1),且越属于第k类, x T β ^ k + b x^T\hat{\beta}^k+b xTβ^k+b 的值越大。
- 因此,我们可以对每一个类别计算 x T β ^ y + b , y ∈ { 1 , . . κ } x^T\hat{\beta}^y+b, y \in \{1,..\kappa\} xTβ^y+b,y∈{1,..κ},最后选择使得分数最高的类别。
One-vs-one
- 对于任意两个类别 y , y ′ y,y' y,y′,训练一个Hyperplan ( w , b ) = β ^ y , y ′ , β ^ 0 y , y ′ (w,b)=\hat{\beta}^{y,y'},\hat{\beta}_0^{y,y'} (w,b)=β^y,y′,β^0y,y′,以看这个数据点在 y , y ′ y,y' y,y′两者中更靠近哪一个类别,以进行两两区分。
- 最后对每一个pair使用Vote的形式,将x归入得票最多的类别。
2.3 Kernel SVM
- 通过核变换将数据映射到高维空间再分,同时通过引入kernel的方法避免了在高维计算inner product降低了复杂度。
- Representation Thm告诉我们此时问题的解可以写成Kernel的线性组合的形式。
-
f
(
x
)
=
x
T
β
^
+
β
^
0
,
β
^
=
∑
i
=
1
n
α
i
y
i
Φ
(
x
i
)
=
∑
i
=
1
n
α
i
y
i
k
(
x
i
,
⋅
)
f(x)=x^T\hat{\beta}+\hat{\beta}_0,\hat{\beta}=\sum_{i=1}^n \alpha_iy_i\Phi(x_i)=\sum_{i=1}^n \alpha_i y_i k(x_i, \cdot)
f(x)=xTβ^+β^0,β^=∑i=1nαiyiΦ(xi)=∑i=1nαiyik(xi,⋅)