1.2 Probability Theory (下)

2024-02-08 12:18
文章标签 probability theory 1.2

本文主要是介绍1.2 Probability Theory (下),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天开始学Pattern Recognition and Machine Learning (PRML),章节1.2,Probability Theory (下)

今天开始学Pattern Recognition and Machine Learning (PRML),章节1.2,Probability Theory (下)

今天把1.2写完,这一节讲了很多重要的基础内容。

1.2.3 贝叶斯概率

这一节的上半部分,我们结合一个盒子-水果抽取的问题,从随机可重复事件频率的角度理解了概率,这是经典的一种通过频率来理解概率的角度,接下来我们用贝叶斯角度来理解概率,重点关注不确定性。

有些事件称之为不确定事件,比如月亮是不是曾经围绕太阳旋转,北极的冰是否会在一百年后消失,这些事件都没办法通过重复事件来确定概率。但是我们可以通过其他一些手段来得到一些结果,比如我们可以通过观察每年冰层的消融比率来确定是否有可能消失。当然,人们会通过这些结果来指导未来的活动(decision),比如减少温室气体的排放,通过这些行为,我们需要重新评估冰层消失的可能。这里引出了从贝叶斯角度看概率。

在模式识别领域,我们需要一种更通用的关于概率的表达。1.1节中提到多项式拟合问题,我们当然可以很自然的用训练集的频率来代表随机变量tn(target value)的概率,但是对于估计正确参数w来说,我们更应该用不确定性来理解,从贝叶斯角度来解释概率论中的不确定性,用于模型参数估计以及模型的选择。

假设在观察数据之前,我们有一个关于w的先验p(w),那么根据w我们观察到数据集D:clip_image002可以用条件概率来表示p(D|w),贝叶斯定理可以表达为:

clip_image004

根据上式,我们可以根据给定的观察数据D,来估计w的不确定性,即w的后验概率p(w|D)。其中的条件概率p(D|w)可以表示成关于w的一个function,称之为似然方程(likelihood function)。可以理解为在给定w的情况下,观察到当前D的可能性。注意:似然并不是关于w的概率密度函数。

P(D)是不变的,可以理解为一个归一化常数,因此,我们可以得到正比关系:

clip_image006

后验是关于w的概率密度函数,因此它关于w的积分为1。另外,P(D)可以理解为全概率公式,

clip_image008

一种广泛使用的统计估计方法是最大似然估计,通过最大化似然方程p(D|w)来得到w。意思是说找到一个w,使得观察到当前D的概率最大化。很多情况下,我们用-ln(p(D|w))来求解最小值,主要是为了方便,并且ln是单调的。

前面提到的贝叶斯方法(1.44),一个很重要的好处是非常自然地引入了先验p(w),使得我们的估计不会太极端。比如我们对投硬币问题观察到每一次训练数据都是正面,那么最大似然估计得到正面的概率将是1。通过先验的调整我们可以避免这种极端情况。

当然,贝叶斯理论也有它的缺点:有的时候设计者为了计算的方便而选择某个形式的先验,却不是因为相信数据符合这样的先验。如果先验很烂,那么贝叶斯模型的结果往往会很烂。而直接的统计估计方法(如最大似然)可以避免这些问题,并且可以利用例如cross-validation (本章后面有介绍)这样的方法来调参。

1.2.4 高斯分布

高斯分布(正态分布)大概是最重要的关于连续型随机变量的一种概率分布了。关于一个单一的实变量x来说,高斯分布定义为

clip_image010

其中,clip_image012叫做均值mean,clip_image014叫做方差variance。高斯分布是由这两个参数决定的。另外clip_image016叫做precision。图1.13绘制了一个典型的高斯分布。

clip_image018

通过下面两个性质:

clip_image020

clip_image022

我们可以知道高斯分布是一个概率密度函数。

通过期望和方差的定义,我们可以求得

clip_image024

clip_image026

这也是clip_image012[1]叫做均值mean,clip_image014[1]叫做方差variance的由来。

定义在一个D维度的连续型随机变量(一个向量)x的高斯分布是:

clip_image028

其中均值clip_image012[2]是D维的,协方差clip_image030是D*D维的。

