从零开始实现线性判别分析(LDA)算法(多类情形)

Posted 风雪夜归子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始实现线性判别分析(LDA)算法(多类情形)相关的知识,希望对你有一定的参考价值。

声明:版权所有,转载请联系作者并注明出处:
http://blog.csdn.net/u013719780?viewmode=contents

知乎专栏:
https://www.zhihu.com/people/feng-xue-ye-gui-zi/columns

前文详细阐述了只有二类的情形,假设如果是多类情形,该怎么处理才能保证投影后的类别能够较好的分离呢?

我们之前讨论的是如何将 n (特征个数)维降到一维,现在类别多了,一维也许已经不能做到投影后达到较好的分离效果。假设我们有nlabels个类别,需要 k 维向量(基向量)来做投影。将这k维向量表示为

W=(w1,w2,,wk),wi(i=1,2,,k),

则有

yi=wTix,y=WTx,

D 按照类别标签划分为Dnlabels D1,D2,,Dnlabels , 其中 D1D2Dnlabels=D,D1D2Dnlabels= ,
定义每个子集的中心:

若是多类别,相关符号与二类别类似(详见上篇文章),其中子集 Di 的均值(中心)为

μi=1nix(i)Dix(i),(1)

总体样本均值:

μ=1mx(从零开始实现主成分分析(PCA)算法

Matlab基于线性判别法LDA实现多分类预测(Excel可直接替换数据)

Matlab基于线性判别法LDA实现多分类预测(Excel可直接替换数据)

机器学习算法的Python实现 :logistics回归 与 线性判别分析(LDA)

线性判别分析LDA算法——

线性判别分析(Linear Discriminant Analysis, LDA)算法初识