机器学习 无监督学习之K-means

什么是K-means?

 

K均值算法是为了把一些没有标签的数据按照一定的规则划分为几个类别,一般这个规则选取为欧氏距离

 

K-means的一般步骤?

 

1.随机初始化簇的中心。

2.遍历每一个数据点,计算数据点到所有簇中心的距离,并将数据点分配到距离最小的簇

3.更新簇中心位置。

 

K-means代价函数?

 

机器学习 无监督学习之K-means_第1张图片

计算每个数据点到它所被划分到的簇中心的距离的均值。

 

簇的个数怎么选择?

 

簇的个数有以下几个方法进行参考:

 

1.将所有的数据点绘制在坐标图上,人为根据肉眼看到的类别个数进行确定簇的个数。

机器学习 无监督学习之K-means_第2张图片

2.绘制肘图。K值从1~100递增起来,根据不同的K计算代价函数,观察肘图,发现拐点的位置,确定为K。

机器学习 无监督学习之K-means_第3张图片

3.根据聚类后的需要进行类别的划分。例如:聚类后的数据分 Vip1,Vip2,Vip3 三种用户,那么K就取三。

 

数据的中心怎么初始化?

 

一般数据的中心是随机初始化的,随机选取K个数据点作为数据的初始中心,但是容易产生局部最优的问题。解决办法是多次随机初始化,一般次数选取50-1000次,多次随机初始化可以解决局部最优的问题。

你可能感兴趣的:(Machine,Learing)