聚类学习(2)——具体方法

一、原型聚类算法——假设聚类结构能通过一组原型刻画。(原型指样本空间中具有代表性的点)

通常,算法对原型进行初始化,然后对原型进行迭代更新求解。不同的原型表示,不同的求解方式,产生不同算法。

1、k均值算法

给定样本集,“k均值”算法对聚类得簇划分为,最小化平方误差:

                                             ,其中是簇Ci的均值向量。

一定程度上,E刻画了簇内样本围绕簇均值簇均值向量的紧密程度,值越小,簇内样本相似程度越高。

算法过程:

(1)簇划分

给定样本集以及需要划分的类数k

在样本中随机初始化k个均值向量(即类中心),然后计算全部样本与初始化的k个均值向量的距离,根据最近的距离标记样本属于的簇;

(2)迭代更新

划分好簇后,计算每个簇的均值向量,将新机算的均值向量与旧的均值向量比较,不同则更新为新的均值向量,相同的话则不更新,保持原均值(实际过程中,应该用某种机制来衡量新旧均值向量的可靠性,再作判断,自己的想法,直接相等或不相等衡量感觉有点暴力)。

(3)重复上述两个迭代过程,直到均值向量不再变化,则将当前的簇划分当作结果输出。

为避免运行时间过长,设置一个最大运行轮数或最小调整幅度阈值,若达到最大轮数或者小于阈值,则停止运行。

猜你喜欢

转载自blog.csdn.net/Z199448Y/article/details/85331845