极大似然估计 for Mechine Learing

伯努利分布

伯努利实验

如果随机变量X只取0和1两个值,并且相应的概率为:
P ( X = 1 ) = p , P ( X = 0 ) = 1 − p , 0 < p < 1 P(X=1)=p,P(X=0)=1-p,0<p<1 P(X=1)=p,P(X=0)=1p,0<p<1

说白了就是实验结果只有两个结果,并且这两个结果还是对立的随机试验,就是伯努利实验。比如,抛硬币出现正面还是反面?今天下雨还是不下雨?

满足上述条件,则称随机变量X服从参数为p的伯努利分布,若令q=1一p,则X的概率函数可写为:

f ( x , p ) = { p x q 1 − x x = 0 , 1 0 x ≠ 0 , 1 f(x,p)= \begin{cases} p^xq^{1-x} & x =0,1\\ 0 & x\not ={0,1} \\ \end{cases} f(x,p)={pxq1x0x=0,1x=0,1

如果X服从参数为p的伯努利分布,则很容易得到以下的性质:
E ( X ) = 1 ∗ p + 0 ∗ ( 1 − p ) = p E(X) = 1*p+0*(1-p)=p E(X)=1p+0(1p)=p
E ( X 2 ) = 1 2 ∗ p = 0 2 ∗ p = p E(X^2) = 1^2*p = 0^2*p = p E(X2)=12p=02p=p
V a r ( X ) = E ( X 2 ) − [ E ( X ) ] 2 = p q Var(X)=E(X^2)-[E(X)]^2 =pq Var(X)=E(X2)[E(X)]2=pq

一般地,n重伯努利实验服从二项分布,记作: ξ   B ( n , p ) ξ~B(n,p) ξ B(n,p)
其中,事件A发生k次的概率是:
P ( ξ = k ) = C n k ∗ p k ∗ q 1 − k P(ξ=k)=C_n^k*p^k*q^{1-k} P(ξ=k)=Cnkpkq1k
期望:
E ( ξ ) = n p E(ξ) = np E(ξ)=np
方差:
D ( ξ ) = n p q D(ξ) = npq D(ξ)=npq

极大似然估计MLE VS 贝叶斯估计MAP

极大似然估计

极大似然估计的主要主要思想:

  1. 当前出现的所有数据 D = X 1 , X 2 , ⋯   , X n D={X_1,X_2,\cdots,X_n} D=X1,X2,,Xn被认为是出现概率是最大的,因为已经发生;
  2. 当前样本出现的概率 P P P等于:
    P = ∏ P ( x i ∣ θ ) P = \prod P(x_i|\theta) P=P(xiθ)
  3. 然后就要使 P P P最大化,所以:
    P = a r g m a x θ ∏ P ( x i ∣ θ ) P = {argmax}_\theta \prod P(x_i|\theta) P=argmaxθP(xiθ)
  4. 最终得到的 θ \theta θ是个定值.
例题1

假设随机事件A为伯努利实验,以抛硬币为例子吧,那么实验A有两个结果:正面和反面

假设硬币是正面的概率为 θ \theta θ,则硬币是反面的概率是 1 − θ 1-\theta 1θ

又知道通过10次实验,有6次都是正面,4次是反面,那么当前样本发生的概率函数是:
L ( X ∣ θ ) = θ 6 ( 1 − θ ) 4 L(X|\theta)={\theta}^6(1-\theta)^4 L(Xθ)=θ6(1θ)4

然后我们认为当前样本出现概率是最大的,所以求出最大化的函数值对应的 θ \theta θ就是我们需要的啦~

然后,为了计算极值,我们需要两边取对数方便计算:
l o g L ( X ∣ θ ) = 6 l o g θ + 4 l o g ( 1 − θ ) logL(X|\theta) = 6log\theta + 4log(1-\theta) logL(Xθ)=6logθ+4log(1θ)

接下来两边求导,并令其等于0,找到极值点:
∂ L ( X ∣ θ ) ∂ x = 0 \frac{\partial L(X|\theta)}{\partial x}=0 xL(Xθ)=0

解出 θ = 0.6 \theta=0.6 θ=0.6,所以当硬币正面概率为0.6的时候,出现该样本的概率是最大的。

贝叶斯估计

  1. 和极大似然估计不同的是这里求得的 θ \theta θ是一个概率分布,并不是固定的值;
  2. 从贝叶斯公式入手:
    P ( θ ∣ D ) = P ( D ∣ θ ) P ( θ ) P ( D ) P(\theta|D) = \frac{P(D|\theta)P(\theta)}{P(D)} P(θD)=P(D)P(Dθ)P(θ)
    其中, P ( θ ) P(\theta) P(θ)是先验概率,而 P ( D ) P(D) P(D)对于样本来说是一样的,根据极大似然估计的思路,就得出了:
    P ( θ ∣ D ) = a r g m a x θ P ( D ∣ θ ) P ( θ ) P(\theta|D) ={argmax}_\theta P(D|\theta)P(\theta) P(θD)=argmaxθP(Dθ)P(θ)

这就是贝叶斯估计

例题2

初始条件和上面例题1一样,唯一不同的是,这里的 θ \theta θ我们还知道他的先验概率分布 P ( θ ) P(\theta) P(θ),假设 θ \theta θ的分布满足 μ = 0.5 , σ = 0.1 \mu=0.5,\sigma=0.1 μ=0.5,σ=0.1的正态分布(硬币都是0.5的概率为正面嘛),那么:
P ( θ ) = 1 σ 2 π e − ( θ − μ ) 2 2 σ 2 = 1 10 2 π e − 50 ( θ − 0.5 ) 2 P(\theta) = {\frac{1}{\sigma\sqrt{2\pi}}}e^-{\frac{(\theta-\mu)^2}{2\sigma^2}}={\frac{1}{10\sqrt{2\pi}}}e^-{50(\theta-0.5)^2} P(θ)=σ2π 1e2σ2(θμ)2=102π 1e50(θ0.5)2

然后根据上面我们总结的公式:

P ( θ ∣ D ) = a r g m a x θ P ( D ∣ θ ) P ( θ ) = θ 6 ( 1 − θ ) 4 ∗ 1 10 2 π e − 50 ( θ − 0.5 ) 2 P(\theta|D) ={argmax}_\theta P(D|\theta)P(\theta) = {\theta}^6(1-\theta)^4*{\frac{1}{10\sqrt{2\pi}}}e^-{50(\theta-0.5)^2} P(θD)=argmaxθP(Dθ)P(θ)=θ6(1θ)4102π 1e50(θ0.5)2

接下来还是求对数:

l n L = 6 l n θ + 4 l n ( 1 − θ ) + l n 10 2 π − 50 ( θ − 0.5 ) lnL = 6ln\theta + 4ln(1-\theta) + ln\frac{10}{\sqrt{2\pi}}-50(\theta -0.5) lnL=6lnθ+4ln(1θ)+ln2π 1050(θ0.5)

然后求导,令其等于0,阿,因为太复杂了,就不算了,最后得到数值,是0.5(分布提供的)和0.6(样本观测)所得,而不会完全依赖于样本。

极大似然估计和经验风险最小化

假设我们已经得到了一组观测序列 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x n , y n ) } D=\{(x_1,y_1),(x_2,y_2),\dotsc,(x_n,y_n)\} D={(x1,y1),(x2,y2),,(xn,yn)},那你那么当前观测序列出现的概率是:
L = P ( y 1 ∣ x 1 ) P ( y 2 ∣ x 2 ) … P ( y n ∣ x n ) = ∏ P ( y i ∣ x i ) L = P(y_1|x_1)P(y_2|x_2)\dotsc P(y_n|x_n) =\prod P(y_i|x_i) L=P(y1x1)P(y2x2)P(ynxn)=P(yixi)