假设每一个数据点xi都是独立同分布的,那么基于给定的均值、方差,生成一个数据集x的概率是

clip_image032

也就是似然方程的形式。我们通过最大化似然方程来找到使得生成这样数据集的概率最大的参数clip_image034。这里有一点绕,理论上我们应该去给定数据集寻找参数的最大概率,这样更自然一些;不过这个目标和最大似然是有联系的,后面会涉及到。基于(1.53)式我们也更容易理解为什么常常需要对似然方程取ln计算,因为取对数之后使得连乘变成了连加,方便计算,同时保证了计算机的精度是有效的。取对数后我们可以得到似然方程:

clip_image036

最大化该式(分别对clip_image034[1])可以得到均值和方差的最大似然估计:

clip_image038

clip_image040

可以看到,结果分别是样本均值和样本方差。这样的方法和结果看起来都很简单也有道理,那是不是说以后我们只要计算样本均值和样本方差就行了呢?进一步探究最大似然的结果我们可以发现它有一些不足之处——本质上,它低估了真实方差。我们来求上述解的期望,通过带入期望的定义,不难得到:

clip_image042

可以看到,样本方差的期望不等于真实方差(假设的,未知的),也就是说最大似然的方差估计是有偏估计。这是一种称之为bias的现象(之一),在很多模型中,正是因为最大似然这种bias造成了模型的over-fitting(过拟合)。

1.2.5 曲线拟合问题再思考

让我们继续回到前一节讲的曲线拟合问题中,来逐步揭开更加概率角度的模型理解,用完全贝叶斯角度去做。

我们用不确定性来表达需要求的目标值t(target value)——用概率分布来表达。假设给定一个数据点x,它的目标值t服从一个高斯分布(均值为y(x,w),方差为clip_image044),那么:

clip_image046

由下图1.16可以看到,红线表示曲线拟合的结果,在每一个点x0上,得到目标值t是在一个范围内变化的。

clip_image048

对(1.60)取对数,得到:

clip_image050

当我们对w求极值的时候,可以看其他参数都是已知的常数,因此最小化(1.62)就等价于最小化 clip_image052这一部分。而这一部分就恰恰是前面我们提到过的error function,称为sum-of-squares。有了w的似然估计clip_image054以后,我们类似的可以求出precision clip_image056的估计值:

clip_image058

好了,当我们有了clip_image060之后,现在我们可以预测t的概率分布了:

clip_image062

这和我们之前用error function计算最优w再直接得到y作为t的预测不同,现在t是符合一个分布的。

当然,上述结果仍然略显简单,更进一步贝叶斯的方法是引入w的先验。让我们假设w符合下面这样的高斯分布:

clip_image064

其中clip_image066控制了参数w的分布,像这样的参数称之为超参数。通过贝叶斯定理,可以表达出w的后验概率:

clip_image068

这样我们可以计算w最有可能的取值,在给定数据集(训练集x,t)的情况下。这种方法称为maximum posterior (MAP) 。

用和之前类似的方法,对(1.66)取-ln(),等价于最小化:

clip_image070

这和之前提到的带正则项的error function(regularized sum-of-squares)是一样的。可见,引入了先验在这个例子下面起到了调节过拟合的作用。

1.2.6 贝叶斯曲线拟合

继续思考前面的例子,虽然我们引入了w的先验,但是我们本质上仍然在做w的点估计,即我们得到了一个我们认为最优的w,然后再得到t的估计。事实上,真正贝叶斯的方法因该是对所有w做积分,叫做marginalization,这才是贝叶斯理论的核心所在。应该是这样做的:在给定训练数据集xt下,我们对所有w的取值求积分

clip_image072

,其中clip_image074一项是用式子(1.60)来给出的,clip_image076一项是由前面(1.66)给出的(需要归一化)。通过计算我们可以得到(1.68)左边关于t的分布表达:

clip_image078

上面为了书写清楚,把参数clip_image066[1]clip_image056[1]隐藏了,当做是已知的,后面第三章会讲到怎么求上面的结果,在这里就不具体讲了,有个大概的概念即可。

这篇关于1.2 Probability Theory (下)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/691014

相关文章

usaco 1.2 Palindromic Squares(进制转化)

