如何理解「最大似然估计」?参数估计、似然函数、最大似然估计
文章目录
- 引言
- 参数估计
- 最大似然估计
- 似然函数
- 求解最大似然估计问题
- 为什么要对似然函数取对数?
- “似然”与“概率”的区别
- 机器学习中的应用
- 参考资料
引言
最大似然估计,就是寻找一组模型参数,使得观测到现有样本出现的概率最大,即这组模型参数,可以使模型拟合的结果最接近实际数据分布。在机器学习领域中,很多求解参数的方法,都可以归结为最大似然估计问题。
最大似然估计是参数估计中点估计的一种,所以我们先复习下参数估计的定义。
参数估计
一般来说,我们假定模型结构是已知的,参数是未知的,数据是已知的。
通过已知数据推出未知的参数,这个参数的点估计就是数据的函数。
如果要估计的不是参数,而是输入和目标变量之间关系,这种类型的点估计称为函数估计。函数估计和估计参数θ类似,函数估计可以看作函数空间中的一个点估计。
最大似然估计
最大似然估计(Maximum Likelihood Estimation, MLE)是一个概率论中常用的估计方法。
假设有一个数据集 X={x1,x2,⋅⋅⋅,xn}X=\{x_1,x_2, ···,x_n\}X={x1,x2,⋅⋅⋅,xn},其真实数据分布未知。数据的概率分布由参数θ确定,用 model(x;θ)model(x;θ)model(x;θ) 表示,可以将任意输入x映射到概率 p(x)p(x)p(x)。当参数θ\thetaθ取不同值时,得到的似然函数值(详见下一小节)不同。当似然函数值最大时,此时的参数θ\thetaθ使样本X出现的概率最大,即找到了使概率最大的参数θ\thetaθ,这就是最大似然估计方法。
对于一个似然函数L(θ)=L(x1,x2,...xn;θ),θ^∈ΘL(\theta)=L(x_1,x_2,...x_n;\theta),\hat{\theta}∈\ThetaL(θ)=L(x1,x2,...xn;θ),θ^∈Θ,如果存在一个参数值θ^\hat{\theta}θ^,使得似然函数值达到最大值 L(θ^)=maxθ^∈ΘL(θ)L(\hat{\theta})=max_{\hat{\theta}∈\Theta} {L(\theta)}L(θ^)=maxθ^∈ΘL(θ),那么这个θ^\hat{\theta}θ^就称为参数θ\thetaθ的最大似然估计量。θ^\hat{\theta}θ^ 与 x1,x2,...xnx_1,x_2,...x_nx1,x2,...xn 有关,也可以记作 θ^(x1,x2,...xn)\hat{\theta}(x_1,x_2,...x_n)θ^(x1,x2,...xn)。
最大似然估计在生活中的应用是,当人们观察到某种现象,想要判断是哪种原因导致这种现象,就会选择可能性最大的一种原因,这种思想就是最大似然估计。
似然函数
根据离散型、连续型随机变量的划分,似然函数一般定义为:
(1)对于离散型X,其分布律为事件P(X=x)=p(x,θ1,...,θk)P(X=x)=p(x,\theta_1,...,\theta_k)P(X=x)=p(x,θ1,...,θk),事件A={X1=x1,X2=x2,...,Xn=xn}=\{X_1=x_1,X_2=x_2,...,X_n=x_n\}={X1=x1,X2=x2,...,Xn=xn},事件A发生的概率记为:
L(x;θ1,...,θk)=∏i=1np(xi,θ1,...,θk)L(x;\theta_1,...,\theta_k)=\prod_{i=1}^n{p(x_i,\theta_1,...,\theta_k)}L(x;θ1,...,θk)=i=1∏np(xi,θ1,...,θk)则称L(x;θ1,...,θk)L(x;\theta_1,...,\theta_k)L(x;θ1,...,θk)为样本的似然函数。
(2)对于连续型X,若其概率密度为f(x,θ1,...,θk)f(x,\theta_1,...,\theta_k)f(x,θ1,...,θk),则样本的似然函数定义为:L(x;θ1,...,θk)=∏i=1nf(xi,θ1,...,θk)L(x;\theta_1,...,\theta_k)=\prod_{i=1}^n{f(x_i,\theta_1,...,\theta_k)}L(x;θ1,...,θk)=i=1∏nf(xi,θ1,...,θk)
似然性是指在已知某些观测结果时,对有关参数进行估计,似然函数取得最大值表示相应的参数能够使统计模型最为合理。
求解最大似然估计问题
求解未知参数θ\thetaθ的最大似然估计问题,就是求似然函数L(x;θ)L(x;\theta)L(x;θ)的最大值点的问题。如果似然函数关于参数 θ\thetaθ 可微时,就能利用微分中求最大值的方法进行求解。计算步骤如下:
- (1)写出似然函数L(x;θ)=L(x1,x2,...,xn;θ)L(x;\theta)=L(x_1,x_2,...,x_n;\theta)L(x;θ)=L(x1,x2,...,xn;θ)
- (2)对似然函数或对数似然函数求导,令dL(x;θ)dθ=0\frac{dL(x;\theta)}{d\theta}=0dθdL(x;θ)=0或dlnL(x;θ)dθ=0\frac{dlnL(x;\theta)}{d\theta}=0dθdlnL(x;θ)=0,求出θ\thetaθ的最大似然估计。
为什么要对似然函数取对数?
因为 lnL(x;θ)lnL(x;\theta)lnL(x;θ) 是 L(x;θ)L(x;\theta)L(x;θ) 的单调递增函数,所以有相同的极值点。似然函数中的连乘会有丢失精度的缺点,取对数后乘法变成加法,可以规避该问题,更易于计算。
“似然”与“概率”的区别
从形式上看,似然函数也是一种条件概率函数f(x∣θ)f(x|\theta)f(x∣θ),不同的是:
- 概率密度函数是关于xxx的函数:针对给定参数θ\thetaθ后,预测样本观测值xxx发生的可能性。
- 似然函数是关于θ\thetaθ的函数:已知数据样本x的情况下,希望知道参数θ\thetaθ是多少。
机器学习中的应用
最大似然估计很容易扩展到估计条件概率 P(y∣x;θ)P(y|x;θ)P(y∣x;θ),从而给定 x 预测 y 。实际上这是最常见的情况,因为这构成了大多数监督学习的基础。如果X表示所有的输入,Y表示我们观测到的目标,那么条件最大似然估计是:
θ=arg maxθ(Y∣X;θ)\theta = \argmax_{\theta}(Y|X;\theta) θ=θargmax(Y∣X;θ)
如果假设样本是独立同分布的,那么上式可以分解成:
θ=arg maxθ∑i=1mlogP(yi∣xi;θ)\theta = \argmax_{\theta}\sum_{i=1}^m{logP(y_i|x_i;\theta)} θ=θargmaxi=1∑mlogP(yi∣xi;θ)
机器学习的一个基本过程,就是通过更新模型参数来提高整个数据集的似然,其中缺失变量的值是通过后验分布来估计的。例如,使用梯度下降来最大化对数似然函数的方法也有相同的性质。计算对数似然函数的梯度需要对隐藏单元的后验分布求期望。
还有一种解释最大似然估计的观点,是将它看作最小化训练集上的经验分布和模型分布之间的差异,两者之间的差异程度可以通过KL散度度量。
参考资料
《人工智能数学基础》
《深度学习》
如何理解「最大似然估计」?参数估计、似然函数、最大似然估计相关推荐
- 【机器学习笔记(十)】之通俗易懂理解到底最大似然估计是什么?
本文章由公号[开发小鸽]发布!欢迎关注!!! 老规矩–妹妹镇楼: 导言: 咱们学习概率论的时候,一定学习过最大似然估计这个概念,但是大家可能都只是学习了如何求解最大似然估计,而不太清楚什么叫似然估计? ...
- 【数学基础】参数估计之极大似然估计
背景 先来看看几个小例子: 猎人师傅和徒弟一同去打猎,遇到一只兔子,师傅和徒弟同时放枪,兔子被击中一枪,那么是师傅打中的,还是徒弟打中的? 一个袋子中总共有黑白两种颜色100个球,其中一种颜色90个, ...
- 参数估计:最大似然估计MLE
http://blog.csdn.net/pipisorry/article/details/51461997 最大似然估计MLE 顾名思义,当然是要找到一个参数,使得L最大,为什么要使得它最大呢,因 ...
- 算法 | 动画+解析,轻松理解「Trie树」
Trie这个名字取自"retrieval",检索,因为Trie可以只用一个前缀便可以在一部字典中找到想要的单词. 虽然发音与「Tree」一致,但为了将这种 字典树 与 普通二叉树 ...
- 看动画轻松理解「Trie树」
作者 | 程序员小吴 责编 | 胡巍巍 扎心!"我学了半年 Python,还是找不到工作" https://edu.csdn.net/topic/python115?utm_sou ...
- 全方位理解「元宇宙」:一切才刚刚开始
撰文:DappRadar 编辑:南风 自从全球市值排名第六的 Facebook 宣布将公司品牌更名为 Meta 以来,元宇宙(Metaverse) 的概念已经成为主流.事实上,元宇宙并不是什么新鲜事. ...
- 如何理解「数据驱动业务」?
"数据驱动"描述了一种业务状态,在这种状态中,数据被用于实时有效地推动决策和其他相关活动.对于企业来说,达到数据驱动的状态就像是开车和骑马旅行的区别.数据驱动的业务能够更快.更高效 ...
- 如何理解「异或」的含义?
或 异或 异或,英文为exclusive OR,缩写成xor 异或(eor)是一个数学运算符.它应用于逻辑运算.异或的数学符号为"⊕",计算机符号为"eor". ...
- Redis的一点理解「基本类型」「淘汰策略」
文章目录 前言 一.基本类型 String Hash List Set ZSet Hyperloglog 二.淘汰策略 LFU && LRU TTL淘汰 Random淘汰: 前言 Re ...
最新文章
- 分布式环境下,互斥性与幂等性问题,分析与解决思路
- 推荐几个(抖音/阿里/腾讯)年薪100W大佬的硬核公众号
- Javaweb环境配置,使用2014MyEclipse全过程详解!搭建JDK环境,Tomcat环境!破解2014MyEclipse。
- 《领域驱动设计:软件核心复杂性应对之道(修订版)》—第2章 2.1节模式:Ubiquitous Language...
- mysql优化概述4
- Linux设备驱动模型之platform总线
- Android初级教程Activity小案例(计算器乘法运算)
- 通用权限管理系统组件 (GPM - General Permissions Manager) - 支持请求
- Java IO: 文件
- canvas绘制竖排的数字_大佬教你用Python Tkinter实现数字猜谜小游戏
- 谷歌补丁Android官网,谷歌已发布 19年12月 Android 安全补丁
- 更新fielddata为true_关于ElasticSearch的聚类时出现fielddata=true问题
- 深度学习与硬件GPU,软件框架关系及相关概念解析
- MariaDB忘记root密码
- 华硕aura完全卸载_更快,更信仰,华硕RTX 2070电竞显卡
- 天正多条线段长度lisp下载_如何快速计算cad中多条多段线的总长
- PS图层模式详细讲解
- vsftpd 虚拟用户
- Hive Load装载数据与HDFS的关系
- 免费思维导图软件, 简单脑图工具,支持导出图片