机器学习——朴素贝叶斯、后验概率最大和极大似然

2023-11-03

朴素贝叶斯没有参数估计,给堆数据直接求,属于生成模型,不用优化模型求最佳参数,这区别于判别模型。

我遇到的困惑

(1)“后验概率最大”和“极大似然”这二者有什么区别和联系吗?

(2)朴素贝叶斯和EM这二者有什么区别和联系吗?

答案:

(1) 朴素贝叶斯是根据后验概率最大来分类的,在LR和最大熵模型的时候你肯定记得“极大似然估计”,“后验概率最大”和“极大似然”这二者有什么区别和联系吗?

二者都是概率模型,求的是p(Y|X=x),极大似然认为哪个ck的联合概率分布p(Y=ck|X=x)最大,那输出类别就是它ck(这个是基于最大熵原理推导)。而最大后验概率则是哪个ck的后验概率p(Y=ck|X=x)*p(Y=ck)最大,那输出类别就是它ck(基于期望风险最小化推导)!

(2)EM和朴素贝叶斯我觉得区别很大,联系的话,就是都是概率模型,EM构建模型,根据极大似然或极大后验概率求解模型参数。EM的特定就是,含有隐变量。

1 朴素贝叶斯

定义:朴素贝叶斯是基于贝叶斯定理特征条件独立假设独立的分类方法。具体地,对于给定的训练数据,首先基于特征条件独立假设(naive,天真,因为把模型想的这么简单)学习输入/输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。

基于概率分布模型的分类问题说白了就是求P(y|X),比如LR,我们是知道它的分布是伯努利(这个是LR的前提假设),求P(y=1|X=x)大还是P(y=0|X=x),然后伯努利属于广义线性,根据推导能得到P(y=0|X=x)的公式表达。但对于一堆数据,我不想假设他是什么分布,但我还是要求P(Y=ck|X=x),根据贝叶斯定理知道,条件概率:

p(Y=ck|X=x)=\frac{p(Y=ck)p(X=x|Y=ck)}{p(X=x)}

p(X=x|Y=ck)}很难算出来,输入特征有的是独立的有的是不独立的,不独立的还需要知道他们的关系,参数非常大。

但有一点,如果这些特征属性都独立,之间没有关系,那么这个联合条件概率就很好求了。假设数据集个数为n,则

p(X=x|Y=ck)=\prod_{i=1}^{n}p(X=xi|Y=ck)

朴素贝叶斯分类准则:后验概率最大化p(Y=ck|X=x),那个ck的后验概率最大,则将ck作为x的输出。因为P(X=x)对所有的类ck都是一样的,所以可以不计算分母,只比较分子p(Y=ck)p(X=x|Y=ck)

条件独立又可表示为p(Y=ck)\prod_{i=1}^{n}p(X=xi|Y=ck)

为什么后验概率最大化可以采用呢?这是通过期望风险最小化推导出来的(过程略)

(朴素贝叶斯重点在于会通过这个分类器对给定的数据集分类)

如何求p(Y=ck),p(X=xi|Y=ck) ,这里用频数去估计近似

但这会有个问题,如果在训练集中,某个特征没有出现过,即p(X=xi|Y=ck)为0,那这导致这个类的概率就为0了。我们知道没有出现只是概率偏低,但不能是绝对不可能出现。为了解决这个情况,提出了“平滑”处理,即贝叶斯估计,分子分母个加上一个数:

p(X=xi|Y=ck) = \frac{\sum_{i=1}^{n}I(xij=aij,y=ck)+\lambda }{\sum_{i=1}^{n}I(y=ck)+Sj\lambda }

p(Y=ck) = \frac{\sum_{i=1}^{n}I(y=ck)+\lambda }{n+K\lambda }

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习——朴素贝叶斯、后验概率最大和极大似然 的相关文章

