该论文被NIPS2003收录,目前已被引用3011次,无疑是经典中的经典。提出了一种基于“smooth”理论的半监督学习方法,方法实现简单、有效。
这里所说的“smooth”是指:在半监督学习问题中,算法学习到的分类目标函数,相对于标签样本和无标签样本所共同显示的内在结构,应该足够平滑(smooth)。
算法基于两个重要的假设:(1)空间中距离越近的点,越倾向于拥有同样的标签;(2)处于同一个结构(簇、流形等)的样本,倾向于拥有同样的标签。算法的核心思想:让每一个样本的类标信息在空间中进行传递,直到达到某种合适的全局状态。
算法内容
设样本集合X={x1,...,xl,xl+1,...,xn},标签集合L={1,...,c}。样本集合中前l个为带标签样本,其余为不带标签样本。算法的目标就是预测不带标签样本的标签。
设一个nxc的矩阵F,每行代表一个样本,且每行中最大的元素的位置就是该样本的标签。定义一个nxc的标签矩阵Y,若Yij = 1,则表明标签yi=j。
定义一个迭代算法,具体步骤为:
a)定义一个关联矩阵W,用来表示样本之间的空间位置关系,且其对角线元素为0。
c)迭代公式为
d)设最终矩阵F变为F*,则每个样本的标签为
算法的步骤a定义了一个矩阵W,这个矩阵W表达了样本集合X所构成的图的各个边的权值。在步骤c中,等式右边的式子可以分为两个部分,第一个部分表示每个样本从其领域点中得到标签信息;第二个部分表示每个样本需要保留其最原始的标签信息。
作者同时推导出了F*的非迭代形式,这样就不需要进行迭代就可以进行求解。设F(0)=Y,则有
设矩阵P为
正则化框架
作者还从损失函数的角度建立了目标函数。损失函数为
等式右边第一项为一个平滑约束项,它表明空间中距离越近的点,分类器应该将其分为类似的标签;第二项表明,样本对其原始标签具有保留性。作者对该损失函数进行最优化求解,最终可以得到
可以看到与上文作者求出的F*其实本质上是一致的,只是自定义参数不一样。
实验结果如图1所示,为二维平面上的数据,很容易分辨其中有两个簇,先使用迭代公式,利用本文算法从t=1,迭代到t=400。从图中的结果可以看出,最终可以得到很好的分类结果。
图3 各种算法基于手写数据集的结果对比
总结
该论文应该说是半监督学习算法的经典之一。算法的核心思想是学习到的分类目标函数,相对于标签样本和无标签样本所共同显示的内在结构,应该足够平滑。换句话说,就是在半监督学习中,类标的传递过程应该是平滑的。该方法运算简单、实现简单。