极大似然估计和最大后验估计-程序员宅基地

技术标签: 机器学习  

https://baijiahao.baidu.com/s?id=1593811166204755239&wfr=spider&for=pc

机器学习中,一般只得到业务产生的数据集D,机器学习目的是通过数据D了解该项业务的过去(建模)和未来(预测和分类)。但你手头上只有数据集D,没有其他任何辅助信息,那么如何建模?

1.概率假设合理吗?

我们总是假设数据集D由某种概率分布生成(数据生成模型),甚至假设数据集D由高斯分布生成,一旦确定了高斯分布的参数,相当于我们掌握了数据的生成机制,这样就能预测业务的未来。但是,这种假设总是让人看起来不放心,这种假设合理吗?幸运的是,概率论里的中心极限定理保证了这种假设的合理性,中心极限定理表明,只要数据集D足够大,就可认为它由高斯分布生成。下图充分说明了这一点。

样本足够大时服从高斯分布

因此,即使数据集D的样本不够大,我们也会假设数据集D服从高斯分布,这时没有人会怀疑假设的合理性。高斯分布由期望和方差两个参数决定,但我们手头上只有数据集D和数据集D服从高斯分布这两条信息,并不知道高斯分布的参数的有关信息。因此估计高斯分布的参数成为我们首要任务,因为参数一旦确定下来,数据集D的生成模型也就确定下来,预测未来成为可能。关于高斯分布,我想进一步解释,不难看出,概率密度函数在期望值处取最大值,这说明了随机变量落在期望值周围的概率最大(通俗点来说就是我们大多数人生活在平均水平之中),这是密度函数名称的来源。

一维高斯分布及参数

高斯分布

2.极大似然然估计

从线性回归模型谈起,给定数据集[X,y],参数W,误差r服从高斯分布N(0,α^2),线性回归模型表示为:

线性回归模型

利用最小二乘法求参数W,即

最小二乘法求参数

这是一个解析解,让人满意的结果。但问题是当X中含有线性相关的特征时(特征重叠),矩阵不可逆,这时解不存在,需要选择正则化方法处理,如岭回归和lasso回归。大家应该发现这样的问题,最小二乘法与假设“误差r服从高斯分布N(0,α^2)”没有任何关系。但这个假设是合理的,只要有足够多的样本和好模型,误差自然大部分集中在0附近,并服从高斯分布。通过这个假设也可以倒逼训练出一个好模型。极大似然估计从假设“误差r服从高斯分布N(0,α^2)”开始,利用样本的独立性,有效估计参数。

首先考虑极大似然估计的通用模型,假设数据集D服从一个参数为W的概率分布f(x)=p(D=x|W)(含义为在知道W的条件下,数据集D取样本x的概率密度函数值),这里f(x)=p(D=x|W)是概率密度函数(对于连续型随机变量用概率密度函数代替概率),p(D|W)为数据集D的联合概率分布,根据样本的独立性,p(D|W)为所有样本的概率密度函数值f(x)的乘积。我们称p(D|W)为参数W的似然函数,log(p(D|W))为参数W的对数似然函数,记为L(W|D)=log(p(D|W))。现在首要任务是估计W。既然样本数据集D已经出现,概率直觉告诉我们,D出现的概率比所有其他样本数据集D'出现的概率都要大,即L(W|D)>L(W|D')。极大似然估计就是求一个参数W使得

下面用极大似然估计求解线性回归模型。

线性回归属于监督学习,X是特征,y是对应的值(即数据集D),应把X看成已知的参数,W为待估计的参数。假设误差r服从高斯分布N(0,α^2),这推出p(y|W)=N(W^TX,α^2)。根据极大似然估计

这说明了最小二乘法和极大似然估计在假设“误差r服从高斯分布N(0,α^2)”下是等价的。

极大似然估计基于朴素的概率直觉,有时得到的结果与实际情况有所偏差。从下图可以看出,不同的取样导致与实际情况偏差较大,因此使用极大似然估计应保持警惕。

思考1:在线性回归模型中,假设误差r服从贝塔分布,用极大似然估计参数,结果如何?

思考2:在线性回归模型中,假设误差r服从拉普拉斯分布,用极大似然估计参数,结果如何?

