matlab贝叶斯判别后验概率,统计学习方法——朴素贝叶斯法、先验概率、后验概率(示例代码)...
朴素贝叶斯法,就是使用贝叶斯公式的学习方法,朴素就是它假设输入变量(向量)的各个分量之间是相互独立的。所以对于分量之间不独立的分布,如果使用它学习和预测效果就不会很好。
简化策略
它是目标是通过训练数据集学习联合概率分布$P(X, Y)$用来预测。书上说,具体是先学习到先验概率分布以及条件概率分布,分别如下:(但我认为,直接学习$P(X, Y)$就行了,它要多此一举算出这两个再乘起来变成$P(X, Y)$,但其实计算量差不多,可能这样更好理解吧)
$P(Y = c_k), k = 1, 2, 3, ..., K$
$P(X = x|Y = c_k) = P(X^{(1)} = x^{(1)}, ..., X^{(n)} = x^{(n)}|Y = c_k), k = 1, 2, 3, ..., K$
其中输入空间$mathcal{X} subseteq R^n$为$n$维向量的集合,输出空间为标记集合$mathcal{Y} = {c_1, c_2, ..., c_K}$。
上面提到了先验概率分布,这里记一下先验概率分布与后验概率分布。先验概率分布与后验概率分布是相对而言的量,通常是要放在一起讨论的。如:$P(Y)$是直接测量的,或是我们经验中所认为的$Y$的概率分布,而当我们测量$X$后,条件概率分布$P(Y|X)$就是发生$X$后$Y$的后验概率分布。
书中说,因为条件概率分布$P(X = x|Y = c_k)$有指数级数量的参数,它的估计实际不可行(实际上样本的数量也不够支撑那么多参数之间的潜在交叉关系)。事实上,假设$x^{(j)}$可取值有$S_j$个,j = 1, 2,… ,n , Y 可取值有K 个,那么参数个数就是$Kprodlimits_{j=1}^{n}S_j$。所以对输入的各个分量的分布进行了假设,假设各个分量之间相互独立(所以它们的联合分布就是直接乘起来),这是一个较强的假设,朴素贝叶斯因此得名。如下:
$P(X= x|Y = c_k) = P(X^{(1)} = x^{(1)}, ..., X^{(n)} = x^{(n)}|Y = c_k)$
$ = prodlimits_{j=1}^{n}P(X^{(j)} = x^{(j)}|Y = c_k)$
学习方式
那么如何学习呢?对于有限离散输入输出来说的表达,可以直接计算样本集的概率分布当做总体分布。
而对于连续的输入输出来说,通常要先假设$P(X, Y)$服从某个多维分布。然后,基于上面的独立性假设,$X$的各个分量是相互独立的,而各个分量和$Y$并不独立,所以可以分别拟合$P(X^{(j)}|Y), j = 1, 2, ..., n$(可以用极大似然估计拟合$P(X^{(j)}, Y)$,再计算$P(X^{(j)}|Y)$),然后把它们全都乘起来得$P(X|Y) = prodlimits_{j=1}^{n}P(X^{(j)}|Y)$(这里和上面不一样,因为是连续的,所以不能等于某个特定的值$x_j$),再拟合边缘分布$P(Y)$,然后与$P(X|Y)$相乘获得联合分布$P(X, Y)$。 当然也可以直接拟合$P(X, Y)$,因为$X$的分量之间相互独立,所以除了外协方差矩阵中除了对角线以及包含$Y$的协方差外,其它协方差$Cov(X^{(j)}, X^{(i)})$都为0,所以要优化的参数也少了很多,形如:
$egin{bmatrix} Cov(X^{(0)}, X^{(0)}) & 0 & . & . & . & Cov(X^{(0)}, Y) 0 &Cov(X^{(1)}, X^{(1)}) & . & .& . & Cov(X^{(1)}, Y) . & & . & & & . .& & & . && . .& & && . & . Cov(Y, X^{(0)}) & Cov(Y, X^{(1)}) & . & . & . &Cov(Y, Y)&end{bmatrix}$
分类的时候,通过贝叶斯公式计算后验概率分布,取后验概率最大的$Y$作为预测结果:
$y = f(x) = mathop{argmax}limits_{c_k} P(Y = c_k|X = x) $
$= mathop{argmax}limits_{c_k} frac{P(Y = c_k, X = x)}{sumlimits_{k}P(X = x|Y = c_k)P(Y = c_k)}$
因为分母对每个$Y$都是一样的,所以可以简化为:
$= mathop{argmax}limits_{c_k} P(Y = c_k, X = x)$
因此在这里最大后验概率的预测等价于最大联合概率。
后验最大化的含义
这里的后验概率最大化等价于机器学习中常用的期望风险最小化。如果用期望风险最小化来推出预测函数,就要定义损失函数,书上选择0-1损失函数(也可以是别的损失函数形式)。具体证明直接贴书上的图:
matlab贝叶斯判别后验概率,统计学习方法——朴素贝叶斯法、先验概率、后验概率(示例代码)...相关推荐
- 统计学习方法|朴素贝叶斯原理剖析及实现
欢迎直接到我的博客查看最近文章:www.pkudodo.com.更新会比较快,评论回复我也能比较快看见,排版也会更好一点. 原始blog链接: http://www.pkudodo.com/2018/ ...
- 李航统计学习方法-朴素贝叶斯
朴素贝叶斯法 朴素贝叶斯(naïve Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法[1]. 对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布:然 后基于此模型, ...
- 统计学习方法——朴素贝叶斯
0.写在前面 朴素贝叶斯实际上是非常简单的一种机器学习方法,我们在之前的很多地方都讲过了,所以这里我们不再阐述具体的原理,可以移步:朴素贝叶斯. 但是,对于讨论班里,争论最多的就是课后的2个习题,因此 ...
- 复习04统计学习方法(朴素贝叶斯算法Naive Bayes)---图片版
- 三种常用的朴素贝叶斯实现算法——高斯朴素贝叶斯、伯努利朴素贝叶斯、多项式朴素贝叶斯
朴素贝叶斯 在机器学习中,朴素贝叶斯分类器是一系列以假设特征之间强(朴素)独立下运用贝叶斯定理为基础的简单概率分类器. 朴素贝叶斯算法Naive Bayes定义中有两个关键定义:特征之间强假设独立和贝 ...
- 【阿旭机器学习实战】【10】朴素贝叶斯模型原理及3种贝叶斯模型对比:高斯分布朴素贝叶斯、多项式分布朴素贝叶斯、伯努利分布朴素贝叶斯
[阿旭机器学习实战]系列文章主要介绍机器学习的各种算法模型及其实战案例,欢迎点赞,关注共同学习交流. 本文介绍了机器学习中的朴素贝叶斯的基本原理,并对3种贝叶斯模型根据鸢尾花实例进行了比较. 目录 朴 ...
- 《贝叶斯思维:统计建模的Python学习法》——2.3 贝叶斯框架
本节书摘来异步社区<贝叶斯思维:统计建模的Python学习法>一书中的第2章,第2.3节,作者:[美]Allen B. Downey,更多章节内容可以访问云栖社区"异步社区&qu ...
- 探索贝叶斯-多项式/伯努力/补集朴素贝叶斯
目录 1. 多项式朴素贝叶斯及其变化 1.1 多项式朴素贝叶斯MultinomialNB 2. 伯努力朴素贝叶斯BernoulliNB 3. 补集朴素贝叶斯 4. 探索贝叶斯:贝叶斯的样本不均衡问题 ...
- 《贝叶斯思维:统计建模的Python学习法》一1.6 MM豆问题
本节书摘来自异步社区<贝叶斯思维:统计建模的Python学习法>一书中的第1章,第1.6节,作者[美]Allen B. Downey,更多章节内容可以访问云栖社区"异步社区&qu ...
最新文章
- 使用meta属性禁用手机浏览器的缩放功能
- javascript柱状统计图表
- 鸟哥的Linux私房菜(基础篇)-第五章、首次登陆与在线求助 man page
- java提高篇之理解java的三大特性——多态
- WPF实现环(圆)形菜单
- Super Jumping! Jumping! Jumping! HDU - 1087
- android studio左边选择渠道,AndroidStudio简单使用(二):左侧Structure
- Java实现简易四则运算器
- 计算机基础综合知识试题及答案,计算机基础综合知识试题及答案
- 神经网络应用论文题目,神经网络应用论文选题
- 解决-redis保存的中文变为unicode, redis的基本操作
- 三个人的友谊显的有些拥挤了...
- 本地.m3u8播放器实现
- 【微信小程序】小程序实现轮播图效果--swiper组件(一步步教你如何实现)
- 编译原理课程设计-对pl0语言进行扩充
- 变脸软件成犯罪帮凶​,上万个限用微信号被“复活”
- 7年测试工程师,裸辞掉17K的工作,想跳槽找更好的,还是太高估自己了....
- wireshark抓包分析ping数据包
- 【河南省多校脸萌第六场 A】分班级
- Electron理论知识 8 - 工具神器(Fiddle)