1. 典型聚类算法
1.1 基于划分的方法
表明:kmeans算法算法
·指定k个聚类中心
·(计算数据点与初始聚类中心的距离)
·(对于数据点
,找到最近的
{i}ci(聚类中心),将
分配到
{i}ci中)
·(更新聚类中心点,
是新类别数值的均值点)
·(计算每一类的误差)
·返回
返回第二步网络
1.2 基于层次的方法
表明:CURE算法学习
·每一个样本做为单独的一个类别
·
·合并,
为
·遍历完本次样本,合并成新的类别后,若存在多个类别,则返回第二步
·遍历完本次样本,合并成新的类别后,若全部样本为同一类别,跳出循环,输出每层类别spa
1.3 基于网格的方法
表明:STING算法.net
·将数据集合X划分多层网格结构,从某一层开始计算
·查询该层网格间的属性值,计算属性值与阈值的关系,断定网格间的相关状况,不相关的网格不做考虑
·若是网格相关,则进入下一层的相关区域继续第二步,直到下一层为最底层
·返回相关网格结果对象
1.4 基于密度的方法
表明:DBSCAN算法教程
·输入数据集合X,随机选取一点,并找出这个点的全部高密度可达点
·遍历此点的全部邻域内的点,并寻找这些密度可达点,断定某点
邻域内的点,并寻找这些点密度可达点,断定某点的
邻域内的点数是否超过阈值点数,超过则构成核心点
·扫描数据集,寻找没有被聚类的数据点,重复第二步
·输出划分的类,并输出异常值点(不和其余密度相连)资源
1.5 神经网络的方法
表明:SOM算法博客
·数据集合,权重向量为
,
,归一化处理
·寻找获胜的神经元,找到最小距离,对于每个输入数据,找到与之最相匹配的节点
令为
为
的距离,更新权重:
·更新临近节点,,其中
表明学习率it
1.6 基于图的聚类方法
表明:谱聚类算法
·计算邻接矩阵,度矩阵
,
·计算拉普拉及矩阵
·计算归一化拉普拉斯矩阵
·计算的特征值和特征向量
·对Q矩阵进行聚类,获得聚类结果
2. 聚类算法的评价指标
一个好的聚类方法能够产生高品质簇,是的簇内类似度高,簇间类似度低。通常来讲,评估聚类质量有两个标准,内部质量评价指标和外部评价指标。
2.1 内部质量评价标准
内部评价指标是利用数据集的属性特征来评价聚类算法的优劣。经过计算整体的类似度,簇间平均类似度或簇内平均类似度来评价聚类质量。评价聚类效果的高低一般使用聚类的有效性指标,因此目前的检验聚类的有效性指标主要是经过簇间距离和簇内距离来衡量。这类指标经常使用的有CH(Calinski-Harabasz)指标等
CH指标
CH指标定义为:
其中表示类间距离差矩阵的迹,
表示类内离差矩阵的迹,
是整个数据集的均值,
是第
个簇
的均值,
表明聚类个数,
表明当前的类。
值越大,聚类效果越好,
主要计算簇间距离与簇内距离的比值
簇的凝聚度
簇内点对的平均距离反映了簇的凝聚度,通常使用组内偏差平方(SSE)表示:
簇的邻近度
簇的邻近度用组间平方和(SSB)表示,即簇的质心到簇内全部数据点的总平均值
的距离的平方和
2.2 外部质量评价标准
外部质量评价指标是基于已知分类标签数据集进行评价的,这样能够将原有标签数据与聚类输出结果进行对比。外部质量评价指标的理想聚类结果是:具备不一样类标签的数据聚合到不一样的簇中,具备相同类标签的数据聚合相同的簇中。外部质量评价准则一般使用熵,纯度等指标进行度量。
熵:
簇内包含单个类对象的一种度量。对于每个簇,首先计算数据的类分布,即对于簇,计算簇
的成员属于类
的几率
其中表示簇
中全部对象的个数,而
是簇
中类
的对象个数。使用类分布,用标准公式:
计算每一个簇的熵,其中K是类个数。簇集合的总熵用每一个簇的熵的加权和计算即:
其中是簇的个数,而
是簇内数据点的总和
纯度:
簇内包含单个类对象的另一种度量。簇的纯度为
,而聚类总纯度为:
欢迎关注磐创博客资源汇总站:
http://docs.panchuang.net/
欢迎关注PyTorch官方中文教程站: http://pytorch.panchuang.net/