• 机器学习: K-means 聚类


    今天介绍机器学习里常见的一种无监督聚类算法,K-means。我们先来考虑在一个高维空间的一组数据集,S={x1,x2,...,xN}xRD,假设我们需要把这组数据聚集长 K 类,不失一般性,我们可以假设每个聚好的类都有一个中心 μk,如果聚类完成的话,那么数据集中的每一个点 x 会有一个中心 μk 离这个点的距离最近。可以构造一个变量 rnk={0,1} 表示变量 x 离第 k 类最近 rnk=1,离其他的类更远 rnj=0,jk,那么我们可以定义如下的目标函数:

    J=n=1Nk=1Krnk||xnμk||2

    这个目标函数就是要求 rnk,μk,使得目标函数 J 的值最小。

    为了解决上面这个问题,因为要同时求 rnk,μk 两个变量,所以我们会采取分步迭代的方法,当我们求 rnk 可以让 μk 固定不动,当我们求 μk 的时候,可以让 rnk 固定不动。

    很显然,当我们求 rnk,只有比较每一个 xnμk 的距离,选择距离最近的一个类即可:

    rnk=1if=argminj||xnμj||2

    而求 μk 的时候,我们可以 让 rnk 固定不动, 对目标函数 J 求导,

    2n=1Nrnk(xnμk)=0

    从而我们可以求得 μk :

    μk=nrnkxnnrnk

    通过这样的反复迭代,直到所有的 rnk,μk 都不再变化。

  • 相关阅读:
    熬夜到凌晨2点半

    浏览器F12,Network中各按钮的作用
    postman收藏 -大佬玩法。
    Windows日常快捷键
    认识jmeter(一)
    web测试:test过程中接口报错 "Object reference not set to an instance of an object."
    postman-error:SyntaxError: Invalid shorthand property initializer
    mysql 表结构及基本操作
    getinstance方法(转)
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9412103.html
Copyright © 2020-2023  润新知