朴素贝叶斯方法

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

相关推荐
亿牛云爬虫专家1 分钟前
NLP驱动网页数据分类与抽取实战
python·分类·爬虫代理·电商·代理ip·网页数据·www.goofish.com
weixin_466485119 分钟前
PyCharm中运行.py脚本程序
ide·python·pycharm
MPCTHU18 分钟前
机器学习的数学基础:决策树
数学·机器学习
Jay_2738 分钟前
python项目如何创建docker环境
开发语言·python·docker
宋一诺331 小时前
机器学习——XGBoost
人工智能·机器学习
老胖闲聊1 小时前
Python Django完整教程与代码示例
数据库·python·django
爬虫程序猿1 小时前
利用 Python 爬虫获取淘宝商品详情
开发语言·爬虫·python
noravinsc1 小时前
django paramiko 跳转登录
后端·python·django
声声codeGrandMaster1 小时前
Django之表格上传
后端·python·django
元直数字电路验证1 小时前
Python数据分析及可视化中常用的6个库及函数(一)
python·numpy