风控算法(3)技术算法-PU Learning

PU Learning在风控中的应用(理论篇)

一、风控业务背景

在实际分类场景中,我们经常会遇到类似这样的问题:只有已标记的正样本,以及未标记的样本。比如金融风控场景,只有部分用户被标记为欺诈用户,剩下的大量用户未被标记。虽然这其中大多数信用良好,但仍有少量可能为欺诈用户。

为了方便操作,我们可以将未标记的样本都作为负样本进行训练,但存在几个缺陷:

  1. 正负样本极度不平衡,负样本数量远远超过正样本,效果很差。
  2. 某些关键样本会干扰分类器的最优分隔面的选择,尤其是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\) : 可靠的负样本