[机器学习一]之贝叶斯系列


<个人网页blog已经上线,一大波干货即将来袭:https://faiculty.com/>

/* 版权声明:公开学习资源,只供线上学习,不可转载,如需转载请联系本人 .*/



第1章 贝叶斯定理



1.1 基本概念

贝叶斯理论是机器学习中一个核心方法,它由英国数学家托马斯贝叶斯在1763年发表的一篇论文中首先提出这个定理。贝叶斯定理是用来度量不确定性事件的,比如今天下雨概率,是一种概率模型。

在介绍贝叶斯理论之前我们先看看统计模式识别(statistical pattern recognition)中的一些概率知识。假设有一组随机数据 X=[x1,x2,x3,......xl]TRl X = [ x 1 , x 2 , x 3 , . . . . . . x l ] T ∈ R l ,它们属于M个类别 Ω={ w1,w2,w3,........,wm} Ω = { w 1 , w 2 , w 3 , . . . . . . . . , w m } . 下面有三个比较常用的概念。

  • 首先是类别 wi w i 出现的概率,我们称之为先验概率(priori probability) p(wi),i=1,2,3,4,......M p ( w i ) , i = 1 , 2 , 3 , 4 , . . . . . . M
  • 然后是某个样本属于类别 wi w i 的概率,称为后验概率(Posterior probability): p(wi|x),i=1,2,3M p ( w i | x ) , i = 1 , 2 , 3 … … M .
  • 最后是似然(Likelihood): p(x|wi),i=1,2,3M p ( x | w i ) , i = 1 , 2 , 3 … … M .

贝叶斯定理就是一个条件概率,所谓“条件概率”,就是指在事件B发生的情况下,事件A发生的概率,用 p(A|B)=p(AB)p(B) p ( A | B ) = p ( A B ) p ( B ) 表示。

1.2 全概率公式

这部分内容主要是属于概率论中的内容,具体的例子,请看本站的基础数学部分。这里简单明了的直接阐述定理。

定理(来自浙大概率论第4版):
设试验 E E 的样本空间为 S A A E 的事件, B1,B2,B3......,Bn B 1 , B 2 , B 3 . . . . . . , B n S S 的一个划分,且 P ( B i ) > 0   ( i = 1 , 2 , 3 , . . . . . . , n ) ,则

P(A)=P(A|B1)P(B1)+P(A|B2)P(B2)+........+P(A|Bn)P(Bn) P ( A ) = P ( A | B 1 ) P ( B 1 ) + P ( A | B 2 ) P ( B 2 ) + . . . . . . . . + P ( A | B n ) P ( B n )

上式就称为全概率公式

物理意义:全概率公式是由条件概率公式 p(A|B)=p(AB)p(B) p ( A | B ) = p ( A B ) p ( B ) 推导而来,当 P(B)>0 P ( B ) > 0 的时候, P(AB)=P(A|B)P(B) P ( A B ) = P ( A | B ) P ( B ) .

1.3 贝叶斯公式

定理(来源于浙大概率论第4版):
设试验 E E 的样本空间为 S . A A E 的事件, B1,B2,B3......,Bn B 1 , B 2 , B 3 . . . . . . , B n S S 的一个划分,且 P ( A ) > 0 , P ( B i ) > 0   ( i = 1 , 2 , 3 , . . . . . . , n ) ,则

P(Bi|A)=P(A|Bi)P(Bi)nj=0 P(A|Bj)P(Bj) P ( B i | A ) = P ( A | B i ) P ( B i ) ∑ j = 0 n   P ( A | B j ) P ( B j )

证明:
由条件概率的定义及全概率公式既得:

P(Bi|A)=P(BiA)P(A)=P(A|Bi)P(Bi)nj=0 P(A|Bj)P(Bj)(1)(2) (1) P ( B i | A ) = P ( B i A ) P ( A ) (2) = P ( A | B i ) P ( B i ) ∑ j = 0 n   P ( A | B j ) P ( B j )

通常的,在进行分类判断的时候,我们将贝叶斯公式写成如下形式。

p(wi|x)=p(x|wi)p(wi)p(x) p ( w i | x ) = p ( x | w i ) p ( w i ) p ( x )

