我们已学习了均值算法,在此基础上若加上一些监督信息,则得到半监督聚类。
半监督聚类
对照均值算法【西瓜书图9.2】算法学习【西瓜书图13.7】和【西瓜书图13.9】算法。
(1)约束均值算法【西瓜书图13.7】
将“必连”和“勿连”的约束,作为监督信息,其基本要点是在【西瓜书图9.2】的均值算法程序中,将划入聚类簇时,需要判断是否有违背约束(算法的第10句),这里补充检验算法。
考虑一个样本出发有多个“必连”和多个“勿连”约束。 设实线为“必连”,虚线为“勿连”。
初始化时,对既有“必连”又有“勿连”形成的三角形进行检查,图13.4 中的(a)产生矛盾,报错;(b)为合法情况。
图13.4 约束
算法的第10句,需要对与中样本的情况进行讨论:
(i)与中样本既无“必连”又无“勿连”,即可根据其他条件确定是否划入中
(ii)与中样本有“必连”无“勿连”,即可划入中
(iii)与中样本无“必连”有“勿连”,即不可划入中
(iv)与中样本既有“必连”也有“勿连”,出现如下图13.5 矛盾情况,这时报错。
图13.5 矛盾
(2)约束种子均值算法【西瓜书图13.9】
监督信息是少量有标记样本,基本要点是:
(i) 将有标记样本作为“种子”,以此来初始化聚类中心,第1至3句;
(ii) 不改变“种子”的簇隶属关系,以此来初始化各簇,第6至10句。
(iii) 对非种子样本,按均值算法【西瓜书图9.2】中的方法归入各簇,第11至15句。
(iv) 调整簇中心,第16至18句,进入下一轮循环(第4句),直至停机条件满足(第19句)。