1.K均值聚类(K-means clustering)
K均值聚类是一种常用的无监督机器学习算法,用于将一组数据点划分为K个簇(cluster),其中每个簇代表一组相似的数据点。K均值聚类算法的目标是最小化簇内数据点之间的平均距离,同时最大化不同簇之间的距离。
K均值聚类算法的流程如下:
①随机选择K个数据点作为初始簇中心点;
②对于剩余的数据点,计算它们与每个簇中心点的距离,并将其归类到距离最近的簇中;
③根据每个簇中所有数据点的坐标计算出新的簇中心点;
④重复步骤②和③直到簇中心点不再变化或达到预定的迭代次数。
K值的选择是K均值聚类算法的一个重要问题,可以使用启发式方法(如肘部法则)来确定K的最佳值。
2.K均值聚类是生成式还是判别式方法?
K均值聚类是一种生成式方法。生成式方法是指基于数据的统计模型,通过学习数据的概率分布来建立模型,从而能够生成新的数据。K均值聚类算法的本质是将数据点划分为不同的簇,并基于这些簇的特征生成新的簇,因此它属于生成式方法。
3.KNN VS. K-means
KNN是一种有监督学习算法,用于分类和回归问题。在分类问题中,KNN基于某个距离度量方法,在特征空间中寻找离新数据点最近的K个训练数据点,并将其归为该K个数据点所属的类别中最多的一类;在回归问题中,KNN则将新数据点的预测值设为其K个最近邻点的平均值。KNN算法的优点是简单易懂,可以适用于多种分类和回归问题,但是其计算复杂度高,对于大规模数据集不够高效。
K-means是一种无监督学习算法,用于将一组数据点划分为K个簇。K-means聚类算法通过迭代寻找最佳的簇中心点,将每个数据点归为距离最近的簇中。K-means算法的优点是简单易实现,适用于大规模数据集,并且聚类结果易于理解和可视化。但是,K-means算法对于初始聚类中心的选择比较敏感,需要多次随机初始化,有可能陷入局部最优解。
因此,KNN和K-means算法在应用场景和目标上有所不同,KNN适用于分类和回归问题,而K-means适用于聚类问题。
4.主成分分析(Principal Component Analysis,简称PCA)
PCA是一种常用的降维算法,旨在通过对高维数据进行线性变换,得到一组新的低维度特征,从而尽可能地保留原始数据的信息。
具体来说,PCA将原始数据映射到一个新的低维空间,使得在新的空间中数据点之间的协方差最小,从而能够找到一组最能代表原始数据的主成分(Principal Component),使得新的特征向量能够最大程度地解释原始数据的方差。PCA的基本思想是找到一个能够尽可能多地保留原始数据信息的投影方向,即将高维度的数据降到低维度。
PCA的主要步骤如下:
①去除均值:对原始数据