小样本学习(Few-shot Learning)之特征提取器-最大后验概率估计(MAP)、Wasserstein距离、最优传输-Sinkhorn算法

新的方向,在做特征提取器部分发现网上知识点分散,在此总结一下

1. 最大后验概率估计(MAP)

最大后验概率估计(Maximum A Posteriori, MAP)是一种常用的参数估计方法,要弄懂其原理,我们先从统计说起。

1.1 统计

Lary Wasserman 在 All of Statistics 的序言里有说过概率论和统计推断的区别:

The basic problem that we study in probability is:
Given a data generating process, what are the properities of the outcomes?

The basic problem of statistical inference is the inverse of probability: Given the outcomes, what can we say about the process that generated the data?

总结:

概率是已知模型和参数(生成数据的过程),推数据(结果)。
统计是已知数据(结果),推模型和参数(生成数据的过程)。

统计研究的问题是:已知一堆数据,如何利用这堆数据去预测模型和参数。

以猪为例。现在我买到了一堆肉,通过观察和判断,我确定这是猪肉(确定模型。在实际研究中,也是通过观察数据推测模型是/像高斯分布的、指数分布的、拉普拉斯分布的等等),然后,可以进一步研究,判定这猪的品种、喂养方式、猪棚的设计、是圈养猪还是跑山猪还是网易猪,等等(推测模型参数)。

现在我们知道了最大后验概率估计(Maximum A Posteriori, MAP)是一种统计领域的参数估计方法,那么具体如何实现?这需要我们理解贝叶斯思想。

1.2 贝叶斯公式(Bayes’ Theorem)

贝叶斯统计的重点:参数未知且不确定,因此作为随机变量,参数本身也是一个分布,同时,根据已有的信息可以得到参数θ的先验概率,根据先验概率来推断θ的后验概率。

贝叶斯估计:从**参数的先验知识和样本(数据)**出发。期望后延信息在真实的θ值处有一个尖峰。
在这里插入图片描述

我们都知道贝叶斯公式(Bayes’ Theorem):
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) ( 1 ) P(A|B)=\frac{P(B|A)P(A)}{P(B)} (1) P(AB)=P(B)P(BA)P(A)1
把B展开,可以写成:
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ∣ A ) P ( A ) + P ( B ∣ ∼ A ) P ( ∼ A ) ( 2 ) P(A|B)=\frac{P(B|A)P(A)}{P(B|A)P(A)+P(B|∼A)P(∼A)} (2) P(AB)=P(BA)P(A)+P(BA)P(A)P(BA)P(A)(2)
这个式子就很有意思了。

想想这个情况。一辆汽车(或者电瓶车)的警报响了,你通常是什么反应?有小偷?撞车了? 不。。 你通常什么反应都没有。因为汽车警报响一响实在是太正常了!每天都要发生好多次。本来,汽车警报设置的功能是,出现了异常情况,需要人关注。然而,由于虚警实在是太多,人们渐渐不相信警报的功能了。

贝叶斯公式就是在描述,你有多大把握能相信一件证据?(how much you can trust the evidence)


我们假设响警报的目的就是想说汽车被砸了。把 A A A计作“汽车被砸了”, B B B计作“警报响了”,带进贝叶斯公式里看。我们想求等式左边发生 A ∣ B A|B AB的概率,这是在说警报响了,汽车也确实被砸了。

汽车被砸引起(trigger)警报响,即 B ∣ A B|A BA。但是,也有可能是汽车被小孩子皮球踢了一下、被行人碰了一下等其他原因(统统计作 ∼ A ∼A A),其他原因引起汽车警报响了,即 B ∣ ∼ A B|∼A BA

那么,现在突然听见警报响了,这时汽车已经被砸了的概率是多少呢(这即是说,警报响这个证据有了,多大把握能相信它确实是在报警说汽车被砸了)?想一想,应当这样来计算。用警报响起、汽车也被砸了这事件的数量,除以响警报事件的数量(即为(1))。进一步展开,即警报响起、汽车也被砸了的事件的数量,除以警报响起、汽车被砸了的事件数量加上警报响起、汽车没被砸的事件数量(即为(2))。

思考(2),想让 P ( A ∣ B ) = 1 P(A|B)=1 P(AB)=1,即警报响了,汽车一定被砸了,该怎么做呢?

P ( B ∣ ∼ A ) P ( ∼ A ) = 0 P(B|∼A)P(∼A)=0 P(BA)P(A)=0即可。很容易想清楚,假若让 P ( ∼ A ) = 0 P(∼A)=0 P(A)=0,即杜绝了汽车被球踢、被行人碰到等等其他所有情况,那自然,警报响了,只剩下一种可能——汽车被砸了。这即是提高了响警报这个证据的说服力。

从这个角度总结贝叶斯公式:做判断的时候,要考虑所有的因素。 老板骂你,不一定是你把什么工作搞砸了,可能只是他今天出门前和太太吵了一架。


再观察(2)右边的分子, P ( B ∣ A ) P(B|A) P(BA)为汽车被砸后响警报的概率。姑且仍为这是1吧。
但是,若 P ( A ) P(A) P(A)很小,即汽车被砸的概率本身就很小,则 P ( B ∣ A ) P ( A ) P(B|A)P(A) P(BA)P(A)仍然很小,即(2)右边分子仍然很小, P ( A ∣ B ) P(A|B) P(AB)还是大不起来。

这里, ​ P ( A ) ​P(A) P(A)即是常说的先验概率,如果 A A A的先验概率很小,就算 P ( B ∣ A ) P(B|A) P(BA)较大,可能 A A A的后验概率 P ( A ∣ B ) P(A|B) P(AB)还是不会大(假设 P ( B ∣ ∼ A ) P ( ∼ A ) P(B|∼A)P(∼A) P(BA)P(A)不变的情况下)。

从这个角度思考贝叶斯公式:一个本来就难以发生的事情,就算出现某个证据和他强烈相关,也要谨慎。证据很可能来自别的虽然不是很相关,但发生概率较高的事情。
例: 发现刚才写的代码编译报错,可是我今天状态特别好,这语言我也很熟悉,犯错的概率很低。因此觉得是编译器出错了。 ————别,还是先再检查下自己的代码吧。


1.3 似然函数(likelihood function)和概率函数(probability function)

在统计里面,似然函数和概率函数是两个不同的概念(其实也很相近就是了)。
  
  之前我们说到:
  概率是已知模型和参数(生成数据的过程),推数据(结果)。
  统计是已知数据(结果),推模型和参数(生成数据的过程)。

  对于这个函数: P ( x ∣ θ ) P(x|θ) P(xθ)。输入有两个: x x x表示某一个具体的数据; θ θ θ表示模型的参数。

如果 θ θ θ是已知确定的 x x x是变量,这个函数叫做概率函数(probability function),它描述对于不同的样本点 x x x,其出现概率是多少。

如果 x x x是已知确定的 θ θ θ是变量,这个函数叫做似然函数(likelihood function), 它描述对于不同的模型参数,出现 x x x这个样本点的概率是多少。

例如:
f ( x , y ) = x y f(x,y)=x^y f(x,y)=x

  • 40
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值