数据挖掘
数据挖掘(Data Mining,DM)是从大量数据中提取信息以查看隐藏的知识并便于将其用于实时应用程序。 DM有多种用于数据分析的算法。用于分析的一些主要DM技术是聚类,关联,分类等。聚集是用于探索性数据分析的有效技术,并已在各种领域中找到应用。大多数现有的聚类方法可以分为三类:分区,分层,基于网格和基于模型的方法。基于分区的聚类生成数据分区,使得集群中的对象与其他集群中的对象相比更加相似。 k-Means ,EM 和k-medoids 是分割方法的例子。分区算法的优点是能够通过在目标函数中使用适当的原型和距离度量来整合有关全局形状或集群大小的知识。
聚类分析
聚类分析仅基于描述对象及其关系的数据中的信息对数据对象进行分组。 目标是组内的对象彼此相似(或相关),与其他组中的对象不同(或无关)。 组内相似性(或同质性)越大,组间差异越大,聚类越好或越明显。本文主要介绍最为常用的一种聚类算法——k-means算法。
算法介绍
k-means是解决众所周知的聚类问题的最简单的无监督学习算法之一。该过程遵循一个简单的方法,通过一定数量的聚类(假设k个聚类)对给定的数据集进行分类。主要想法是定义k个质心,每个集群一个。
基于这样一个假设,我们再来导出k-means所要优化的目标函数:设我们一共有N个数据点需要分为k个cluster,而k-means要做的就是要最小化这个目标函数
这个函数,其中