python谱聚类算法_谱聚类 - python挖掘 - 博客园
谱聚类(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挖掘 - 博客园相关推荐
- python密码破解工具_一个最简单的博客园文章密码暴力破解器-python3实现
一个最简单的博客园文章密码暴力破解器-python3实现 我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手. 博客园的博客有个功 ...
- python谱聚类算法_谱聚类(spectral clustering)原理总结
谱聚类(spectral clustering)是广泛使用的聚类算法,比起传统的K-Means算法,谱聚类对数据分布的适应性更强,聚类效果也很优秀,同时聚类的计算量也小很多,更加难能可贵的是实现起来也 ...
- python贴吧发帖脚本-一个发布文章到博客园的 Python 脚本
我的个人独立博客是基于 Hexo 搭建的,因为小站,Google 搜索引擎收录文章比较慢,还搜不到 为了解决这个问题,希望把文章也顺便发布到博客平台博客园上.但不想每次手动复制粘贴,打算利用脚本实现, ...
- python谱聚类算法_谱聚类Spectral clustering(SC)
在之前的文章里,介绍了比较传统的K-Means聚类.Affinity Propagation(AP)聚类.比K-Means更快的Mini Batch K-Means聚类以及混合高斯模型Gaussian ...
- 现代分层、聚集聚类算法_分层聚类:聚集性和分裂性-解释
现代分层.聚集聚类算法 Hierarchical clustering is a method of cluster analysis that is used to cluster similar ...
- 聚类算法_层次聚类_密度聚类(dbscan,meanshift)_划分聚类(Kmeans)详解
注: 两整天的成果,谬误之处勿喷 1 聚类概述 样本 没有训练的样本 没有标注的样本 1.1 相似度度量 1.1.1 距离相似度度量 距离度量 dist(oi,oj)dist(o_{i},o_{j}) ...
- python二分查找算法_如何使用python的二分查找算法
如何使用python的二分查找算法 发布时间:2020-11-18 09:27:29
- python协同过滤算法_详解python实现协同过滤推荐算法
不同的数据.不同的程序猿写出的协同过滤推荐算法不同,但其核心是一致的,本文主要介绍了python实现协同过滤推荐算法完整代码示例,具有一定借鉴价值,需要的朋友可以参考下.希望能帮助到大家. 测试数据 ...
- python电影推荐算法_电影推荐系统python实现
寒假在家保持写代码不手生,实现了这个小推荐系统. 简介:推荐系统的一种简单实现就是,给定一个用户A,找到所有用户中与A最相似的用户B,把B看过的电影中A没看过的挑出来,再把B评分最高的几部挑出来. 1 ...
最新文章
- Log4j使用及配置
- c语言循环设计思想结构,C语言程序设计_05循环结构程序设计讲述.pptx
- 权变措施 弹回计划 应急计划的区别
- 【学术相关】如何找到研究的突破点?
- vue 返回上一页传参_H5页面与微信小程序相互跳转并传参(web-view)
- mysql字符集调整总结
- AtCoder Beginner Contest 175总结
- 内核并发控制---原子操作(来自网易)
- hadoop 命令行运行
- 清除Linux和window等系统的DNS缓存的命令
- 计算机与英语教学的论文开题报告,英语教学论文开题报告
- CCF NOI1017 价格查询
- 《转》Babel 入门教程
- 人性观察,人类关系的基石
- Element表格序号问题
- 三菱FX3U源码在V10.5的基础上增加了禁止上传功能
- js 读取图片路径并预览图片
- ucenter 整合代码
- Python爬虫之豆瓣排行榜(正则表达式)
- node 压缩图片_压缩宝Apowersoft Apower Compress v1.1.11 中文特别破解版
热门文章
- UVA11876 N + NOD (N)【欧拉筛法+前缀和】
- Project Euler Problem 25 1000-digit Fibonacci number
- 面向项目(五)—— #pragma
- sklearn 下的 SVM 及其参数
- java 控制台输出到gui_java – 如何将类似窗口的“控制台”添加到GUI?
- 计算机应用项目的主要领域,计算机应用基础_领域一.ppt
- python画简便的图-python如何画出漂亮的地图?
- python基础教程-学习python有什么好的视频教程?
- python爬取小视频-40行代码教你利用Python网络爬虫批量抓取小视频
- python与excel-Python 与 Excel 不得不说的事