谱聚类(Spectral Clustering,SC)是一种基于图论的聚类方法,将带权无向图划分为两个或两个以上的最优子图,使子图内部尽量相似,而子图间距离尽量远。能够识别任意形状的样本空间且收敛于全局最优解,基本思想是利用样本数据的相似矩阵(拉普拉斯矩阵)进行特征分解后得到的特征向量进行聚类。

对于item-user矩阵,如果要将item进行聚类

我们可以采用k-means聚类,复杂度为O(tknm),t为迭代次数,k为聚类个数,n为item个数,m为user个数。但显然,当M足够大、不知道聚类个数、类的假设不是球形等情形下k-means的缺陷倍显,且k-means不可避免的陷入局部最优。这使得聚类问题变得相当复杂,事实上,在各种现代聚类算法的比较中,K-means 通常都是作为 baseline 而存在的。

但是,如果我们计算出item和item间的相似度,便可以得到一个相似矩阵。将item看成节点,相似度看做边上的权重,便可以得到我们常见的图的概念。

对于图的表示,如上图,常用的有邻接矩阵和Laplacian矩阵

谱聚类实现过程:

构造相似度矩阵W

的每一列元素加起来得到

个数,把它们放在对角线上(其他地方都是零),组成一个

的矩阵,记为

。并令

求出

的前

个特征值(在本文中,除非特殊说明,否则“前

个”指按照特征值的大小从小到大的顺序)

以及对应的特征向量

把这

个特征(列)向量排列在一起组成一个

的矩阵,将其中每一行看作

维空间中的一个向量,并使用 K-means 算法进行聚类。聚类的结果中每一行所属的类别就是原来 Graph 中的节点亦即最初的

个数据点分别所属的类别

最小割

一个经常被研究的问题就是 Graph Cut ,简单地说就是把一个 Graph 的一些边切断,让他被打散成一些独立联通的 sub-Graph ,而这些被切断的边的权值的总和就被称为 Cut 值。

直观上我们可以知道,权重比较大的边没有被切断,表示比较相似的点被保留在了同一个 sub-Graph 中,而彼此之间联系不大的点则被分割开来。我们可以认为这样一种分割方式是比较好的

参考资料:

python谱聚类算法_谱聚类 - python挖掘 - 博客园相关推荐

  1. python密码破解工具_一个最简单的博客园文章密码暴力破解器-python3实现

    一个最简单的博客园文章密码暴力破解器-python3实现 我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手. 博客园的博客有个功 ...

  2. python谱聚类算法_谱聚类(spectral clustering)原理总结

    谱聚类(spectral clustering)是广泛使用的聚类算法,比起传统的K-Means算法,谱聚类对数据分布的适应性更强,聚类效果也很优秀,同时聚类的计算量也小很多,更加难能可贵的是实现起来也 ...

  3. python贴吧发帖脚本-一个发布文章到博客园的 Python 脚本

    我的个人独立博客是基于 Hexo 搭建的,因为小站,Google 搜索引擎收录文章比较慢,还搜不到 为了解决这个问题,希望把文章也顺便发布到博客平台博客园上.但不想每次手动复制粘贴,打算利用脚本实现, ...

  4. python谱聚类算法_谱聚类Spectral clustering(SC)

    在之前的文章里,介绍了比较传统的K-Means聚类.Affinity Propagation(AP)聚类.比K-Means更快的Mini Batch K-Means聚类以及混合高斯模型Gaussian ...

  5. 现代分层、聚集聚类算法_分层聚类:聚集性和分裂性-解释

    现代分层.聚集聚类算法 Hierarchical clustering is a method of cluster analysis that is used to cluster similar ...

  6. 聚类算法_层次聚类_密度聚类(dbscan,meanshift)_划分聚类(Kmeans)详解

    注: 两整天的成果,谬误之处勿喷 1 聚类概述 样本 没有训练的样本 没有标注的样本 1.1 相似度度量 1.1.1 距离相似度度量 距离度量 dist(oi,oj)dist(o_{i},o_{j}) ...

  7. python二分查找算法_如何使用python的二分查找算法

    如何使用python的二分查找算法 发布时间:2020-11-18 09:27:29

  8. python协同过滤算法_详解python实现协同过滤推荐算法

    不同的数据.不同的程序猿写出的协同过滤推荐算法不同,但其核心是一致的,本文主要介绍了python实现协同过滤推荐算法完整代码示例,具有一定借鉴价值,需要的朋友可以参考下.希望能帮助到大家. 测试数据 ...

  9. python电影推荐算法_电影推荐系统python实现

    寒假在家保持写代码不手生,实现了这个小推荐系统. 简介:推荐系统的一种简单实现就是,给定一个用户A,找到所有用户中与A最相似的用户B,把B看过的电影中A没看过的挑出来,再把B评分最高的几部挑出来. 1 ...

最新文章

  1. Log4j使用及配置
  2. c语言循环设计思想结构,C语言程序设计_05循环结构程序设计讲述.pptx
  3. 权变措施 弹回计划 应急计划的区别
  4. 【学术相关】如何找到研究的突破点?
  5. vue 返回上一页传参_H5页面与微信小程序相互跳转并传参(web-view)
  6. mysql字符集调整总结
  7. AtCoder Beginner Contest 175总结
  8. 内核并发控制---原子操作(来自网易)
  9. hadoop 命令行运行
  10. 清除Linux和window等系统的DNS缓存的命令
  11. 计算机与英语教学的论文开题报告,英语教学论文开题报告
  12. CCF NOI1017 价格查询
  13. 《转》Babel 入门教程
  14. 人性观察,人类关系的基石
  15. Element表格序号问题
  16. 三菱FX3U源码在V10.5的基础上增加了禁止上传功能
  17. js 读取图片路径并预览图片
  18. ucenter 整合代码
  19. Python爬虫之豆瓣排行榜(正则表达式)
  20. node 压缩图片_压缩宝Apowersoft Apower Compress v1.1.11 中文特别破解版

热门文章

  1. UVA11876 N + NOD (N)【欧拉筛法+前缀和】
  2. Project Euler Problem 25 1000-digit Fibonacci number
  3. 面向项目(五)—— #pragma
  4. sklearn 下的 SVM 及其参数
  5. java 控制台输出到gui_java – 如何将类似窗口的“控制台”添加到GUI?
  6. 计算机应用项目的主要领域,计算机应用基础_领域一.ppt
  7. python画简便的图-python如何画出漂亮的地图?
  8. python基础教程-学习python有什么好的视频教程?
  9. python爬取小视频-40行代码教你利用Python网络爬虫批量抓取小视频
  10. python与excel-Python 与 Excel 不得不说的事