朴素贝叶斯方法

一般来说训练时的一个实例有很多属性用一个<a1,a2,....,an>来表示一个数据,那么此时根据最大后验概率的计算公式可以得出:

其中, H 是目标值集合。 估计每个 P(hi)很容易, 只要计算每个目标值 hi出现在训练数据

中的频率就可以。 但是如果要如此估计所有的 P( a1 ,a2 ,...,an hi)项, 则必须计算 a1 ,a2 ,...,an的所有可能取值组合, 再乘以可能的目标值数量。 假设一个实例有 10 个属性, 每个属性有3 个可能取值, 而目标集合中有 5 个候选目标, 那么 P(a1 ,a2 ,...,an hi)项就有 5×3^10个之多。对于现实系统这样显然不行。 因为, 首先我们很难得到一个容量足够大的样本; 其次即使样本足够多, 进行统计的时间复杂度也是无法忍受的。 所以, 贝叶斯最优假设 (包括贝叶斯最优分类器) 不适合于高维数据。

所以提出了朴素贝叶斯和贝叶斯网络来解决高维数据问题。下面介绍朴素贝叶斯方法。

朴素贝叶斯方法假设如下:对于目标值, 数据各属性之间是相互条件独立的, 即 a1 ,a2 ,...,an的联合概率等于每个单独属性的概率乘积。

即朴素贝叶斯方法公式为:

将计算数据缩小到了5x3x10。当各个属性条件独立性满足时,朴素贝叶斯分类结果等于最大后验概率分类结果。

相关推荐
澈2072 分钟前
图论基础:邻接矩阵与邻接表详解
算法·图论·邻接矩阵
白日做梦Q7 分钟前
Miniconda 新手保姆级教程:从安装到熟练使用(全程无跳步,避坑指南附全)
人工智能·深度学习·算法·机器学习
吃好睡好便好8 分钟前
在Matlab中绘制变半径柱面图
开发语言·人工智能·学习·算法·matlab
weixin_4440129310 分钟前
Go语言怎么防SQL注入_Go语言SQL注入防护教程【深入】
jvm·数据库·python
拂拉氏11 分钟前
【知识讲解-题目讲解】:二叉树的前、中、后序遍历的三种实现(递归,非递归,Morris遍历)与二叉树oj题讲解(二叉树最近公共祖先,二叉树展开为链表)
数据结构·算法·leetcode·二叉树·遍历
luck_bor12 分钟前
File 类核心笔记
java·前端·算法
m0_4708576412 分钟前
C#怎么实现蓝牙设备搜索_C#如何开发Bluetooth应用【指南】
jvm·数据库·python
2303_8212873820 分钟前
在 Go 中声明包级全局 Map 的正确方法
jvm·数据库·python
anew___25 分钟前
从高方差到稳定训练:深度强化学习算法演进全解析
算法
老纪26 分钟前
CSS移动端如何实现平滑滚动效果_设置scroll-behavior smooth属性.txt
jvm·数据库·python