关于机器学习中山峰聚类算法的说明
前言
在之前关于聚类算法的文章中,笔者主要涉及的内容均是和参数求解相关的,如C均值(包括模糊C均值)、混合高斯模型等,而对于一些无参数密度估计的算法尚未讨论,而且一般基于参数密度估计的算法均是建立在假设的概率分布族(如高斯分布、多项式分布等)基础之上的,而在实际运用中可能我们无法预先估计或者假设样本的概率分布到底是来自哪种情形,故对此情况普通的方法可能就一筹莫展了。所以本文给出一种无参数密度估计的多个峰值方法,从理论上就能得到聚类算法。
本文就是讨论这种无参数密度估计的聚类算法,这主要包括山峰算法和均值漂移算法,我们主要聚焦于山峰算法,而对于均值漂移就不过多讨论,有兴趣的读者可以参看相关文献。
而对于山峰算法的讨论,包括削峰法和描峰法,这两个算法的共同点都是需要计算样本的密度,而描峰法还有其它更好的性质,在下文中笔者会给出相关描述。
削峰法
笔者在之前的文章中讨论相关聚类算法时曾提及,对于传统的聚类算法存在几个问题:如聚类中心(这个一般是随机的)、迭代次数(这个可能需要视收敛情况,如果到局部鞍点就会存在问题)、收敛误差等等,故会造成结果在一定意义上的不确定性,即没有很好的鲁棒性;如果在初始时选择了不甚恰当的聚类中心,将会导致聚类失败,无端地损失了计算资源。
在1994年,Yager和Filev提出了一种新的聚类方法,可以将其作为初始聚类中心选择方法,这个算法的基本思想是基于这样一个事实:能成为聚类中心的点的密度一定都很大,而且聚类中心之间的距离也一定较大。
那么如何定义所谓的样本点密度,由下式给出:
通过上式能够看出,其实所谓样本点的密度是某个点到其它点的距离(这里使用了高斯距离)之和,那么如果某个点的密度越大则说明的它周边的样本点越多,那么它愈有可能成为聚类的中心,故算法的开始就是计算所有样本点的密度,选取其中最大的一个作为第一个聚类中心,这里可以看出在选取聚类中心时,没有像KMeans算法等随机选取C个(假定需要聚类的数量是C),故从这个角度而言算法本身就避免了一定的盲目性。
那么如何选择余下的聚类中心呢?这里就要使用所谓的削峰思想了:
在上述公式中,表示第一次(第一类)找出的密度最大的样本点的密度,那么根据上述公式再次找出密度最大的样本点作为第二个聚类中心,而削峰的作用是把所有样本点的密度都减去第一个聚类中心的密度,而离第一个聚类中心越近的点则削峰效果越明显,这就体现了类内高度聚合、类间最大分离的思想;然后算法依次计算直到找到所有聚类中心或者本次聚类中心的密度和第一个聚类中心密度之比小于一个常数,即:
对于上述算法而言,其找出所有聚类点的时间复杂度是O(CN),通过对于这个算法的描述可以看出,其实对于聚类而言并没有结束,我们还需将集合中剩余的点分别归类到各自类中,但这个已经不是很重要了,使用削峰法并结合以前的相关方法可以轻易地对样本进行处理,而且这个算法的鲁棒性较好。但如何选择σ其实还是对结果有一定影响,即如果选的太大则覆盖范围过广,可能达不到聚类的目的,而选择得太小则有可能算法在中途就会结束(未达到C),所以笔者建议还是可以对这个参数加上一个函数以逼近其可能的最优值(随之而来的是为了尝试这个较优值会带来算法运行时间的加长)。
描峰法
原始的削峰法虽然直观(这里的直观只不过是说算法较直观而已)且简单,但如果样本数据是高维的(难道又是维度灾难?这里显然不是),则聚类的性能很难进行直接观察。为了解决这个问题,Alex Rodriguez和Alessandro Laio于2014年提出了一种新的山峰聚类法,这个算法可以直观地在二维坐标下展示对于样本点的聚类效果。
如何定义这个二维坐标的坐标轴呢?这里需要涉及到如下公式,同样地,我们定义样本点密度:
上述公式定义了某点的密度(实际就是聚合度),其中坐标轴中的一维就是它,而另一维就是所谓的分离度:
公式5的含义为,对于样本点而言,密度大于它的点中,到其最大的距离;可以想见,该值越大,则表示点
距离高密度点的距离越远,则其越有可能成为聚类的中心。
选定聚类中心以后,其它点的归属是先按密度由高到低排列,密度最高的未标定点与最近已标定点标定为同类,这样反复计算下去,就像描绘山峰一样,因此这个算法被称作描峰法。
转载于:https://blog.51cto.com/13345387/1974339
相关文章:

