聚类学习

news/2024/5/20 8:46:45 标签: 机器学习, 聚类

聚类,无监督学习,将无标签样本分为几个簇,两个基本问题,性能度量和距离计算
聚类性能度量大致分为2类,外部指标:将聚类结果与某个“参考模型”进行比较;内部指标:直接考察聚类结果但是不利用任何参考模型。
外部指标JC/FMI/RI等,值越大性能越好。内部指标DBI/DI等,根据簇内样本的距离值来进行考察。

距离计算,距离函数dist(.,.)满足非负性,同一性,对称性,直递性,最常用的是“闵可夫斯基距离”,当p为2是为欧氏距离,根号下各坐标轴差值的平方和;当p为1时为曼哈顿距离,各坐标轴差值的和(街区距离)。

属性分为“连续属性”和“离散属性”,闵可夫斯基距离可用于计算有序属性,对于无序属性可使用VDM来计算距,将二者结合使用,即可处理混合属性,以上的距离定义和算法都是事先定义好的常规方法,对于现实任务,可以通过“距离度量学习”基于数据样本来确定合适的距离计算公式。

原型聚类,此类算法假设聚类结构能通过一组原型刻画。通常先对原型进行初始化,然后对原型进行迭代更新求解。
1. K均值算法
适用于给定样本集D,聚类划分为k个簇,k均值算法将最小化平方误差,直观来看,一定程度上刻画了簇内样本围绕簇均值向量的紧密程度。
此算法需先找到其样本集的所有可能的簇划分,是一个NP难问题,因此采用贪心策略,通过迭代优化来近似求解式(先根据样本集设定n个簇,然后假设n个初始均值向量,然后对样本进行分簇(根据样本和簇向量之间的距离,通过闵可夫斯基距离来进行计算),然后再计算各簇的均值向量并更新(即计算添加了新样本的簇的均值向量),再划分再求再更新,直到不变。实例详见西瓜书第9章。

   2. 学习向量量化
   与k均值算法类似,LVQ也是试图找到一组原型向量来刻画聚类结构,不同的是,LVQ假设数据样本带有类别标记,学习过程利用这些监督信息来辅助聚类。???假设标记从何而来,还是半标记??
   过程:先对原型向量初始化,从那些带类别标记的样本中选n个样本类别作为该类的原型向量。然后开始迭代,算法随机选取一个有标记训练样本,计算其最近的原型向量,如果和其类别标记一致,则将此时的原型向量更向类别标记方向偏离,偏离大小受学习率控制,不一致则相反。

   !!!类别数和原型向量没有数量关系,原型向量等于簇数,可以大于假设类别数。“原型”:样本空间中具有代表性的点,原型聚类则假设聚类结构能够通过一组原型来刻画。

   3. 高斯混合聚类,不同于二者,使用概率模型来表达聚类。多维高斯公式定义,将概率密度函数记为p(x|均值向量,协方差矩阵) 对应等同于 X∼N(μ,σ2)。
   过程:生成一个高斯混合聚类,由k个高斯混合成分组成,也就是讲分为k个簇,但不同于上述的距离计算,结合贝叶斯原理,计算样本最有可能由第k个高斯混合成分生成的后验概率来划分簇。

   高斯混合聚类是采用概率模型(高斯分布)对原型进行刻画,簇划分则由原型对应的后验概率确定。

   高斯混合分布公式由:各高斯混合成分的混合系数,均值向量,协方差矩阵构成,假设k个簇,则3k个参数。如何求解这3k个模型参数呢?? 可以采用极大似然估计,

密度聚类。DBSCAN算法,此算法假设聚类结构能通过样本分布的紧密程度确定,从样本密度角度考察样本的可连接性,并基于可连接样本不断拓展簇类。
算法概念:邻域/核心对象/密度直达/密度可达/密度相连
过程:对所有样本点进行核心对象检测,然后从核心对象集中随机选取一点出来找出其邻域内的点,若存在核心对象,则扩大邻域范围,直到无可加入的核心对象,至此一个簇的划分完成。然后从剩下的核心对象中继续上述步骤,直到无核心对象。
综上我们可知,簇划分中核心样本的加入扩充簇的范围。

层次聚类。AGNES算法,一种自底向上聚合策略的层次聚类算法,通过不断合并距离最近的簇来不断聚合簇。
过程:初始化,先将所有的样本视为一个初始聚类簇,然后求出各簇之间的距离,然后按顺序逐层进行合并,直到为预定的簇数。


http://www.niftyadmin.cn/n/1621638.html

相关文章

搭建3节点hadoop集群

前言 我们使用hadoop2.6.0版本配置Hadoop集群,同时配置NameNodeHA、ResourceManagerHA,并使用zookeeper来管理Hadoop集群。 (一)HDFS概述 基础架构 1、NameNode(Master) 1)命名空间管理:命名空间支持对HDFS中的目录、文…

机器学习降维算法对比分析(待补充)

主要的方法有属性(特征)选择,线性映射和非线性映射方法三大类。 一、属性(特征)选择 缺失值比率:如果数据集的缺失值太多,我们可以用这种方法减少变量数。 低方差滤波:这个方法可以从数据集中识别和删除常量变量,方…

实现Treeset

TreeSet实际上就是用二叉树实现的&#xff1b; 代码如下&#xff1a; public class MyTreeSet<T extends Comparable<? super T>> {private BinaryNode<T> root; //rootint modCount 0 ;//modifiy timepublic MyTreeSet(){root null;}private class Binar…

PCA的劣势分析

PCA原理剖析 矩阵的秩 特征向量 特征值是什么&#xff1f; 此篇博客主要分析PCA有什么劣势以及产生的原因&#xff0c;对PCA还不清楚的可以结合上面两个博客从多角度深入了解PCA。 劣势一&#xff0c;在对数据完全无知的情况下&#xff0c;PCA变换并不能得到较好的保留数据信息…

RabbitMQ(一):Windows下RabbitMQ安装

1.Windows下安装RabbitMQ需要以下几个步骤 (1)&#xff1a;下载erlang&#xff0c;原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的&#xff0c;下载地址&#xff1a;http://www.erlang.org/downloads&#xff0c;双击.exe文件进行安装就好&#xff0c;安装完成之后创…

深入理解PCA(待补充)

t-sne 参考链接 PCA理解第一层境界&#xff1a;最大方差投影 正如PCA的名字一样&#xff0c; 你要找到主成分所在方向&#xff0c; 那么这个主成分所在方向是如何来的呢&#xff1f; 其实是希望你找到一个垂直的新的坐标系&#xff0c; 然后投影过去&#xff0c; 这里有两个…

高性能网络IO模型

同步阻塞式IO开发简单&#xff0c;但在处理IO密集的并发任务时&#xff0c;非常浪费CPU资源&#xff0c;性能低&#xff1b;并且&#xff0c;当一个进程&#xff08;线程&#xff09;含有多个套接字上时&#xff0c;同步阻塞式IO会带来问题&#xff1a;因为同步阻塞式IO只支持进…

高斯径向基函数(RBF)神经网络

高斯径向基函数(RBF)神经网络 牛顿插值法-知乎 泰勒公式 径向基函数-wiki 径向基网络之bp训练 RBF网络逼近能力及其算法 线性/非线性&#xff0c;使用”多项式“逼近非线性&#xff0c;通过调节超参数来改善多项式参数进一步拟合真实非线性。 1.径向基函数 2.RBF网络 3.RBF…