降维意味着我们在不丢失太多信息的情况下减少数据集中的特征数量,降维算法属于无监督学习的范畴,用未标记的数据训练算法。
尽管降维方法种类繁多,但它们都可以归为两大类:线性和非线性。
线性方法将数据从高维空间线性投影到低维空间(因此称为线性投影)。例子包括PCA和LDA。
非线性方法提供了一种执行非线性降维(NLDR)的方法。我们经常使用NLDR来发现原始数据的非线性结构。当原始数据不可线性分离时,NLDR很有用。在某些情况下,非线性降维也被称为流形学习。
本文整理了10个常用的非线性降维技术,可以帮助你在日常工作中进行选择
1、核PCA
你们可能熟悉正常的PCA,这是一种线性降维技术。核PCA可以看作是正态主成分分析的非线性版本。
常规主成分分析和核主成分分析都可以进行降维。但是核PCA能很好地处理线性不可分割的数据。因此,核PCA算法的主要用途是使线性不可分的数据线性可分,同时降低数据的维数!
我们先创建一个非常经典的数据:
import matplotlib.pyplot as plt
plt.figure(figsize=[7, 5])
from sklearn.datasets import make_moons
X, y = make_moons(n_samples=100, noise=None,
random_state=0)
plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='plasma')
plt.title('Linearly inseparable data')
分享说明:转发分享请注明出处。
下一篇:机器学习是联络中心的未来