4. 无监督学习
4.1 聚类
k-means算法
例如下面这些样本要划分为两个集合,我们需要找两个集合的中心点,我们将其称为簇点,首先我们随机挑选两个点,例如下面的红X和蓝X
然后我们进行上色,就是说看这个点更靠近哪个簇点,更靠近哪个簇点就染为哪个颜色
然后我们开始调整簇点,例如红色的簇点,就改成所有红色点的中心点。
然后我们发现需要重新染色,那么我们再次染色后,发现变成了这样,就需要再重新调整簇点,不断重复。
最终结果就变成了这样:
成本函数
K-means 的成本函数就是这样,是指所有的点到它簇点的距离的平方的均值,算法过程就是不停找成本函数最小的,但这是个局部最优解。
初始化簇点位置
这个算法只能找到局部最优解,因此很考验第一个簇点的位置,下面就是不同簇点选择不同的结果。这时候需要用成本函数来判断哪个更好,
那么怎么选择簇点呢?假如说我们有3个分类,那我们可以从样本里随机挑三个出来,当做簇点。