本文介绍方法:

Partition Methods(划分型聚类):K-means,Sequential Leader(序列数据的算法),Model Based Methods,Density Based Methods

Hierarchical Methods(层次型聚类)

什么是聚类分析?

寻找一组一组相似的object

聚类的簇只是一个标记

每个簇内相对接近,每个簇内是相对差异(no label,无监督)

应用范围:

图像分割、地震板块统计等都有应用

Big picture:

Requirements:

聚类算法的选取,与数据的结构、分布、有无噪点都密切相关

原始数据,经过不同的坐标变换,会有不同的聚类结果的影响

不同数据的处理方式很重要,有无Normalization也很重要

Evaluation:

该评估标准暗示着聚成球类会更好
聚类模式差异导致结果的不同

Silhouette:

MATLAB中的一个函数:对于每个样本点算术值,定义了A(这个点到与其相同cluster其他点的平均距离),B(这个点到与其不同cluster其他点的平均距离)

横坐标是s值(最大值为1,会小于0),纵坐标是点。一个点画一条线:s越大,线越长

K-means(基于距离的):

先随机猜测中心点的位置,不断的机器学习,更新参数值

根据中心点划分的区域,不断地重新划分中心点(距离均值),直至中心点不再改变

Comments on K-means:

簇之间距离较远、球形数据的聚类效果会更好(5,6步之内左右就基本确定了)

数据点很大,会导致效果较慢;K值的确定很困难;会收敛至局部最优;噪点敏感(因为均值对噪点敏感)

初始值的选取也会影响分类

Sequential Leader:

数据点一个一个过来,挨个处理,一次遍历处理结束(最简单的聚类,不需要多次迭代)。

不需要K值,阈值的选择很重要。

新来的点自立门户,第二个点与之前的簇的中心计算距离,在阈值内则归到该簇,否则自立门户。

Gaussian Mixture(基于模型的聚类):

高斯做密度估计(曲线下面积为1)。起初随意设计高斯函数,最后根据某种规则不断地迭代,慢慢会fit到不同的数据上

混合高斯模型(权重求和面积是1)

两个高斯(两个峰值),但距离很近,会多形成出一个峰值,所以peak值与高斯个数是不相同的

参数学习过程

EM(期望最大化)算法:

引入:(K-means)

z描述的是每一个点到底属于哪一个簇(隐含参数,辅助解决问题),模型参数是要求的

Z是未知的,但是如果知道了模型参数)(中心点坐标)就知道了Z ;已知Z就可以求得中心点坐标--> 可以假设中心点坐标,就可以根据距离远近分类得到Z,再利用Z的分类反推中心点坐标。

抛硬币(不均匀)--> EM的基本工作流程:

想知道不同硬币A,B头向上的概率,利用最大似然估计:

不断地抛硬币,记录

给两个硬币,继续抛硬币,但不知道哪个是A,B

EM算法

首先猜测不同硬币头向上的概率,在猜测硬币是A还是B(贝叶斯),将参测结果拆分到A与B,求出不同硬币头向上的概率(不断的迭代,收敛)

类似于梯度下降,可能会有局部最优(与初始值的选取有关)。

高斯混合模型中的EM算法:

未知参数,高斯的均值与权重;利用中间参数Z进行迭代收敛

先假设高斯的参数(

)就是
,然后求Z。

但由于高斯的分布特点,两侧的尾巴可以无限的延长,所以理论上空间中所有的点都可以被任意高斯生成,所以设定

——第i个样本是有第j个高斯生成的,是一个连续值,概率问题,可能性大小是不同的(
其实就是相当于权重)。

当已知每个高斯的函数情况,就可以知道每个点由特定高斯生成出来的概率是多少,返回来对每一个样本进行加权,计算出每一个高斯的均值(加权求均值)。每一个高斯特有的一个α值,是由每一个点是特定高斯生成的概率加和平均。

知道了高斯参数,就可以去更新Z。

Density Based Methods:(基于密度,不用设计K)

与人眼的感觉较接近

DBSCAN:

核心点:以该点位中心,一定阈值为半径的范围内有足够多的点,那该点就成为核心点

边界点:在边缘的,自身不是核心点,但可以在附近找到一个核心点,在核心点的阈值圈内

噪点:二者皆不是

从未处理的点开始出发(膨胀算法),如果是核心点就开始收罗阈值内的点,判断点的身份;如果周围点不符合条件则为噪点。

Hierarchical Methods(层次型聚类):

会产生不同聚类个数的一系列聚类结果

Agglomerative Methods:

每个点为一个单独的cluster,然后计算距离或关联系数矩阵,选择最近的聚为一类,再将这个类作为一个整体(有不同的整体距离计算标准:最小、最大、平均等),计算距离或关联系数矩阵,直至归为一个簇。

整体距离计算标准:最小 vs 最大

参考:

聚类方法的内涵还是很深刻的

