高维数据聚类(数据分布稀疏)和分布任意形状(DBSCAN可以实现,但是需要指定超参数)的聚类是传统聚类算法比较难做的。谱聚类可以很好的解决这两个问题,一般而言,可以概括为降维->聚类两个过程:1、降维,保留高维空间的局部几何结构,将本真结构投影到低维空间中,这样就直接解决了任意数据分布聚类的问题,同时降维也有利于解决高维度的问题。谱聚类是通过拉普拉斯降维来实现的;2、聚类,通过传统聚类算法,谱聚类用的是k-means,在低维空间中实现聚类。下面重点讲一下拉普拉斯降维。
拉普拉斯降维(Laplacian Eigenmaps),可以归类到流形学习,思想是相互之间有关系的点,降维之后足够接近;没有关系的点,降维之后足够远,相互之间的关系可以用KNN来构建weight矩阵(每个数据点,只保留最近的k个数据点的距离,其他为0)。公式化一下:
![equation?tex=min+%5Csum_%7Bi%2C+j%7DW_%7Bij%7D%28y_i-y_j%29%5E2](https://i-blog.csdnimg.cn/blog_migrate/8149fce6f2bdd74ed5701dd01ba16d45.png)
其中
![equation?tex=y](https://i-blog.csdnimg.cn/blog_migrate/56151f71c4866c0e204ce3d096379823.png)
![equation?tex=-2%5Csum_%7Bi%2Cj%7DW_%7Bij%7Dy_iy_j%2B%5Csum_%7Bi%2Cj%7DW_%7Bij%7Dy_i%5E2%2B%5Csum_%7Bi%2Cj%7DW_%7Bij%7Dy_j%5E2](https://i-blog.csdnimg.cn/blog_migrate/fe924361dd542362a62c3ce5eadaa23e.png)
按照基本的线性代数知识,
![equation?tex=%5Csum_%7Bi%2Cj%7DW_%7Bij%7Dy_iy_j%3Dy%5ETWy%2C%5Csum_%7Bi%2Cj%7DW_%7Bij%7Dy_i%5E2%3Dy%5ETDy](https://i-blog.csdnimg.cn/blog_migrate/ee395b26d071a60fa5abeae1f8f7fcf4.png)
![equation?tex=D](https://i-blog.csdnimg.cn/blog_migrate/1e9eba693a949ee1aa8125a9b7dfe4ba.png)
目标变为最小化:
![equation?tex=y%5ETLy%2C+L%3DD-W](https://i-blog.csdnimg.cn/blog_migrate/56151f71c4866c0e204ce3d096379823.png%5ETLy%2C+L%3DD-W)
实际上,距离
![equation?tex=%28y_i-y_j%29%5E2](https://i-blog.csdnimg.cn/blog_migrate/c0608cf3da62032d0fb2bee313989de5.png)
![equation?tex=min%3Atr%28Y%5ETLY%29](https://i-blog.csdnimg.cn/blog_migrate/7d0ba0ce2d0591c5784ea5fcf4c9b79f.png)
很好理解,每个对角线元素代表一个feature的优化结果,求和就是秩。
拉普拉斯矩阵一般还要做归一化处理,也就是为了避免离群点,weight矩阵用度矩阵归一化,一般而言,有两种思路:
![equation?tex=L%3DD%5E%7B-1%7DL%EF%BC%8C+L%3DD%5E%7B-1%2F2%7DLD%5E%7B-1%2F2%7D](https://i-blog.csdnimg.cn/blog_migrate/8eedf5e659e7a9011fee0c9746f55cd3.png)
![equation?tex=+L%3DD%5E%7B-1%2F2%7DLD%5E%7B-1%2F2%7D](https://i-blog.csdnimg.cn/blog_migrate/d4c15e99bc484ee4234ff57af12edf34.png)
![equation?tex=W_%7Bij%7D%2F%28%5Csqrt%7Bd_i%7D%5Csqrt%7Bd_j%7D%29](https://i-blog.csdnimg.cn/blog_migrate/2972c0667565d9764cd425ee9f0c3813.png)
另外一种理解思路是用图划分的角度理解,图划分就是把图划分称为很多子group,可以说对应了聚类结果,具体过程网上有很多,这里不再补充,这里说说我上面的目标怎么跟图划分联系起来的
![equation?tex=min+%5Csum_%7Bi%2C+j%7DW_%7Bij%7D%28y_i-y_j%29%5E2](https://i-blog.csdnimg.cn/blog_migrate/8149fce6f2bdd74ed5701dd01ba16d45.png)
![equation?tex=y](https://i-blog.csdnimg.cn/blog_migrate/56151f71c4866c0e204ce3d096379823.png)
![equation?tex=y](https://i-blog.csdnimg.cn/blog_migrate/56151f71c4866c0e204ce3d096379823.png)
那么拉普拉斯降维后,子空间每一个维度代表了不同角度的图划分(每次都划分为两个子图)
RatioCut和N-cut对应拉普拉斯矩阵的归一化方法。