最大似然估计详解

article/2025/9/16 19:49:24

一、引入

  极大似然估计,我们也把它叫做最大似然估计(Maximum Likelihood Estimation),英文简称MLE。它是机器学习中常用的一种参数估计方法。它提供了一种给定观测数据来评估模型参数的方法。也就是模型已知,参数未定。
  在我们正式讲解极大似然估计之前,我们先简单回顾以下两个概念:

  • 概率密度函数(Probability Density function),英文简称pdf
  • 似然函数(Likelyhood function)

1.1 概率密度函数

  连续型随机变量的概率密度函数(pdf)是一个描述随机变量在某个确定的取值点附近的可能性的函数(也就是某个随机变量值的概率值,注意这是某个具体随机变量值的概率,不是一个区间的概率)。给个最简单的概率密度函数的例子,均匀分布密度函数。
对于一个取值在区间[a,b]上的均匀分布函数 I [ a , b ] I_{[a,b]} I[a,b],它的概率密度函数为:
f I [ a , b ] ( x ) = 1 b − a I [ a , b ] f_{I_{[a,b]}}(x) = \frac{1}{b-a}I_{[a,b]} fI[a,b](x)=ba1I[a,b]
其图像为:
在这里插入图片描述
其中横轴为随机变量的取值,纵轴为概率密度函数的值。
也就是说,当 x x x不在区间 [ a , b ] [a,b] [a,b]上的时候,函数值为0,在区间 [ a , b ] [a,b] [a,b]上的时候,函数值等于 1 b − a \frac{1}{b-a} ba1,函数值即当随机变量 X = a X=a X=a的概率值。这个函数虽然不是完全连续的函数,但是它可以积分。而随机变量的取值落在某个区域内的概率为概率密度函数在这个区域上的积分
Tips:

  • 当概率密度函数存在的时候,累计分布函数是概率密度函数的积分。
  • 对于离散型随机变量,我们把它的密度函数称为概率质量密度函数
  • 对概率密度函数作类似福利叶变换可以得到特征函数。特征函数与概率密度函数有一对一的关系。因此,知道一个分布的特征函数就等同于知道一个分布的概率密度函数。(这里就是提一嘴,本文所讲的内容与特征函数关联不大,如果不懂可以暂时忽略。)

1.2 似然函数

  官方一点解释似然函数是,它是一种关于统计模型中的参数的函数,表示模型参数的似然性(likelyhood)。 相信看着这句话的同志们都挺懵的,这是在说什么鬼话,啥叫关于参数的函数??啥叫似然性??

咱们这就来解释:
“似然性”它 与 ("或然性"或 “概率性”或”概率“)意思相近,都是指事件发生的可能性。但是 似然性 和 概率 在统计学中还是有明确的区分。

  • 概率:在参数已知的情况下,预测观测结果;
  • 似然性:在观测结果已知的情况下,对参数进行估值和猜测。

按照上面的说法,其实我们很容易联想到的就是条件概率。我们也可以将似然函数理解为条件概率的逆反。
在已知某个参数B时,事情A会发生的概率为
P ( A ∣ B ) = P ( A , B ) P ( B ) P(A|B) = \frac{P(A,B)}{P(B)} P(AB)=P(B)P(A,B)
又贝叶斯定理可得
P ( B ∣ A ) = P ( A ∣ B ) P ( B ) P ( A ) P(B|A) = \frac{P(A|B)P(B)}{P(A)} P(BA)=P(A)P(AB)P(B)
我们可以反过来构造来表示似然性的方法:已知有事情A发生,运用似然函数 L ( B ∣ A ) L(B|A) L(BA),我们估计参数B的不同值的可能性。形式上,似然函数也是一种条件概率函数,但是我们关注的变量改变了
b → P ( A ∣ B = b ) b \rightarrow P(A| B= b) bP(AB=b)

注意: 这里并不要求似然函数满足归一性:即
∑ b ∈ β P ( A ∣ B = b ) = 1 \sum_{b \in \beta} P(A|B=b) = 1 bβP(AB=b)=1
(在1.3的例子中会作出解释)

一个似然函数乘以一个正的常数之后仍然是似然函数。对所有的 α > 0 \alpha>0 α>0,都可以有似然函数:
L ( b ∣ A ) = α P ( A ∣ B = b ) L(b|A) = \alpha P(A|B=b) L(bA)=αP(AB=b)
其中, α = P ( B ) P ( A ) \alpha = \frac{P(B)}{P(A)} α=P(A)P(B)

