发新话题
打印

[算法学习] k-平均方法

k-平均方法

  k-平均算法以k为参数,把n个对象非为k个簇,以使簇内具有较高的相似度,而簇间的相似度较低。相似度的计算根据一个簇中对象的平均值(被看作簇的重心)来进行。在入侵检测中,k一般取2,因为网络行为一般分为正常行为和异常行为。
  “k-平均算法是怎样工作的?”k-平均算法的处理流程如下。首先,随机地选择k个对象,每个对象初始地代表了一个簇的平均值或中心。对剩余的每个对象,根据其与每个簇中心的距离,将它赋给最近的簇。然后重新计算每个簇的平均值。这个过程不断重复,直到准则函数收敛。由于在本论文的实验中每次对数据只选择一个属性,因此它与平均值之间的距离就简化为两者差的绝对值。
  输入:簇的数目k和包含n个对象的数据库。
  输出:k个簇,使平方误差准则最小。
  但是,k-平均方法只有在簇的平均值被定义的情况下才能使用。这可能不适用于某些应用,例如涉及有分类属性的数据。要求用户必须实现给出k(要生成的簇的数目)可以算是该方法的一个缺点。k-平均方法不适合于发现非凸面形状的簇,或者大小差别很大的簇。而且,它对于“噪声”和孤立点数据是敏感的,少量的该类数据能够对平均值产生极大的影响。

TOP

k-平均方法聚类算法中经常被用到的一个算法, kebon22是不是对机器学习很有研究啊
#-----------------------------
Think big, think difference and do your best!

TOP

回复 2楼 chuter 的帖子

对算法是初学者。
毕业论文老师让写算法,所以就看了些算法方面的书。

TOP

发新话题