美文网首页
【数据科学家学习小组】之机器学习第一期第八周作业

【数据科学家学习小组】之机器学习第一期第八周作业

作者: 行走读书生活 | 来源:发表于2019-12-29 23:25 被阅读0次

k-means定义:

聚类通过将数据集中的样本划分为若干个通常是不相交的子集,每个子集成为一个“簇”,每个簇可能对应于一些潜在的概念(也就是类别),是无监督的学习算法

模型原理:

对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大

收敛过程

1 随机选取k个中心点
2 遍历所有数据,将每个数据划分到最近的中心点中
3 计算每个聚类的平均值,并作为新的中心点
4 重复2-3,直到这k个中线点不再变化(收敛了),或执行了足够多的迭代
时间复杂度:O(Inkm)
空间复杂度:O(n
m)
其中m为每个元素字段个数,n为数据量,I为迭代个数。一般I,k,m均可认为是常量,所以时间和空间复杂度可以简化为O(n),即线性的。

超参数的选择

可以通过枚举,令k从2到一个固定值如10,在每个k值上重复运行数次kmeans(避免局部最优解),并计算当前k的平均轮廓系数,最后选取轮廓系数最大的值对应的k作为最终的集群数目。

K-Means算法

给定样本集D,k-means算法针对聚类所得簇划分C最小化平方误差。

image

E值越小则簇内样本相似度越高。
算法流程如下:

image

其中第一行对均值向量进行初始化,在第4-8行与第9-16行依次对当前簇划分及均值向量迭代更新,若迭代更新后聚类结果保持不变,则在第18行将当前簇划分结果返回。

相关文章

网友评论

      本文标题:【数据科学家学习小组】之机器学习第一期第八周作业

      本文链接:https://www.haomeiwen.com/subject/tlguoctx.html