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

贝叶斯规则: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. 银河麒麟使用kickstart二次打包制作安装镜像ISO

    系统:银河麒麟 V10 SP2 服务器:百信恒山 TS02F-F30 安装方式:服务器挂载ISO镜像进行安装 1.安装 mkisofs 软件包: #yum install genisoimage 2. ...

  2. Github 组合搜索开源项目 (超详细)

    例如搜索 Spring Boot 相关项目  spring boot (最简单最常用) in:name spring boot (匹配项目名字)  in:name spring boot stars: ...

  3. u-boot启动流程

    U-Boot(Universal Bootloader)是一个通用的开源引导加载程序,通常用于嵌入式系统中,负责引导操作系统或加载 Linux 内核等任务.U-Boot的启动流程可以概括为以下几个关键 ...

  4. Strimzi Kafka Bridge(桥接)实战之三:自制sdk(golang版本)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<Strimzi Kafka B ...

  5. wps 设置 word文档不可被修改,指定区域可以修改

    wps 设置 word文档不可被修改,指定区域可以修改 2021年03月03日09:38:10

  6. np.random.uniform()

    np.random.uniform(start,end,second) start:开始数 end:结束数 second:次数,也就是选择几次. 代码结果如下所示: import numpy as n ...

  7. 如何将Python程序打包并保护源代码

    导言: 在某些情况下,我们可能希望将Python程序打包成可执行文件,以便用户无法查看程序的源代码.这种需求通常出现在商业软件.数据分析工具或其他需要保护知识产权的场景中.本文将介绍如何使用PyIns ...

  8. Unity Yaml文本标量处理

    在做脱离unity处理unity的yaml文档的工具(prefab.material等) unity使用的yaml是YAML的语法子集,主要难点在处理文本标量上,如果用工具修改以后和unity生成的格 ...

  9. python环境配置常用命令

    #安装前请更新 sudo apt-get update python -m pip install --upgrade pip #升级PIP版本 sudo apt-get install python ...

  10. MySQL查看数据库性能常用命令和实战教学

    MySQL查看数据库性能常用命令 # 列出MySQL服务器运行各种状态值 show global status; # 查询MySQL服务器配置信息语句 show variables; # 慢查询 sh ...