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

贝叶斯规则: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. 自定义注解实现数据序列化时进行数据脱敏(基于springboot默认jackjson)、消息转换器HttpMessageConverter

    消息转换器 HttpMessageConverter 消息转化器的作用 将请求报文转化为Java对象 将Java对象转化为响应报文 消息转换器接口 public interface HttpMessa ...

  2. 专为小白打造—Kafka一篇文章从入门到入土

    一.什么是Kafka MQ消息队列作为最常用的中间件之一,其主要特性有:解耦.异步.限流/削峰. Kafka 和传统的消息系统(也称作消息中间件)都具备系统解耦.冗余存储.流量削峰.缓冲.异步通信.扩 ...

  3. ORACLE DBLink创建

    在写测试脚本时,经常需要跨库取数据,SQL本身不支持跨库查找.Oracle提供DBLink链接,支持跨库操作. 1.创建DBLink Create public database link Next_ ...

  4. LeetCode 周赛上分之旅 #48 一道简单的树上动态规划问题

    ️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问. 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越 ...

  5. salesforce零基础学习(一百三十二)Flow新功能: Custom Error

    本篇参考: https://help.salesforce.com/s/articleView?id=sf.flow_ref_elements_custom_error.htm&type=5 ...

  6. Stable Diffusion

     Stable Diffusion  ...using diffusers Stable Diffusion is a text-to-image latent diffusion model cre ...

  7. 栈和堆的区别、FreeRTOS 中的任务栈

    栈和堆的区别.FreeRTOS 中的任务栈 01 堆和栈的概念 堆 功能 堆是一块用于动态分配内存的区域,用于存储程序运行时动态创建的对象.堆的大小可以在程序运行时动态调整. 特点 堆的分配和释放是由 ...

  8. Java-网络编程(TCP-UDP)

    Java-网络编程(TCP-UDP) 网络基础 网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的.中间最主要 ...

  9. mysql修改密码和开启远程访问

    mysql默认是关闭远程访问的,开启命令如下 1.首先打开mysql所在的bin目录,C:\Program Files\MySQL\MySQL Server 5.5\bin 在地址栏输入cmd,回车 ...

  10. python 自动创建Hype-V虚拟机脚本

    安装模块 pip install pywinrm 脚本如下 #!/usr/bin/env python3 # coding=utf-8 # author:LJX # describe:一键创建hype ...