考察进制转化 注意一些细节就可以了 直接上代码: /*ID: who jayLANG: C++TASK: palsquare*/#include<stdio.h>int x[20],xlen,y[20],ylen,B;void change(int n){int m;m=n;xlen=0;while(m){x[++xlen]=m%B;m/=B;}m=n*n;ylen=0;whi

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

usaco 1.2 Milking Cows(类hash表)

第一种思路被卡了时间 到第二种思路的时候就觉得第一种思路太坑爹了 代码又长又臭还超时!! 第一种思路:我不知道为什么最后一组数据会被卡 超时超了0.2s左右 大概想法是 快排加一个遍历 先将开始时间按升序排好 然后开始遍历比较 1 若 下一个开始beg[i] 小于 tem_end 则说明本组数据与上组数据是在连续的一个区间 取max( ed[i],tem_end ) 2 反之 这个

usaco 1.2 Transformations(模拟)

我的做法就是一个一个情况枚举出来 注意计算公式: ( 变换后的矩阵记为C) 顺时针旋转90°:C[i] [j]=A[n-j-1] [i] (旋转180°和270° 可以多转几个九十度来推) 对称:C[i] [n-j-1]=A[i] [j] 代码有点长 。。。 /*ID: who jayLANG: C++TASK: transform*/#include<

【渗透测试专栏】1.2认证和授权类-越权访问(水平/垂直越权)

该系列专栏旨在让漏洞检测变得更简单,只用于学习用途 靶机环境请看专栏前言专栏前言-WooYun漏洞库环境搭建-CSDN博客 目录 该系列专栏旨在让漏洞检测变得更简单,只用于学习用途 一、漏洞描述 1、水平越权 2、垂直越权 二、漏洞级别 三、漏洞检测方法 漏洞修复 一、漏洞描述 偏业务漏洞 1、水平越权 水平越权指的是在同一权限级别下,用户可以访问其他用户的资源或

概率论 --- Uva 11181 Probability|Given

Uva 11181 Probability|Given  Problem's Link:   http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18546   Mean:  n个人去逛超市,第i个人会购买东西的概率是Pi。出超市以后发现有r个人买了东西,问你每个人购买东西的实际概率是多少。   analyse

如何在算家云搭建OpenSora 1.2(文本生成视频)

一. OpenSora 1.2简介 1. 技术特点 高清视频生成 : OpenSora 1.2 在 720p 高清文生视频质量和生成时长上取得了突破性进展,支持无缝产出任意风格的高质量短片。通过引入视频压缩网络(VAE)和更优的扩散模型算法,显著提升了视频生成的质量和效率。 视频压缩网络 : OpenSora 团队提出了一个创新的视频压缩网络,该网络在空间和时间两个维度上分别进行压缩。首

LEAN 类型理论之注解(Annotations of LEAN Type Theory)—— 定义上相等(Definitional Equality)

定义上相等(Definitional Equality)指的是意义上相等,即同义,包括了,定义的缩写(Abbreviatory Definition),alpha转换,相同替代(substituting equals for equals)等。下面是LEAN给定的何谓 定义上相等。          注:罗列的推演规则中,如自明其义的,则不多加解析其前提、结果、或特定注解。

1.2 Java基础多线程面试题

21、介绍下进程和线程的关系 进程和线程是操作系统中两种重要的执行单元,它们在程序执行中扮演着不同的角色,但又密切相关。 进程 (Process) 定义: 进程是操作系统中独立运行的程序实例。每个进程拥有自己的地址空间、资源(如内存、文件描述符)和执行权限。一个进程可以包含多个线程。特点: 独立性: 进程是独立的执行单元,彼此之间的内存和资源是隔离的,这种隔离性增强了系统的稳定性和安全性。开

1.2 SQL注入之MYSQL语句语法

SQL注入之数据库概述 数据库就是一个存储数据的仓库,数据库是以一定方式存储在一起,能与多个用户共享,具有尽可能小的冗余,与应用程序彼此独立的数据集合。 关系型数据库 关系型数据库,存储的格式可以直观地反映实体间的关系,和常见的表格比较相似 关系型数据库中表与表之间有很多复杂的关联关系的 常见的关系型数据库有MySQL,Orcale,PostgreSQL , SQL Server等。