当前位置: 首页 > news >正文

极限多标签学习之-PLT

《Probabilistic label trees for extreme multi-label classification》

主要贡献:提出了PLT.

文章目录

      • 问题定义
      • PLT model
      • 一致性和遗憾界分析
      • 在线PLT

问题定义

符号系统:

Key notationsMeaning
X \mathcal{X} Xinstance space
L = { 1 , … , m } \mathcal{L} = \{1, \dots, m\} L={1,,m}Label set
Y = { 0 , 1 } m \mathcal{Y} = \{0, 1\}^m Y={0,1}mLabel space
x ∈ X \mathbf{x} \in \mathcal{X} xXan instance
y ∈ Y \mathbf{y} \in \mathcal{Y} yYa label corresponding to x \mathbf{x} x
L x ⊆ L \mathcal{L}_\mathbf{x} \subseteq \mathcal{L} LxLrelevant(positive) labels, otherwise irrelevant(positive) labels. y j = 1 ⇔ j ∈ L x y_j = 1 \Leftrightarrow j \in \mathcal{L}_\mathbf{x} yj=1jLx
R ( ⋅ ) R(\cdot) R()The expected loss, or risk
P ( x , y ) \mathbf{P}(\mathbf{x},\mathbf{y}) P(x,y)观测 ( x , y ) (\mathbf{x},\mathbf{y}) (x,y)的概率分布, 假定每个观测独立采样
ℓ ( y , y ^ ) \ell(\mathbf{y},\hat{\mathbf{y}}) (y,y^)Loss
T T TThe tree
L T L_T LTleaf set; l j ∈ L T l_j \in L_T ljLT对应 j ∈ L j \in \mathcal{L} jL
V T V_T VTthe set of all nodes
L v L_v Lv内节点 v v v的所有叶子
L v ⊆ L \mathcal{L}_v \subseteq \mathcal{L} LvL内节点 v v v对应的所有叶子的标签集合
↑ ( v ) , ↓ ( v ) \uparrow(v), \downarrow(v) (v),(v)父节点,直接孩子节点集合
Path ( v ) \text{Path}(v) Path(v) v v v到根节点的路径
len v \text{len}_v lenv路径长度
deg v \text{deg}_v degv节点 v v v的度

本文作者的问题定义写的很好,读起来很通畅。先前也看了一些XC的文章,都没有将问题定义描述的很好(或者压根没有问题定义)。