matlab聚类分析_数据挖掘——聚类分析相关推荐

  1. spss聚类分析_【SPSS数据分析】SPSS聚类分析的软件操作与结果解读 ——【杏花开生物医药统计】...

    在对数据进行统计分析时,我们会遇到将一些数据进行分类处理的情况,但是又没有明确分类标准,这时候就需要用到SPSS聚类分析. SPSS聚类分析分为两种:一种为R型聚类,是针对变量进行的聚类分析:另一种为 ...

  2. som神经网络聚类简单例子_基因表达聚类分析之初探SOM - 自组织特征图

    之前的培训有老师提出要做SOM分析,最后卡在code plot只能出segment plot却出不来line plot.查了下,没看到解决方案.今天看了下源码,设置了一个参数,得到趋势图.也顺便学习了 ...

  3. 下列选项中 采用边界值平滑_数据挖掘期末考题(答案).doc

    华南理工大学计算机科学与工程学院2012-2013学年度第二学期期末考试<数据仓库与数据挖掘技术>试 卷(假的)专业:计算机科学与技术 年级:2010 姓名: 学号: 注意事项:1. 本试 ...

  4. matlab relieff函数,数据挖掘 ReliefF和K-means算法的应用

    数据挖掘方法的提出,让人们有能力最终认识数据的真正价值,即蕴藏在数据中的信息和知识.数据挖掘 (DataMiriing),指的是从大型数据库或数据仓库中提取人们感兴趣的知识,这些知识是隐含的.事先未知 ...

  5. matlab怎样做单值spc,统计过程控制_spc_及MATLAB实现_宋景涛.pdf

    统计过程控制_spc_及MATLAB实现_宋景涛 理 论 与 实 践 质 量 工 程 卷 Quality Engineering T h e o r y 统计过程控制(spc)及MATLAB实现 &a ...

  6. MATLAB图像处理_同态滤波1

    原 MATLAB图像处理_同态滤波 2015年01月20日 09:54:25 风雨也无晴 阅读数:14234 <span class="tags-box artic-tag-box&q ...

  7. r语言平均值显著性检验_最全的R语言统计检验方法_数据挖掘中R语言的运用

    最全的R语言统计检验方法_数据挖掘中R语言的运用 统计检验是将抽样结果和抽样分布相对照而作出判断的工作.主要分5个步骤:建立假设 求抽样分布 选择显著性水平和否定域 计算检验统计量 判定 假设检验(h ...

  8. 基于粒子群PSO算法的风光发电与电动汽车充放电协同优化调度matlab程序_电动汽车v2g

    V2G模型 基于粒子群PSO算法的风光发电与电动汽车充放电协同优化调度matlab程序_电动汽车v2g 1.针对大规模电动汽车无序接入电网给电力系统带来的负荷压力问题,提出一种含不确定性电源的电动汽车 ...

  9. matlab函数_连通区域 bwareaopen bwarea

    matlab函数_连通区域 1. matlab函数bwareaopen──删除小面积对象 格式:BW2 = bwareaopen(BW,P,conn) 作用:删除二值图像BW中面积小于P的对象,默认情 ...

  10. matlab函数_连通区域regionprops的相关解释

    声明:内容来源:https://www.cnblogs.com/einyboy/archive/2012/08/03/2621820.html 最近在学习对于图像的连通域的求取方法,尤其对于多连通域的 ...

最新文章

  1. 符号执行:利用Angr进行简单CTF逆向分析
  2. 一个python程序员需要掌握的知识-python初学者搭建网站需要了解的基础知识
  3. Linux系统分析之启动流程
  4. Java 面试知识点解析(七)——Web篇
  5. django开发个人博客
  6. 图的储存方式,链式前向星最简单实现方式 (边集数组)
  7. api游戏编程鼠标选择拖动_如何选择合适的游戏鼠标
  8. 起点计算机网,《零起点计算机》网第5课.pdf
  9. 快速实现一个简单的canvas迷宫游戏
  10. 为什么建议每个开发人员都需要学Python?
  11. 如何转换视频格式?推荐这3款视频格式转换工具
  12. 网络安全实验室--基础关
  13. 算法竞赛入门-刽子手游戏(Hangman Judge )
  14. 【Android机器学习实战】3、定制可点击View、目标检测、以图搜图实战
  15. 使用NNI进行自动超参数调优
  16. json进阶---jackson底层之JsonParser理解使用(springboot多结构参数的映射方法的实现思路)
  17. 亲身试验力荐:番茄工作法
  18. 基于电子病历的临床医疗大数据挖掘流程与方法
  19. php中empty和isset的用法
  20. JDK1.8中文文档-阿里云盘

热门文章

  1. springMvc--接受日期类型参数处理
  2. BackgroundWorker 简单使用教程 多个线程的创建
  3. 基于Velocity开发自己的模板引擎
  4. IOS键盘样式风格有关设置
  5. java.util.concurrent.locks.LockSupport
  6. 十进制到二进制的转换
  7. mysql bigint 转int_技术分享 | MySQL ?删库不跑路(建议收藏)
  8. 微型计算机的分类通常以什么来划分,微机的分类通常以微处理器的什么来划分...
  9. STL容器 之 vector
  10. 南方电网两栖机器人_南方电网发力特高压、人工智能、充电桩等新基建项目