贝叶斯决策_bayes(新闻分类)
1、简单例子引入
2、先验概率
3、后验概率
4、最小错误率决策
5、最小风险贝叶斯决策
1. 贝叶斯公式
2简单例子
正常情况下,我们可以快速的将街上的人分成男和女两类。这里街上的人就是我们观测到的样本,将每一个人分成男、女两类就是我们做决策的过程。上面的问题就是一个分类问题。
分类可以看作是一种决策,即我们根据观测对样本做出应归属哪一类的决策。
假定我手里握着一枚硬币,让你猜是多少钱的硬币,这其实就可以看作一个分类决策的问题:你需要从各种可能的硬币中做出一个决策。硬币假设面值有1角、5角、1块。
如果事先告知这枚硬币只可能是一角或者五角,那么问题就是一个两分类问题。
3.先验概率
先验概率的一些问题
4.后验概率
5.决策
7.例子
例 假设在某个局部地区细胞识别中正常和异常两类的先验概率分别为,
正常状态
![]()
现有一待识别的细胞,其观察值为x,从类条件概率密度分布曲线上查得
![]()
试对该细胞进行分类。
解:利用贝叶斯公式,分别计算两类后验概率
8.最小错误率决策
根据贝叶斯决策规则,因为
P(w1 | x) = 0.818 > P(w2 | x) = 0.182
所以,将 x 归类于正常状态。
假设有某个观测值 x,
•若 x 使得 P(w1|x) > P(w2|x),则我们自然会做出真实类别是 w1 的判决
•若 x 使 得 P(w2|x) > P(w1|x),则我们更倾向于选择w2
据此规则进行一次判决的错误概率:
显然,对于某个给定的x,采用上述规则可以使错误概率最小。
问题是,这一规则能够使得平均错误概率最小吗?
平均错误概率:
如果对于每个 x 我们都能保证P(error|x)尽量小,则上述积分值也必然最小
9.最小风险贝叶斯决策
前面给出的是在最小错误率的原则下得到的决策规则。但是,根据情况的不同,我们关心的有可能不仅仅是错误率,而是错误所带来的损失。把五角错认成一角与一角错认成五角所带来的损失是不同的。
在癌细胞识别中,如果将正常细胞误判为癌细胞,会给病人带来精神上的负担和不必要的进一步检查,这是一种损失或风险;反之如果把癌细胞细胞误判为正常细胞,则损失更大,这可能会导致病人丧失宝贵的早期发现癌症的机会,甚至会造成影响病人生命的严重后果。
将这两种错误一视同仁来对待,在很多情况下是不恰当的。
所谓最小风险贝叶斯决策,就是考虑各种错误造成损失不同时的一种最优决策。
基本思想:
使错误率最小并不一定是一个普遍适用的最佳选择。
癌细胞分类
两种错误:
癌细胞 –>正常细胞
正常细胞 –>癌细胞
两种错误的代价(损失)不同
宁可扩大一些总的错误率,但也要使总的损失减少。
引进一个与损失有关联的,更为广泛的概念——风险。
在作出决策时,要考虑所承担的风险。
基于最小风险的贝叶斯决策规则正是为了体现这一点而产生的。
10.贝叶斯决策理论的分类方法
优点:数据较少仍然有效,可以处理多类别问题。
缺点:对于输入数据的准备方式较为敏感。
应用:文档分类的常用算法。
代码实例
![]()
![]()
问题分析:
![]()
![]()
实例说明
统一文本形式
代码实现
构建词汇表-词典
词向量—词集、词袋模型
类概率
类条件概率密度
判断:
存在问题
类条件概率及先验概率结果
结果
实例——使用贝叶斯方法对邮件进行分类
正常数据
垃圾邮件数据
分类步骤
垃圾邮件分类

