美文网首页
学习笔记-机器学习-(10)聚类

学习笔记-机器学习-(10)聚类

作者: 饼干和蛋糕 | 来源:发表于2019-03-21 22:29 被阅读0次

    吴恩达-机器学习课程--13:Clustering 的学习总结:

    最常见的非监督算法:K-means算法

    假如想把以下训练集训练分为两簇

    随机选择两点,一部分点离红点更近,一部分点离蓝点更近

    移动两点至已分好的两类点的均值处,再次根据数据集离红蓝两点的距离分为两部分

    重复以上步骤,直至收敛

    更为正式的定义如下:

    算法输入:

    K (数据的聚类数)

    训练集 {x1,x2x3 ...,xn) 

    算法:

    随机初始化聚类中心 {μ1,μ2,μ3 ... μK}

    c^i 的值是一个1-K的数,表示离x^i最近的是 {μ1,μ2,μ3 ... μK}中的哪个聚类中心

    可以表示为计算x^i离每个聚类中心的距离,求出让距离最小的那个k值(出于惯例用平方表示)

    对于没有被很明确的分开的数据使用K-means算法

    K-means算法的优化目标:distortion cost function

    其中:

    举例

    初始化聚类中心

    选择K个样本点作为聚类中心,但可能选择的聚类中心,优化代价函数得到局部最优解,也就是不能很恰当的进行聚类。所以要多进行几次随机初始化聚类中心,选择最优解。

    如果K较小,在2-10内, 一般进行50-1000次随机初始化聚类中心,能得到更好的聚类结果。但如果K很大,一般不用很多次就能得到良好的聚类结果。

    聚类数K的选择:

    并没有一个绝对正确或错误的K值,所以一般是手工选择,而不是自动产生

    可以参考的方法:Elbow method

    画出K vs J()的图,选择拐点,但并不是总能得到这样有清晰拐点的图

    相关文章

      网友评论

          本文标题:学习笔记-机器学习-(10)聚类

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