Fisher线性判别分析
案例说明
案例
\(以下两个维度比较在不同温度下冶炼的钢铁群体\)
\(Y_1代表钢铁击穿点(yield point)\)
\(Y_2代表钢铁强度(ultimate\quad strength)\)
\(温度1\)
$$y_1$$ | $$y_2$$ |
---|---|
33 | 60 |
36 | 61 |
35 | 64 |
38 | 63 |
40 | 65 |
\(温度2\)
$$y_1$$ | $$y_2$$ |
---|---|
35 | 57 |
36 | 59 |
38 | 59 |
39 | 61 |
41 | 63 |
43 | 65 |
41 | 59 |
Fisher线性判别分析(Fisher's linear discriminant analysis,LDA)
假设
\(两个群体的均值向量(\mu_1\ne \mu_2),但具有相同的协方差矩阵\Sigma\)
\(随机样本(历史数据)\)
\(第一个p维群体y_{11},...,y_{1n_1}\)
\(样本均值向量\bar y_1,样本容量n_1,协方差矩阵\frac{\Sigma}{n_1}\)
\(第二个p维群体y_{21},...,y_{2n_2}\)
\(样本均值向量\bar y_2,样本容量n_2,协方差矩阵\frac{\Sigma}{n_2}\)
思路
\(用来寻找两个群体间"最好"的线性判别法则,来最大限度地区分两个群体\)
目标 找到方向a,使得所有点,投影下来后,两个群体分的最开
\(投影就是做a和y_1两个向量的內积,也就是\bar Z_1,然后两个投影相减 d=\bar Z_1 -\bar Z_2\)
这个d是欧式距离,但距离大不一定是分得开,所以用标准化距离
标准化就是要除以自己的方差
\(d=\bar Z_1-\bar Z_2=a^T(\bar y_1-\bar y_2)\)
\(Cov(\bar y_1)=\frac{\Sigma}{n_1}\)
\(Cov(\bar y_2)=\frac{\Sigma}{n_2}\)
\(Cov(\bar y_1-\bar y_2)=\Sigma(\frac{1}{n_1}+\frac{1}{n_2})\)
\(var(d)=(\frac{1}{n_1}+\frac{1}{n_2})a'\Sigma a\)
\(s_d=\sqrt{(\frac{1}{n_1}+\frac{1}{n_2})a'S_{pl} a}\)
\(S_{pl}是指用样本(包括两分类样本都算)算出来的协方差矩阵,\Sigma是模型真实的协方差矩阵\)
\(标准化距离就是\frac{d}{s_d},可正可负,所以一般处理平方(\frac{d}{s_d})^2\)
投影后标准化距离(平方)为
\(t^2(a)=\frac{\left\{a^T(\bar y_1-\bar y_2)\right\}^2}{(\frac{1}{n_1}+\frac{1}{n_2})a^TS_{pl}a}\)
\(Fisher线性判别分析找a使得t^2(a)最大\)
怎么求最大值
\(1.(\frac{1}{n_1}+\frac{1}{n_2}) 是常数\)
\(2.利用柯西不等式\)
\((a^Tb)^2\le (a^Ta)(b^Tb) ; 当且仅当\quad a=b,內积的平方小于等于模长的平方的积\)
\(柯西不等式的变形\)
\((a^Tb)^2\le (a^TWa)(b^TW^{-1}b)\)
\(或者\frac{(a^Tb)^2}{a^TWa}\le b^TW^{-1}b; 当且仅当 \quad a=W^{-1}b\)
\(所以最大值时,a=S_{pl}^{-1}(\bar y_1-\bar y_2)\)
\(称为\color{red}{判别函数系数(Discriminant\quad function \quad coefficient)}\)
\(z=a^Ty\)
\(称为\color{red}{Fisher判别函数(Fisher's \quad discriminant \quad function)}\)
回到原来的案例,看下计算结果
结尾
材料来自于b站,厦门大学多元统计分析
这里要求两分类样本的协方差矩阵是一样的,但实际也是可以不一样的,在PRML一书中 公式4.28
\(S_W = \sum\limits_{n \in C_1}(x_n - m_1)(x_n - m_1)^T + \sum\limits_{n \in C_2}(x_n - m_2)(x_n - m_2)^T\)
就用的是两个协方差的加和操作