极限多标签分类问题可定义为(类似于多标签分类问题的定义):寻找一个分类器 h ( x ) = ( h 1 ( x ) , … , h m ( x ) ) ∈ H m : X ↦ R m \mathbf{h}(\mathbf{x}) = (h_1(\mathbf{x}),\dots,h_m(\mathbf{x})) \in \mathcal{H}^m:\mathcal{X}\mapsto \mathbb{R}^m h(x)=(h1(x),,hm(x))Hm:XRm,使得期望损失极小:
R ℓ ( h ) = E ( x , y ) ∼ P ( x , y ) ( ℓ ( y , h ( x ) ) ) R_\ell(\mathbf{h}) = \mathbb{E}_{(\mathbf{x}, \mathbf{y}) \sim \mathbf{P}(\mathbf{x},\mathbf{y})}(\ell(\mathbf{y},\mathbf{h}(\mathbf{x}))) R(h)=E(x,y)P(x,y)((y,h(x)))
一般地, m ≥ 1 0 5 , ∣ L x ∣ ≪ m m\geq 10^5,|\mathcal{L}_\mathbf{x}| \ll m m105,Lxm。那么在损失 ℓ \ell 上的最优分类器为:
h ℓ ∗ = arg min ⁡ h R ℓ ( h ) \mathbf{h}_\ell^* = \argmin_{\mathbf{h}} R_\ell(\mathbf{h}) h=hargminR(h)
文中定义了一个分类器 h \mathbf{h} h针对损失 ℓ \ell 的遗憾(regret):
reg ℓ ( h ) = R ℓ ( h ) − R ℓ ( h ℓ ∗ ) = R ℓ ( h ) − R ℓ ∗ \text{reg}_\ell(\mathbf{h}) = R_\ell(\mathbf{h}) - R_\ell(\mathbf{h}_\ell^*) = R_\ell(\mathbf{h}) - R_\ell^* reg(h)=R(h)R(h)=R(h)R
当然它越小越好。
η j = P ( y j = 1 ∣ x ) , j ∈ L \eta_j = P(y_j=1|\mathbf{x}), j\in \mathcal{L} ηj=P(yj=1∣x),jL,希望 L 1 L_1 L1估计误差最小,其中 η ^ j \hat{\eta}_j η^j η j \eta_j ηj的估计。
∣ η j − η ^ j ∣ |\eta_j - \hat{\eta}_j| ηjη^j
ℓ log \ell_\text{log} log为交叉熵损失,其在样本 x \mathbf{x} x上的条件风险(也就是期望损失)为:
E y ℓ log ( y , h ( x ) ) = ∑ j = 1 m R log ( h j ( x ) ∣ x ) \mathbb{E}_\mathbf{y}\ell_{\text{log}}(\mathbf{y},\mathbf{h}(\mathbf{x})) = \sum_{j=1}^m R_\text{log}(h_j(\mathbf{x})|\mathbf{x}) Eylog(y,h(x))=j=1mRlog(hj(x)x)
那么最优预测为
h j ∗ ( x ) = arg min ⁡ h R log ( h j ( x ) ∣ x ) = η j ( x ) h_j^*(\mathbf{x}) = \argmin_\mathbf{h}R_\text{log}(h_j(\mathbf{x})|\mathbf{x}) = \eta_j(\mathbf{x}) hj(x)=hargminRlog(hj(x)x)=ηj(x)
当然,交叉熵损失函数实际上只对应一般的(文章中用了一个似乎比较地道的词:vanilla)1-vs-all方法。
而更加流行的评价指标就有 P @ k , n D C G @ k , P S P @ k P@k,nDCG@k,PSP@k P@k,nDCG@k,PSP@k等,也就是人们通常只关心top-k。

PLT model

PLT将原问题以一个树的形式分解为若干二元估计问题。
未完待续.

一致性和遗憾界分析

在线PLT

相关文章:

  • MMDetection系列 | 5. MMDetection运行配置介绍
  • java实现顺序表
  • 【英语:基础进阶_核心词汇扩充】E5.常见词根拓词
  • 命令执行漏洞——系统命令执行
  • 【数据结构与算法】List接口栈队列
  • 将cookie字符串转成editthiscookie插件的json格式
  • SpringAOP总结
  • python--数据容器--列表
  • Roson的Qt之旅 #119 QNetworkAddressEntry详细介绍
  • Mybatis -- 使用
  • C语言双链表,循环链表,静态链表讲解(王道版)
  • 比较zab、paxos和raft的算法的异同
  • Python Argparse 库讲解特别好的
  • C++~从编译链接的过程看为什么C++支持重载?externC有什么用?
  • App移动端测试【10】Monkey自定义脚本案例
  • canvas绘制圆角头像
  • Date型的使用
  • HTTP请求重发
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • k个最大的数及变种小结
  • Spring Cloud中负载均衡器概览
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 关于extract.autodesk.io的一些说明
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 实现菜单下拉伸展折叠效果demo
  • 通过npm或yarn自动生成vue组件
  • 如何正确理解,内页权重高于首页?
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #微信小程序:微信小程序常见的配置传旨
  • $refs 、$nextTic、动态组件、name的使用
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (floyd+补集) poj 3275
  • (超详细)语音信号处理之特征提取
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一) springboot详细介绍
  • (转)母版页和相对路径
  • .net core 控制台应用程序读取配置文件app.config
  • .NET 发展历程
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET上SQLite的连接
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • @private @protected @public
  • []FET-430SIM508 研究日志 11.3.31
  • [2669]2-2 Time类的定义
  • [④ADRV902x]: Digital Filter Configuration(发射端)
  • [AIGC] SQL中的数据添加和操作:数据类型介绍