机器学习与深度学习面试系列十一(聚类和EM)1
需积分: 0 90 浏览量
更新于2022-08-03
1
收藏 939KB PDF 举报
机器学习与深度学习面试系列中,聚类是一个重要的主题,涉及无监督学习方法,用于将数据点分组,使得同一组内的数据具有相似性,而不同组之间则差异较大。聚类算法通常不依赖于预先标记的数据,而是通过数据自身的特性进行分析。
1. **层次聚类** 分为自下而上和自上而下两种方式。自下而上(凝聚型)从单个数据点开始,逐步合并最相似的类,直到满足停止条件(如类的数量或相似性阈值)。自上而下(分裂型)则相反,从所有数据点构成一个大类开始,逐渐分裂成小类。常用的距离度量有类间最短距离、最长距离、类中心距离和类平均距离等。
2. **基于划分的聚类** 以K-means算法为代表,需要预先设定聚类数量K。算法流程包括选择初始质心,将数据分配到最近的质心所属的类,然后更新质心为类内点的平均值,不断迭代直至质心不再改变。K-means算法的关键是选择合适的K值,常使用手肘法来判断最佳K值。
3. **基于密度的聚类** 如DBSCAN,不依赖于预先设定的类数量,而是根据数据点的密度来识别簇。高密度区域被视为聚类,低密度区域作为噪声或连接簇的边界。
4. **基于网格的聚类** 通过将数据空间划分为网格,计算每个网格的密度,然后根据预设阈值合并高密度网格形成聚类。这种方法在处理速度上有优势,但对数据维度敏感,且易受网格大小和阈值设置影响。
5. **基于模型的聚类** 包括概率模型(如高斯混合模型GMM)和神经网络(如自组织映射SOM)。GMM假设数据由多个高斯分布混合生成,每个数据点属于某一类的概率可计算。
K-means算法的损失函数,也称为畸变函数,是所有数据点与其所在类质心之间距离平方和的总和。选择K值时,可以通过手肘法则,观察不同K值对应的损失函数曲线,拐点处的K值通常被认为是最佳选择。K-means算法对初始质心的选择敏感,可能只找到局部最优解,且易受噪声点影响。因此,数据通常需要进行归一化处理以消除不同维度的影响,提高聚类质量。此外,K-means算法不适用于形状不规则或大小差异悬殊的簇。