其中:

  • wi w i 表示第 i i 个类别, w 就是总类别的一个划分
  • x x 表示一个样本

我们对上式两边取对数,得到如下形式。

l n   p ( w i | x ) = l n   p ( x | w i ) + l n   p ( w i ) p ( x )

1.4 参考文献

[1] 《概率论与数理统计(浙大第4版)》



第2章 贝叶斯决策理论



生活中的许多决策都是不确定性的,比如明天是否下雨,我需要带伞么?这个时候就需要我们做出决策,如果认为明天会下雨,显然我们就会带上伞,否则不然。那么这个时候我们怎么判断我们的决策是否可信?又是否是最佳的决策呢?这个时候往往就需要引入评价准则(evaluation criteria)。不同的评价准则在相同的决策机制中往往会导致不同的决策结果。

贝叶斯决策常用的评价准则一般如下。

  • 最小错误概率(The minimum probability of error, the decision is optimal in the sense of minimum PE).
  • 最小风险误差(the minimum risk, the decision is optimal in the sense of minimum average risk).
  • 个人准则(we should construct the decision rule to have maximum probability of detection while not allowing the probability of false alarm to exceed a certain value.)

2.1 贝叶斯决策理论

上述准则使用将在贝叶斯决策理论之后进行介绍。接下来,我们将详细的讲述贝叶斯决策理论。我们假设一个样本的特征向量 x=[x1x2xl]T x = [ x 1 x 2 … … x l ] T . 而这个样本可能属于的类别空间为 Ω={ w1w2wM} Ω = { w 1 w 2 … … w M } ,那么贝叶斯决策理论就是计算出每个后验概率(给出一个样本 X X ,计算出样本X属于类别 w i 的概率),并找到最佳的类别 w w ,判别该样本属于 w

if P(wi|x)maxxwi i f   P ( w i | x ) → m a x ⇒ x → w i

