文章目录
层次聚类方法
凝聚层次聚类
这个使用多一些,即先把相似的样本合在一起,依次进行下去。
分裂层次聚类
簇间距离的不同定义
加入噪声后ward平方和取平均就好了,complete最大距离不太好了,欧式距离也不太好了。所以要多进行尝试几次参数试试。但是做时,不希望引入噪声,对结果影响很大,所以一般前期进行噪声预处理。
密度聚类方法
要统计样本周边的密度,将密度给定一个阈值,然后不断将样本添加到对应簇中。这种密度聚类对于有噪声的很有效。但是计算复杂度特别大。
具体算法过程
通过以上过程方法来聚类。
问题讨论
要找密度可达的,数据结构上必须要建一颗树,必须要建立树吗?
其实并不需要,只需要并查询即可。
不同的参数有不同的结果
所以若给的m值不合适时,可能造成簇的个数变多,这种极易发生在边缘处,这些本来可能是噪声的位置。
问题解决
1、也可以用密度聚类来去除噪声。
2、密度聚类感觉是查找最近的距离,如果两个簇中的距离很近,近到比e还小,此时即很有可能连接到一起了。所以对于区域重叠的话,密度聚类就不太好了,但此时可以用谱聚类,解决区域重叠的问题也可以进行分类。只要密度可达相连起来都可以作为一个簇。
此时a分成谁都是对的,因为本来a就在边上,属于哪个簇相对就不重要了。只要将b与c簇聚类出来就行了。
密度最大值聚类
也可以这样:想算第i个样本的局部密度,我们总是可以:对于第i个样本,找到离他最近的样本,次近的样本,第三近样本等等依次下去。如五大不同的距离,将这五个距离做一个平均值,来作为密度也可以。所以密度不见得是只能在e邻域取多少个,可以给别的值。不管如何给出P后,要看高局部密度点距离了。
假定想算第i个样本的d ta,算出局部密度pi了,然后再求出每个样本点的p值都算出来了。即pi与p1,p2等有大小的,将比pi大的选择出来。如下图:
如在人海中每个人都有一个社会财富,d,ta就是比我有钱的,且距离我最近的那个人距离我有多远。但是马云没有d ta,即没有人比他大的d ta了,此时可以直接把马云的d ta直接定义为dij的最大值,这个值就是最大了,没有人比他最大了。
簇中心的识别
有了簇中心后就可以使用密度最大值聚类等方法就可以将各个簇做好了。
边界和噪声的认识
谱聚类
谱分析过程
拉普拉斯矩阵的做法—谱聚类的做法
谱聚类与PCA的关系
其实就是把拉普拉斯矩阵做一个主成分分析,将方差小的部分扔掉,只保留大的部分,然后做k均值聚类就是谱聚类了。
谱聚类为什么这么做
即丢失的那些信息相对来说不重要。
首先给一个权值的度量方案;如i与j之间的相似度用高斯核函数。
即r与n-r就可以很好的聚类出来了。但是实际中没那么好,即有一些连接边,实际达不到1,可能1是0.8,0.9多。0是0.1,0.2多。
随机游走的对应的转移矩阵,以权值为概率进行跳转,多次之后,被踏的多的边保留住,踏的少的边清理掉即可以得到聚类结果 了。随机游走理论基础最后还是特征值和特征向量。
标签传递算法
假设有10000个样本都做标记,太累,所以随机拿出几百个数据做上标记,根据样本的相似性其他未标记的就可以被标记上了。实际是概率化的传递标签。要算第i个样本的标记值,实际上是看这个样本与其他所有样本之间的相似度,这个相似度提前做了归一化了,接着扔一个硬币,转化成累积概率,这个值落在那就选哪个值了,即不是一定要传了。即概率化传值,避免陷入局部最优。如一个样本周围有5个样本,有2个黑色,3个红色。不是一定传红色值过去,而是以概率化80%值去传的。
实践
矢量量化
原始图片与只用60个颜色聚类的结果