无监督学习 没有标签算法
聚类(Clustering)函数
图上的数据看起来能够分红两个分开的点集(称为簇),这就是为聚类算法。学习
此后咱们还将提到其余类型的非监督学习算法,它们能够为咱们找到其余类型的结构或者其余的一些模式,而不仅是簇。3d
K-均值是最普及的聚类算法,算法接受一个未标记的数据集,而后将数据聚类成不一样的组。blog
K-均值是一个迭代算法,假设咱们想要将数据聚类成 n 个组,其方法为:
首先选择𝐾个随机的点,称为聚类中心(cluster centroids);
对于数据集中的每个数据,按照距离𝐾个中心点的距离,将其与距离最近的中心点关
联起来,与同一个中心点关联的全部点聚成一类。
计算每个组的平均值,将该组所关联的中心点移动到平均值的位置。
重复步骤 2-4 直至中心点再也不变化。基础
K-均值算法也能够很便利地用于将数据分为许多不一样组,即便在没有很是明显区分的组
群的状况下也能够。下图所示的数据集包含身高和体重两项特征构成的,利用 K-均值算法将
数据分为三类,用于帮助肯定将要生产的 T-恤衫的三种尺寸。方法
在运行 K-均值算法的以前,咱们首先要随机初始化全部的聚类中心点,下面介绍怎样
作:im
没有所谓最好的选择聚类数的方法,一般是须要根据不一样的问题,人工进行选择的。选
择的时候思考咱们运用 K-均值算法聚类的动机是什么,而后选择能最好服务于该目的标聚
类数。数据
咱们可能会获得一条相似于这样的曲线。像一我的的肘部。这就是“肘部法则”所作的,
让咱们来看这样一个图,看起来就好像有一个很清楚的肘在那儿。好像人的手臂,若是你伸
出你的胳膊,那么这就是你的肩关节、肘关节、手。这就是“肘部法则”。你会发现这种模式,
它的畸变值会迅速降低,从 1 到 2,从 2 到 3 以后,你会在 3 的时候达到一个肘点。在此之
后,畸变值就降低的很是慢,看起来就像使用 3 个聚类来进行聚类是正确的,这是由于那个
点是曲线的肘点,畸变值降低得很快,𝐾 = 3以后就降低得很慢,那么咱们就选𝐾 = 3。当你
应用“肘部法则”的时候,若是你获得了一个像上面这样的图,那么这将是一种用来选择聚类
个数的合理方法。img
例如,咱们的 T-恤制造例子中,咱们要将用户按照身材聚类,咱们能够分红 3 个尺
寸:𝑆,𝑀,𝐿,也能够分红 5 个尺寸𝑋𝑆,𝑆,𝑀,𝐿,𝑋𝐿,这样的选择是创建在回答“聚类后咱们制造
的 T-恤是否能较好地适合咱们的客户”这个问题的基础上做出的。
聚类的衡量指标
(1). 均一性:𝑝 (2). 完整性:𝑟 (3). V-measure: (4). 轮廓系数 (5). ARI