概率与似然

本文假设大家都知道什么叫条件概率了(P(A|B)表示在B事件发生的情况下,A事件发生的概率)。

先验概率和后验概率

教科书上的解释总是太绕了。其实举个例子大家就明白这两个东西了。

假设我们出门堵车的可能因素有两个(就是假设而已,别当真):车辆太多和交通事故。

堵车的概率就是先验概率

那么如果我们出门之前我们听到新闻说今天路上出了个交通事故,那么我们想算一下堵车的概率,这个就叫做条件概率 。也就是P(堵车|交通事故)。这是有因求果。

如果我们已经出了门,然后遇到了堵车,那么我们想算一下堵车时由交通事故引起的概率有多大,

那这个就叫做后验概率 (也是条件概率,但是通常习惯这么说) 。也就是P(交通事故|堵车)。这是有果求因。

 

下面的定义摘自百度百科:

先验概率是指根据以往经验和分析得到的概率,如全概率公式,它往往作为"由因求果"问题中的"因"出现.

后验概率是指依据得到"结果"信息所计算出的最有可能是那种事件发生,如贝叶斯公式中的,是"执果寻因"问题中的"因".

 

那么这两个概念有什么用呢?

 

最大似然估计

我们来看一个例子。

有一天,有个病人到医院看病。他告诉医生说自己头痛,然后医生根据自己的经验判断出他是感冒了,然后给他开了些药回去吃。

 

有人肯定要问了,这个例子看起来跟我们要讲的最大似然估计有啥关系啊。

关系可大了,事实上医生在不知不觉中就用到了最大似然估计(虽然有点牵强,但大家就勉为其难地接受吧^_^)。

 

怎么说呢?

大家知道,头痛的原因有很多种啊,比如感冒,中风,脑溢血...(脑残>_<这个我可不知道会不会头痛,还有那些看到难题就头痛的病人也不在讨论范围啊!)。

那么医生凭什么说那个病人就是感冒呢?哦,医生说这是我从医多年的经验啊。

 

咱们从概率的角度来研究一下这个问题。

其实医生的大脑是这么工作的,

他计算了一下

P(感冒|头痛)(头痛由感冒引起的概率,下面类似)

P(中风|头痛)

P(脑溢血|头痛)

...

然后这个计算机大脑发现,P(感冒|头痛)是最大的,因此就认为呢,病人是感冒了。看到了吗?这个就叫最大似然估计(Maximum likelihood estimation,MLE)

咱们再思考一下,P(感冒|头痛),P(中风|头痛),P(脑溢血|头痛)是先验概率还是后验概率呢?

没错,就是后验概率。看到了吧,后验概率可以用来看病(只要你算得出来,呵呵)。

 

事实上,后验概率起了这样一个用途,根据一些发生的事实(通常是坏的结果),分析结果产生的最可能的原因,然后才能有针对性地去解决问题。

 

那么先验概率有啥用呢?

我们来思考一下,P(脑残|头痛)是怎么算的。

 

P(脑残|头痛)=头痛的人中脑残的人数/头痛的人数

 

头痛的样本倒好找,但是头痛的人中脑残的人数就不好调查了吧。如果你去问一个头痛的人你是不是脑残了,我估计那人会把你拍飞吧。

 

接下来先验概率就派上用场了。

 

根据贝叶斯公式

P(B|A)=P(A|B)P(B)/P(A)

 

我们可以知道

 

P(脑残|头痛)=P(头痛|脑残)P(脑残)/P(头痛)

 

注意,(头痛|脑残)是先验概率,那么利用贝叶斯公式我们就可以利用先验概率把后验概率算出来了。

 

P(头痛|脑残)=脑残的人中头痛的人数/脑残的人数

 

这样只需要我们去问脑残的人你头痛吗,明显很安全了。

(你说脑残的人数怎么来的啊,那我们就假设我们手上有一份传说中的脑残名单吧。那份同学不要吵,我没说你在名单上啊。

再说调查脑残人数的话咱就没必要抓着一个头痛的人问了。起码问一个心情好的人是否脑残比问一个头痛的人安全得多)

 

我承认上面的例子很牵强,不过主要是为了表达一个意思。后验概率在实际中一般是很难直接计算出来的,相反先验概率就容易多了。因此一般会利用先验概率来计算后验概率。

似然函数与最大似然估计

下面给出似然函数跟最大似然估计的定义。

 

我们假设f是一个概率密度函数,那么

x/mapsto f(x/mid/theta), /!

是一个条件概率密度函数(θ 是固定的)

 

而反过来,

/theta/mapsto f(x/mid/theta), /!

叫做似然函数 (x是固定的)。

 

一般把似然函数写成

L(/theta /mid x)=f(x/mid/theta), /!

θ是因变量。

 

最大似然估计 就是求在θ的定义域中,当似然函数取得最大值时θ的大小。

