2.14.3 二类LDA算法原理? 内容修订

2.14.3 二类LDA算法原理? 内容修订
向量加粗
y集合修正 为2分类
This commit is contained in:
CoderOverflow 2019-04-15 18:11:22 +08:00 committed by GitHub
parent 9951a47c14
commit 68487c86fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 11 deletions

View File

@ -759,7 +759,7 @@ LDA分类思想简单总结如下
以上例子是基于数据是二维的,分类后的投影是一条直线。如果原始数据是多维的,则投影后的分类面是一低维的超平面。
### 2.14.3 二类LDA算法原理
输入:数据集 $D=\{(x_1,y_1),(x_2,y_2),...,(x_m,y_m)\}$,其中样本 $x_i $ 是n维向量$y_i \epsilon \{C_1, C_2, ..., C_k\}$,降维后的目标维度 $d$。定义
输入:数据集 $D=\{(\boldsymbol x_1,\boldsymbol y_1),(\boldsymbol x_2,\boldsymbol y_2),...,(\boldsymbol x_m,\boldsymbol y_m)\}$,其中样本 $\boldsymbol x_i $ 是n维向量$\boldsymbol y_i \epsilon \{0, 1\}$,降维后的目标维度 $d$。定义
$N_j(j=0,1)$ 为第 $j$ 类样本个数;
@ -771,28 +771,28 @@ LDA分类思想简单总结如下
其中
$$
u_j = \frac{1}{N_j} \sum_{x\epsilon X_j}x(j=0,1)
\sum_j = \sum_{x\epsilon X_j}(x-u_j)(x-u_j)^T(j=0,1)
u_j = \frac{1}{N_j} \sum_{\boldsymbol x\epsilon X_j}\boldsymbol x(j=0,1)
\sum_j = \sum_{\boldsymbol x\epsilon X_j}(\boldsymbol x-u_j)(\boldsymbol x-u_j)^T(j=0,1)
$$
假设投影直线是向量 $w$,对任意样本 $x_i$,它在直线 $w$上的投影为 $w^tx_i$,两个类别的中心点 $u_0$, $u_1 $在直线 $w$ 的投影分别为 $w^Tu_0$ 、$w^Tu_1$。
假设投影直线是向量 $\boldsymbol w$,对任意样本 $\boldsymbol x_i$,它在直线 $w$上的投影为 $w^tx_i$,两个类别的中心点 $u_0$, $u_1 $在直线 $w$ 的投影分别为 $\boldsymbol w^Tu_0$ 、$\boldsymbol w^Tu_1$。
LDA的目标是让两类别的数据中心间的距离 $\| w^Tu_0 - w^Tu_1 \|^2_2$ 尽量大,与此同时,希望同类样本投影点的协方差$w^T \sum_0 w$、$w^T \sum_1 w$ 尽量小,最小化 $w^T \sum_0 w - w^T \sum_1 w$ 。
LDA的目标是让两类别的数据中心间的距离 $\| \boldsymbol w^Tu_0 - \boldsymbol w^Tu_1 \|^2_2$ 尽量大,与此同时,希望同类样本投影点的协方差$\boldsymbol w^T \sum_0 \boldsymbol w$、$\boldsymbol w^T \sum_1 \boldsymbol w$ 尽量小,最小化 $\boldsymbol w^T \sum_0 \boldsymbolw - \boldsymbol w^T \sum_1 \boldsymbol w$ 。
定义
类内散度矩阵
$$
S_w = \sum_0 + \sum_1 =
\sum_{x\epsilon X_0}(x-u_0)(x-u_0)^T +
\sum_{x\epsilon X_1}(x-u_1)(x-u_1)^T
\sum_{\boldsymbol x\epsilon X_0}(\boldsymbol x-u_0)(\boldsymbol x-u_0)^T +
\sum_{\boldsymbol x\epsilon X_1}(\boldsymbol x-u_1)(\boldsymbol x-u_1)^T
$$
类间散度矩阵 $S_b = (u_0 - u_1)(u_0 - u_1)^T$
据上分析,优化目标为
$$
\arg \max J(w) = \frac{\| w^Tu_0 - w^Tu_1 \|^2_2}{w^T \sum_0w + w^T \sum_1w} =
\frac{w^T(u_0-u_1)(u_0-u_1)^Tw}{w^T(\sum_0 + \sum_1)w} =
\frac{w^TS_bw}{w^TS_ww}
\mathop{\arg\max}_\boldsymbol w J(\boldsymbol w) = \frac{\| \boldsymbol w^Tu_0 - \boldsymbol w^Tu_1 \|^2_2}{\boldsymbol w^T \sum_0\boldsymbol w + \boldsymbol w^T \sum_1\boldsymbol w} =
\frac{\boldsymbol w^T(u_0-u_1)(u_0-u_1)^T\boldsymbol w}{\boldsymbol w^T(\sum_0 + \sum_1)\boldsymbol w} =
\frac{\boldsymbol w^TS_b\boldsymbol w}{\boldsymbol w^TS_w\boldsymbol w}
$$
根据广义瑞利商的性质,矩阵 $S^{-1}_{w} S_b$ 的最大特征值为 $j(w)$ 的最大值,矩阵 $S^{-1}_{w} S_b$ 的最大特征值对应的特征向量即为 $w$。
根据广义瑞利商的性质,矩阵 $S^{-1}_{w} S_b$ 的最大特征值为 $J(\boldsymbol w)$ 的最大值,矩阵 $S^{-1}_{w} S_b$ 的最大特征值对应的特征向量即为 $\boldsymbol w$。
### 2.14.4 LDA算法流程总结
LDA算法降维流程如下