LDA vs. PCA vs. NCA
来自于2019春季数据挖掘课习题
-
LDA
LDA 是一种经典的线性学习方法。在二分类问题上,其目标是找到一个投影方向,使得按照此投影方向投影后,同类样例的投影点尽可能近,而非同类样例的样本点尽可能远。在多分类问题上(设类别数为 C),同样可以按照上述思想进行推导。值得注意的是,在二分类问题上,投影后的样本点的维度为 1, 而在多分类问题上,至多可以找到 C-1 个正交的投影方向,即投影后的样本点的维度可以为 [1,C-1],这可能远远小于数据的特征维数(例如,几千维)。由于在投影过程中用到了类别标记信息,所以 LDA 可以看做为一种监督的降维技术,且降维变换是线性变换。 -
PCA
PCA 是一种无监督的降维技术,其在降维过程中不会用到监督信息。其有两种等价的推导方式,(1)最大可分性: 投影后的样本点能够尽可能地分开(投影过程没有丢失太多信息,或者用方差代表能量,没有丢失太多能量)(2)最近重构性:投影后的样本点在原始空间中的表示和对应的投影前的样本点之间的距离尽可能地近,(投影偏差不会很大,只丢弃无关噪声)。
通常需要先对所有样本进行均值归0预处理。
投影后的样本点的维度的可取范围一般是 [1,d](d为原始样本点的维度)。PCA 有利于表示数据,但斌没有对后续的分类有直接的帮助。同样,PCA 降维属于线性变换。 -
NCA(Neighbor component analysis, 近邻成分分析)
属于度量学习和降维领域的一项研究,其本意是学到一个好的马氏距离,是的利用此距离(而非欧式距离)来度量样本点的相似度,可以获得准确率更高的近邻分类器。
而由此马氏距离可以衍生出一个投影矩阵,是的原始样本点的马氏距离,与投影后的样本点的欧式距离相同,因此,NCA 的过程可以看做是找一个投影矩阵,获得投影后的样本点,再进行近邻分类器的学习,故 NCA 也可以看做是一种降维技术,且是一种监督降维,与 LDA 不同的是,NCA 嵌入了近邻分类器,并用此分类器的准确率来衡量投影矩阵的好坏,而 LDA 只是一个直观地想法,同类的样本点尽可能近,而异类的样本点尽可能远,从而对分类有帮助。