1.3 似然函数的举例

  以经典的投掷硬币试验为例子。已知掷出一枚硬币,正面朝上和反面朝上的概率相同,正面向上概率为 p H p_{H} pH。比如说,连续扔两次都是正面向上的概率是0.25,如果我们用条件概率表示就是:
P ( H H ∣ p H ) = 0. 5 2 = 0.25 P(HH|p_{H}) = 0.5^2 = 0.25 P(HHpH)=0.52=0.25其中 H H H表示正面朝上。
  但是,一般来说我们更关心的是在已知一系列投掷结果的同时,关于单独投掷一次硬币时正面向上的概率(即 p H p_{H} pH)的值
实际上我们无法从一系列的结果中来直接逆推真实的值 p H p_{H} pH,但是我们可以去估计 p H p_{H} pH是某个值的可能性是多少。比如,当这个硬币正面向上和反面向上的可能性是不同的且 p H p_{H} pH未知,此时如果我们想要求投掷三次硬币,其中两次是正面的概率是无法求出的。现在如果我们实际去投掷三次硬币,结果中两次正面向上,一次反面向上,我们能否逆推出 p H p_{H} pH呢?如果不能,那么我们能不能推出 p H = 0.5 的 可 能 性 ? 或 者 p H = 0.6 的 可 能 性 是 多 少 p_{H}=0.5的可能性?或者p_{H}=0.6的可能性是多少 pH=0.5pH=0.6 再退一步,就算我们不能直接求出这两个值的可能性,我们能否间接比较出这两个值的可能性大小?

顺着上面的思路,我们先将上面的例子进行数学化表示::

比如投掷一次硬币,正面朝上的概率有 p H p_{H} pH代表,它就是这个例子的参数。我们用事件A来代表三次硬币中两次是正面的这个事实。使用联合概率计算可知:
P ( A ∣ p H ) = 3 × p H 2 × ( 1 − p H ) P(A|p_{H}) = 3 \times p_{H}^2 \times (1 - p_{H}) P(ApH)=3×pH2×(1pH)

  • 假设 p H = 0.5 p_{H} = 0.5 pH=0.5,则三次投掷中两次是正面的概率为 P ( A ∣ p H = 0.5 ) = 0.375 P(A|p_{H}=0.5) = 0.375 P(ApH=0.5)=0.375
  • 再假设 p H = 0.6 p_{H} = 0.6 pH=0.6,则三次投掷中两次是正面的概率为 P ( A ∣ p H = 0.6 ) = 0.432 P(A|p_{H}=0.6) = 0.432 P(ApH=0.6)=0.432

显然,如果 p H = 0.6 p_{H}=0.6 pH=0.6的话,我们看到两个正面的机会比较高。而根据试验我们已经知道三次实验中,确切的是有两枚硬币正面向上。虽然我们不知道实际上 p H p_{H} pH的值具体是多少,可能是0.62 or 0.58 等等,但是我们至少知道 p H p_{H} pH是0.6的可能性比是0.5的可能性还要高。因此我们合理的估计 p H p_{H} pH比较可能是0.6而不是0.5。

因此,我们进一步理解了似然性的概念:
**似然性代表某个参数为特定值的可能性。**由上面例子知,在观察到事件A的情况下,参数 p H p_{H} pH在不同值的可能性或似然性为:
L ( p H ∣ A ) = P ( A ∣ p H ) L(p_{H}|A) = P(A|p_{H}) L(pHA)=P(ApH)

所以当我们投掷硬币三次,其中两次是正面,则 p H = 0.5 p_{H}=0.5 pH=0.5的似然性是 L ( p H = 0.5 ∣ A ) = P ( A ∣ p H = 0.5 ) = 0.375 L(p_{H}=0.5|A) = P(A|p_{H}=0.5) = 0.375 L(pH=0.5A)=P(ApH=0.5)=0.375。而 p H = 0.6 p_{H}=0.6 pH=0.6的似然性是 L ( p H = 0.6 ∣ A ) = P ( A ∣ p H = 0.6 ) = 0.432 L(p_{H}=0.6|A) = P(A|p_{H}=0.6) = 0.432 L(pH=0.6A)=P(ApH=0.6)=0.432注意 L ( p H = 0.5 ∣ A ) = 0.375 L(p_{H}=0.5|A) = 0.375 L(pH=0.5A)=0.375并不是说已知A发生了,则 p H 为 0.5 p_{H}为0.5 pH0.5的概率是0.375。似然性和概率具有不同的意义,上面已经谈过。 如果单独看0.375和0.432数字是没有意义的。因为似然性并不是概率,也并不是介于0-1之间的,而所有可能的p_{H}的似然性加起来也不是1,所以单独看0.375或者0.432这个数字是没有意义的。似然性是把各种可能的 p H p_{H} pH值放在一起去比较,来得知哪个 p H p_{H} pH值的可能性比较高。而似然函数除了用于计算似然性之外,还用来了解当参数 p H p_{H} pH变化时,似然性怎么变换,由此来寻找最大可能性的 p H p_{H} pH的值会是多少。
P ( A ∣ p H ) = 3 × p H 2 × ( 1 − p H ) P(A|p_{H}) = 3 \times p_{H}^2 \times (1 - p_{H}) P(ApH)=3×pH2×(1pH)
由该式子可知,我们知道当 p x = 2 3 p_{x}= \frac{2}{3} px=32时,其值最大(可以通过求导来计算),也就是说最大似然性发生在了 p H = 2 3 p_{H}= \frac{2}{3} pH=32。所以当我们投掷了三次硬币得到两次正面,最合理的猜测应该是 p H = 2 3 p_{H} = \frac{2}{3} pH=32