同样两边取对数:
l o g L = ∑ i = 1 n l o g P ( y i ∣ x i ) logL = \sum_{i=1}^{n}logP(y_i|x_i) logL=i=1nlogP(yixi)

而我们要求其最大值,就等于加负号取最小值:

l o g L = − ∑ i = 1 n l o g P ( y i ∣ x i ) logL = -\sum_{i=1}^{n}logP(y_i|x_i) logL=i=1nlogP(yixi)

然后为了防止样本数量对L产生的影响,再除以样本数进行平均:

l o g L = − 1 n ∑ i = 1 n l o g P ( y i ∣ x i ) logL = -\frac{1}{n} \sum_{i=1}^{n}logP(y_i|x_i) logL=n1i=1nlogP(yixi)

然后,我们看看这个 P ( y i ∣ x i ) P(y_i|x_i) P(yixi),不就是当我输入为 x i x_i xi的时候,正确预测出输出 y i y_i yi的概率吗?那么我们是否可以理解成Cost函数?

那么 l o g P ( y i ∣ x i ) logP(y_i|x_i) logP(yixi)不就是对数损失函数吗?所以,上面待最小化的式子,其实就是经验风险,这个极大似然过程不就是经验风险最小化吗?

l o g L = − 1 n ∑ i = 1 n C o s t ( Y , P ( y i ∣ x i ) ) logL = -\frac{1}{n} \sum_{i=1}^{n}Cost(Y,P(y_i|x_i)) logL=n1i=1nCost(Y,P(yixi))

思路参考B站:@陆小亮

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值