Label propagation

来源:互联网 发布:mac os最新版本 编辑:程序博客网 时间:2024/06/06 00:06

label propagation(标签传播)

label propagation 原理

label propagation是一种半监督学习算法,主要基于三种假设:
- 平滑假设: 相似的数据具有相同的label
- 聚类假设: 处于同一聚类下的数据具有相同的label
- 流形假设: 处于同一流行结构下的数据具有相同的label

步骤:

1.构建相似矩阵
2. 标签传播

构建相似矩阵
标签传播算法是基于图模型的,第一步我们需要先构建一个图,图中的每个节点都是一个数据,边表示数据之间的相似度,假设我们所构建的图为全连接图,定义节点i和节点j的相似度(即边权重)为:

wij=exp(||xixj||α2)

其中α为超参数。(另外一种构建图的方式是knn图,即只保留每个节点的k近权重,其他边为0,此时的边权重为稀疏的。)
标签传播
标签传播即通过节点间的边传播标签信息,边的权重越大,表示两个节点越相似,此时的概率转移矩阵为:
pij=wijnk=1wik

其中pij表示从节点i转移到节点j的概率。
另外假设有M个分类N个样本,其中有label的为N1个,没有label的为N2个,则可以对label构建两个矩阵分别为N1*M的yl和N2*M的yu,yu由于无标签信息,则可以随机初始化,此时定义f=[yl,yu]
此时迭代计算过程如下:

  • 计算f=pf
  • 更新label的标签:fl=yl
  • 重复上述过程直至f收敛

简化计算
如下所示,矩阵P构成为:

P=[pllpulplupuu]

由于yl始终不变,因此实际计算的只有:
fupuufu+pulyl

迭代上式至收敛则得到解。
另外,可以直接用如下公式得到解为:
fu=(Ipuu)1pulyl


原创粉丝点击