label propagation(标签传播)

label propagation 原理

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

步骤:

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

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

wij=exp(−||xi−xj||α2)

w_{ij} =exp(-\dfrac{||x_i-x_j||}{\alpha^2})
其中 α\alpha为超参数。(另外一种构建图的方式是knn图,即只保留每个节点的k近权重,其他边为0,此时的边权重为稀疏的。)
标签传播
标签传播即通过节点间的边传播标签信息,边的权重越大,表示两个节点越相似,此时的概率转移矩阵为:

pij=wij∑nk=1wik

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

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

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

P=[pllpulplupuu]

P=\begin{bmatrix} p_{ll} & p_{lu} \\ p_{ul} & p_{uu} \end{bmatrix}
由于 yly_l始终不变,因此实际计算的只有:

fu←puufu+pulyl

f_{u}\leftarrow p_{uu}f_{u}+p_{ul}y_{l}
迭代上式至收敛则得到解。
另外,可以直接用如下公式得到解为:

fu=(I−puu)−1pulyl

f_{u}=(I-p_{uu})^{-1}p_{ul}y_{l}


Label propagation相关推荐

  1. 标签传播算法(Label Propagation)及Python实现

    众所周知,机器学习可以大体分为三大类:监督学习.非监督学习和半监督学习.监督学习可以认为是我们有非常多的labeled标注数据来train一个模型,期待这个模型能学习到数据的分布,以期对未来没有见到的 ...

  2. COMBINING LABEL PROPAGATION AND SIMPLE MODELS OUT-PERFORMS GRAPH NEURAL NETWORKS(CorrectSmooth)阅读笔记

    文章目录 链接 一.摘要 二.引言 三."修正和平滑"模型 四.转导式节点分类实验 四.总结 总结 红色部分为个人的一些解读,不足之处请多多指点! 链接 论文题目:结合标签传播和简 ...

  3. 单细胞文献学习(part6)--ForestFireClustering for sc sequencing combines iterative label propagation with ...

    学习笔记,仅供参考,有错必纠 博客阅读索引:博客阅读及知识获取指南 文章目录 Forest Fire Clustering for single-cell sequencing combines it ...

  4. SLAP(Speaker-Listener Label Propagation Algorithm)社区发现算法

    其中部分转载的社区发现SLPA算法文章 一.概念 社区(community)定义:同一社区内的节点与节点之间关系紧密,而社区与社区之间的关系稀疏. 设图G=G(V,E),所谓社区发现是指在图G中确定n ...

  5. 社交圈子挖掘的一种快速的方法--label propagation

    这几天做复杂网络相关的学习研究,越发觉得网络科学的内容会越来越丰富,应用会越来越多.会为人类进步,产生巨大的贡献.我又激动了. 这篇博客介绍的方法,可以应用在大规模的复杂网络中,有着近乎线性的复杂度. ...

  6. Python实现Label Propagation社区划分算法

    声明:代码的运行环境为Python3.Python3与Python2在一些细节上会有所不同,希望广大读者注意.本博客以代码为主,代码中会有详细的注释.相关文章将会发布在我的个人博客专栏<Pyth ...

  7. 读《Prioritizing disease genes with animproved dual label propagation framework》

    摘要 背景: 疾病基因优先排序是试图找出某一特定表型的潜在致病基因,从而揭示人类疾病的遗传基础,促进药物的开发. 本文的动机是受到标签传播算法和假阳性蛋白质-蛋白质相互作用的启发.假阳性蛋白质-蛋白质 ...

  8. CS224W摘要05.Label Propagation for Node Classification

    文章目录 Homophily和Influence Motivation 半监督学习:Collective Classification Probabilistic Relational classif ...

  9. Combining Label Propagation and Simple Models OUT-PERFORMS Graph Networks

  10. Label 相关论文汇总

    文献阅读笔记 1.DLDL 2.MLIC-WCP 3.MLIR-GCN 4.C-Tran 5.ACPL CVPR2022 other, 2022 1.DLDL 2.MLIC-WCP 3.MLIR-GC ...

最新文章

  1. 农村房屋能抵押做贷款吗?
  2. C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码
  3. html校园首页设计说明范文,网页设计作品设计说明-必看请相互转告
  4. 人类附身机器人获得永生_脑机接口先驱尼古莱利斯:人类无法实现数字永生
  5. 网络上总结python中的面试题
  6. 平台式可复用的应用集成能力,助您敏捷、高效的完成企业数字化转型
  7. C#LeetCode刷题之#717-1比特与2比特字符( 1-bit and 2-bit Characters)
  8. 3K档真香旗舰!一加9RT今日正式开售:榨干索尼IMX 766旗舰传感器
  9. 让你难忘的一段情感故事是什么?
  10. python ios自动化_iOS python 自动化构建打包脚本
  11. PPPOE宽带接入技术及常见故障分析
  12. SDCMS1.3.1 发布插件
  13. 卡片游戏 (Throwing cards away I)(队列+模拟)
  14. ARFoundation系列讲解 - 80 AR内容制作一
  15. 爬虫3_获取汇率数据
  16. abb式c语言,ABB机器人是用什么语言编程的? ——ABB机器人
  17. composite java,java设计模式_Composite模式
  18. jQuery动画基础讲解(教你玩转jQuery动画)
  19. dashboard 镜像源_kubernetes相关镜像源地址汇总
  20. fixed trait

热门文章

  1. Hibernate 学习的书-夏昕(2)
  2. 表格票据识别-助力各行业单据录入
  3. STEAM 正在检查可用更新 ,失败
  4. Java【付诸实践 04】Jar包class文件反编译、修改、重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)
  5. 双网卡同时上内外网设置教程
  6. TC软件详细设计文档(手机群控)
  7. FPGA学习网站推荐
  8. Kali Linux 软件源和软件更新(留着自己看)
  9. (转)iOS及Mac开源项目和学习资料【超级全面】
  10. vc linux 中文版下载64位,VSCode 64位下载