一.背景
一般机器学习完成后会生成正确率等指标,ROC也是常用的指标
假设有一随机变量X,离散值,有n中取值,同时有两类分布对应X
1.真实分布−从样本中,概率为p=(p1,p2,....,pn)
2.假设分布−学习得到,概率为q=(q1,q2,....,qn)
问题,若现在已知X=某个值,那么请问这个X来源于哪个分布?
二.概率矩阵P
P=⎛⎜
⎜
⎜⎝p1q1p2q2..pnqn⎞⎟
⎟
⎟⎠,每列代表一种分布,每行代表X可能的离散值
Pkj=Prob(X=k|θ=j)代表某个分布j下产生样本k的概率,这是条件分布,给定了分布
三.检测器/检测矩阵 dector T
T=(110.50.30...000.50.71...)
每一行对应一种分布,每一列X=k代表这个值在1分布的概率或者2分布的概率,显然要么在1分布,要么在2分布,每一列求和=1
上面是Random dector
如果T对应如下情况
T=(1100...0011...)
这种叫确定性的矩阵deterministic dector,也就是这两类分布是完全独立,互不影响的
tik=Prob(^θ=i|X=k),给定了样本值情况下,样本属于哪个分布的概率
四.检测概率矩阵 Detection Prob Matrix-D
Dij=Prob(^θ=i|θ=j),真实分类/分布是j,但识别称了i
根据全概率公式
P(A|C)=∑P(A|BC)P(B|C)
=∑BP(ABC)BCP(BC)C
=P(AC)C=P(A|C)
故有
Dij=Prob(^θ=i|θ=j)
=∑nk=1P(^θ=i|x=k,θ=j)P(x=k|θ=j)
=∑ktikpkj
=TPij,是矩阵相乘
Detection Prob-判断正确的概率
Pdi=Dii=Prob(^θ=i|θ=i)
Error Prob-判断错误的概率
Pei=∑j+iDji=Prob(^θ=i|θ=i)
矩阵D有如下性质
∑ni=1Dij=1−Dii=Prob(^θ=j|θ=i),i≠j
五.最优检测器设计
1.limit on error and detection
限制正确率,错误率
Pdi=Dii≥Lj
Dij≤uij(i≠j)
这是一个解可行域的问题,feasibility Problem
这里变量是T矩阵,T=(t1,...,tk,...,tK),tk是列向量
2. Minimum detection design-极小化错误率
min maxjPei
s.t. tk≥0,1Ttk=1
六.真假阴阳性,Binary case
D=TP=[Tp1,Tp2]=⎡⎢⎣真实分布−+推测PTNPFN−PFPPTP+⎤⎥⎦
列代表样本实际是+还是−,行代表样本被分为+样本还是−样本
真实/假 True/False
阴性/阳性 Positive/Negative
PTP+PFP=1
PFN+PTN=1
举些例子
一些疾病,不能错放一个,没病的检测出有空可以容忍,要控制假阴性
False Positive :假阳
False Negative:假阴
True Positive :真阳
True Negative:真阳
这是一个多目标检测问题
⎧⎨⎩min(w.r.t R2+)(Pfp,Pfn)=((Tp)2,(Tq)1)s.t.t1k+t2k=1tik≥0i=1,2,...,k=1,2,...,n
变量为T
七.求解
min(Tp)2+λ(Tq)1
s.t. t1k+t2k=1
tik≥0
KKT条件解最优化问题
[T][p,q]
Q=∑nk=1t2kpk+λ(∑nk=1t1kqk)
L=Q−∑li=1∑nk=1μiktik+∑nk=1v1(t1k+t2k−1),μik≥0
t1k+t2k=1
tik≥0
μiktik=0,互补松弛条件
∂L∂t1k
λqk−μ1k+vk=0
∂L∂t2k
pk−μ2k+vk=0
λqk−μ1k=pk−μ2k
−μ1k+μ2k=pk−λqk
if pk>λqk,则μ2k>0,t2k=0,t1k=1
if pk<λqk,则t2k=1
结论
(t1k,t2k){(1,0)pk>λqk(0,1)pk<λqk
if pk≠λqk,就是一个确定性的检测问题
if pk=λqk,就是randomdetection
八.ROC 接受者操作特征曲线,AUC Area under Curve 曲线下的面积
代入不同的λ值可以得到下面的曲线Pfp−Pfn

更加常见的是PFP−PTP曲线

曲线的由来是下面这张图,左右两个分布函数是+(阳性)样本的分布,-(阴性)样本的分布,竖线代表取到某个值,从左到右移动就绘成了上面的曲线图

当两个分布可以完全分离,即没有任何错分的时候,ROC基本贴近于正方形的边上,AUC(即曲线下面的面积约等于1)
<img src=https://img2022.cnblogs.com/blog/2682749/202201/2682749-20220124221433553-1141248710.png" width="60%" height="60%" />
九.Two Alternative forced choice
x1为+样本,概率分布函数f0(T),x2为−样本,概率分布函数f1(T),分布如图

回到最初的问题,有两个采样值,在两个分布中的值为x1,x2,则采样值来自于x1分布的概率有多大
直观的考虑问题,随大流方法,哪个值大属于哪个分布
P(x1>x2)=∫+∞−∞∫+∞−∞I(T′>T)f1(T′)f0(T)dTdT′
放一放
换个角度,算一下AUC
AUC
g1(T)=TPR(T)
g2(T)=FPR(T)=∫+∞Tf0(x)dx
A=∫10g1(g2)dg2
有dg2=g′2dT
则有A=∫−∞+∞g1(T)g′2dT
有g′2(T)=−f0(T)
继续有=∫+∞−∞∫+∞Tf1(x)dxf0(T)dT
=∫+∞−∞∫+∞−∞I(T′>T)f1(T′)dT′f0(T)dT
=∫+∞−∞∫+∞−∞I(T′>T)f1(T′)f0(T)dTdT′
就是上面的P(x1>x2)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)