因此,我们得出结论
对同一个似然函数,其所代表的模型中,某项参数值具有多种可能,但如果存在一个参数值,使得概似函数值达到最大的话,那么这个值就是该项参数最为“合理”的参数值。

二、 最大似然估计

  最大似然估计是似然函数最初的应用。上面已经提到,似然函数取得最大值表示相应的参数能够使得统计模型最为合理。从这样一个想法出发,最大似然估计的做法是:首先选取似然函数 (一般是概率密度函数或概率质量函数),整理之后求最大值点。实际应用中一般会取似然函数的 对数 作为求最大值的函数,这样求出的最大值点和直接求最大值点得到的结果是相同的。==似然函数的最大值点不一定唯一,也不一定存在。==与矩法估计比较,最大似然估计的精确度较高,信息损失较少,但计算量较大。

2.1 例1:离散分布、离散有限参数空间举例

在这里插入图片描述

2.2 例2:离散分布,连续参数空间举例

在这里插入图片描述

三、最大似然估计的瓶颈

  极大似然估计假设连续数据服从正态分布,虽然由于中心极限定理在样本量足够大的时候这一假设都能够满足,但当样本量过小且数据不服从正态分布时,估计误差会比较大。另一个缺点就是当样本服从的概率分布过于复杂时算法的计算也非常复杂而且耗时(可以了解一下EM算法和准极大似然估计,这两种算法都是基于简化计算的思想而发明的)

四、总结

  在了解最大似然估计方法后,我们就会对机器学习的经典算法有更深的理解,朴素贝叶斯、决策树等等算法,在进行参数估计是都会使用到最大似然估计。上面有提到最大似然估计的瓶颈,但是它也有自己的优势:一致性、渐进正态性、泛函不变性。在初期学习时,我们学的是如何套用这种算法;学到深处,我们要考虑如何通过具体场景、具体问题,选择合适的算法来提高性能,这也是融会贯通的一种表现吧。

Reference:
极大似然估计-机器之心
最大似然估计-维基百科
似然函数-维基百科


http://chatgpt.dhexx.cn/article/oMemctXM.shtml

相关文章

最大似然估计(ML)

1. 说明 最大似然估计(Maximum Likelihood Estimation, ML)是一种在给定观察数据情况下,来评估模型参数的算法。它属于一种统计方法,用来求一个样本集的相关概率密度函数的参数。   例如:   统计全校人口的身高,我们已知身高…

最大似然估计

最大似然估计 最大似然估计是在总体的分布类型己知的前提下使用的一种参数估计法。在自然生活中,观察到的某种现象产生的原因可能有很多种.但要判断出到底是哪种原因时,人们往往选择可能性最大的一种或者说是概率最大的,这就是最大似然估计的…

键盘键值一览表

参考下图自己找一下对应的键值

php根据键值排序,数组根据某个键值排序

