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

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

作者: 行走读书生活 | 来源:发表于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