• 极大似然估计的理解与应用


    极大似然估计是概率论中一个很常用的估计方法,在机器学习中的逻辑回归中就是基于它计算的损失函数,因此还是很有必要复习一下它的相关概念的。

    背景

    先来看看几个小例子:

    • 猎人师傅和徒弟一同去打猎,遇到一只兔子,师傅和徒弟同时放枪,兔子被击中一枪,那么是师傅打中的,还是徒弟打中的?
    • 一个袋子中总共有黑白两种颜色100个球,其中一种颜色90个,随机取出一个球,发现是黑球。那么是黑色球90个?还是白色球90个?

    看着两个小故事,不知道有没有发现什么规律...由于师傅的枪法一般都高于徒弟,因此我们猜测兔子是被师傅打中的。随机抽取一个球,是黑色的,说明黑色抽中的概率最大,因此猜测90个的是黑色球。

    他们有一个共同点,就是我们的猜测(估计),都是基于一个理论:概率最大的事件,最可能发生

    其实我们生活中无时无刻不在使用这种方法,只是不知道它在数学中是如何确定或者推导的。而在数理统计中,它有一个专业的名词:

    极大似然估计(maximum likelihood estimation, MLE),通俗的说就是 —— 最像估计法(最可能估计法)

    数学过程

    极大似然原理与数学表示

    官方一点描述上面的过程,即:有n个实验结果,({ A }_{ i })({ A }_{ n }),如果({ A }_{ j })发生了,则意味着({ A }_{ j })发生的概率最大。

    即,一次试验就发生的事件,这个事件本身发生概率最大

    PS

    举个例子,我们在学校衡量学习成绩的标准就是考试成绩,高考更是一考定终身的感觉。高考成绩的好坏,则可以当做一个学生能力的体现,虽然有的人考试紧张考砸了,有的人超常发挥了,但是从概率上来说,高考的成绩基本可以判断这个人的(学习)能力。基于极大似然的解释就是,我们高考的成绩很大程度上反应了平时的学习能力,因此考得好的(当前发生的事件),可以认为是学习好的(所有事件发生概率最大的)。

    再抽象一点,如果事件发生是关于 ( heta) 参数的,那么一次事件放生时,样本为({x}_{1},...{x}_{k}),那么(hat { heta } ({x}_{1},...{x}_{k}))就是( heta)的估计值。当( heta=hat { heta } ({x}_{1},...{x}_{k}))时,当前样本发生的概率最大。

    PS

    再举个射箭的例子,在《权力的游戏》中有个场景,老徒利死的时候,尸体放在穿上,需要弓箭手在岸边发射火箭引燃。但是当时的艾德慕·徒利公爵射了三箭都没中,布林登·徒利实在看不下去了,通过旗帜判断风向,一箭命中!
    因此箭能否射中靶心,不仅跟弓箭手的瞄准能力有关,还跟外界的风向有关系。假设不考虑人的因素,但看风向...同样的瞄准和力度,风太大不行、太小也不行....那我们给风的大小设置一个值为( heta)。假设一名弓箭手射出了三只箭,分别是8环、6环、7环(即({x}_{1}=8),({x}_{2}=6),({x}_{3}=7)),当天风的大小为88。那么我们认为只有( heta=88),发生上面事件的概率最大。

    极大似然估计法

    如果总体X为离散型

    假设分布率为(P=p(x; heta )),x是发生的样本,( heta)是代估计的参数,(p(x; heta))表示估计参数为( heta)时,发生x的的概率。

    那么当我们的样本值为:({x}_{1},{x}_{2},...,{x}_{n})时,

    [L( heta )=L({ x }_{ 1 },{ x }_{ 2 },...,{ x }_{ n }; heta )=prod _{ i=1 }^{ n }{ p({ x }_{ i }; heta ) } ]

    其中(L( heta))成为样本的似然函数。

    假设

    [L({ x }_{ 1 },{ x }_{ 2 },...,{ x }_{ n };hat { heta } )=underset { heta in Theta }{ max } L({ x }_{ 1 },{ x }_{ 2 },...,{ x }_{ n }; heta ) ]

    (hat{ heta}) 使得 (L( heta)) 的取值最大,那么 (hat { heta})就叫做参数 ( heta) 的极大似然估计值。

    如果总体X为连续型

    基本和上面类似,只是概率密度为(f(x; heta)),替代p。

    解法

    1. 构造似然函数(L( heta))
    2. 取对数:(lnL( heta))
    3. 求导,计算极值
    4. 解方程,得到( heta)

    解释一下,其他的步骤很好理解,第二步取对数是为什么呢?

    因为根据前面你的似然函数公式,是一堆的数字相乘,这种算法求导会非常麻烦,而取对数是一种很方便的手段:

    • 由于ln对数属于单调递增函数,因此不会改变极值点
    • 由于对数的计算法则:(ln{ a }^{ b }=blna)(lnab=lna+lnb) ,求导就很方便了

    例子这里就不举了,感兴趣的话,可以看看参考的第二篇里面有好几个求解极大似然估计的例子。

    参考

  • 相关阅读:
    CentOS7 配置登录前显示IP
    用indexOf方法实现 数组去重
    easyui datagrid checkbox 禁止点击方法
    EasyUI常用图标
    Markdown基本语法
    百度地图标记
    Activity中的单击事件-------使用匿名内部类实现简单的跳转效果
    java.lang.ClassFormatError: Extra bytes at the end of class file quartz/loader/MyCalcSalary
    java.net.MalformedURLException: no !/ in spec
    Oracle 常见函数
  • 原文地址:https://www.cnblogs.com/xing901022/p/8418894.html
Copyright © 2020-2023  润新知