来源:星环科技

数据猿官网 | www.datayuan.cn

今日头条丨一点资讯丨腾讯丨搜狐丨网易丨凤凰丨阿里UC大鱼丨新浪微博丨新浪看点丨百度百家丨博客中国丨趣头条丨腾讯云·云+社区

1

谱聚类算法的原理

在分析快速迭代聚类之前,我们先来了解一下谱聚类算法。谱聚类算法是建立在谱图理论的基础上的算法,与传统的聚类算法相比,它能在任意形状的样本空间上聚类且能够收敛到全局最优解。 谱聚类算法的主要思想是将聚类问题转换为无向图的划分问题。

谱聚类算法的一般过程如下:

1、输入待聚类的数据点集以及聚类数k;

2、根据相似性度量构造数据点集的拉普拉斯矩阵L;

3、选取L的前k个(默认从小到大,这里的k和聚类数可以不一样)特征值和特征向量,构造特征向量空间(这实际上是一个降维的过程);

4、使用传统方法对特征向量聚类,并对应于原始数据的聚类。

谱聚类算法和传统的聚类方法(例如K-means)比起来有不少优点:

·和K-medoids类似,谱聚类只需要数据之间的相似度矩阵就可以了,而不必像K-means那样要求数据必须是N维欧氏空间中的向量。

·由于抓住了主要矛盾,忽略了次要的东西,因此比传统的聚类算法更加健壮一些,对于不规则的误差数据不是那么敏感,而且性能也要好一些。

·计算复杂度比K-means要小,特别是在像文本数据或者平凡的图像数据这样维度非常高的数据上运行的时候。

快速迭代算法和谱聚类算法都是将数据点嵌入到由相似矩阵推导出来的低维子空间中,然后直接或者通过k-means算法产生聚类结果,但是快速迭代算法有不同的地方。下面重点了解快速迭代算法的原理。

2

快速迭代算法的原理

在大多数情况下,我们只关心第k(k不为1)大的特征向量,而不关注最大的特征向量。 这是因为最大的特征向量是一个常向量:因为W每一行的和都为1。

快速迭代的收敛性在文献【1】中有详细的证明,这里不再推导。

快速迭代算法的一般步骤如下:

3

快速迭代算法的源码实现

在spark中,文件org.apache.spark.mllib.clustering.PowerIterationClustering实现了快速迭代算法。我们从官方给出的例子出发来分析快速迭代算法的实现。

在上面的例子中,我们知道数据分为三列,分别是起始id,目标id,以及两者的相似度,这里的similarities代表前面章节提到的矩阵A。有了数据之后,我们通过PowerIterationClustering的run方法来训练模型。PowerIterationClustering类有三个参数:

·k:聚类数

·maxIterations:最大迭代数

·initMode:初始化模式。初始化模式分为Random和Degree两种,针对不同的模式对数据做不同的初始化操作

下面分步骤介绍run方法的实现。

(1)标准化相似度矩阵A到矩阵W

通过mapTriplets的计算,我们可以得到从点v1到v2,v3,v4的边的权重分别为1/3,1/3,1/3;从点v2到v1,v3,v4的权重分别为1/3,1/3,1/3;从点v3到v1,v2的权重分别为1/2,1/2;从点v4到v1,v2的权重分别为1/2,1/2。 将这个图转换为矩阵的形式,可以得到如下矩阵W。

·随机初始化

·度初始化

在这里,度初始化的向量我们称为“度向量”。度向量会给图中度大的节点分配更多的初始化权重,使其值可以更平均和快速的分布,从而更快的局部收敛。详细情况请参考文献【1】。

(3)快速迭代求最终的v

(4)使用k-means算法对v进行聚类

数据猿读者亲启:

名企&大佬专访精选

向下滑动启阅

以下文字均可点击阅读原文

跨国外企:

谷歌大中华及韩国区数据洞察与解决方案总经理郭志明丨 IBM中国区开发中心总经理吉燕勇丨微软中国CTO官韦青丨前微软中国CTO黎江丨VMware中国区研发中心总经理任道远

中国名企:

联想集团副总裁田日辉丨首汽租车COO 魏东

阿里巴巴数据经济研究中心秘书长潘永花

搜狗大数据研究院院长李刚丨易观CTO郭炜

前上海证券交易所副总裁兼CTO白硕丨携程商旅亚太区CMO 邱斐丨艾瑞集团CTO郝欣诚丨泰康集团大数据部总经理周雄志丨上海链家研究院院长陈泽帅丨蓝色光标首席数据科学家王炼

知名学者:

北大新媒体研究院副院长刘德寰丨中科院基因研究所方向东

创业明星:

地平线机器人创始人兼CEO余凯丨天工科仪董事长王世金丨ZRobot CEO乔杨丨天眼查创始人兼CEO柳超丨第四范式联合创始人兼首席架构师胡时伟丨天云大数据CEO雷涛丨Kyligence联合创始人兼CEO韩卿丨数之联创始人兼CEO周涛丨明略数据董事长吴明辉丨91征信创始人兼CEO 薛本川丨智铀科技创始人、CEO及首席科学家夏粉丨易宝支付联合创始人兼总裁余晨丨海云数据创始人兼CEO冯一村丨星环科技COO佘晖丨碳云智能联合创始人兼首席科学家李英睿

知名投资人:

前IDG创始合伙人、火山石资本创始人章苏阳

