[模式识别复习笔记] 第5章 贝叶斯分类器
1. 贝叶斯分类器
1.1 贝叶斯公式
假设有一个试验的样本空间为
对于一个包含
-
若特征向量
取值每一维度 连续,则贝叶斯公式为:其中
称为特征向量取值为 的概率密度; 为 类实例出现的概率,即 先验概率; 为 类中特征向量取值为 的概率密度,称为 类条件概率密度。 -
若特征向量
取值每一维度 离散,则贝叶斯公式为:
1.2 贝叶斯分类
贝叶斯的分类规则 为将
假设把
等价于:
先验概率时分类的基础,后验概率在获取更多信息后,对先验概率进行修正而得到。
1.3 贝叶斯分类的错误率
记
故贝叶斯分类的总错误率为
贝叶斯分类 通过 最小化
1.4 最小化风险的贝叶斯分类
假设将
损失
条件风险
PS;一般情况下,
由此得到 最小化风险的贝叶斯分类规则,即将
假设损失函数
也就是
带入条件风险计算公式得:
可以发现
2. 正态分布下的贝叶斯分类器
2.1 正态分布的概率密度函数
-
单变量 的正态分布
,有: -
多变量 的正态分布
,有: 为 维向量, 为 维的均值向量。 为 的协方差矩阵, 。 和 为 的行列式和逆矩阵。
2.2 判别函数表示贝叶斯分类规则
对于一个有
或者
分类规则:将
2.3 正态分布下的贝叶斯分类
取判别函数
假设
带入到判别函数
其中
故判别函数简化为:
每类正态分布的 协方差矩阵均相等,各类中 各个维度的特征相互独立且方差相同,每类样本 先验概率 相等,即
可知
其中
故判别函数简化为:
根据前面提到的分类规则(将
也就是说,
2.4 分类决策面函数
第
将
得到:

可以发现,贝叶斯分类器转换成了一个 线性分类器
3. 贝叶斯分类器的训练
3.1 参数估计
-
先验概率
的估计-
当训练样本足够多时,且每个样本随机抽取,可以直接用 训练集中
样本所占比例来估计 :其中
为训练集中 类样本的个数, 为训练集中样本总数。 -
如果训练样本不随机,也可以假设各类样本的出现时等概率的:
其中
为类别的总数。
-
-
类条件概率密度
的估计-
非参数化估计方法
直接对概率
函数本身进行估计,不必假设其服从某一分布。 -
参数化估计方法
先假定
具有特定的分布形式(如正态分布、二项分布),但是 分布参数未知,需要用 训练集来更新参数。-
最大似然估计:将估计参数
看作固定的量,但是取值未知。然后找到一组参数的值,最大化训练集所有样本出现的联合概率密度 。(每一类样本集 有对应不同的参数 ) -
贝叶斯估计::将估计参数
看作随机的量,具有已知的先验概率密度函数 。观察到 类样本集 ,将参数 的先验概率密度函数 转换为 后验概率密度函数 。
-
-
3.2 最大似然估计法
最大似然估计的假设:
-
中包含 个实例样本,即 -
记为 类的条件概率密度函数。
样本集
称之为 似然函数
最大似然估计就是 找到最优的
上述似然函数为 乘积形式,因此转换为对数更好求解:
令对数似然函数关于
例题 1
假设
解:
-
似然函数:
-
对数似然函数:
-
分别对
求梯度:
PS:常用求导公式如下:
求解上述方程可以得到最终的参数估计值:
例题 2
假设
解:
-
似然函数:
-
对数似然函数:
-
对
求梯度:整理可得:
即:
求解上述方程可以得到最终的参数估计值:
3.3 贝叶斯估计法
贝叶斯估计法的假设:
-
形式已知,参数 未知,是一个随机量。具有已知的先验概率密度函数 。 -
中每个 都是根据密度函数 的分布独立采样得到的。
样本集
利用贝叶斯公式,计算观察到
求得参数
例题 1
给定一个样本集
要求用贝叶斯估计法对参数
解:
由题意可知:
-
计算
: -
计算参数
的 后验概率密度 :其中:
-
密度函数
的分布的 数学期望 是 ,因此参数 的贝叶斯估计为:
例题 2
给定一个训练集
已知参数
PS:
要求用贝叶斯估计法对参数
解:
-
计算
: -
计算参数的 后验概率密度
:可以看出
服从一个 的分布。 -
由密度函数
的分布的 数学期望 ,得到参数 的贝叶斯估计为:其中
。
一切都是命运石之门的选择,本文章来源于博客园,作者:MarisaMagic,出处:https://www.cnblogs.com/MarisaMagic/p/18259679,未经允许严禁转载
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通