机器学习之Kmeans

Posted 未央夜色

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习之Kmeans相关的知识,希望对你有一定的参考价值。

聚类

非监督学习,输入的数据没有标签,通过学习找出数据内在的性质和规律。
两个基本问题来衡量聚类效果的好坏:

性能度量

最佳的效果是簇内相似度高,簇间相似度低(类似高内聚低耦合)

  • 簇间度量(越大越好)

    • Jrccard系数
    • FM系数
    • Rand系数
  • 簇内度量

    • DB系数(越小越好)
    • Dumn系数(越大越好)

距离计算

有序属性

  • 闵可夫斯基距离
  • 曼哈顿距离
    是闵可夫斯基距离参数=1 的情况
  • 欧氏距离
    是闵可夫斯基距离参数=2 的情况

无序属性

Kmeans算法

综述

一种典型的无监督聚类算法。
根据距离计算,把相似度更近的放在一起的算法。
分类和聚类的最大区别是:分类的目标事先已知。聚类产生哪些类,事先不知道。
根据用户的要求,把数据集分成K类。结果性能的好坏,关键是K的选择
凸函数:fx的二次导数严格大于0

算法

  • 随机选择K个点作为起始质心。
  • 计算数据中每个点和起始质心之间的距离
  • 将数据分给最近的簇
  • 对于每个簇,计算平均中心,作为新的质心
  • 重复上述变换,直到质心的变换小于给定的阀值

递归部分:计算距离,分配,重置质心

  • 计算点到每个中心点的距离
  • 距离哪个中心点近,就归为哪个类
  • 求中心点和新点的均值。
  • 重置该类中心点
  • 计算下一个点

评价

最终得出的结果和最开始质心的选择有关。
容易陷入局部最优,而非全局最

分级聚类

综述

分级聚类通过将数据集中最相似的两个数据合并,得出一个新的群组
以后的操作都是合并两个最相近的群组,直到最后只剩下一个群组

层次聚类

分为自顶向下和自底向上两类

算法

自底向上:
将原始数据集中的每个数据都当做一个簇
找出距离最近的两个簇进行合并
直到达到预计的簇的个数
最近距离,最远距离,平均距离

以上是关于机器学习之Kmeans的主要内容,如果未能解决你的问题,请参考以下文章

机器学习之线性回归以及Logistic回归

郑捷《机器学习算法原理与编程实践》学习笔记(第四章 推荐系统原理)kmeans

系统学习机器学习之特征工程--多重共线性

系统学习机器学习之特征工程--多重共线性

使用 KMeans 时为每个质心获取超过 2 个坐标

1.机器学习之模型评估详解