LDA介绍
LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的,主要就是将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。总结来说就是“投影后类内方差小,类外方差大”。
二类LDA原理
假设我们有两类数据,,分别记为C和C2,首先计算两类数据的均值向量:n1,n2代表样本数量
计算类内散布矩阵Sw:
接着就是
目标是找到一个投影方向 ,使得投影后的类间散布与类内散布的比值最大化,即:
通过解决这个优化问题,得到最优的投影方向w。
多类LDA原理
假设又K个类别C1,C2,C3……Ck。
计算总体均值向量:
其中n是总样本数量,ni是第i类的样本数量, ui是第i类的均值向量。
类内散布矩阵Sw:
类间散布矩阵Sb:
同样寻找一个投影方向 ,使得投影后的类间散布与类内散布的比值最大化:
求解此优化问题得到最优投影方向。在实际应用中,通常会将数据投影到一个低维子空间,以实现降维和分类。
LDA算法流程
参考文章:https://github.com/ljpzzz/machinelearning https://www.cnblogs.com/pinard/p/6249328.html