贝塔分布

拉普拉斯分布

3.最大后验估计

我在文章《贝叶斯定理》里详细介绍了贝叶斯定理以及先验(prior)、后验(posterior)、似然(likelihood)等概念。贝叶斯定理如下:

其中p(D)为标准化常数。贝叶斯定理可表述为:

目前,我们手头上有数据集D和数据集D服从高斯分布这两条信息,关于高斯分布的参数W,我们没有额外的信息,在这种情况下,我们只能用极大似然估计这些参数,这是我们能想到的方法。如果在建模之前能获知这些参数的额外信息,即先验p(W),那么我们可以利用这个先验建立更加精准的模型。这就是我们下面要讲的最大后验估计。根据贝叶斯定理,最大后验估计就是求参数W使得

计算上述最大值是一个挑战,但在一些特殊情况下,比如先验p(W)是一个高斯先验,我们是可以计算的。

现在我们可以讨论极大似然估计和最大后验估计的关系了。在极大似然估计中,我们不知道p(W),这相当于p(W)是均匀分布(均匀分布是无聊的,参数服从均匀分布等于没有告诉你关于参数任何信息),不妨假设p(W)=1,这时我们有

因此,极大似然估计和先验为均匀分布下的最大后验估计是等价的。

4.线性回归模型的最大后验估计

在线性回归模型里,误差r服从高斯分布N(0,α^2),进一步我们假设系数W的先验p(W)=N(0,^2),利用最大后验估计参数W,使得后验p(W|y)最大,这里我省去推导过程,直接给出结论:

本质上,这是岭回归。因此充分利用先验信息,最大后验估计比极大似然估计更加鲁棒。

思考:在线性回归模型中,假设先验p(W)服从拉普拉斯分布,用最大后验估计参数,结果如何?

5.总结

最后我们总结最小二乘法、极大似然估计和最大后验估计的关系。在线性回归模型中,假设误差r服从高斯分布N(0,α^2),最小二乘法和极大似然估计是等价的。在线性回归模型中,假设误差r服从高斯分布N(0,α^2),假设先验p(W)服从高斯分布N(0,^2),最大后验估计结果是岭回归。在假设p(W)服从均匀分布下,极大似然估计和最大后验估计是等价的。总之,在充分利用先验的基础上,最大后验估计比极大似然估计更加鲁棒。

(坚持原创,你的关注、点赞和转发是我的动力!未经授权禁止转载!)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lgb_love/article/details/81737808

智能推荐

移动端之禁止长按复制文字(兼容ios)_vue ios 禁止复制-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏2次。移动端之禁止长按复制文字在css中设置以下即可 *{ -webkit-touch-callout:none; /*系统默认菜单被禁用*/ -webkit-user-select:none; /*webkit浏览器*/ -khtml-user-select:none; /*早期浏览器*/ -moz-user-select:none;/*火狐*/ -ms-user-select:none; /*IE10*/ user-select:none;}在添加完_vue ios 禁止复制

Pycharm Debug调试(纯干货)-程序员宅基地

文章浏览阅读3w次,点赞65次,收藏374次。内容目录(原文见公众号python宝或www.xmmup.com)一、打断点二、代码调试三、界面小图标介绍四、控制台介绍# 数字转换为大写人民币import sysimport io..._pycharm debug

android MediaPlayer + GLSurfaceView播放视频_mediaplayer glsurfaceview-程序员宅基地

文章浏览阅读4.7k次。1、配置layout<?xml version="1.0" encoding="utf-8"?><LinearLayout ="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >_mediaplayer glsurfaceview

一文掌握大模型提示词技巧:从战略到战术-程序员宅基地

文章浏览阅读5.2k次,点赞76次,收藏106次。本文从战略(宏观)和战术(微观)两个层次讲解提示词技巧。希望大家能够掌握常见的提示词技巧,能够在 AI 早期积极主动学习,占领先机。_大模型提示词

Description Resource Path Location Type The superclass "javax.servlet.http.HttpServlet" was not foun_"descriptionresourcepathlocationtype the superclas-程序员宅基地

