机器学习基础

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. io型和有状态的应用不放入k8s,而是做服务映射

    io型和有状态的应用不放入k8s,而是做服务映射 待办 在实际应用中,一般不会把mysql这种重IO.有状态的应用直接放入k8s中,而是使用专用的服务器来独立部署.而像web这种无状态应用依然会运行在 ...

  2. JVM工具使用和Linux-top命令解析

    top 命令 top 命令查看现在线程占用资料的情况. 第三行,cpu状态信息,具体属性说明如下: us — 用户空间占用CPU的百分比.(重要) sy — 内核空间占用CPU的百分比. ni — 改 ...

  3. Java - Test - TestNG: Idea 引入 testng.xml 自动生成插件

    1. 概述 Idea 引入自动生成 testng.xml 插件 自动生成 testng.xml 2. 背景 testng 调试 调试 testng, 主要是这两种方法 ide 下直接执行测试 方法 类 ...

  4. CSS学习(6)层叠

    1.声明冲突 不同的样式,多次应用到同一元素 层叠:解决声明冲突的过程,浏览器自动处理(权重计算) 有时候需要修改样式的时候,可以使用优先级高的方式覆盖,而不是在源代码修改 ①比较重要性 (1)作者样 ...

  5. python:面试算法题

    ''' 1.买卖股票的最佳时机给定一个数组,它的第?i?个元素是一支给定股票第?i?天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不 ...

  6. 6_4 破损的键盘(UVa11988)<链表>

    你用了一个有点坏掉的键盘打字,该键盘会自动按下”Home”键与“End”键,直到打完整个内容以前,你都没有发现到这个问题.本题给定键盘输出的字串(包含Home与End),请你输出该字串在屏幕显示的内容 ...

  7. Mysql主从复制,双主热备

    Mysql主从复制: 主从复制: 主机准备工作: 开启bin.Log 注意:server-id  是唯一的值 重启mysql:service mysql restart 查看是否开启成功: 查看当前状 ...

  8. java 倒入一篇文章,显示每个字母的出现概率,从大到小排序

    package com_1; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; ...

  9. malloc实现机制

    使用过c语言的都知道malloc是一个动态分配内存的函数,还可以通过free释放内存空间. 如果我们想分析一下malloc的源码,这其实不是一会就能看懂的,但是我们可以讨论一下malloc的简单实现. ...

  10. Java进阶学习(2)之对象交互(下)

    访问属性 封闭的访问属性 private等访问权限控制是对类的,这意味着同一类的不同对象可以互相访问其成员 这是从代码层面去考虑的,意味着不同类文件 开放的访问属性 一个类文件就是一个编译单元 pub ...