SQLDMO- (数据备份与恢复篇)
引用usingSystem;usingSystem.Collections.Generic;usingSystem.Text;publicsealedclassDbOper { /**//// <summary> /// DbOper类的构造函数 /// </summary> private DbOper() { } /**//// <summary> /// 数据库备份 /// </summary> …

详细介绍Java垃圾回收机制
垃圾收集GC(Garbage Collection)是Java语言的核心技术之一,之前我们曾专门探讨过Java 7新增的垃圾回收器G1的新特性,但在JVM的内部运行机制上看,Java的垃圾回收原理与机制并未改变。垃圾收集的目的在于清除不再使用的对…

美国卡尔顿学院计算机专业怎么样,美国卡尔顿学院排名
在学术上,卡尔顿学院在美国处于领先地位。被美国新闻与世界报道评为全美前10位的文理学院卡尔顿学院排名卡尔顿学院是明尼苏达州菲尔德市一所历史悠久的文科私立院校,一直奉行无宗教派别男女合校制度。卡尔顿学院始建于1866年,经过一百多年的…
比特大陆发力边缘计算,详解终端AI芯片BM1880
作者 | 中国科学院微电子研究所 剑白 前不久比特大陆推出其云端人工智能芯片--SOPHON(算丰)BM1682芯片,BM1682是比特大陆设计,并对图像、视频等处理给予额外辅助支持的人工智能硬件加速芯片,其峰值运算速度为3TFLOPs,可提供给用户…

职称计算机 菏泽,山东菏泽2016年职称计算机首批考试时间
一、考试范围及科目(模块)1、参加2016年全国专业技术人员计算机应用能力考试的人员,须按照《2014版全国专业技术人员计算机应用能力考试科目(模块)代码表》(以下简称《2014版考试科目》)(见附件1)所列科目(模块)要求进行报名考试。2、评聘中级专业技术职务者&#x…

GitHub 挂了
参加 2018 AI开发者大会,请点击 ↑↑↑今天早上,全球最大的同性交友网站 GitHub 出现大规模宕机,你中招了没有?▌GitHub“挂了”“见鬼???”,一位 Twitter 用户评论道,“…

在ARC环境中autoreleasepool(runloop)的研究
引言 最近有个大佬考察了我关于autoreleasepool的了解, 之前一直认为自己了解, 但是稍微一问深, 自己却哑口无言. 仔细思考了下, 决定要将这个问题结合之前的知识从新梳理一下, 当然, 实践是必不可少的. main函数中的autoreleasepool的作用?系统的autoreleasepool我们自己创建…

QoS实验配置详解
QoS---CQ(定制队列)学习CQ(定制队列)的配置;本实验首先用ACL定义一些流量。然后再将这些流量进行先后排队,最后将排好队的流量策略应用到接口上 1 过滤流量R2(config)#access-list 101 permit ospf any any…

朴素贝叶斯分类器详解及中文文本舆情分析(附代码实践)
参加 2018 AI开发者大会,请点击 ↑↑↑作者 | 杨秀璋(笔名:Eastmount),贵州财经大学信息学院老师,硕士毕业于北京理工大学,主要研究方向是Web数据挖掘、知识图谱、Python数据分析、图像识别等。…

计算机应用基础试题及答案试卷号7074,阅读文章,完成试题。后来才知道,在这千钧一发的时刻,是郝副营长划着了火柴,点燃了那本书,举得高高的, - 学进去中小学试卷试题库...
阅读《苏州园林》(节选),回答问题。苏州园林(节选)叶圣陶①苏州园林据说有一百多处,我到过的不过十多处。其他地方的园林我也到过一些。倘若要我说说总的印象,我觉得苏州园林是我国各地园林的标本。②设计者和匠师们因地制宜,自出…

解决“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”...
[VS2005]解决“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题” 今天在准备发布用VS2005写的那个程序时,拷贝到我同事机器上,双击突然出现了“由于应用程序的配置不正确,应用程序未能…

PHP实时生成并下载超大数据量的EXCEL文件
最近接到一个需求,通过选择的时间段导出对应的用户访问日志到excel中, 由于用户量较大,经常会有导出50万加数据的情况。而常用的PHPexcel包需要把所有数据拿到后才能生成excel, 在面对生成超大数据量的excel文件时这显然是会造成内…

小学三年级上册计算机计划书,小学三年级班主任工作计划书
教学计划是教师个人制定的工作计划,通常为一个学期,内容主要包括制定教学计划的指导思想、教学内容以及教学目标,最重要的是每个教师要针对自己所带的学生特点来制定计划,因材施教才是对我们学生最好的教育.一、指导思想端正学习态…

10行代码爬取全国所有A股/港股/新三板上市公司信息
参加 2018 AI开发者大会,请点击 ↑↑↑作者 | 高级农民工本文已获原作者授权,如需转载,请联系原作者。摘要: 我们平常在浏览网页中会遇到一些表格型的数据信息,除了表格本身体现的内容以外,可能还想透过表格…

阿里云前端周刊 - 第 29 期
推荐 1. RESTful API 设计最佳实践 https://blog.philipphauer.de/... 项目资源的URL应该如何设计?用名词复数还是用名词单数?一个资源需要多少个URL?用哪种HTTP方法来创建一个新的资源?可选参数应该放在哪里?那些不涉…

Flash传值给asp页面
1.LoadVars的load方法-----在flash中写一个拉出两个动态文件框,变量名为myName与myPsd,拉出一组件button,名为:submit_button,用于提交,再拉出一T…

《深度学习500问》,川大优秀毕业生的诚意之作
前端工程师掌握这18招,就能在浏览器里玩转深度学习基于知识图谱的人机对话系统 | 公开课笔记来呀!AI喊你斗地主美团大脑:知识图谱的建模方法及其应用 | 公开课笔记60天,4位诺奖得主,他们将这样改造区块链程序员的江湖,务必掌握这些…

UC阿里鱼卡全网免流活动正在进行
UC&阿里鱼卡全网免流活动正在进行 优酷、虾米、高德、书旗应用专属流量免费 赠送100分钟国内通话、1G全国流量 扫码立即免费申请

普渡大学计算机硕士申请条件,普渡大学计算机与信息技术理学硕士研究生申请要求及申请材料要求清单...
2020年普渡大学计算机与信息技术理学硕士申请要求及普渡大学计算机与信息技术理学硕士申请材料要求清单是学生很感兴趣的问题,下面指南者留学整理2020年普渡大学计算机与信息技术理学硕士研究生申请要求及申请材料要求清单供大家参考。其中包括2020年普渡大学计算机…

object.ReferenceEquals(a,b)
code1 Assert.IsFalse(object.ReferenceEquals(10, 10));//比较时,要把比较的东西Box成Object,二个Ojbec地址是不一样的。 2 3 int value 10; 4 object one value; 5 object two value; 6 As…

深度文本匹配在智能客服中的应用
参加2018 AI开发者大会,请点击↑↑↑作者 | 云知声目录一. 深度文本匹配的简介1. 文本匹配的价值2. 深度文本匹配的优势3. 深度文本匹配的发展路线二. 智能客服的简介1. 智能客服的应用背景2. 智能客服的核心模块FAQ 库的构建语义召回相似度模型模型更新三. 深度文本…

计算机辅助焊接过程控制,重型车辆计算机辅助焊接工艺自动设计系统.pdf
金属学与金属工艺维普资讯第26卷 第10期 焊 接 学 报 v。1.26 N。.102005年 10月 TRANSACTIONSOFTHECHINAWELDINGINSTITUTION October 2005重型车辆计算机辅助焊接工艺 自动设计系统王克鸿, 韩 杰, 李 帅 王佳军(南京理工大学 材料…

Linux--文件管理以及权限的修改
一、文件属性查看ls -l filename 目录属性的大小(文件名的字符总和)-|rw-r--r--.|1| root| root| 46 |Oct 1 05:03 |filename— ————————— — ———— ———— —— ———————————— ———————— 1 …

Linux 之父归来!
参加2018 AI开发者大会,请点击↑↑↑作者 | 屠敏来源 | CSDN去修身养性的 Linux 之父 Linus Torvalds 在时隔一个余月后笑着归来,从曾临时接手 Linux 4.19 开发的稳定版维护者 Greg Kroah-Hartman 手中再次接过 Linux 内核开发的交接棒。这位向来天不怕地…

vscode断开调试服务器文件,vscode显示等待调试器断开连接
我正在尝试在vscode上调试量角器脚本。我编辑了launch.json文件,但是调试控制台抛出了下面的错误。vscode调试控制台输出:C:\Program Files\nodejs\node.exe --inspect-brk45448 conf.js C:\Users\abc\AppData\Roaming\npm\node_modules\protractor\example/conf.jsDebugger li…

深入理解Spring系列之六:bean初始化
《深入理解Spring系列之四:BeanDefinition装载前奏曲》中提到,对于非延迟单例bean的初始化在finishBeanFactoryInitialization(beanFactory)中完成。进入这个方法,代码如下。protected void finishBeanFactoryInitialization(ConfigurableLis…

webkit内核 css,纯CSS改变webkit内核浏览器的滚动条样式
基于webkit的浏览器现在可以自定义其滚动条的样式了,实现代码如下:复制代码代码如下:::-webkit-scrollbar/*整体部分*/{width: 10px;height:10px;}::-webkit-scrollbar-track/*滑动轨道*/{-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);border-rad…

数据依赖症:当今AI领域的核心风险
在最近结束的2017年度AI星际争霸竞赛上,Facebook做出了一款人工智能“CherryPi”,参与到这项旨在让各路AI技术在星际争霸游戏中同场竞技的赛事之中。 但很遗憾的是,Facebook仅仅获得了赛事的第六名,最直接的原因,在于F…
1024程序员节,你是我们要找的那条锦鲤吗?
参加2018 AI开发者大会,请扫描海报二维码 叮咚,您有一封 #1024吐槽狂欢派对# 邀请函请查收。 ▌什么是程序员? 全员格子、黑框眼镜,还是等于创造力忍耐力? 刻板标签、思维定式,还是高阶自黑玩梗幽默&#…

虚拟机管理你的服务器,全面解析VMware的虚拟机管理解决方案
本教程将为你讲述VMware的虚拟机管理解决方案,说起虚拟机,VMware绝对可以算的上是个中翘楚了,并且VMware的虚拟桌面结构解决方案可以起到增强管理效率,降低成本等等效用,话不多说,这就为大家介绍。Vmware的…