机器学习基础

1. 概率和统计

概率(probabilty)和统计(statistics)看似两个相近的概念,其实研究的问题刚好相反。
顾名思义:

  • 概率研究的问题是,已知一个模型和参数,怎么去预测这个模型产生的结果的特性(例如均值,方差,协方差等等)。
  • 统计研究的问题则相反。统计是,有一堆数据,要利用这堆数据去预测模型和参数。在实际研究中,也是通过观察数据,推测模型是高斯分布的、指数分布的、拉普拉斯分布的等,然后,可以进一步研究,推测模型参数。

一句话总结:概率是已知模型和参数,推数据。统计是已知数据,推模型和参数。

2. 先验概率(由历史求因

百度百科定义:先验概率(prior probability)是指根据以往经验和分析得到的概率,如全概率公式,它往往作为"由因求果"问题中的"因"出现的概率。
维基百科定义: 在贝叶斯统计中,某一不确定量p的先验概率分布是在考虑"观测数据"前,能表达p不确定性的概率分布。

可以看到二者定义有一个共同点,即先验概率是不依靠观测数据的概率分布,也就是与其他因素独立的分布。所以可以用表示。
\[
P(θ) \tag{1}
\]
先验概率仅仅依赖于主观上的经验估计,也就是事先根据已有的知识的推断,

3. 后验概率(知果求因

维基百科定义: 在贝叶斯统计中,一个随机事件或者一个不确定事件的后验概率是在考虑和给出相关证据或数据后所得到的条件概率。同样,后验概率分布是一个未知量(视为随机变量)基于试验和调查后得到的概率分布。

简单的理解就是这个概率需要观测数据才能得到,例如我们需要对一个神经网络建模,我们需要基于给定的数据集X才能得到网络参数θ的分布,所以后验概率表示为
\[
P(θ|X) \tag{2}
\]

4. 似然函数(由因求果

百度百科定义: 统计学中,似然函数是一种关于统计模型参数的函数。给定输出x时,关于参数\(θ\)的似然函数\(L(θ|x)\)(在数值上)等于给定参数\(θ\)后变量\(X\)的概率:\[L(θ|x)=P(X=x|θ)\]。
维基百科定义: 在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。

\[
L(θ|x)=P(X=x|θ) \tag{3}
\]
似然概率很好理解,就是说我们现在有一堆数据,现在需要构建一组参数对这些数据建模,以使得模型能够尽可能地拟合这些数据。所以我们要做的就是从很多组参数中选出一组使得模型对数据的拟合程度最高,所以也常常说最大似然概率,即 \(\mathop {argmax}_{θ}P(X|θ)\)。

5. 有趣的野史--贝叶斯和似然之争-最大似然概率(MLE)-最大后验概率(MAE)-贝叶斯公式

极大似然估计和贝叶斯估计分别代表了频率派和贝叶斯派的观点。频率派认为,参数是客观存在的,只是未知而矣。因此,频率派最关心极大似然函数,只要参数求出来了,给定自变量X,Y也就固定了,极大似然估计如下所示:
\[
θ_{MLE}=argmax_{θ}P(X|θ) \tag{4}
\]
X表示训练数据集,θ是模型参数

相反的,贝叶斯派认为参数也是随机的,和一般随机变量没有本质区别,正是因为参数不能固定,当给定一个输入x后,我们不能用一个确定的y表示输出结果,必须用一个概率的方式表达出来,所以贝叶斯学派的预测值是一个期望值,如下所示:
\[
E[y|x]=∫P(y|x,θ)P(θ|X)dθ \tag{5}
\]
其中X表示输入训练数据集,y表示输出,θ 是模型参数

该公式称为全贝叶斯预测。现在的问题是如何求 p(θ|X) (后验概率),根据贝叶斯公式我们有:
\[
P(θ|X)=\frac{P(X|θ)P(θ)}{P(X)}=\frac{P(X|θ)P(θ)}{∫p(X|θ)p(θ)dθ} \tag{6}
\]
可惜的是,上面的后验概率通常是很难计算的,因为要对所有的参数进行积分,不能找到一个典型的闭合解(解析解)。在这种情况下,我们采用了一种近似的方法求后验概率,这就是最大后验概率
\[
θ_{MAP}=argmax_θP(X|θ)P(θ) \tag{7}
\]
最大后验概率和极大似然估计很像,只是多了一项先验分布\(P(\theta)\),它体现了贝叶斯认为参数也是随机变量的观点,在实际运算中通常通过超参数给出先验分布。

从以上可以看出,

  • 一方面,极大似然估计和最大后验概率都是参数的点估计。在频率学派中,参数固定了,预测值也就固定了。最大后验概率是贝叶斯学派的一种近似手段,因为完全贝叶斯估计不一定可行。
  • 另一方面,最大后验概率可以看作是对先验和MLE的一种折中,如果数据量足够大,最大后验概率和最大似然估计趋向于一致,这是因为当数据量很大时,先验概率趋向于均匀分布。如果数据为0,最大后验仅由先验决定。

贝叶斯估计假设将待估计的参数看成是符合某种先验概率分布的随机变量,而不是确定数值。在样本分布上,计算参数的所有情况并通过计算参数的期望,得到后验概率密度。
极大似然估计是将参数\(\theta\)作为一个确定值。

总结:先验概率 后验概率以及似然函数的关系

先验概率: \(P(θ)\)
后验概率: \(P(θ|X)\)
似然概率: \(P(X|θ)\)
它们三者存在这样的关系:
\[
P(θ|X)=\frac{P(X|θ)P(θ)}{P(X)} \tag{8}
\]
一般而言数据\(P(X)\)的分布是知道的,所以有
\[
P(θ|X)∝P(X|θ)P(θ)
\]
此外,当参数\(θ\)是均匀分布时,后验概率和似然概率成正比,后验概率正比于先验概率乘以似然函数即:
\[
P(θ|X)∝P(X|θ)
\]
参考文献:
一个例子搞清楚(先验分布/后验分布/似然估计)转载详细介绍几个概念之间的因果关系,简单易懂。
先验概率,后验概率,似然概率,条件概率,贝叶斯,最大似然
概率论:先验与后验与似然

机器学习基础系列--先验概率 后验概率 似然函数 最大似然估计(MLE) 最大后验概率(MAE) 以及贝叶斯公式的理解的更多相关文章

  1. 4.机器学习——统计学习三要素与最大似然估计、最大后验概率估计及L1、L2正则化

    1.前言 之前我一直对于“最大似然估计”犯迷糊,今天在看了陶轻松.忆臻.nebulaf91等人的博客以及李航老师的<统计学习方法>后,豁然开朗,于是在此记下一些心得体会. “最大似然估计” ...

  2. 【机器学习基本理论】详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

    [机器学习基本理论]详解最大似然估计(MLE).最大后验概率估计(MAP),以及贝叶斯公式的理解 https://mp.csdn.net/postedit/81664644 最大似然估计(Maximu ...

  3. 最大似然估计和最大后验概率MAP

    最大似然估计是一种奇妙的东西,我觉得发明这种估计的人特别才华.如果是我,觉得很难凭空想到这样做. 极大似然估计和贝叶斯估计分别代表了频率派和贝叶斯派的观点.频率派认为,参数是客观存在的,只是未知而矣. ...

  4. 似然函数 | 最大似然估计 | likelihood | maximum likelihood estimation | R代码

    学贝叶斯方法时绕不过去的一个问题,现在系统地总结一下. 之前过于纠结字眼,似然和概率到底有什么区别?以及这一个奇妙的对等关系(其实连续才是f,离散就是p). 似然函数 | 似然值 wiki:在数理统计 ...

  5. 最大似然估计(MLE)与最小二乘估计(LSE)的区别

    最大似然估计与最小二乘估计的区别 标签(空格分隔): 概率论与数理统计 最小二乘估计 对于最小二乘估计来说,最合理的参数估计量应该使得模型能最好地拟合样本数据,也就是估计值与观测值之差的平方和最小. ...

  6. 萌新笔记——Cardinality Estimation算法学习(二)(Linear Counting算法、最大似然估计(MLE))

    在上篇,我了解了基数的基本概念,现在进入Linear Counting算法的学习. 理解颇浅,还请大神指点! http://blog.codinglabs.org/articles/algorithm ...

  7. Cardinality Estimation算法学习(二)(Linear Counting算法、最大似然估计(MLE))

    在上篇,我了解了基数的基本概念,现在进入Linear Counting算法的学习. 理解颇浅,还请大神指点! http://blog.codinglabs.org/articles/algorithm ...

  8. 补充资料——自己实现极大似然估计(最大似然估计)MLE

    这篇文章给了我一个启发,我们可以自己用已知分布的密度函数进行组合,然后构建一个新的密度函数啦,然后用极大似然估计MLE进行估计. 代码和结果演示 代码: #取出MASS包这中的数据 data(geys ...

  9. 最大似然估计 (MLE)与 最大后验概率(MAP)在机器学习中的应用

    最大似然估计 MLE 给定一堆数据,假如我们知道它是从某一种分布中随机取出来的,可是我们并不知道这个分布具体的参,即“模型已定,参数未知”. 例如,对于线性回归,我们假定样本是服从正态分布,但是不知道 ...

随机推荐

  1. bugku 散乱密码

    BugkuCTF_加密_散乱的密文 WriteUp   image.png lf5{ag024c483549d7fd@@1} 一张纸条上凌乱的写着2 1 6 5 3 4 以前做过这种类型的 既然是凌乱 ...

  2. spring jdbcTemplate query 返回值为null

    spring jdbcTemplate query 返回值为null 今天使用以下方法从数据库中查询数据,返回列表 public List<BookBean> getBooks(){ St ...

  3. 吴裕雄 python 机器学习——超大规模数据集降维IncrementalPCA模型

    # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt from sklearn import datas ...

  4. 吴裕雄 python 机器学习——支持向量机线性回归SVR模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm fr ...

  5. Codeforces Round #624 (Div. 3) F

    题意: 给出n的质点,带着初位置和速度: 如果中途两点可以相遇dis(i,j)=0: 如果不可以相遇,mindis(i,j): 求n个点的两两质点最小dis(i,j)之和 思路: 因为当初位置x和速度 ...

  6. Go_channel

    通道可以被认为是Goroutines通信的管道.类似于管道中的水从一端到另一端的流动,数据可以从一端发送到另一端,通过通道接收. 在前面讲Go语言的并发时候,我们就说过,当多个Goroutine想实现 ...

  7. JS中constructor属性

    constructor属性用于对当前对象的构造函数的引用.可以用来判断对象的类型: <script> var newStr = new String("One world One ...

  8. RocketMq-粪发涂墙1.0

    角色 说明 Producer 生产者,用于将消息发送到RocketMQ,生产者本身既可以是生成消息,也可以对外提供接口,由外部来调用接口,再由生产者将受到的消息发送给MQ. Consumer 消费者, ...

  9. 在 input 上添加图标字体时无法添加的问题

    效果:一个搜索框.如图: 实施过程:一开始,将搜索框分为2部分,用2个 input ,一个 search ,一个 button ,然后给 type="button" 的input ...

  10. Go语言内置包之strconv

    文章引用自 Go语言内置包之strconv Go语言中strconv包实现了基本数据类型和其字符串表示的相互转换. strconv包 strconv包实现了基本数据类型与其字符串表示的转换,主要有以下 ...