线性分类——fisher判别
目的:
分离两类已知样本集
方法:
该两类样本集可能线性不可分,在x1,x2…等坐标轴上的投影也可能十分混杂,但是,我们可以试想:是否存在某一线性函数,使得该两类样本集中的样本在该线性函数上的投影可分?对于某些特定分布的样本,这样的想法是合理并且可行的。
求解思路:
对投影后的样本,我们做如下要求:
类间: 参与分类的两类样本集的均值差的绝对值要大
通俗的说,两类样本集要离的非常远。(类间离散度越大越好)
类内: 本类样本集的方差要小
通俗的说,同一类样本集要分布的足够紧凑。(类内离散度越小越好)
求解具体过程:
定义:
投影前样本的均值为:
m
i
=
1
n
∑
X
m_i=\frac{1}{n}\sum{X}
mi=n1∑X
投影后样本的均值为:
m
∗
=
1
n
∑
W
T
X
=
W
T
∗
m
i
m^*=\frac{1}{n}\sum{W^TX}=W^T*m_i
m∗=n1∑WTX=WT∗mi
类间离散度:
S
12
∗
=
(
m
1
∗
−
m
2
∗
)
(
m
1
∗
−
m
2
∗
)
T
S^*_{12}=(m_1^*-m_2^*)(m_1^*-m_2^*)^T
S12∗=(m1∗−m2∗)(m1∗−m2∗)T
类内离散度:
S
i
∗
=
∑
(
W
T
X
−
m
i
∗
)
2
S_i^*=\sum{(W^TX-m_i^*)^2}
Si∗=∑(WTX−mi∗)2
代价函数:
J
(
W
)
=
S
12
∗
(
S
1
∗
+
S
2
∗
)
J(W)=\frac{S_{12}^*}{(S_1^*+S_2^*)}
J(W)=(S1∗+S2∗)S12∗
目标:
求一个向量$ W , 使 得 代 价 函 数 ,使得代价函数 ,使得代价函数 J $取最大值
求解过程略(可采用梯度下降法或拉格朗日乘子法)
求得的向量
W
W
W为:
W
=
S
w
−
1
(
m
1
−
m
2
)
W=S_w^{-1}(m_1-m_2)
W=Sw−1(m1−m2)
其中,
S
w
S_w
Sw为:
S
w
=
∑
(
X
−
m
1
)
(
X
−
m
1
)
T
+
∑
(
X
−
m
2
)
(
X
−
m
2
)
T
S_w=\sum{(X-m_1)(X-m_1)^T}+\sum{(X-m_2)(X-m_2)^T}
Sw=∑(X−m1)(X−m1)T+∑(X−m2)(X−m2)T
当且仅当
S
w
S_w
Sw可逆(也可以采用伪逆矩阵)
此时解得 W W W。
答案:
W W W为使得样本的投影在类间最分散,类内最集中地最优解。
W W W将n维样本降维至一维。
对未知样本进行预测:
已知某一样本
x
1
x_1
x1,则
{
i
f
W
T
X
+
b
0
>
0
x
1
∈
X
1
i
f
W
T
X
+
b
0
<
0
x
1
∈
X
2
\left\{ \begin{array}{c} if\quad W^TX+b_0>0\quad\quad x_1\in\ X_1\\ if\quad W^TX+b_0<0\quad\quad x_1\in\ X_2 \end{array} \right.
{ifWTX+b0>0x1∈ X1ifWTX+b0<0x1∈ X2
其中,
b
0
b_0
b0为
b
0
=
−
W
T
m
1
+
m
2
2
b_0=-W^T\frac{m_1+m_2}{2}
b0=−WT2m1+m2