意思就是呢,当后验概率最大时θ的大小。也就是说要求最有可能的原因。

由于对数函数不会改变大小关系,有时候会将似然函数求一下对数,方便计算。

 

例子:

我们假设有三种硬币,他们扔到正面的概率分别是1/3,1/2,2/3。我们手上有一个硬币,但是我们并不知道这是哪一种。因此我们做了一下实验,我们扔了80次,有49次正面,31次背面。那么这个硬币最可能是哪种呢?我们动手来算一下。这里θ的定义域是{1/3,1/2,2/3}

/begin{align}
/Pr(/mathrm{H} = 49 /mid p=1/3) & = /binom{80}{49}(1/3)^{49}(1-1/3)^{31} /approx 0.000 //[6pt]
/Pr(/mathrm{H} = 49 /mid p=1/2) & = /binom{80}{49}(1/2)^{49}(1-1/2)^{31} /approx 0.012 //[6pt]
/Pr(/mathrm{H} = 49 /mid p=2/3) & = /binom{80}{49}(2/3)^{49}(1-2/3)^{31} /approx 0.054.
/end{align}

当p=2/3时,似然函数的值最大,因此呢,这个硬币很可能是2/3。


参考资料

http://en.wikipedia.org/wiki/Likelihood_function

http://en.wikipedia.org/wiki/Maximum_Likelihood

 

 

 

 

### 三、边缘概率的概念区别 在统计学和机器学习中,**边缘概率(Marginal Probability)****(Likelihood)**是两个密切相关但含义不同的概念。它们在概率建模、参数估计和贝叶斯推断中扮演着关键角色。 #### 1. 边缘概率的定义作用 边缘概率是指在联合概率分布中,忽略某些变量后剩余变量的概率分布。例如,若 $ P(X, Y) $ 是 $ X $ 和 $ Y $ 的联合分布,则 $ P(X) $ 是 $ X $ 的边缘概率分布,计算方式为: $$ P(X) = \sum_Y P(X, Y) $$ 边缘概率常用于**概率图模型**和**贝叶斯网络**中,用于简化复杂联合分布的计算。它也用于**期望最大化(EM)算法**中,在E步计算隐变量的后验概率时,需要用到边缘概率来归一化[^1]。 #### 2. 的定义作用 函数描述的是在给定参数 $ \theta $ 的条件下,观测数据 $ D $ 出现的概率,记为 $ L(\theta | D) = P(D | \theta) $。在经典统计推断中,目标是寻找使函数最大化的参数值,即最大估计(MLE)[^4]。 在贝叶斯统计中,函数先验分布结合,通过贝叶斯定理计算后验分布: $$ P(\theta | D) \propto P(D | \theta) P(\theta) $$ 这使得成为连接数据参数不确定性的重要桥梁[^1]。 #### 3. 边缘概率区别 尽管边缘概率都涉及联合分布的处理,但它们的用途和数学表达方式有本质区别: - **数学形式不同**:边缘概率是将联合分布对无关变量求和或积分,而是固定数据后,关于参数的函数。 - **应用场景不同**:边缘概率用于描述变量自身的分布,而用于参数估计和模型比较。 - **在贝叶斯推断中的角色不同**:是构建后验分布的核心成分,而边缘概率通常用于归一化或模型选择中的边缘(marginal likelihood)计算[^1]。 --- ### 四、在统计推断中的应用 函数在统计推断中具有广泛的应用,尤其在参数估计和模型比较中: - **最大估计(MLE)**:寻找使函数最大化的参数值,用于点估计。 - **比检验(LRT)**:用于比较两个嵌套模型的合优度。 - **贝叶斯推断中的**:结合先验分布计算后验分布,用于不确定性建模和预测。 在复杂模型中,如高斯混合模型(GMM),函数可能涉及多个参数,通常难以解析求解,需借助数值方法(如EM算法)进行优化。 --- ### 五、边缘概率在机器学习中的应用 边缘概率在以下机器学习任务中具有重要应用: - **概率图模型**:如隐马尔可夫模型(HMM)中,通过边缘概率计算观测序列的概率。 - **变分推断**:在近贝叶斯推断中,边缘概率用于构建变分目标函数。 - **模型选择**:在贝叶斯模型比较中,使用边缘(marginal likelihood)衡量模型对数据的整体合能力[^1]。 --- ### 示例:贝叶斯分类中的边缘概率 在朴素贝叶斯分类器中,类别 $ C $ 的后验概率为: $$ P(C | x) = \frac{P(x | C) P(C)}{P(x)} $$ 其中: - $ P(x | C) $ 是函数; - $ P(C) $ 是先验概率; - $ P(x) $ 是边缘概率,作为归一化因子。 ```python # 朴素贝叶斯分类示例 from sklearn.naive_bayes import GaussianNB model = GaussianNB() model.fit(X_train, y_train) y_pred = model.predict(X_test) ``` ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值