版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Hemk340200600/article/details/85466943
非监督算法是机器学习研究的一大领域,它适用于不带标签的样本数据,采取一定的算法,将样本分成自动分类成不同的簇。
K均值(K-meas)
K均值算法接收两个输入,一个是K,表示簇的数量,另一个是不带标签的训练集{
}。
算法过程如下:
- 随机初始化K个聚类中心
- 遍历每个样本,对于每个样本,计算其与K个聚类中心的距离,将样本划分到距离最短的中心的簇内。
- 遍历每个聚类中心 ,计算被划分到簇 的样本的均值作为 的新位置。
令
表示样本i被划分到的簇的下标,则损失函数可以定义为:
我们的目标就是最小化(1),而算法步骤2和3的过程就是在最小化损失函数的过程。因此该算法是可行的。
距离的计算
通常使用欧式距离 。
聚类中心初始化
方法:通常随机取K个样本作为初始聚类中心。
参数K的选择
肘部原则:画出K从1开始的损失函数值的图像,一开始,图像会下降地比较快,然后趋于平缓,整个形状看起来像人的手肘,我们所要做的就是选取肘部对应的K作为我们的参数K。因为选取它前面的参数的话,损失函数值太高,选取它后面的参数的话,损失函数值变化的量又太少,因此肘部可能是一个合适的参数。然而画出来的图像不一定总是存在肘部,也有可能是平滑的,不过也是一种值得尝试的方法。
另一种方法是根据后续的目的来决定K参数的取值。
总结
优点:易于实现,非常简单且使用广泛
缺点:可能收敛于局部最小值,在大规模数据下收敛慢,对初始聚类中心的位置较为敏感,参数K需要手动选择。