那么我们该如何计算出这个后验概率呢?答案当然是贝叶斯定理,如果我们能得到所有的先验概率 P(w1),P(w2)P(wM) P ( w 1 ) , P ( w 2 ) … … P ( w M ) ,以及样本 x x 关于类别 w i 的似然.
P(x|wi),i=1,2,3Mmodel P ( x | w i ) , i = 1 , 2 , 3 … M → m o d e l
.
我们假设用贝叶斯来做二分类问题,那么我们可以得到 如下判决规则(decision rule)
if{ P(w1|x)>P(w2|x),P(w1|x)<P(w2|x), => decide xw1 => decide xw2 i f { P ( w 1 | x ) > P ( w 2 | x ) ,  => decide  x ∈ w 1 P ( w 1 | x ) < P ( w 2 | x ) ,  => decide  x ∈ w 2

if{ P(x|w1)P(w1)>P(x|w2)P(w2),P(x|w1)P(w1)<P(x|w2)P(w2), => decide xw1 => decide xw2 i f { P ( x | w 1 ) P ( w 1 ) > P ( x | w 2 ) P ( w 2 ) ,  => decide  x ∈ w 1 P ( x | w 1 ) P ( w 1 ) < P ( x | w 2 ) P ( w 2 ) ,  => decide  x ∈ w 2

由此我们可以画一个简单的决策图。


这里写图片描述

根据上图可以知道,虚线就是我们想要找的一个决策线,虚线左边判决给类别1,虚线右侧判决给类别2。但是由该图我们可以清楚的知道,在阴影部分中(比如虚线左侧的阴影部分),样本为类别2也是可能的。我们称这些阴影部分为决策失误域,这就是为什么决策需要一个决策准则(evaluation criteria )。

2.2 贝叶斯分类规则

2.2.1 决策错误概率(probability of decision error)

P(error|x)={ P(w1|x),P(w2|x),=> if x wi decision is w2 => if xw2 decision is w1 P ( e r r o r | x ) = { P ( w 1 | x ) , => if x  ∈ w i  decision is  w 2   P ( w 2 | x ) , => if  x ∈ w 2  decision is  w 1

由此我们可以得到(如果样本空间是连续的),如果 x x 是属于 w 1 ,但是分类到了 w2 w 2 ,这个时候产生的决策错误为如下。

P1(e)=R2p(x|w1)P(w1)dx P 1 ( e ) = ∫ R 2 p ( x | w 1 ) P ( w 1 ) d x

如果x是属于w_2,但是分类到了w_1,这个时候产生的决策错误为如下。

P2(e)=R1p(x|w2)P(w2)dx P 2 ( e ) = ∫ R 1 p ( x | w 2 ) P ( w 2 ) d x

TotalError T o t a l E r r o r P(e)=P2(e)+p1(e)= P ( e ) = P 2 ( e ) + p 1 ( e ) = 阴影面积


这里写图片描述

由此我们可以得到一个结论,贝叶斯在最小错误概率(PE)准则中表现是最好的。如下图所示,贝叶斯找到的是x_0作为分界线,该分解线划分所得到的错误概率(阴影部分的面积)永远是最小的,所以不可能会有一个算法MPE值比贝叶斯分类更小。因为不管如何移动该条分界线都会增加阴影部分面积。

这里写图片描述

2.2.2 平均风险最小(minimizing the average risk)

在某些特定的场景下,平均风险最小化比错误率最低更加重要。比如当判决某个细胞是正常细胞还是癌细胞的时候,显然把一个正常细胞错判为癌细胞的风险要比把一个癌细胞错判为正常细胞的风险大很多,后者的错误是致命的。这个时候我们往往需要给错判的情况加上一个权重,用来显示风险的大小。

下面我们首先介绍一下风险矩阵,或者又称为损失矩阵。我们假设进行一个二分类的分类器设计。这个时候风险矩阵可以写成如下的式子。

L=[λ11λ21λ12λ22] L = [ λ 11 λ 12 λ 21 λ 22 ]

其中, λij λ i j 表示把第j类错分为第 i i 类的惩罚因子。显然对角线元素都为0。

那么这个时候,分类器判决为第1类的风险就可以用如下的式子表示。

r 1 = λ 11 P ( w 1 x ) + λ 12 P ( w 2 x )

如果样本空间是连续的我们可以改写成如下的式子。

这里写图片描述

上述式子也是平均风险的定义式。
注 : λ11=λ22=0λ12=λ21=1 λ 11 = λ 22 = 0 , λ 12 = λ 21 = 1 的时候, = 最 小 风 险 贝 叶 斯 决 策 = 最 小 错 误 率 贝 叶 斯 决 策



第3章 决策函数与决策面



3.1 决策面(Decision Surfaces)

3.1.1 概念

如果输入的数据是一个 L L 维空间特征,考虑一个 M 分类问题,那么分类器将会把这个 L L 维空间的特征点分为 M 个区域。每个区域显然就属于一个类别,如果输入一个点 x x 落在第 i 个区域,那么 x x 就属于第 i 类。分割成这些区域的边界就称为决策面

3.1.2 例子

下面是一个简答的例子:

这里写图片描述

输入是一维,决策函数是 p(x|w) p ( x | w ) ,将两个类别的函数取值画出(如图的高斯函数图形)。如图虚线部分就是决策面(该决策面其实就是一个点 x0 x 0 ),点的左边因为 w1 w 1 函数值大,所以判定为第一类。

3.1.3 数学化

对于两个相邻的区域 Ri R i Rj R j 来说,如果输入样本 x x ,我们分别计算该样本属于第 i 的概率 P(wi|x) P ( w i | x ) 和第 j j 类的概率 P ( w j | x ) ,并定义函数 g(x)=P(wi|x)P(wj|x) g ( x ) = P ( w i | x ) − P ( w j | x ) , 那么此时 g(x) g ( x ) 有如下三种情况。


这里写图片描述

g(x)=0 g ( x ) = 0 就是分割 区域 Ri R i Rj R j 的决策面。

3.2 判决函数

如果 f f 函数是单调递增函数,那么判决函数可以定义为如下:

g i ( x ) = f ( p ( w i | x ) )

决策规则和之前所阐述的一致。

ifgi(x)>gj(x), ijxwi i f g i ( x ) > g j ( x ) , ∀   i ≠ j → x ∈ w i

常用的判决函数有如下几种。

gi(x)gi(x)gi(x)gi(x)=p(wi|x)=p(x|wi)p(wi)=ln p(x|wi)+ln p(wi)=f(p(x|wi))+h(x)(3)(4)(5)(6) (3) g i ( x ) = p ( w i | x ) (4) g i ( x ) = p ( x | w i ) p ( w i ) (5) g i ( x ) = l n   p ( x | w i ) + l n   p ( w i ) (6) g i ( x ) = f ( p ( x | w i ) ) + h ( x )

3.3 小节

  • 1维特征空间:决策面是一个点
  • 2维特征空间:决策面是一条线
  • 3维特征空间:决策面是超平面(Hyperplane)
  • 决策区域是由决策面决定的


第4章 贝叶斯分类器设计



这一小节我们将简单的阐述一般贝叶斯分类器设计的方法。分类器流程如下所示。

  • 输入:d-dim 特征向量
  • 计算决策函数值(针对每个类别)
  • 选取最大的值
  • 做出决策
  • 输出结果

如下图可以清楚的表达整个分类器工作的流程。

这里写图片描述

借用《算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)》的一张图来表示整个设计的流程。

这里写图片描述

下面我们将以两个小例子来贯穿贝叶斯分类器设计的整个流程。

4.1 MNIST手写体识别

4.1.0 数据集简介

MNIST是一个0-9的手写数字数据库。MNIST数据集中包含60000张手写数字图片,10,000 张测试图片。每张图片的大小为28*28,包含一个手写数字。如下图所示。数据集链接:http://yann.lecun.com/exdb/MNIST/

这里写图片描述

数据集中包含四个文件。

1.  train-images-idx3-ubyte.gz:  training set images (9912422 bytes)   
2.  train-labels-idx1-ubyte.gz:  training set labels (28881 bytes)   
3.  t10k-images-idx3-ubyte.gz:   test set images (1648877 bytes)   
4.  t10k-labels-idx1-ubyte.gz:   test set labels (4542 bytes)  

整理一下MNIST数据集

  • 四个文件。train_image,train_label,test_image,test_label
  • 图像数据。28*28的图像尺寸的灰度图像,所以每张图像为28*28*1
  • 标签。针对每个数据给出0-9中一个数字作为类别。

4.1.1、特征向量准备

搞个三部曲:

  • 数据准备
  • 模型设计
  • 模型训练

贝叶斯决策论也不例外,首要的,我们需要将原始数据经过一系列清洗得到输入的特征向量。

咋输入数据?

MNIST数据集四个文件是用二进制进行编写,详细的格式如下图所示,展示image file 和 label file。


这里写图片描述

数据的预处理可以分为两部分:第一部分就是读入数据,第二部分就是提取成想要的特征向量。
(1)读入数据。实验中我们采用MATLAB编写,利用文件指针逐个字节读取,得到一个mat,然后reshape到784*N的数据形式,注意这里得到的都是0-255像素。对于label也是同理得到N*1的数据形式。
(2)提取特征向量。 最后我们需要对读入的数据进行处理得到我们想要的特征向量。这里实验做法十分暴力,直接将图像变成二值化(将0-255 resize到0、1),然后向量长度不变。所以得到的形式是784*N的二值化的矩阵。Label不做任何处理。

这里主要是阐述整个设计流程,所以直接用最简单的方式提取特征。感兴趣的同学可以尝试用PCA等特征生成的方式将输入的图像做特征提取。

4.1.2、决策函数设计

接下来是分类器设计的主要步骤:决策函数设计。首先我们从最顶层开始往下进行推导。贝叶斯分类的核心就是找到最大的后验概率,也就是给出一个样本 x x ,它属于 y j 的概率最大,那么我们就认为样本 x x 是属于第 j 类的。由此我们的分类器设计的目标就是计算概率值 p(yj|xi) p ( y j | x i ) .

下面我们先给出形式化的定义

  • D=x(i)y(i),i=1,2,3,4n D = x ( i ) , y ( i ) , i = 1 , 2 , 3 , 4 … … n 表示我们的数据集;
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值