朴素贝叶斯分类器和加一平滑计算每个单词的似然值

贝叶斯规则:c表示类别,d表示数据

\[P(c|d) = \frac{P(d|c)P(c)}{P(d)}
\]

例题1

假设句子“I always like foreign films.”中每个单词对应每个类的似然估计如下,请判断该句子属于正面还是负面评论。

似然估计:

\(likehoodpos = 0.09*0.07*0.29*0.04*0.08=5.8464*10^{-6}\)

\(likehoodneg=0.16*0.06*0.06*0.15*0.11=9.504*10^{-6}\)

先验概率

\(priorpos=priorneg=0.5\)

后验概率

\(posteriorpos = likehoodpos * priorpos = 2.9323*10^{-6}\)

\(posteriorneg = likehoodneg * priorneg = 4.752 * 10^{-6}\)

所以显然是负面评论

例题2

给出以下包含五个文档的训练集,每个文档都标记为不同的类型:comedy或action,

\1. fun, couple, love, love comedy

\2. fast, furious, shoot action

\3. couple, fly, fast, fun, fun comedy

\4. furious, shoot, shoot, fun action

\5. fly, fast, shoot, love action

请使用朴素贝叶斯分类器和加一平滑,计算每个单词的似然值,并判断新文档 – “fast, couple, shoot, fly”的类型。

先验概率

\(P(comedy) = 0.4, P(action) = 0.6;\)

comedy中单词总数为:\(count(comedy) = 9\)

action中总数为: \(count(action) = 11\)

\(count(V) = 7\)

最大似然

\(P(fast|comedy) = \frac{1+1}{9+7}\)

其他同理

则后验概率\(P(comedy)P(S|comedy)=0.4 * \dots\)

例题3

根据下面包含五个已标记的文档数据集(每个文档使用了情感词汇进行特征表示,例如的d1中包含3个good和3个great,且对应的类别为positive),使用加一平滑分别训练多项式朴素贝叶斯二进制朴素贝叶斯两个模型。(二进制去重)

doc good poor great (class)
d1 3 0 3 pos
d2 0 1 2 pos
d3 1 3 0 neg
d4 1 5 2 neg
d5 0 2 0 neg

使用训练好的两个朴素贝叶斯模型对句子“A good, good plot and great characters, but poor acting. ”进行分类。





NLP复习之朴素贝叶斯的更多相关文章

  1. NLP系列(5)_从朴素贝叶斯到N-gram语言模型

    作者: 龙心尘 && 寒小阳 时间:2016年2月. 出处: http://blog.csdn.net/longxinchen_ml/article/details/50646528 ...

  2. NLP系列(2)_用朴素贝叶斯进行文本分类(上)

    作者:龙心尘 && 寒小阳 时间:2016年1月. 出处: http://blog.csdn.net/longxinchen_ml/article/details/50597149 h ...

  3. 朴素贝叶斯(NB)复习总结

    摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 贝叶斯分类算法是统计学的一种分类方法,其分类原理就是利用贝叶斯公式根据某 ...

  4. NLP系列(4)_朴素贝叶斯实战与进阶

    作者: 寒小阳 && 龙心尘 时间:2016年2月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/50629608 htt ...

  5. NLP系列(3)_用朴素贝叶斯进行文本分类(下)

    作者: 龙心尘 && 寒小阳 时间:2016年2月. 出处: http://blog.csdn.net/longxinchen_ml/article/details/50629110 ...

  6. NLP系列(4)_朴素贝叶斯实战与进阶(转)

    http://blog.csdn.net/han_xiaoyang/article/details/50629608 作者: 寒小阳 && 龙心尘 时间:2016年2月. 出处:htt ...

  7. 朴素贝叶斯算法下的情感分析——C#编程实现

    这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Language Pr ...

  8. 朴素贝叶斯(Naive Bayes)

    1.朴素贝叶斯模型 朴素贝叶斯分类器是一种有监督算法,并且是一种生成模型,简单易于实现,且效果也不错,需要注意,朴素贝叶斯是一种线性模型,他是是基于贝叶斯定理的算法,贝叶斯定理的形式如下: \[P(Y ...

  9. C#编程实现朴素贝叶斯算法下的情感分析

    C#编程实现 这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Lang ...

  10. R语言︱贝叶斯网络语言实现及与朴素贝叶斯区别(笔记)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 一.贝叶斯网络与朴素贝叶斯的区别 朴素贝叶斯的 ...

随机推荐

  1. xv6 中的进程切换:MIT6.s081/6.828 lectrue11:Scheduling 以及 Lab6 Thread 心得

    絮絮叨 这两节主要介绍 xv6 中的线程切换,首先预警说明,这节课程的容量和第 5/6 节:进程的用户态到内核态的切换一样,细节多到爆炸,连我自己复习时都有点懵,看来以后不能偷懒了,学完课程之后要马上 ...

  2. .NET周刊【9月第2期 2023-09-10】

    国内文章 使用 OpenTelemetry 构建 .NET 应用可观测性(2):OpenTelemetry 项目简介 https://www.cnblogs.com/eventhorizon/p/17 ...

  3. 【uniapp】【微信小程序】wxml-to-canvas

    真是搞吐了,研究了整整两天,困死我了 本来使用生成二维码插件好好的,插件页也支持导出二维码图片,可是领导说要带上文件的名称,那就涉及html转图片了,当然也可以改二维码插件的源码,不过源码做了混淆,看 ...

  4. Docker系列——介绍、安装、镜像、容器、docker容器与镜像、数据卷、Dockerfile、docker 配置pycharm连接

    目录 1 Docker 介绍 1.1 简介 1.2 Docker平台介绍 1.3 为什么使用Docker 2 Docker 整体结构(了解) 2.1 Docker引擎介绍 (Docker Engine ...

  5. 研发提速:nacos+openfeign环境下的本地链接服务

    项目研发过程中,经常会遇到与测试人员工作重叠的情况,十分影响效率. 做了一个修改,可以在本地环境启动项目后和测试环境交互,并且不影响测试环境,理论上也可以用于线上环境的异常的快速处理. 准备事项如下: ...

  6. Android news Display Owner Info on Your Android Device in Case It Gets Lost

    Display Owner Info on Your Android Device in Case It Gets Lost The latest versions of Android includ ...

  7. mol 文件格式简单解析(v2000)

    前言 .mol 文件是常见的化学文件格式,主要包含分子的坐标.分子间的键等数据. 示例文件 下面是一个水分子的 .mol 文件 H2O APtclcactv05052315543D 0 0.00000 ...

  8. Java Exception最佳实践(转)

    https://www.dubby.cn/detail.html?id=9033 1.异常介绍 2.Java中的异常介绍 3.自定义异常 4.几个建议 1)不要生吞异常 2)申明具体的异常 3)尽可能 ...

  9. Windows上使用pm2运行Net Core项目

    .net core发布的时候会有一个.exe的文件,使用pm2运行这个文件就可以了. pm2 start xxx.exe --name="xxxx"

  10. WebSocket魔法师:打造实时应用的无限可能

    1.背景 在开发一些前端页面的时候,总是能接收到这样的需求:如何保持页面并实现自动更新数据呢?以往的常规做法,是前端使用定时轮询后端接口,获取响应后重新渲染前端页面,这种做法虽然能达到类似的效果,但是 ...