数组根据某个键值排序 时间 :2018-8-8 评论: [ 0 ] 条 浏览: [ 346 ] 次 function arraySort($array,$keys,$sortasc) { $newArr $valArr array(); foreach ($array as $key>$value) { $valArr[$key] $value[$keys]; } ($sort asc) ? asort($valArr) : ar…

ES6-键值对

1.什么是键值对 键值对(key value) 顾名思义,每一个键会对应一个值。 2.举例 a:身份证号和你本人是绑定的关系。每一个身份证号(键)都会对应一个人(值)。 b:我们在登录微信或者游戏时,需要输入手机号验证身份。系统会向该手机号发送一条验证短信。 这里的手机号码(键…

Map键值对模式

map中的每个元素属于键值对模式 。如果往map中添加元素时,需要添加key value,map也属于一个接口,该接口常见的实现类是HashMap 1.创建对象 Map map new HashMap();------ 默认是初始化的大小是16 负载因子是0.5 2.添加操作 (1&#x…

键值型数据库

键值型数据库通过 Key-Value 键值的方式来存储数据,其中 Key 和 Value 可以是简单的对象,也可以是复杂的对象。Key 作为唯一的标识符,优点是查找速度快,在这方面明显优于关系型数据库,缺点是无法像关系型数据库一样使用…

键值数据库的基本架构

目录 1、可以存储哪些数据? 2、可以对数据做什么操作?如何存储? 3、采用什么样的访问方式? 4、如何定位键值对的位置? 5、不同操作的具体逻辑是怎样的? 6、如何实现重启后快速提供服务? …

python获取键盘按键键值_python获取键值

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 更新 python sdk通过 pip 命令您可以方便获取到最新的 xml python sdk:pip uninstall qcloud_cos_v4 pip install -u cos-python-sdk-v5此外,您也可以参考 py…

键值数据库初探

一. 几个概念 1. 关联数组:和普通数组一样的结构,区别在于没有普通数组一样的约束或者说规范 (1)key(下标)不限于整数,可以是字符串 (2)value可以是实数、字符串、列表…

键盘键值表

键盘键值表 值 描述 0x1 鼠标左键 0x2 鼠标右键 0x3 CANCEL 键 0x4 鼠标中键 0x8 BACKSPACE 键 0x9 TAB 键 0xC CLEAR 键 0xD ENTER 键 0x10 SHIFT 键 0x11 CTRL 键 0x12 MENU 键 0x13 PAUSE 键 0x14 CAPS LOCK 键 0x1B ESC 键 0x20 SPACEBAR 键 0x21 PAGE UP 键 0x22 PAGE DOW…

sklearn机器学习:岭回归Ridge

在sklearn中,岭回归由线性模型库中的Ridge类来调用: Ridge类的格式 sklearn.linear_model.Ridge (alpha1.0, fit_interceptTrue, normalizeFalse, copy_XTrue, max_iterNone, tol0.001, solver’auto’, random_stateNone) 和线性回归相比,…

Python 中 Ridge 和 Lasso 回归的教程

作者:chen_h 微信号 & QQ:862251340 微信公众号:coderpai 线性回归和逻辑回归是回归技术中最受欢迎的技术,但是他们一般很难处理大规模数据问题,很难处理过拟合问题。所以,我们一般都会加上一些正则化技…

多元线性回归改进RidgeLasso

多元线性回归改进 – 潘登同学的Machine Learning笔记 文章目录 多元线性回归改进 -- 潘登同学的Machine Learning笔记(简单回顾)多元线性回归模型归一化normalization归一化的方法来个小例子试一试? 正则化regularization正则项 Lasso回归 和 Ridge岭回归L1稀疏L2平…

岭回归(Ridge)不同alpha值对归回结果的影响

对于有些矩阵,矩阵中某个元素的一个很小的变动,会引起最后计算结果误差很大,这种矩阵称为“病态矩阵”。有些时候不正确的计算方法也会使一个正常的矩阵在运算中表现出病态。对于高斯消去法来说,如果主元(即对角线上的…

r ridge回归_手把手带你画高大上的lasso回归模型图

各位芝士好友,今天我们来聊一聊lasso回归算法。与预后有关的文章,传统的做法一般会选择多变量cox回归,高级做法自然就是我们今天的lasso分析。 首先我们先来几篇文献,看一下lasso最近发的两篇文章,如下: 这…

机器学习算法系列(四)- 岭回归算法(Ridge Regression Algorithm)

阅读本文需要的背景知识点:标准线性回归算法、一丢丢编程知识 一、引言 前面一节我们学习了机器学习算法系列(三)- 标准线性回归算法(Standard Linear Regression Algorithm),最后求得标准线性回归的代价函…

手写算法-python代码实现Ridge(L2正则项)回归

手写算法-python代码实现Ridge回归 Ridge简介Ridge回归分析与python代码实现方法一:梯度下降法求解Ridge回归参数方法二:标准方程法实现Ridge回归调用sklearn对比 Ridge简介 前面2篇文章,我们介绍了过拟合与正则化,比较全面的讲了…

线性模型-Ridge-Lasso-回归

目录 1 基本库导入2 线性回归2.1 线性模型性能2.2 使用更高维的数据集 3 岭回归-Ridge3.1 Ridge原理及应用3.2 Ridge调参3.3 为什么要用Ridge 4 Lasso4.1 基本原理及应用4.2 Lasso调参4.3 为什么要用Lasso4.4 Lasso和Ridge的区别(L1,L2区别) …