风控算法(3)技术算法-PU Learning
PU Learning在风控中的应用(理论篇)
一、风控业务背景
在实际分类场景中,我们经常会遇到类似这样的问题:只有已标记的正样本,以及未标记的样本。比如金融风控场景,只有部分用户被标记为欺诈用户,剩下的大量用户未被标记。虽然这其中大多数信用良好,但仍有少量可能为欺诈用户。
为了方便操作,我们可以将未标记的样本都作为负样本进行训练,但存在几个缺陷:
- 正负样本极度不平衡,负样本数量远远超过正样本,效果很差。
- 某些关键样本会干扰分类器的最优分隔面的选择,尤其是SVM。
如何辨别未标记样本中的正负样本,提升模型准确度,就成为一个值得思考的问题。PU Learning就是解决这种场景的一种学习方法。
本文尝试回答以下几个问题:
- 我们如何将从PU数据中学习的问题形式化?
- 通常对PU数据进行哪些假设以便于学习算法的设计?
- 我们可以从PU数据估计类先验吗?为什么这很有用?
- 我们如何从PU数据中学习模型?
- 我们如何在PU环境中评估模型?
- PU数据何时以及为什么出现在实际应用中?
- PU学习与机器学习的其他领域有什么关系?
数学符号含义速查: \(x\) :某样例的特征向量, \(x \in \boldsymbol{x}\)
\(y\) : 某样例的标签变量, \(y \in \boldsymbol{y}=\{0,1\}\)
\((\boldsymbol{x}, \boldsymbol{y})\) : 某样本二元组
\(s\) : 某样例是否被标注的指示变量, \(s \in s=\{0,1\}\)
\(\alpha\) :先验类别(Class Prior), \(\alpha=\operatorname{Pr}(y=1)\) ,指正类别先验比例
\(c\) : 标签频率(Label Frequency), \(c=\operatorname{Pr}(s=1 \mid y=1)\), 指L集合占总体P集的比例 \(e\) : 倾向评分函数 (Propensity Score) , \(e(x)=\operatorname{Pr}(s=1 \mid y=1, x)\)
\(f(x)\) : 总体样本的概率密度分布函数, \(\quad f(x)=\operatorname{Pr}(x \mid y \in\{0,1\})\)
\(f_{+}(x)\) : 正样本的概率密度分布函数, \(\quad f_{+}(x)=\operatorname{Pr}(x \mid y=1)\)
\(f_{-}(x)\) : 负样本的概率密度分布函数, \(\quad f_{-}(x)=\operatorname{Pr}(x \mid y=0)\)
\(f_l(x)\) : 有标签 (labeled) 样本的概率密度分布函数, \(\quad f_l(x)=\operatorname{Pr}(x \mid s=1) \subset f_{+}(x)\)
\(f_u(x)\) : 无标签 (unlabeled) 样本的概率密度分布函数, \(\quad f_u(x)=\operatorname{Pr}(x \mid s=0)\)
\(\hat{\theta}\) : 对参数 \(\theta\) 的估计值
\(P:\) 正样本集, Positive, 已标注的正样本
\(N\) : 负样本集, Negative, 实际末知
\(L\) : 有标签样本集, Labeled, 只有正样本
\(U\) : 无标签样本集, Unlabeled, 包括末知的正负样本
\(P U:\) 正样本和无标签样本组成的集合
\(R N\) : 可靠的负样本