zoukankan      html  css  js  c++  java
  • k-means算法

         K-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-means算法以欧式距离作为相似度测度,它是求对应某一初始聚类中心向量V最优分类,使得评价指标J最小。算法采用误差平方和准则函数作为聚类准则函数。

    算法过程如下:

    1)从N个文档随机选取K个文档作为质心

    2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类

    3)重新计算已经得到的各个类的质心

    4)迭代2~3步直至新的质心与原质心相等或小于指定阈值,算法结束

    具体如下:

    输入:k, data[n];

    (1) 选择k个初始中心点,例如c[0]=data[0],…c[k-1]=data[k-1];

    (2) 对于data[0]….data[n],分别与c[0]…c[k-1]比较,假定与c[i]差值最少,就标记为i;

    (3) 对于所有标记为i点,重新计算c[i]={ 所有标记为i的data[j]之和}/标记为i的个数;

    (4) 重复(2)(3),直到所有c[i]值的变化小于给定阈值

  • 相关阅读:
    springMvc
    计算机网络
    Mybatis 总结
    Spring 面试总结
    Java IO 流
    自定义类加载器
    缓存一致性协议
    dfs、bfs序
    7.26
    Trick
  • 原文地址:https://www.cnblogs.com/wangmengzhu/p/7872652.html
Copyright © 2011-2022 走看看