文章浏览阅读2.4k次,点赞3次,收藏3次。建了一个简单web项目,但是项目出了一个Description Resource Path Location TypeDescription Resource Path Location TypeThe superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path index.jsp /s..._"descriptionresourcepathlocationtype the superclass \"javax.servlet.http.h"

Install Sun JDK on Fedora/Redhat[收藏]_fedora install jdk-程序员宅基地

文章浏览阅读1.8k次。1. Download Sun Java JDK or JRE Download Sun Java JDK or JRE from here (current version is JDK 6 Update 20)http://java.sun.com/javase/downloads/index.jsp.Note: you can Skip login step.Download rpm.bin package (example jdk-6u20-linux-i586-rpm.bin).2. Change_fedora install jdk

随便推点

用opencv的dnn模块做yolov5目标检测_opencv yolov5-程序员宅基地

文章浏览阅读7w次,点赞271次,收藏1.1k次。最近在微信公众号里看到多篇讲解yolov5在openvino部署做目标检测文章,但是没看到过用opencv的dnn模块做yolov5目标检测的。于是,我就想着编写一套用opencv的dnn模块做yolov5目标检测的程序。在编写这套程序时,遇到的bug和解决办法,在这篇文章里讲述一下。在yolov5之前的yolov3和yolov4的官方代码都是基于darknet框架的实现的,因此opencv的dnn模块做目标检测时,读取的是.cfg和.weight文件,那时候编写程序很顺畅,没有遇到bug。但是yolo_opencv yolov5

3的倍数(暴力搜索)_3的倍数csdn-程序员宅基地

文章浏览阅读168次。牛客小白月赛20D 3的倍数题目链接算法分析n最大为15,范围比较小,所以直接来采用爆搜就行算法实现#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<math.h>using namespace std;int ch[20][30];//ch[i][j]记录第i个字符串中j的个数,j为字符转换后的数字int dp[30];/_3的倍数csdn

【腾讯优测干货分享】如何降低App的待机内存(二)——规范测试流程及常见问题...-程序员宅基地

文章浏览阅读71次。本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/806TiugiSJvFI7fH6eVA5w作者:腾讯TMQ专项测试团队导语最近小优听说,隔壁的腾讯TMQ团队出了一本新书——《移动App性能评测与优化》,便借阅了一本,读完感觉写得确实很赞。这本书体系化地介绍了移动应用性能评测与优化的方方面面,如内存,电量..._如何降低app的待机内存

Texlive2020+Texstudio2.12.22资源,附安装教程和书-程序员宅基地

文章浏览阅读1.6k次,点赞21次,收藏6次。Texlive2020+Texstudio2.12.22资源,附安装教程和刘海洋latex入门使用说明书百度云地址文件截图![\[\]](https://img-blog.csdnimg.cn/20201031105628261.png#pic_center)总结百度云地址链接:https://pan.baidu.com/s/1w4ZdEHvgMBF2uURQmnAxXw提取码:6jga复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V1的分享文件截图总结如果链接..

Hamburgers 二分答案_hamburger题解-程序员宅基地

文章浏览阅读5.2k次。题目大意:有一种汉堡,用B、S、C三种原料做成,现在告诉你当前有的B、S、C的个数,到商店买的B、S、C的单价(商店无限供应这三种原料),还有你拥有的钱。问最多能做多少个汉堡。刚开始我还以为是模拟,先把能用的用完,再去买。但是写了半天写不下去了,找了一下题解才发现是二分答案板子题。发现自己对二分还是不是很敏感。AC代码://https://blog.csdn.net/hesorche..._hamburger题解

ubuntu下安装uhd+gnuradio_无法定位软件包 libuhd003-程序员宅基地

文章浏览阅读1.9k次。提示:安装uhd+gnuradio实际上并不难,只是实际安装的时候,作为新手经常会因为缺乏相关知识而踩不少坑,以下是我踩坑安装的一些记录。gnuradio+uhd安装过程ubuntu下安装uhd+gnuradioExample: For UHD 3.9.5:Example: For UHD 3.14.0.0win10下安装ubuntu双系统使用usrpb210ubuntu18.04安装方法有两种,一种是使用已经编译好的二进制码,缺点是版本通常比较旧,但学习usrp也不需要太新的版本,另外,这种_无法定位软件包 libuhd003