11种最常见的机器学习算法简介( 五 )


· 为每个群集随机选择形心(群集的中心) 。
· 计算所有数据点到质心的距离 。
· 将数据点分配给最近的群集 。
· 通过获取群集中所有数据点的平均值 , 找到每个群集的新质心 。
· 重复步骤2 , 3和4 , 直到所有点收敛并且聚类中心停止移动 。
K-Means聚类相对快速且易于解释 。它还能够以智能方式选择初始质心的位置 , 从而加快收敛速度 。
k均值的挑战之一是必须预先确定簇的数量 。K-means算法无法猜测数据中存在多少个簇 。如果存在将数据中的组分开的非线性结构 , 则k均值将不是一个好的选择 。
9.层次聚类分层聚类意味着通过迭代分组或分离数据点来创建聚类树 。有两种类型的层次结构聚类:
· 聚集聚类
· 分裂聚类
分层聚类的优点之一是我们不必指定聚类的数量(但可以) 。

11种最常见的机器学习算法简介

文章插图
 
聚集聚类是一种自下而上的方法 。首先假定每个数据点都是一个单独的群集 。然后 , 将相似的群集进行迭代组合 。
11种最常见的机器学习算法简介

文章插图
 
上图称为树状图 , 该图表示基于树的方法 。在分层聚类中 , 树状图用于可视化聚类之间的关系 。
分层聚类的优点之一是我们不必预先指定聚类的数量 。但是 , 将所有数据点组合到一个群集中是不明智的 。我们应该在某个时候停止合并集群 。Scikit-learn为此提供了两个选项:
· 在达到多个群集后停止(n_clusters)
· 设置链接的阈值(distance_threshold) 。如果两个群集之间的距离高于阈值 , 则这些群集将不会合并 。
分裂聚类在现实生活中并不常用 , 因此我将简要介绍一下 。简单而清晰的解释是分裂聚类与聚集聚类相反 。我们从一个包含所有数据点的巨型群集开始 。然后 , 将数据点分为不同的群集 。这是自下而上的方法 。
层次集群总是生成相同的集群 。K-均值聚类可能会导致不同的聚类 , 具体取决于质心(聚类中心)的启动方式 。但是 , 与k均值相比 , 它是一种较慢的算法 。分层群集需要很长时间才能运行 , 尤其是对于大型数据集 。
10. DBSCAN集群基于分区的分层聚类技术对于标准形状的聚类非常高效 。但是 , 当涉及到任意形状的聚类或检测离群值时 , 基于密度的技术更为有效 。
11种最常见的机器学习算法简介

文章插图
> Arbitrary shaped clusters
 
11种最常见的机器学习算法简介

文章插图
> Arbitrary shaped clusters
 
DBSCAN代表带噪声的应用程序的基于密度的空间聚类 。它能够找到任意形状的聚类和带有噪声的聚类(即离群值) 。
DBSCAN的主要思想是 , 如果某个点与该簇中的许多点接近 , 则该点属于该簇 。
DBSCAN有两个关键参数:
· eps:指定邻域的距离 。如果两个点之间的距离小于或等于eps , 则将其视为邻居 。
· minPts:定义集群的最小数据点数 。
根据这两个参数 , 将点分为核心点 , 边界点或离群值:
· 核心点:如果在其半径为eps的周围区域中至少有minPts个点(包括该点本身) , 则该点为核心点 。
· 边界点:如果一个点可以从核心点到达并且在其周围区域内的点数少于minPts , 则它是边界点 。
· 离群值:如果一个点不是核心点并且无法从任何核心点到达 , 则该点就是离群值 。
DBSCAN不需要预先指定群集数 。它对异常值具有鲁棒性 , 并且能够检测到异常值 。
在某些情况下 , 确定适当的邻域(eps)距离并不容易 , 并且需要领域知识 。
11.主成分分析(PCA)PCA是降维算法 , 它基本上从现有特征中衍生出新特征 , 同时保留了尽可能多的信息 。PCA是一种无监督的学习算法 , 但它也广泛用作有监督的学习算法的预处理步骤 。
PCA通过查找数据集中要素之间的关系来推导新要素 。
注意:PCA是线性降维算法 。也有非线性方法可用 。
PCA的目的是通过使用较少的特征(或列)来尽可能多地解释原始数据集中的方差 。新派生的功能称为主成分 。主成分的顺序是根据它们解释的原始数据集的方差分数确定的 。


推荐阅读