哈尔滨工业大学计算机学院-模式识别-课程总结-贝叶斯决策理论(一)

一、贝叶斯决策理论

贝叶斯决策理论是解决分类问题的一种基本统计途径,其出发点是利用概率的不同分类决策,与相应决策所付出的代价进行折中,它假设决策问题可以用概率的形式描述,并且假设所有有关的概率结构均已知。

二、各种概率及其关系

  • 先验概率:

    \[P(\omega_i)\]

  • 后验概率:

    \[P(\omega_i | x)\]

  • 类条件概率:

    \[P(x |\omega_i )\]

  • 贝叶斯公式:

    \[P \left( \omega _ { i } | \mathbf { x } \right) = \frac { P ( \mathbf { x } | \omega _ { i } ) P \left( \omega _ { i } \right) } { P ( \mathbf { x } ) }\]

    三、最小错误率准则

  • 判别\(x\)属于\(w=\omega_i\)的错误率:

    \[P ( \text { error } | \mathbf { x } ) = \sum _ { j \neq i } P \left( \omega _ { j } | \mathbf { x } \right) = 1 - P \left( \omega _ { i } | \mathbf { x } \right)\]

  • 判别准则:

    \[i = \arg \max _ { 1 \leq j \leq c } P \left( \omega _ { j } | \mathbf { x } \right)\]

    \(c\)是所有类别总数,根据该将\(x\)归为\(\omega_i\)类

  • 根据贝叶斯公式,构造出判别函数\(g _ { j } ( \mathbf { x } ) = p ( \mathbf { x } | \omega _ { j } ) P \left( \omega _ { j } \right)\),即先验概率与类条件概率的乘积。

    贝叶斯公式的分母\(P(x)\),只是起到标量因子的左右,保证各类别的后验概率值的和为1。

    四、最小平均风险准则

  • 一共有\(c\)个类别,将\(w_i\)类的样本判别为\(w_j\)类的代价为\(\lambda_{ij}\)。
  • 将未知模式\(x\)判别为\(w_j\)类的平均风险\(g_j(x)\)为:

    \[g _ { j } ( \mathbf { x } ) = - \gamma _ { j } ( \mathbf { x } )\]

    \[\gamma _ { j } ( \mathbf { x } ) = \sum _ { i = 1 } ^ { c } \lambda _ { i j } P \left( \omega _ { i } | \mathbf { x } \right)\]

    五、总结

  • 本博客只介绍了部分贝叶斯分类器准则,关于正态分布的贝叶斯分类器没有介绍。
  • 根据最小错误率准则,或最小平均风险准则,不难看出,贝叶斯分类器是生成式模型,不能构造一个区分不同类别的判别函数,而是考察待识别模式由不同类别所产生的概率,最后根据不同类别产生该模式的概率大小来决定他的类别属性。后续博客会介绍其他的判别式模型,关于生成式模型与判别式模型的区别可以看我以前的博客生成模型(generative model)与判别模型(discriminative model)的区别

原文地址:https://www.cnblogs.com/szxspark/p/9925740.html

时间: 2024-07-31 19:15:11

哈尔滨工业大学计算机学院-模式识别-课程总结-贝叶斯决策理论(一)的相关文章

哈尔滨工业大学计算机学院-模式识别-课程总结(二)-概率密度函数的参数估计

1. 概率密度函数的参数估计 前文讲到了利用贝叶斯决策理论构建贝叶斯分类器,初学者难免会有疑问,既然已经可以通过构建贝叶斯分类器的方法处理分类问题,那为什么还要学习本章节内容? 事实上,贝叶斯分类器的缺可以通过计算先验概率与类条件概率来设计最优分类器.但是对于大多数实际问题,我们往往无法知道这两个概率的具体信息,其中先验概率往往比较容易计算,类条件概率很难获取.如何计算类条件概率,便是本章要进行讲述的内容, 这里举一个例子,解释为什么先验概率比较容易获取.如果100万个人中有60万男40万女,可

哈尔滨工业大学计算机学院-模式识别-课程总结(三)-线性判别函数

1. 线性判别函数 本章介绍的线性判别函数都归属于判别式模型,即对于分类问题,根据判别函数\(g(x)\)的取值进行判断,比如正数归为第一类,负数与零归为第二类.关于判别式模版与生成式模型的区别可以阅读我以前的[博客])(https://www.cnblogs.com/szxspark/p/8426850.html),最典型的生成式模型是贝叶斯分类器,这个在之前的博客中也有介绍. 在介绍具体算法之前,先了解一下线性判别函数的基本概念. 1.2 线性判别函数基本概念 对于线性可分情况,线性判别函数

南理工计算机学院研究生课程的评价和反思(研一上)

机器学习(英文):很坑,课程安排不合理.应该把5/6的时间用于讲各种模型,1/6的时间用于展示,否则根本学不到啥东西.容量方面差太多了,svm,决策树,gmm 根本就没讲到. 数据挖掘:大作业不能用python很恶心.缺少工程方面的讲解.其他还好. 人工智能:过度拘泥于课本,讲了一些曾经有用但现在被推翻的东西.讲了强化学习的模型的很多侧面,但不成体系,看完之后并不能亲手做一个强化学习项目. 神经计算:讲了微分流形,这玩意儿不属于神经网络,难以理解,效果还没rbm好.其它还好. 形式语言:缺少工程

字符串去特定字符-2009年哈尔滨工业大学计算机研究生机试真题

题目描述: 输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果. 输入: 测试数据有多组,每组输入字符串s和字符c. 输出: 对于每组输入,输出去除c字符后的结果. 样例输入: heallo    a 样例输出: hello 解题代码: 解法1:使用两个数组, 第二个数组存储去掉特定字符的字符串 #include <stdio.h> int main(){ char arr[200]; char arrNew[200]; char focus; while (scanf("%

找x-2010年哈尔滨工业大学计算机研究生机试真题

题目描述: 输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1). 输入: 测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x. 输出: 对于每组输入,请输出结果. 样例输入: 2    1 3    0 样例输出: -1 解题代码: #include <stdio.h> int main(){ int n; int array[200]; while (scanf("%d"

2010年哈尔滨工业大学计算机研究生机试真题

题目连接:点击打开链接 解题思路: 简单暴力 完整代码: #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <set> using namespace std; int n; int a[300]; bool check(int key) { set<int> s; s.clear(); for(int i =

2011年哈尔滨工业大学计算机研究生机试真题

题目连接:点击打开链接 解题思路: 暴力 完整代码: #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <set> using namespace std; const int INF = 1000000000; string s; int main() { #ifdef DoubleQ freopen("in.t

2012年哈尔滨工业大学计算机研究生机试真题

题目连接:点击打开链接 解题思路: 模拟 完整代码: #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <set> using namespace std; const int INF = 1000000000; const int maxn = 10001; char a[maxn] , b[maxn]; void MyS

判断三角形类型-2009年哈尔滨工业大学计算机研究生机试真题

题目描述: 给定三角形的三条边,a,b,c.判断该三角形类型. 输入: 测试数据有多组,每组输入三角形的三条边. 输出: 对于每组输入,输出直角三角形.锐角三角形.或是钝角三角形. 样例输入: 3 4 5 样例输出: 直角三角形 解题代码: #include <stdio.h> int main(){ int arr[3]; int temp; while (scanf("%d%d%d",&arr[0],&arr[1],&arr[2] ) != EO