华创资本合伙人熊伟铭丨六禾创投总裁王烨

信天创投合伙人蒋宇捷丨青域基金执行总裁牟颖

蓝驰创投合伙人朱天宇

——数据猿专访部

(可上下滑动启阅)

▲向上滑动

采访/报道/投稿

yaphet.zhang@datayuan.cn

商务合作

18600591561(微信)

长按右方二维码

关注我们ˉ►

深入机器学习系列之:快速迭代聚类相关推荐

  1. Weka中数据挖掘与机器学习系列之Exploer界面(七)

    不多说,直接上干货! Weka的Explorer(探索者)界面,是Weka的主要图形化用户界面,其全部功能都可通过菜单选择或表单填写进行访问.本博客将详细介绍Weka探索者界面的图形化用户界面.预处理 ...

  2. 机器学习系列笔记十三: 集成学习/模型聚合

    机器学习系列笔记十三: 集成学习/模型聚合 文章目录 机器学习系列笔记十三: 集成学习/模型聚合 什么是集成学习 Voting Hard Voting 模拟实现Hard Voting 集成学习 使用V ...

  3. 机器学习系列之EM算法

    机器学习系列之EM算法 我讲EM算法的大概流程主要三部分:需要的预备知识.EM算法详解和对EM算法的改进. 一.EM算法的预备知识 1.极大似然估计 (1)举例说明:经典问题--学生身高问题 我们需要 ...

  4. 机器学习系列(8)_读《Nature》论文,看AlphaGo养成

    机器学习系列(8)_读<Nature>论文,看AlphaGo养成  标签: 机器学习算法深度学习神经网络蒙特卡罗树搜索 2016-03-16 11:23 17843人阅读 评论(8) 收藏 ...

  5. python机器学习库sklearn——k均值聚类

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 k均值聚类的相关的知识内容可以参考 http://blog.csdn.net/luanpeng825485697/article/de ...

  6. 机器学习-Sklearn-07(无监督学习聚类算法KMeans)

    机器学习-Sklearn-07(无监督学习聚类算法KMeans) 学习07 1 概述 1.1 无监督学习与聚类算法 聚类算法又叫做"无监督分类",其目的是将数据划分成有意义或有用的 ...

  7. 机器学习系列(4)_机器学习算法一览,应用建议与解决思路

    作者:寒小阳 时间:2016年1月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/50469334 声明:版权所有,转载请联系作者并注明出 ...

  8. 机器学习系列(12)_XGBoost参数调优完全指南(附Python代码)

    机器学习系列(12)_XGBoost参数调优完全指南(附Python代码) 原文链接:http://blog.csdn.net/han_xiaoyang/article/details/5266539 ...

  9. 机器学习系列(1)_逻辑回归初步

    转载自: 机器学习系列(1)_逻辑回归初步 - 寒小阳 - 博客频道 - CSDN.NET http://blog.csdn.net/han_xiaoyang/article/details/4912 ...

  10. C++11(及现代C++风格)和快速迭代式开发

    过去的一年我在微软亚洲研究院做输入法,我们的产品叫"英库拼音输入法" (下载Beta版),如果你用过"英库词典"(现已更名为必应词典),应该知道"英库 ...

最新文章

  1. 补第一阶段冲刺站立会议3(应发表日期5月15日)
  2. 小程序如何将wx.request里的数据传出去
  3. tensorflow切换到gpu_使用免费的GPU进行深度学习
  4. 微信开发者配置服务器信息,【开发】微信验证开发者接口配置信息,服务器没有正确响应Token....
  5. sed查找文件包含字段_sed(查找替换) 与awk(提取字段)
  6. django-pure-pagination 分页插件
  7. 搜索引擎学习笔记001---lucene简明介绍
  8. SOTA太难了?试试Dropout
  9. Out of memory error : GC overhead limit exceeded
  10. 数据协作如何解决大数据的大问题
  11. VM虚拟机Bridge模式VMnet0网卡无法启动问题的解决
  12. JavaScript实现飞机大战小游戏
  13. iOS 友盟分享(微信)
  14. 基于最新导则下的生态环境影响评价技术方法及图件制作与案例实践
  15. 计算机电源带不起来,电脑电源不稳定的表现有哪些_电脑电源带不动的症状
  16. oracle语句报错 * ERROR at line 2: ORA-00923: FROM keyword not found where expected
  17. C/C++文件输入输出(详细介绍)
  18. Arduino IDE下的stm32环境搭建、OLED液晶显示(U8g2lib库)、NUCLEO-F411测试、STM32F103C8T6在Arduino下的液晶显示、
  19. Java基础篇--面向对象(Object Oriented)
  20. 解决anaconda拆卸后,打开powershell提示 : 无法将“C:\ProgramData\Anaconda3\Scripts\conda.exe”项识别为 cmdlet、函数、脚本

热门文章

  1. IDEA怎么换背景颜色
  2. JavaScript 设计模式学习第七篇- 单例模式
  3. Linux开机问题排解
  4. mysql 如何还原数据库
  5. 什么是SRE?SRE需要具备什么能力?
  6. 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  7. 计算机怎么在表格里打勾,怎样在Excel输入对号√,Excel单元格怎么输入对号(方框内打勾)?...
  8. MySql大批量生成测试数据
  9. ROS2节点通信实现零拷贝
  10. SK Comms信息外泄事件使韩国企业开始提高安全预算