zoukankan      html  css  js  c++  java
  • K-means: optimization objective(最小化cost function来求相应的参数)

    类似于linear regression,K-means算法也optimization objective或者是试图使cost function求最小值。

    了解K-means算法的optimization objective有助于我们(1)调试算法时,看算法是否运行正确(在本节中可以看到)(2)使算法找到更好的cluster,避免局部最优解(在下节中会讲)

    K-means optimization objective

    uc(i):表示x(i)分给的那个cluster的cluster centroid

    K表示有K个cluster,k表示cluster centoid的index.

    cost function为x(i)到属于它的cluster的cluster centroid的距离的平方的累加

    通过求cost function的最小值来求得参数c与u.

    这个cost function有时也称为distortion cost function(失真代价函数)

    K-means算法

    wrt: with respect to(关于)

    Cluster assignment step:就是将u固定,C做为参数来求cost function J(C)的最小值时的C值

    move centroid step: C固定,u做为参数来求cost function J(u)的最小值时的u值

    通过循环来收敛求得最后的C与u

    所以我们可以通过迭代次数与cost function之间的函数的关系来看程序是否是正确运行。正确运行的程序应该是随着迭代次数的增加,cost function递减而收敛

    总结

    1. K-means算法的过程就是最小化cost function J来求最优化参数的过程
    2. 通过cost function是否随着迭代次数的增加而收敛来判断算法是否正确运行
  • 相关阅读:
    100+ Python挑战性编程练习(1)
    python面试题--初级(二)
    python面试题--初级(一)
    centos查看iptables和firewall防火墙状态、开启、关闭防火墙
    Keepalived nginx HA负载均衡
    windows10安装SQLServer 2008 R2详细说明
    CentOS安装mysql5.7
    centOS7.5安装docker
    redis哨兵选举算法--raft
    CentOS7.5安装GitLab及汉化
  • 原文地址:https://www.cnblogs.com/yan2015/p/5236571.html
Copyright © 2011-2022 走看看