无监督学习中的降维、特征提取、流形学习与聚类方法
1. 主成分分析(PCA)的局限性
在使用主成分分析(PCA)时,如果仅采用前两个主成分,数据往往呈现为一个大的团块,各类别之间无法清晰区分。即便使用10个主成分,PCA也只能捕捉到数据的一些粗略特征。
2. 非负矩阵分解(NMF)
2.1 算法原理
非负矩阵分解(NMF)是一种无监督学习算法,旨在提取有用特征,与PCA类似,也可用于降维。在PCA中,我们试图将每个数据点表示为一些成分的加权和,且希望这些成分相互正交,并尽可能解释数据的方差。而在NMF中,我们要求成分和系数均为非负,即大于或等于零。因此,该方法仅适用于每个特征均为非负的数据,因为非负成分的非负加权和不可能为负。
2.2 应用于合成数据
与PCA不同,NMF要求数据为正。数据相对于原点(0, 0)的位置对NMF很重要,提取的非负成分可视为从(0, 0)指向数据的方向。以下是使用NMF处理二维合成数据的示例代码:
import mglearn
import matplotlib.pyplot as plt
mglearn.plots.plot_nmf_illustration()
plt.suptitle("nmf_illustration")
当使用两个成分进行NMF时,数据中的所有点都可以表示为这两个成分的正组合。若成分数量足够多以完美重构数据,算法会选择指向数据极值的方向。若仅使用一个成分,NMF会创建一个指向均值的成分,因为这样能最好地解释数据。与PCA不同,减少NMF
超级会员免费看
订阅专栏 解锁全文
1242

被折叠的 条评论
为什么被折叠?



