在属性坐标系中先找到一条过原点的线,将平面上点投影到这条线上,从而将“平面上点的分类”转化为“线上点的分类”。
线性判别分析
二分类LDA
线性判别分析(LDA)【西瓜书图3.3】所示,采用“博文待写小节”中的属性坐标系,在该坐标系中先找到一条过原点的线,将平面上点投影到这条线上,从而将“平面上点的分类”转化为“线上点的分类”。
1.理解LDA
表达式
w
T
x
\boldsymbol{w}^\mathrm{T}\boldsymbol{x}
wTx是两同维向量的内积(点乘)注:向量内积的另外表示有
<
w
,
x
>
<\boldsymbol{w},\boldsymbol{x}>
<w,x>和
w
⋅
x
\boldsymbol{w}\cdot\boldsymbol{x}
w⋅x\ ,其几何意义为向量
x
\boldsymbol{x}
x在向量
w
\boldsymbol{w}
w上的投影
,在该坐标系下仍为一个向量。 然而,通常将向量
w
\boldsymbol{w}
w延伸成一个数轴
O
y
Oy
Oy,则投影点(垂点)在该数轴上的坐标
y
y
y即为一个标量,故有线性表达式
y
=
w
T
x
y=\boldsymbol{w}^\mathrm{T}\boldsymbol{x}
y=wTx。
【西瓜书图3.3】中,有一个坐标系 O x O\boldsymbol{x} Ox(视为超平面),用于放样本点 { x i } i = 1 m \{\boldsymbol{x}_i\}_{i=1}^m {xi}i=1m,在该坐标系中另有一个数轴 O y Oy Oy(一维坐标系)用于放样本点的回归值 y i y_i yi,数轴 O y Oy Oy的原点与坐标系 O x O\boldsymbol{x} Ox的原点重合,数轴方向为向量 w \boldsymbol{w} w的方向,将上述线性表达式应用于每个样本点,即有变换关系式 y i = w T x i y_i=\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i yi=wTxi,几何意义为样本点(多维)到数轴(一维)上的投影,这种情况下有个有趣的结果:投影点即为该样本的回归值。
现在在坐标系 O x y O\boldsymbol{x}y Oxy(即 O x + O y O\boldsymbol{x}\,+\,Oy Ox+Oy)中每样本点 x i \boldsymbol{x}_i xi有对应预测的回归值 y i y_i yi和实际的标记(“ + + +”或“ − - −”),让数轴 O y Oy Oy固定原点旋转,通过旋转实现图中的如下“尽可能”:
(1)类内“尽可能紧凑”——可用方差来体现:类内方差尽可能小。 因有两类,故为两类类内方差之和尽可能小;
(2)类间“尽可能远”——可用距离来体现:类间距离尽可能大。
综合目标为最大化
J
J
J
J
=
类间距离
正例类内方差+反例类内方差
\begin{align} J=\frac{\text{类间距离}}{\text{正例类内方差+反例类内方差}} \tag{1} \end{align}
J=正例类内方差+反例类内方差类间距离(1)
2.式子表达
将样本集按正样本和负样本分开,正例样本集为
X
0
=
{
x
i
+
}
i
=
1
m
+
\boldsymbol{X}_0=\{\boldsymbol{x}_i^+\}_{i=1}^{m^+}
X0={xi+}i=1m+,反例样本集为
X
1
=
{
x
i
−
}
i
=
1
m
−
\boldsymbol{X}_1=\{\boldsymbol{x}_i^-\}_{i=1}^{m^-}
X1={xi−}i=1m−,其中,
(
m
=
m
+
+
m
−
)
(m=m^++m^-)
(m=m++m−),则形成表3.1。
表3.1中的(协)方差是省去了分母的(这是为了方便),实际是离差平方和,即
{
Σ
0
=
∑
x
∈
X
0
(
x
−
μ
0
)
(
x
−
μ
0
)
T
Σ
1
=
∑
x
∈
X
1
(
x
−
μ
1
)
(
x
−
μ
1
)
T
\begin{align} \begin{cases} \boldsymbol{\Sigma }_0=\mathop{\sum}\limits_{\substack{\boldsymbol{x}\in\boldsymbol{X}_0}}(\boldsymbol{x}-\boldsymbol{\mu}_0)(\boldsymbol{x}-\boldsymbol{\mu}_0)^\mathrm{T} \\ \boldsymbol{\Sigma }_1=\mathop{\sum}\limits_{\substack{\boldsymbol{x}\in\boldsymbol{X}_1}}(\boldsymbol{x}-\boldsymbol{\mu}_1)(\boldsymbol{x}-\boldsymbol{\mu}_1)^\mathrm{T} \end{cases} \tag{2} \end{align}
⎩
⎨
⎧Σ0=x∈X0∑(x−μ0)(x−μ0)TΣ1=x∈X1∑(x−μ1)(x−μ1)T(2)
两类之间的距离用两类的中心点间的距离表示,为方便取其平方。 再由上述综合目标式(1)即得【西瓜书式(3.32)】。
定义类内散度(
S
w
\mathbf{S}_{\mathrm{w}}
Sw:within-class scatter matrix)和类间散度(
S
b
\mathbf{S}_{\mathrm{b}}
Sb:between-class scatter matrix)后,即得LDA的最大化目标【西瓜书式(3.35)】,其分子的推导补充如下:
∣
∣
w
T
μ
0
−
w
T
μ
1
∣
∣
2
=
(
w
T
μ
0
−
w
T
μ
1
)
(
w
T
μ
0
−
w
T
μ
1
)
T
=
w
T
(
μ
0
−
μ
1
)
(
μ
0
−
μ
1
)
T
w
=
w
T
S
b
w
\begin{align} ||\boldsymbol{w}^{\mathrm{T}}\boldsymbol{\mu}_0-\boldsymbol{w}^{\mathrm{T}}\boldsymbol{\mu}_1||^2 & =(\boldsymbol{w}^{\mathrm{T}}\boldsymbol{\mu}_0-\boldsymbol{w}^{\mathrm{T}}\boldsymbol{\mu}_1)(\boldsymbol{w}^{\mathrm{T}}\boldsymbol{\mu}_0-\boldsymbol{w}^{\mathrm{T}}\boldsymbol{\mu}_1)^\mathrm{T}\notag \\ & =\boldsymbol{w}^{\mathrm{T}}(\boldsymbol{\mu}_0-\boldsymbol{\mu}_1)(\boldsymbol{\mu}_0-\boldsymbol{\mu}_1)^\mathrm{T}\boldsymbol{w}\notag \\ & =\boldsymbol{w}^{\mathrm{T}}\mathbf{S}_{\mathrm{b}}\boldsymbol{w} \tag{3} \end{align}
∣∣wTμ0−wTμ1∣∣2=(wTμ0−wTμ1)(wTμ0−wTμ1)T=wT(μ0−μ1)(μ0−μ1)Tw=wTSbw(3)
【西瓜书式(3.35)】中分子和分母的对称性知,若 w ′ \boldsymbol{w}' w′为其解,则 α w ′ \alpha \boldsymbol{w}' αw′也为其解,故可以调节 α \alpha α的值到 α ′ \alpha ' α′,使得分母为1,此时令 α ′ w ′ = w \alpha' \boldsymbol{w}'= \boldsymbol{w} α′w′=w,则 w T S w w = 1 \boldsymbol{w}^\mathrm{T}\mathbf{S}_{\mathrm{w}}\boldsymbol{w}=1 wTSww=1,于是转化成优化问题【西瓜书式(3.36)】(注:为满足拉格朗日乘子法的要求,通过添加负号将 max \max max变为 min \min min)。
多分类LDA
对于多分类(如, N N N类),我们将标记转化为 N N N维向量形式:当某样本 x \boldsymbol{x} x属于第 k k k类时,取标记向量为第 k k k位为1,其余位全为0。 进一步地(转化为回归问题),将标记向量“放松”为 N N N维“概率向量” ( p 1 ; p 2 ; ⋯ ; p N ) (p_1;p_2;\cdots;p_N) (p1;p2;⋯;pN),即样本 x \boldsymbol{x} x的标记向量由其属于各类的概率组成,当它实际属于第 k k k类时,标记向量的第 k k k位值最大。 然而,由于概率之和为1,故该“概率向量”的自由度为 ( N − 1 ) (N-1) (N−1)维(设前 ( N − 1 ) (N-1) (N−1)位自由),即样本 x \boldsymbol{x} x对应于 ( N − 1 ) (N-1) (N−1)维向量 P = ( p 1 ; p 2 ; ⋯ ; p N − 1 ) \boldsymbol{P}=(p_1;p_2;\cdots;p_{N-1}) P=(p1;p2;⋯;pN−1)。
作线性变换
y
=
W
T
x
\begin{align} \boldsymbol{y}=\mathbf{W}^\mathrm{T}\boldsymbol{x} \tag{4} \end{align}
y=WTx(4)
则现在向量
y
\boldsymbol{y}
y对应于
(
N
−
1
)
(N-1)
(N−1)维向量
P
=
(
p
1
;
p
2
;
⋯
;
p
N
−
1
)
\boldsymbol{P}=(p_1;p_2;\cdots;p_{N-1})
P=(p1;p2;⋯;pN−1),我们并不必关心其具体的对应关系,不妨取为最简单的“正比例”关系,即
y
=
α
P
\boldsymbol{y}=\alpha \boldsymbol{P}
y=αP。 由此得到向量
y
\boldsymbol{y}
y可取
(
N
−
1
)
(N-1)
(N−1)维,又已知样本
x
\boldsymbol{x}
x为
d
d
d维,故由式(4)可推得
W
\mathbf{W}
W应为
d
×
(
N
−
1
)
d\times (N-1)
d×(N−1)维矩阵。
由式(4)可得
y
−
μ
y
=
W
T
(
x
−
μ
x
)
\begin{align} \boldsymbol{y}-\boldsymbol{\mu}_{\boldsymbol{y}} =\mathbf{W}^\mathrm{T}(\boldsymbol{x}-\boldsymbol{\mu }_{\boldsymbol{x}}) \tag{5} \end{align}
y−μy=WT(x−μx)(5)
其中,
μ
y
\boldsymbol{\mu }_{\boldsymbol{y}}
μy和
μ
x
\boldsymbol{\mu }_{\boldsymbol{x}}
μx分别为对应变量在取值范围内的均值。
有了上述准备后,我们可以对各类“散度”进行分析。
将样本集按类别进行分解,即
X
=
X
1
∪
X
2
∪
⋯
∪
X
N
\boldsymbol{X}= \boldsymbol{X}^1\cup\boldsymbol{X}^2\cup \cdots\cup\boldsymbol{X}^N
X=X1∪X2∪⋯∪XN(依变换(4)有对应的
Y
=
Y
1
∪
Y
2
∪
⋯
∪
Y
N
\boldsymbol{Y}= \boldsymbol{Y}^1\cup\boldsymbol{Y}^2\cup \cdots\cup\boldsymbol{Y}^N
Y=Y1∪Y2∪⋯∪YN),
则有
S
b
=
∑
x
i
∈
X
(
x
i
−
μ
)
(
x
i
−
μ
)
T
−
∑
k
=
1
N
∑
x
i
∈
X
k
(
x
i
−
μ
k
)
(
x
i
−
μ
k
)
T
=
∑
k
=
1
N
∑
x
i
∈
X
k
[
(
x
i
−
μ
)
(
x
i
−
μ
)
T
−
(
x
i
−
μ
k
)
(
x
i
−
μ
k
)
T
]
=
∑
k
=
1
N
∑
x
i
∈
X
k
[
μ
μ
T
−
μ
k
μ
k
T
+
2
(
μ
k
−
μ
)
x
i
T
]
=
∑
k
=
1
N
[
m
k
(
μ
μ
T
−
μ
k
μ
k
T
)
+
2
(
μ
k
−
μ
)
m
k
μ
k
T
]
=
∑
k
=
1
N
m
k
[
μ
μ
T
+
μ
k
μ
k
T
+
2
μ
k
μ
T
]
=
∑
k
=
1
N
m
k
(
μ
−
μ
k
)
(
μ
−
μ
k
)
T
\begin{align} \mathbf{S}_{\mathrm{b}} & =\sum_{\boldsymbol{x}_i\in \boldsymbol{X}}(\boldsymbol{x}_i-\boldsymbol{\mu})(\boldsymbol{x}_i-\boldsymbol{\mu})^\mathrm{T} -\sum_{k=1}^N\sum_{\boldsymbol{x}_i\in \boldsymbol{X}^k}(\boldsymbol{x}_i-\boldsymbol{\mu}_k)(\boldsymbol{x}_i-\boldsymbol{\mu}_k)^\mathrm{T}\notag \\ & =\sum_{k=1}^N\sum_{\boldsymbol{x}_i\in \boldsymbol{X}^k}\left[(\boldsymbol{x}_i-\boldsymbol{\mu})(\boldsymbol{x}_i-\boldsymbol{\mu})^\mathrm{T}-(\boldsymbol{x}_i-\boldsymbol{\mu}_k)(\boldsymbol{x}_i-\boldsymbol{\mu}_k)^\mathrm{T}\right]\notag \\ & =\sum_{k=1}^N\sum_{\boldsymbol{x}_i\in \boldsymbol{X}^k}\left[\boldsymbol{\mu}\boldsymbol{\mu}^\mathrm{T}-\boldsymbol{\mu}_k\boldsymbol{\mu}_k^\mathrm{T}+2(\boldsymbol{\mu}_k-\boldsymbol{\mu})\boldsymbol{x}_i^\mathrm{T}\right]\notag \\ & =\sum_{k=1}^N\left[m_k(\boldsymbol{\mu}\boldsymbol{\mu}^\mathrm{T}-\boldsymbol{\mu}_k\boldsymbol{\mu}_k^\mathrm{T})+2(\boldsymbol{\mu}_k-\boldsymbol{\mu})m_k\boldsymbol{\mu}_k^\mathrm{T}\right]\notag \\ & =\sum_{k=1}^Nm_k\left[\boldsymbol{\mu}\boldsymbol{\mu}^\mathrm{T}+\boldsymbol{\mu}_k\boldsymbol{\mu}_k^\mathrm{T} +2\boldsymbol{\mu}_k\boldsymbol{\mu}^\mathrm{T}\right]\notag \\ & =\sum_{k=1}^Nm_k(\boldsymbol{\mu}-\boldsymbol{\mu}_k)(\boldsymbol{\mu}-\boldsymbol{\mu}_k)^\mathrm{T} \tag{6} \end{align}
Sb=xi∈X∑(xi−μ)(xi−μ)T−k=1∑Nxi∈Xk∑(xi−μk)(xi−μk)T=k=1∑Nxi∈Xk∑[(xi−μ)(xi−μ)T−(xi−μk)(xi−μk)T]=k=1∑Nxi∈Xk∑[μμT−μkμkT+2(μk−μ)xiT]=k=1∑N[mk(μμT−μkμkT)+2(μk−μ)mkμkT]=k=1∑Nmk[μμT+μkμkT+2μkμT]=k=1∑Nmk(μ−μk)(μ−μk)T(6)
即为【西瓜书式(3.43)】。
利用式(5)就可以得到
y
\boldsymbol{y}
y各“散度”。 如“全局散度”
S
t
y
=
∑
y
i
∈
Y
(
y
i
−
μ
y
)
(
y
i
−
μ
y
)
T
=
∑
x
i
∈
X
(
W
T
(
x
i
−
μ
)
)
(
W
T
(
x
i
−
μ
)
)
T
=
W
T
[
∑
x
i
∈
X
(
x
i
−
μ
)
(
x
i
−
μ
)
T
]
W
=
W
T
S
t
W
\begin{align} \mathbf{S}_{\mathrm{t}}^{\boldsymbol{y}} & =\sum_{\boldsymbol{y}_i\in \mathbf{Y}} (\boldsymbol{y}_i-\boldsymbol{\mu}_{\boldsymbol{y}}) (\boldsymbol{y}_i-\boldsymbol{\mu}_{\boldsymbol{y}})^\mathrm{T}\notag \\ & =\sum_{\boldsymbol{x}_i\in \boldsymbol{X}} (\mathbf{W}^\mathrm{T}(\boldsymbol{x}_i-\boldsymbol{\mu }) ) (\mathbf{W}^\mathrm{T}(\boldsymbol{x}_i-\boldsymbol{\mu }) )^\mathrm{T}\notag \\ & = \mathbf{W}^\mathrm{T}\left[\sum_{\boldsymbol{x}_i\in \boldsymbol{X}}(\boldsymbol{x}_i-\boldsymbol{\mu }) (\boldsymbol{x}_i-\boldsymbol{\mu })^\mathrm{T}\right]\mathbf{W}\notag \\ & = \mathbf{W}^\mathrm{T} \mathbf{S}_{\mathrm{t}}\mathbf{W} \tag{7} \end{align}
Sty=yi∈Y∑(yi−μy)(yi−μy)T=xi∈X∑(WT(xi−μ))(WT(xi−μ))T=WT[xi∈X∑(xi−μ)(xi−μ)T]W=WTStW(7)
其他几个“散度”也易得到,由此,将【西瓜书式(3.35)】推广到多分类LDA【西瓜书式(3.44)】。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
上一篇:3.2 对数几率回归(俗称:逻辑回归,但它既不“逻辑”也不是“回归”)
下一篇:3.4 纠错输出码(奇想:用编码来分类)