朴素贝叶斯方法

一般来说训练时的一个实例有很多属性用一个<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。当各个属性条件独立性满足时,朴素贝叶斯分类结果等于最大后验概率分类结果。

相关推荐
特立独行的猫A3 小时前
用仓颉语言 cj-tauri 框架,五分钟给娃做了个鸿蒙形近字游戏
java·后端·python
大可不必了7 小时前
03 函数定义和调用
开发语言·python
I_belong_to_jesus7 小时前
C++关于分支预测的优化1
开发语言·c++·算法
承渊政道8 小时前
【Python编程—从入门到实践】(记分与闯关:用Python+Pygame,打造越战越精彩的太空大战!)
开发语言·python·pycharm·游戏程序·pygame
爱学习的程序媛8 小时前
Python常用框架梳理
开发语言·后端·python·ai·web·后端框架·python框架
imgsq8 小时前
GESP Python 一到四级:备考路线与真题特点
python·青少年编程
伞伞悦读10 小时前
【第83期】特征选择中的验证泄漏排查的实验与排查
人工智能·深度学习·机器学习
eggwyw10 小时前
Anaconda安装卸载的详细流程指南
开发语言·python
2601_9679791210 小时前
纯手写:Python安装pip完整教程,搞了几小时,终于成功
python·教程·pip·安装·包管理
Norna11 小时前
缓存文件从没写出来:一个 .json 被当成目录用了
python