随机推荐

  • git cherry-pick 拣选命令——重放提交

    git cherry pick 拣选命令 重放提交 语法 描述
  • (二)基于演示介绍一些技术要点

    1 解决方案目录结构 2 各模块的依赖关系图 3 基于以上的架构的Web端访问数据库的方式 4 从实体类成员到界面控件的转换 实体类 gt 数据表 根据实体类字段数据类型以及Attribute来决定表字段名 类型 主外键 进而形成完整的数据
  • 织梦搜索结果页文档标题标红引起样式错乱解决方法

    在搜索结果页模板search htm中 dede list dede list 里凡是有 alt field title 和 title field title 把里面的 field title 标题标签改成 field title fun
  • 记录字节跳动前端面试,四轮技术面

    一面 笔试题 多刷字节题库 多考js编程题 两道算法题 基本时lotcode简单中等题 1 如果后端传给前端一个很大的数 前端会怎么处理 该怎么处理 分析 不能直接渲染 因为会使页面加载过慢 不利于用户体验 方法 采用懒加载 分页 前端维护
  • MySQL字段约束条件,外键约束条件,表关系

    目录 字符编码与配置文件 统一字符编码 存储引擎 修改存储引擎的方式 自定义选项存储引擎 不同存储引擎产生的表文件有几个 MERGE InnoDB Archive BLACKHOLE blackhole与memory存取数据的特征 Blac
  • Cookie 和 Session 归纳

    首先介绍下基本概念 cookie是服务器通知客户端让其保存健值对的一种形式 客户端有了cookie之后 每次请求就会发送给服务器 每个cookie最大是4kb 服务器创建cookie 1Cookie cookie new Cookie 创建
  • Jacoco代码覆盖率测试

    欢迎光临我的博客查看最新文章 https river106 cn 1 简介 JaCoCo Java Code Coverage 是一个开源的覆盖率工具 它针对的开发语言是java 其使用方法很灵活 可以嵌入到Ant Maven中 很多第三方
  • linux下nginx重启命令

    linux下的nginx重启命令常见以下3种 systemctl restart nginx service nginx restart usr sbin nginx s reload
  • 高职教育应对ChatGPT应用的策略

    一 完善顶层设计 提升技术水平 在推广ChatGPT平台的过程中 高职院校需要关注技术本身的问题 这就需要在国家和地方政府的引导下 引入更完善的技术顶层设计 提高人工智能在高职教育中的运用水平 具体来说 一方面需要出台更加高效的法规来确保我
  • Flink CDC 单线程读取 mysql binlog 同步到 Elasticsearch 的压力测试

    硬件环境 MySQL 服务器2核1G Flink 服务器2核4G Elasticsearch 服务器2核8G 软件版本 MySQL 5 7 35 Flink 2 12 1 14 2 Elasticsearch 7 1 0 flink sql
  • Github上传代码菜鸟超详细教程

    最近需要将课设代码上传到Github上 之前只是用来fork别人的代码 这篇文章写得是windows下的使用方法 第一步 创建Github新账户 第二步 新建仓库 第三部 填写名称 简介 可选 勾选Initialize this repos
  • 二分法(二)找到目标值开始位置和结束位置NUSOJ2677

    题目 现在给定一个升序排列的数组num t个目标值 现在你要做的便是找到目标值在数组中的开始位置和结束位置 如果数组中不存在该值 则返回 1 1 输入m Input 第一行输入一个n n 1 lt n lt 1e6 代表数组num长度 第二
  • 如何搭建一个完整的Vue3.0 + ts 的项目

    如何搭建一个完整的Vue3 0 ts 的项目 相信9月18日尤大大的关于Vue3 0的发表演讲大家一定有所关注 现在Vue3 0 也已经进入RC阶段 最终产品的候选版本 如果没有问题则可发布成为正式版本 所以Vue3 0的学习是我们必然的趋
  • matlab无人机路径规划,一种新的优化算法,天牛群算法,比蚁群算法效果好,收敛快

    matlab无人机路径规划 一种新的优化算法 天牛群算法 比蚁群算法效果好 收敛快 在tsp qap二次规划以及三维路径规划上有很好的效果 ID 51100647321750445tbNick id4mr
  • CSDN周赛58期后记,及往期题目记录

    本期周赛没什么bug 体验比较丝滑 提出表扬 咱也不能老吐槽不是 当然 丝滑的根本原因是题目比较水 尤其是最后一道 莫名其妙的键盘 两周前的 56 期刚刚考过 当真是莫名其妙而又迫不及待地又考了一遍 是怕大家背得不够熟吗 而从难度上看 这道
  • go语言安装环境

    go语言安装环境 1 安装包下载 2 安装 最好不要有中文路径 3 测试环境 cmd中输入 go version 回车 4 经典代码 保存文件名 hello go package main import fmt 包含println func
  • c++拆分string型字符串存到vector中

    对数据进行拆分放到vec中 void split string const std string str std vector
  • 关于IDEA无法启动常见的几个问题

    IDEA无法启动 常见的问题及解决办法 第一种 无法启动 大多是因为javaagent 那一行 这种比较简单 出现这种问题 大都是因为编辑vmoptions时出错造成的 这种只需要删除idea 的配置文件就行 一般默认在C盘 例如 C Us
  • Python requests“Max retries exceeded with url” error

    今天写python网络爬虫的时候遇到一个问题 报错的具体内容如下 HTTPConnectionPool host dds cr usgs gov port 80 Max retries exceeded with url ltaauth s
  • 机器学习——朴素贝叶斯、后验概率最大和极大似然

    朴素贝叶斯没有参数估计 给堆数据直接求 属于生成模型 不用优化模型求最佳参数 这区别于判别模型 我遇到的困惑 1 后验概率最大 和 极大似然 这二者有什么区别和联系吗 2 朴素贝叶斯和EM这二者有什么区别和联系吗 答案 1 朴素贝叶斯是根据