码迷,mamicode.com
首页 > 其他好文 > 详细

K-means: optimization objective(最小化cost function来求相应的参数)

时间:2016-03-02 23:27:21      阅读:595      评论:0      收藏:0      [点我收藏+]

标签:

类似于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是否随着迭代次数的增加而收敛来判断算法是否正确运行

 

K-means: optimization objective(最小化cost function来求相应的参数)

标签:

原文地址:http://www.cnblogs.com/yan2015/p/5236571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!