发布网友 发布时间:2022-12-05 07:17
共1个回答
热心网友 时间:2024-11-04 14:06
从没有标记过的数据中学习称之为非监督学习。
在非监督学习中,通过算法来定义一些数据的结构,将数据分别聚合到这些子集中,这种算法称之为聚类算法。
K均值 (K-means) 算法是最常用的一种聚类算法。
假设有如上的数据集,可以看到只有输入 ,没有输出 。
下面说明一下K均值算法的过程
K均值算法的代价函数为:
优化目标就是使用上面的代价函数最小化所有参数。
上述步骤中
第3步集群分配,是通过找到离样本最近的聚类中心点来最小化代价函数;
第4步移动质心,是通过改变样本和聚类中心点的距离来最小代价函数。
在K均值算法中,代价函数是一直下降的,不可能出现上升的情况。
聚类中心的个数 一般都是小于样本数量 的,因此可以随机取 个样本来作为聚类中心。
步骤
这样做的优点是方便快捷,缺点是不一定能够找到最佳的聚类中心,容易陷入局部最优。
这种陷入局部最优的情况在聚类中心过少时一般会出现,一般在 的情况下,解决办法是多次执行该步骤,比较代价函数的值,取最小值。
聚类中心数量的选择没有固定的方法,跟主观上的判断有很大关系,也跟业务,以及一些客观条件,以及使用K均值算法的目标有关。