谱聚类
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
谱聚类
七月算法邹博
2015年11月15日
9月机器学习班2/21
谱和谱聚类
☐方阵作为线性算子,它的所有特征值的全体统称方阵的谱。
⏹方阵的谱半径为最大的特征值
⏹矩阵A 的谱半径:(A T A)的最大特征值
☐谱聚类是一种基于图论的聚类方法,通过对样本数据的拉普拉斯矩阵的特征向量进行聚类,从而达到对样本数据聚类的目的。
9月机器学习班3/21
谱分析的整体过程
☐给定一组数据x 1,x 2,...x n ,记任意两个点之间的相似度(“距离”的减函数)为s ij =<xi,xj>,形成相似度图(similarity graph):G=(V,E) 。
如果x i 和x j 之间的相似度s ij 大于一定的阈值,那么,两个点是连接的,权值记做s ij 。
☐接下来,可以用相似度图来解决样本数据的聚类问题:找到图的一个划分,形成若干个组(Group),使得不同组之间有较低的权值,组内有较高的权值。
9月机器学习班4/21
若干概念
☐无向图G=(V,E)
☐邻接矩阵
☐顶点的度di →度矩阵D (对角阵)
9月机器学习班5/21
若干概念
☐子图A 的指示向量
☐A 和B 是图G 的不相交子图,则定义子图的连接权:
9月机器学习班6/21
相似度图G 的建立方法
☐全连接图
⏹高斯相似度函数:距离越大,相似度越小
☐ε近邻图
⏹给定参数ε
⏹思考:如何选择ε?
☐图G 的权值的均值
☐图G 的最小生成树的最大边
☐k 近邻图(k-nearest neighbor graph)
⏹若vi 的k 最近邻包含vj ,vj 的k 最近邻不一定包含vi :有向图⏹忽略方向的图,往往简称“k 近邻图”
⏹两者都满足才连接的图,称作“互k 近邻图(mutual)”
9月机器学习班
7/21
相似度图G 的举例
9月机器学习班8/21
权值比较
☐ε近邻图:ε=0.3,“月牙部分”非常紧的连接了,但“高斯部
分”很多都没连接。
当数据有不同的“密度”时,往往发生这种问题。
☐k 近邻图:可以解决数据存在不同密度时有些无法连接的问题,
甚至低密度的“高斯部分”与高密度的“月牙部分”也能够连接。
同时,虽然两个“月牙部分”的距离比较近,但k 近邻还可以把它们区分开。
☐互k 近邻图:它趋向于连接相同密度的部分,而不连接不同密度
的部分。
这种性质介于ε近邻图和k 近邻图之间。
如果需要聚类不同的密度,这个性质非常有用。
☐全连接图:使用高斯相似度函数可以很好的建立权值矩阵。
但缺点是建立的矩阵不是稀疏的。
☐总结:首先尝试使用k 近邻图。
9月机器学习班9/21
拉普拉斯矩阵及其性质
☐拉普拉斯矩阵:L = D –W
☐L 是对称半正定矩阵;
☐L 的最小特征值是0,相应的特征向量是☐L 有n 个非负实特征值
9月机器学习班10/21拉普拉斯矩阵的定义
☐计算点之间的邻接相似度矩阵W ⏹若两个点的相似度值越大,表示这两个点越相似;⏹同时,定义w ij =0表示v i ,v j 两个点没有任何相似性(无穷远)☐W 的第i 行元素的和为v i 的度。
形成顶点度对角阵D
⏹d ii 表示第i 个点的度
⏹除主对角线元素,D 其他位置为0☐未正则的拉普拉斯矩阵:L=D-W ☐正则拉普拉斯矩阵⏹对称拉普拉斯矩阵
⏹随机游走拉普拉斯矩阵
☐Random walk
9月机器学习班11/21
谱聚类算法:未正则拉普拉斯矩阵☐输入:n 个点{p i },簇的数目k
⏹
计算n ×n 的相似度矩阵W 和度矩阵D ;⏹
计算拉普拉斯矩阵L=D-W ;⏹
计算L 的前k 个特征向量u 1,u 2,...,u k ;⏹
将k 个列向量u 1,u 2,...,u k 组成矩阵U ,U ∈R n ×k ;⏹
对于i=1,2,...,n,令y i ∈R k 是U 的第i 行的向量;⏹使用k-means 算法将点(y i )i=1,2,...,n 聚类成簇
C 1,C 2,...C k ;
⏹输出簇A 1,A 2,...A k ,其中,Ai={j|y j ∈Ci}
9月机器学习班12/21
谱聚类算法:随机游走拉普拉斯矩阵☐输入:n 个点{p i },簇的数目k
⏹
计算n ×n 的相似度矩阵W 和度矩阵D ;⏹
计算正则拉普拉斯矩阵L rw =D -1(D-W);⏹
计算L rw 的前k 个特征向量u 1,u 2,...,u k ;⏹
将k 个列向量u 1,u 2,...,u k 组成矩阵U ,U ∈R n ×k ;⏹
对于i=1,2,...,n,令y i ∈R k 是U 的第i 行的向量;⏹使用k-means 算法将点(y i )i=1,2,...,n 聚类成簇
C 1,C 2,...C k ;
⏹输出簇A 1,A 2,...A k ,其中,Ai={j|y j ∈Ci}
9月机器学习班13/21
谱聚类算法:对称拉普拉斯矩阵☐输入:n 个点{p i },簇的数目k
⏹
计算n ×n 的相似度矩阵W 和度矩阵D ;⏹
计算正则拉普拉斯矩阵L sym =D -1/2(D-W) D -1/2;⏹
计算L sym 的前k 个特征向量u 1,u 2,...,u k ;⏹
将k 个列向量u 1,u 2,...,u k 组成矩阵U ,U ∈R n ×k ;⏹
对于i=1,2,...,n,令y i ∈R k 是U 的第i 行的向量;⏹
对于i=1,2,...,n,将y i ∈R k 依次单位化,使得|y i |=1;⏹
使用k-means 算法将点(y i )i=1,2,...,n 聚类成簇C 1,C 2,...C k ;
⏹输出簇A 1,A 2,...A k ,其中,Ai={j|y j ∈Ci}
9月机器学习班14/21
一个实例
9月机器学习班15/21
Code
9月机器学习班16/21
聚类效果
9月机器学习班17/21
聚类失败的情况
9月机器学习班18/21
进一步思考
☐谱聚类中的K ,如何确定?
⏹考察计算得到的各个特征值λ:选择k ,使得λ1, λ2,…,λk 很小,而λk+1相对比较大。
☐最后一步的K-Means ,作用是什么?
⏹事实上,目标函数是关于子图划分指示向量的函数,该向量的值根据子图划分确定,是离散的若干值。
但由于问题是NP 的,转换成求连续实数域上的解,最后再用K-Means 的办法离散化。
⏹可以用其他方法代替。
如使用超平面,或者使用k 个特征向量张成的子空间达到同样的目的。
☐未正则拉普拉斯矩阵、对称拉普拉斯矩阵、随机游走拉普拉斯矩阵,首选哪一个?
⏹随机游走拉普拉斯矩阵
☐拉普拉斯矩阵除了通过切割图的方法,可以通过随机游走、扰动论等理论来解释。
9月机器学习班19/21
随机游走和拉普拉斯矩阵的关系
☐图论中的随机游走是一个随机过程,它从一个顶点跳转到另外一个顶点。
谱聚类即找到图的一个划分,使得随机游走在相同的簇中停留而几乎不会游走到其他簇。
☐
转移矩阵:从顶点vi 跳转到顶点vj 的概率正比于边的权值wij
9月机器学习班20/21我们在这里
☐/
⏹视频/课程/社区
☐七月题库APP:Android/iOS
⏹/
☐微博
⏹@研究者July
⏹@七月题库
⏹@邹博_机器学习
☐微信公众号
⏹julyedu
9月机器学习班21/21感谢大家!恳请大家批评指正!。