MatlabCode

本站所有资源均为高质量资源,各种姿势下载。

您现在的位置是:MatlabCode > 资源下载 > 一般算法 > 实现聚类K均值算法

实现聚类K均值算法

资 源 简 介

实现聚类K均值算法: K均值算法:给定类的个数K,将n个对象分到K个类中,使得类内对象之间的相似性最大,而类之间的相似性最小。 缺点:产生类的大小相差不会很大,对于脏数据很敏感。 改进的算法:k—medoids 方法。这儿选取一个对象叫做mediod来代替上面的中心 的作用,这样的一个medoid就标识了这个类。步骤: 1,任意选取K个对象作为medoids(O1,O2,…Oi…Ok)。 以下是循环的: 2,将余下的对象分到各个类中去(根据与medoid最相近的原则); 3,对于每个类(Oi)中,顺序选取

详 情 说 明

在本文中,我们将探讨如何实现聚类K均值算法。这种算法可以将n个对象分为K个类别,使得类别内的对象相似性最大,而类别之间的相似性最小。但是这种方法有一个缺点,即产生的类别大小可能相差很大,并且对于脏数据非常敏感。为了克服这个问题,我们可以使用改进的算法——k-medoids方法。在这个方法中,我们选取一个对象作为medoid来代替上面的中心的作用,这样medoid就标识了这个类别。该算法的步骤如下:首先,任意选取K个对象作为medoids(O1,O2,…Oi…Ok)。然后进行以下循环:将余下的对象分到各个类别中去(根据与medoid最相近的原则),对于每个类别(Oi)中,顺序选取一个Or,计算用Or代替Oi后的代价E(Or)。选择E最小的那个Or来代替Oi。这样K个medoids就改变了,然后再从步骤2开始循环,直到K个medoids固定下来。尽管这种算法对于脏数据和异常数据不敏感,但计算量显然要比K均值要大,一般只适合小规模的数据量。