博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
贝叶斯理论在机器学习中的应用
阅读量:5279 次
发布时间:2019-06-14

本文共 1851 字,大约阅读时间需要 6 分钟。

  贝叶斯理论应用于机器学习方面产生了多种不同的方法和多个定理,会让人有些混淆。主要有最大后验概率,极大似然估计(MLE),朴素贝叶斯分类器,还有一个最小描述长度准则。

  贝叶斯理论是基于概率的理论,设\(\lambda_{ij}\)是将实为\(c_j\)的样本标记为\(c_i\)的损失,则将样本\(x\)标记为\(c_i\)的期望损失是

\[R(c_i|x)=\sum_{j=1}^{N}{\lambda_{ij}P(c_j|x)} \hspace{2cm}(1) \]
\[\lambda_{ij}=\begin{cases} 0,&\text {if i=j} \\ 1,&\text {otherwise}\end{cases} \hspace{2cm}(2) \]\[ R(c|x)=1-P(c|x) \hspace{2cm}(3) \]  所以对于样本\(x\),我们要选择使期望损失最小的标记\(c\),即\(minR(c|x)\),等价于\(maxP(c|x)\),这就是最大后验概率的含义,也是贝叶斯决策论。

  根据贝叶斯定理,

\[P(c|x)=\frac{P(c)P(x|c)}{P(x)} \hspace{2cm}(4) \]  因此,估计\(P(c|x)\)的问题就转换为如何基于训练数据\(D\)来估计先验概率\(P(c)\)和似然概率\(P(x|c)\)。一般来说,先验概率\(P(c)\)可通过各类样本出现的频率来估计,而似然概率\(P(x|c)\)由于涉及关于\(x\)所有属性的联合概率,难以直接根据样本出现的频率进行估计。

  假设\(P(x|c)\)具有确定的形式并且被参数向量\(\theta_c\)唯一确定,我们可以将\(P(x|c)\)记为\(P(x|\theta_c)\)。对于参数\(\theta_c\)的估计,统计学界有两个不同的学派,频率主义认为参数虽然未知,但却是客观存在的固定值,因此,可通过优化似然函数等准则确定。令\(D_c\)表示训练集\(D\)中第\(c\)类样本组成的集合,假设这些样本是独立同分布的(注意这里是样本),则参数\(\theta_c\)对于数据集\(D\)的似然是

\[P(D_c|\theta_c)=\prod_{x\in D_c}P(x|\theta_c) \hspace{2cm}(5) \]\(\theta_c\)进行极大似然估计,就是去寻找能最大化似然\(P(D_c|\theta_c)\)的参数值\(\widehat{\theta}_c\),即
\[\widehat{\theta}_c=\mathop{arg\text{ }max}_{\theta_c}P(D_c|\theta_c) \hspace{2cm}(6) \]。这就是极大似然估计(MLE)的方法,这种估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布。

  除频率学派外的另一个学派就是贝叶斯学派,贝叶斯学派认为参数是未观察到的随机变量,其本身也可能有分布,因此,可假定参数服从一个先验分布,然后基于观测到的数据来计算参数的后验分布,由此产生了朴素贝叶斯分类器。

  朴素贝叶斯分类器假设对已知类别,所有属性相互独立(注意是属性),换言之,假设每个属性独立地对分类结果发生影响。于是,

\[P(c|x)=\frac{P(c)P(x|c)}{P(x)}=\frac{P(c)}{P(x)}\prod^d_{i=1}P(x_i|c) \hspace{2cm}(7) \]其中\(d\)为属性数目,\(x_i\)\(x\)在第\(i\)个属性上的取值。由于对于所有类别来说\(P(x)\)相同,因此有
\[h_{nb}(x)=\mathop{arg\text{ }max}_{c \in y} P(c)\prod^d_{i=1}P(x_i|c) \hspace{2cm}(8) \]这就是朴素贝叶斯分类器的表达式。
  当把“属性独立”条件放宽,适当考虑一部分属性键的相互以来信息时,就得到了半朴素贝叶斯分类器。

  贝叶斯网借助有向无环图来刻画属性之间依赖关系,并使用条件概率表来描述属性的联合概率分布,最小描述长度准则(MDL)就是指找到一个能以最短编码长度描述训练数据的模型,这里的模型就是指贝叶斯网。

转载于:https://www.cnblogs.com/bambipai/p/8231679.html

你可能感兴趣的文章
html5——web字体
查看>>
锋利的jQuery-7--query ui效果库--拖动排序插件sortable
查看>>
MVC神韵---你想在哪解脱!(十二)
查看>>
java 获取类路径
查看>>
圆方树学习笔记
查看>>
Database.SetInitializer的几种参数
查看>>
多线程的通信方法
查看>>
Emgucv(一)Aforge切换摄像头并调用摄像头属性
查看>>
AutoCAD® Civil 3D API需求意愿调查
查看>>
Python的学习(二十一)----Python的静态变量
查看>>
Python中文件的读写操作的几种方法
查看>>
nltk
查看>>
argularJS学习笔记-增删改
查看>>
spring声明式事务 同一类内方法调用事务失效
查看>>
JUnit - 测试框架
查看>>
MySQL-数据类型及选择
查看>>
简单的注册表单
查看>>
caffe c++
查看>>
概率图模型课本笔记(五)
查看>>
数据库MySQL/mariadb知识点——存储过程及存储引擎
查看>>