贝叶斯决策_bayes(新闻分类)的更多相关文章
- [Deep-Learning-with-Python]基于Kears的Reuters新闻分类
Reuters数据集下载速度慢,可以在我的repo库中找到下载,下载后放到~/.keras/datasets/目录下,即可正常运行. 构建神经网络将路透社新闻分类,一共有46个类别.因为有多个类别,属 ...
- 朴素贝叶斯算法——实现新闻分类(Sklearn实现)
1.朴素贝叶斯实现新闻分类的步骤 (1)提供文本文件,即数据集下载 (2)准备数据 将数据集划分为训练集和测试集:使用jieba模块进行分词,词频统计,停用词过滤,文本特征提取,将文本数据向量化 停用 ...
- 机器学习入门-贝叶斯中文新闻分类任务 1. .map(做标签数字替换) 2.CountVectorizer(词频向量映射) 3.TfidfVectorizer(TFDIF向量映射) 4.MultinomialNB()贝叶斯模型构建
1.map做一个标签的数字替换 2.vec = CountVectorizer(lowercase=False, max_features=4000) # 从sklean.extract_featu ...
- 我一直跑的分类LSTM模型原来是这一个,新闻分类网络
原始的github可以参考这里: https://github.com/FudanNLP/nlpcc2017_news_headline_categorization 我的经验文章可以参考这里: ht ...
- 使用Sklearn构建朴素贝叶斯分类器-新闻分类
# -*- coding: UTF-8 -*- import jieba import os import random from sklearn.naive_bayes import Multino ...
- 使用百度NLP接口对搜狐新闻做分类
一.简介 本文主要是要利用百度提供的NLP接口对搜狐的新闻做分类,百度对NLP接口有提供免费的额度可以拿来练习,主要是利用了NLP里面有个文章分类的功能,可以顺便测试看看百度NLP分类做的准不准.详细 ...
- windows定时执行百度新闻爬虫
想要做个新闻文本识别分类的项目,就先写了个爬取百度新闻的爬虫. 环境:win7 32 bit python3.4 若干第三方库 可以实现的功能:定期按照百度新闻的分类抓取新闻的标题,所属类别及文本内容 ...
- 使用jQuery Mobile实现新闻浏览器(3)
在本教程的前两篇文章中,笔者分别向大家介绍了使用jQuery Mobile框架如何去设计手机新闻浏览器,其中实现了一个WEB版本的新闻浏览器,在本教程的最后一篇中,将讲解如何将已实现的web版本的新闻 ...
- JQuery Mobile实现手机新闻浏览器(2)
在上一篇文章中,已经讨论了程序的结构和页面的布局,并简单介绍了一些jQuery Mobile的使用技巧.在本篇文章中,笔者将继续完成我们web应用的新闻浏览器的设计. 程序的启动 我们现在来研究一下程 ...
随机推荐
- 第二次作业——C++学习
课程选择: 以往在自学的过程就比较留意一些自学的网站,所以这次"C++自学"感觉找课程还是比较轻松的. 因为之前网页等学习都是在慕课网(视频学习个人感觉有时挺费时间的,特别是有时以 ...
- w3m常用快捷键
H 显示帮助 q 退出,会有提示的 j,k,l,h 移动光标 J/K 向下/向上滚屏 T 打开一个新标签页 Esc-t 打开所有标签页,供你选择,使用jk来上下移动 U ...
- 十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less))
十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less)) 注:本文为翻译文章,因翻译水平有限,难免有缺漏不足之处,可查看原文. 我们知道写css代码是非常枯燥的 ...
- JavaWeb---总结(十三)使用Session防止表单重复提交
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...
- Hook技术
hook钩子: 使用技术手段在运行时动态的将额外代码依附现进程,从而实现替换现有处理逻辑或插入额外功能的目的. 它的技术实现要点有两个: 1)如何注入代码(如何将额外代码依附于现有代码中). 2)如何 ...
- BigDecimal数据加法返回值接收
1.相加 两个BigDecimal变量a,b. 如果想进行相加,即a加b的话,返回值需要使用a进行接收,如下: a = a.add(b); BigDecimal为不可变类, 所以执行运算的结果需要再返 ...
- SQL Server 2012 学习笔记3 增查改删
现在举例几个"增查改删"的语句 select * from UserInfor --查找所有字段 select username,UserId from UserInfor -- ...
- QT的安装和配置及helloqt程序的编写时遇到的问题
1.如果在Windows下命令行编译和运行.cpp 文件,需要找到合适的命令所在文件夹的目录,把它添加到Windows的环境变量里去,SystemPropertiesAdvance. 如qmake 在 ...
- lua 元表
Set = {} Set.mt = {} function Set.new(t) local set = {} setmetatable(set, Set.mt) for _, l in ipairs ...
- string length()
#include <set> std::set<std::string> setName; int main() { std::string strName = "世 ...


















































