似然函数(Likelihood function)是什么

似然函数在统计学中是关于模型参数的函数,它描述了在给定观测数据时参数的合理性。与概率不同,似然不考虑参数固定的条件下事件发生的可能性,而是关注在已知观测结果下参数的可能性。举例来说,它用于评估在特定实验结果下,模型参数取某个值的合理性。本文通过硬币投掷的例子解释了似然函数的概念,并展示了如何通过代码计算似然值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

               

上次在寻找线性回归最小化函数时,又引出一个新的地雷,一个新的不知道,我们继续上路,开足马车继续寻找“似然函数”,它到底是什么呢?

先来到WIKI上看看定义:
In statistics, a likelihood function (often simply the likelihood) is a function of the parameters of a statistical model given data. Likelihood functions play a key role in statistical inference, especially methods of estimating a parameter from a set of statistics. In informal contexts, "likelihood" is often used as a synonym for "probability." In statistics, a distinction is made depending on the roles of outcomes vs. parameters. Probability is used before data are available to describe possible future outcomes given a fixed value for the parameter (or parameter vector). Likelihood is used after data are available to describe a function of a parameter (or parameter vector) for a given outcome.
接着来到百度上:
统计学中,似然函数是一种关于统计模型参数的函数。给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:
L(θ|x)=P(X=x|θ).
似然函数在推断统计学(Statistical inference)中扮演重要角色,尤其是在参数估计方法中。在教科书中,似然常常被用作“概率”的同义词。但是在统计学中,二者有截然不同的用法。概率描述了已知参数时的随机变量的输出结果;似然则用来描述已知随机变量输出结果时,未知参数的可能取值。例如,对于“一枚正反对称的硬币上抛十次”这种事件,我们可以问硬币落地时十次都是正面向上的“概率”是多少;而对于“一枚硬币上抛十次,落地都是正面向上”这种事件,我们则可以问,这枚硬币正反面对称的“似然”程度是多少。
“似然性”与“或然性”或“概率”意思相近,都是指某种事件发生的可能性,不同在于似然性不看重绝对值,只重相对值,所以不要求归一性(一般可以把概率当做似然性,但似然性不能当做概率)。概率(probability)和似然(likelihood),都是指可能性,都可以被称为概率,但在统计应用中有所区别。    概率是给定某一参数值,求某一结果的可能性的函数。似然是给定某一结果,求某一参数值的可能性的函数。   例如,抛一枚硬币,抛10次,结果是6次正面向上,其是匀质的可能性多大?似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。    例如,抛一枚匀质硬币,抛10次,6次正面向上的可能性多大?    解读:“匀质硬币”,表明参数值是0.5,“抛10次,六次正面向上”这是一个结果,概率(probability)是求这一结果的可能性。    解读:“抛10次,结果是6次正面向上”,这是一个给定的结果,问“匀质”的可能性,即求参数值=0.5的可能性。

下面来看一个例子:


这个例子,可以看到它采用这个公式计算:


有这个公式,当然就可以使用代码来计算出来,参考了一下网友的代码,实现如下:

#python 3.5.3  蔡军生    #http://edu.youkuaiyun.com/course/detail/2592    import mathw = 2.0/3  #最大概率h = 49  #正面次数t = 31  #反面次数  def DefineParam():      H=h      T=t      return H,T    def MaximumLikelihood(p=w):      H,T = DefineParam() #获取参数    #计算C(n, k)部分    f1 = math.factorial(H+T)/(math.factorial(H)*math.factorial(T))    #计算p部分    f2=(p**H)*((1.0-p)**T)                  return f1*f2  #计算似然数值print(MaximumLikelihood())
结果输出如下:

====================== RESTART: D:/AI/sample/tf_1.33.py ======================
0.05449673649247178
>>> 

到这里总算对似然函数有点了解了,后面继续寻找更多的不知道。


1. C++标准模板库从入门到精通 

2.跟老菜鸟学C++

3. 跟老菜鸟学python

4. 在VC2015里学会使用tinyxml库

5. 在Windows下SVN的版本管理与实战 

 http://edu.youkuaiyun.com/course/detail/2579

6.Visual Studio 2015开发C++程序的基本使用 

http://edu.youkuaiyun.com/course/detail/2570

7.在VC2015里使用protobuf协议

8.在VC2015里学会使用MySQL数据库









           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值