概率估计
一、分布预测分类
我们在KNN算法中已经学习过了贝叶斯最优分类器:
如果我们已知分布P(X,Y),我们可以预测x的标签为概率最高的那个标签 labelx=argymaxP(y∣x)
如果我们可以根据训练集得到一个大致的分布P(X,Y),则可以利用贝叶斯最优分类器进行分类,对分布进行预测的学习分为两类:
①生成学习:预测P(X,Y)=P(X∣Y)P(Y)②判别学习:直接预测P(Y∣X)
二、极大似然估计
Maximum Likelihood Estimation (MLE)
2.1 简单场景:掷硬币
我们投十次硬币,假设投掷结果为:D={H,T,T,H,H,H,T,T,T,T},则我们一般会进行以下预测:
nH=4,nT=6,P(H)=θ≈nH+nTnH=0.4
2.2 形式化定义
上述掷硬币的例子就是极大似然估计的过程,对于MLE,一般分为两步:
①对分布类型进行明确的建模假设
②设置分布中所涉及的参数
对于掷硬币问题的分布,我们易知这是一个经典的二项分布,他有两个参数:抛硬币次数n,某个事件(例如:硬币正面朝上)发生的概率θ,我们不妨假设 P(H)=θ ,则有:
P(D∣θ)=CnH+nTnH⋅θnH⋅(1−θ)nT
P(D∣θ) 表示θ为某个值时,抛硬币结果为D的概率,比如D={H,T,T,H,H,H,T,T,T,T}
MLE的规则:对于固定的事件D,找到一个θ使得P(D∣θ)最大:
θ^MLE=θargmax P(D∣θ)=θargmax CnH+nTnH⋅θnH⋅(1−θ)nT=θargmax (nHlnθ+nTln(1−θ))
我们对函数进行求导即可得到θ的极大似然估计值:
令f(θ)=nHlnθ+nTln(1−θ)dθdf(θ)=θnH−1−θnT=0→θ=nH+nTnH,即θ^MLE=nH+nTnH
可以发现极大似然估计的预测结果与我们的直观预测相同,这就是MLE
三、先验估计
3.1 简单场景:掷硬币
我们仍可以用掷硬币的场景去理解先验估计:假设我们预感θ接近0.5。但我们的样本量很小,所以我们对此估计并不确信,可以作如下处理:
θ^=nH+nT+2mnH+m
当n很大时,该处理对θ的影响微不足道;但是当n较小时,该处理可以使得θ更接近我们的猜测。
3.2 形式化定义
假设θ是根据分布P(θ)得到的一个随机值,D为一个事件,则有如下贝叶斯公式:
P(θ∣D)=P(D)P(D∣θ)P(θ)=P(D)P(D,θ)
①P(θ)是我们在看到数据之前θ的先验分布
②P(D∣θ)是对于给定的参数θ,事件D发生的可能性
③P(θ∣D)是我们观察数据后得到的θ的后验分布
我们常常利用Beta分布得到θ的先验分布:
P(θ)=B(α,β)θα−1(1−θ)β−1(其中B(α,β)=Γ(α+β)Γ(α)Γ(β),其目的是对P(θ)进行归一化)
P(θ∣D)∝P(D∣θ)P(θ)∝θnH+α−1(1−θ)nT+β−1
四、极大后验估计
在我们知道关于θ的分布,可以利用极大后验估计得到θ的估计值
MAP规则:对于一个固定的事件D,找到一个θ,使得P(θ∣D)最大:
θ^MAP=θargmax P(θ∣D)=θargmax P(D)P(D∣θ)P(θ)=θargmax P(D∣θ)P(θ) =θargmax (θnH+α−1(1−θ)nT+β−1)=θargmax (nH+α−1)lnθ+(nT+β−1)ln(1−θ) =nH+nT+α+β−2nH+α−1
当n→∞时,α−1和β−2与nH和nT相比可以忽略,即θ^MAP→θ^MLE
五、总结
在监督学习中有一个数据集D,我们运用它来训练模型,它有一个参数 θ,利用这个模型我们希望对测试点xt进行预测,则有如下方法:
MLE:P(y∣xt;θ) learning:θ^MLE=argθmaxP(D∣θ),此处的θ为一个模型参数MAP:P(y∣xt,θ) learning:θ^MAP=argθmaxP(θ∣D)∝P(D∣θ)P(θ),此处的θ为随机变量True Bayesian:P(y∣xt,θ)=∫θP(y∣θ)P(θ∣D)dθ,此处的θ是考虑所有可能模型积分出来的