朴素贝叶斯方法

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

相关推荐
夏幻灵2 分钟前
为什么要配置环境变量?
笔记·算法
山沐与山6 分钟前
【设计模式】Python责任链模式:从入门到实战
python·设计模式·责任链模式
铭哥的编程日记6 分钟前
Manacher算法解决所有回文串问题 (覆盖所有题型)
算法
luoluoal9 分钟前
基于python的图像的信息隐藏技术研究(源码+文档)
python·mysql·django·毕业设计·源码
LYFlied15 分钟前
【每日算法】LeetCode 300. 最长递增子序列
前端·数据结构·算法·leetcode·职场和发展
ohnoooo916 分钟前
251225 算法2 期末练习
算法·动态规划·图论
电商API_1800790524719 分钟前
淘宝商品视频提取API全解析:从授权到落地实战
爬虫·python·信息可视化·数据分析·音视频
车队老哥记录生活27 分钟前
强化学习 RL 基础 3:随机近似方法 | 梯度下降
人工智能·算法·机器学习·强化学习
计算机程序设计小李同学27 分钟前
基于 Flask 的养猪场信息模拟系统
后端·python·flask
闲看云起36 分钟前
LeetCode-day2:字母异位词分组分析
算法·leetcode·职场和发展