朴素贝叶斯与逻辑回归
贝叶斯决策理论
朴素贝叶斯是贝叶斯决策理论的一部分,所以讲述朴素贝叶斯之前有必要快速了解一下贝叶斯决策理论。
贝叶斯决策理论的核心思想,即选择具有最高概率的决策。
贝叶斯准则告诉我们如何交换条件概率中
的条件与结果,即如果已知P(x|c),要求P(c|x),那么可以使用下面的计算方法:
P(c∣x)=P(x∣c)P©P(x)
P(c|x)=\frac{P(x|c)P©}{P(x)}
P(c∣x)= P(x)P(x∣c)P©
则同理可得,若给定某个由x、y表示的数据点,那么该数据点来自类别c1的概率可通过如下公式计算:
P(ci∣x,y)=P(x,y∣ci)P(ci)P(x,y)
P(c_{i}|x,y)=\frac{P(x,y|c_{i})P(c_{i})}{P(x,y)}
P(c i∣x,y)= P(x,y)P(x,y∣c i)P(ci )
由此,定义贝叶斯分类准则为:
如果P(c1|x, y) > P(c2|x, y),那么属于类别c1。
如果P(c1|x, y) < P(c2|x, y),那么属于类别c2。
二、朴素贝叶斯算法简介
我们称之为“朴素”,是因为整个形式化过程只做最原始、最简单的假设。
优缺点:
优点:在数据较少的情况下仍然有效,可以处理多类别问题。
缺点:对于输入数据的准备方式较为敏感;由于朴素贝叶斯的**“朴素”特点**,所以会带来一些准确率上的损失。
适用数据类型:
标称型数据
朴素贝叶斯的一般过程:
收集数据:可以使用任何方法。本章使用RSS源。
准备数据:需要数值型或者布尔型数据。
分析数据:有大量特征时,绘制特征作用不大,此时使用直方图效果更好。
训练算法:计算不同的独立特征的条件概率。
测试算法:计算错误率。
使用算法:一个常见的朴素贝叶斯应用是文档分类。可以在任意的分类场景中使用朴素贝叶斯分类器,不一定非要是文本。
三、代码实现(python3)
使用 Python 进行文本分类:
我们可以观察文档中出现的词,并把每个词的出现或者不出现作为一个特征,这样得到的特征数目就会跟词汇表中的词目一样多。
如果特征之间相互独立,那么样本数就可以从N1000减少到1000×N。
所谓独立(independence)指的是统计意义上的独立,即一个特征或者单词出现的可能性与它和其他单词相邻没有关系。
1.准备数据:从文本中构建词向量
2.训练算法:从词向量计算概率
3.测试算法:根据现实情况修改分类器
4.准备数据:文档词袋模型
四、实战:使用朴素贝叶斯过滤垃圾邮件
1.准备数据:切分文本
2.测试算法:使用朴素贝叶斯进行交叉验证
本例中共有50封电子邮件,并不是很多,其中的10封电子邮件被随机选择为测试集,同时也将其从训练集中剔除。分类器所需要的概率计算只利用训练集中的文档来完成。
这种随机选择数据的一部分作为训练集,而剩余部分作为测试集的过程称为留存交叉验证(hold-out
cross validation)。
假定现在只完成了一次迭代,那么为了更精确地估计分类器的错误率,就应该进行多次迭代后求出平均错误率。
五、朴素贝叶斯小结
对于分类而言,使用概率有时要比使用硬规则更为有效。贝叶斯概率及贝叶斯准则提供了一种利用已知值来估计未知概率的有效方法。
可以通过特征之间的条件独立性假设,降低对数据量的需求。独立性假设是指一个词的出现概率并不依赖于文档中的其他词。
当然我们也知道这个假设过于简单。这就是之所以称为朴素贝叶斯的原因。尽管条件独立性假设并不正确,但是朴素贝叶斯仍然是一种有效的分类器。
利用现代编程语言来实现朴素贝叶斯时需要考虑很多实际因素。下溢出就是其中一个问题,它可以通过对概率取对数来解决
词袋模型在解决文档分类问题上比词集模型有所提高。
还有其他一些方面的改进,比如说移除停用词,当然也可以花大量时间对切分器进行优化。
逻辑回归
主要思想:根据现有数据对分类边界线建立回归公式,以此进行分类。
sigmoid函数
计算公式如下:
f(z)=1/(1+e^(-z)),它的特点在于当z为0时,Sigmoid函数值为0.5。 随着z的增大,对应的Sigmoid值将逼近于1;而随着z的减小,Sigmoid值将逼近于0,当横坐标足够大时,它看起来像一个单位阶跃函数。
实现Logistic回归分类器思路:
在每个特征上都乘以一个回归系数,然后把 所有的结果值相加,将这个总和代入Sigmoid函数中,进而得到一个范围在0~1之间的数值。任 何大于0.5的数据被分入1类,小于0.5即被归入0类。
logistic回归
logistic回归是一种二分类算法,直接为样本估计出它属于正负样本的概率。先将向量进行线性加权,然后计算logistic函数,可以得到[0,1]之间的概率值,它表示样本x属于正样本的概率:
正样本标签值为1,负样本为0。使用logistic函数的原因是它单调增,并且值域在(0, 1)之间,刚好符合概率的要求。
Logistic回归是一种二分类算法,虽然使用了概率,但它是一种判别模型!另外要注意的是,logistic回归是一种线性模型,这从它的预测函数就可以看出。它本身不能支持多分类问题,它的扩展版本softmax回归可以解决多分类问题。
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks |
'Isn't this fun?'
|
‘Isn’t this fun?’ |
Quotes |
"Isn't this fun?"
|
“Isn’t this fun?” |
Dashes |
-- is en-dash, --- is em-dash
|
– is en-dash, — is em-dash |
创建一个自定义列表
- Markdown
- Text-to-HTML conversion tool
- Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ(z)=∫0∞tz−1e−tdt.\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
mermaid语法说明 ↩︎
注脚的解释 ↩︎
朴素贝叶斯与逻辑回归相关推荐
- 朴素贝叶斯与逻辑回归区别
朴素贝叶斯与逻辑回归有什么异同 1.上述链接大佬详细的介绍了朴素贝叶斯.逻辑回归的由来. 2.在B站李宏毅老师机器学习课中第4讲Classification中提到了从贝叶斯公式推导出逻辑函数的激活函数 ...
- 浅谈对机器学习方法(决策树,SVM,knn最近邻,随机森林,朴素贝叶斯、逻辑回归)的理解以及用sklearn工具实现文本分类和回归方法...
一.决策树 定下一个最初的质点,从该点出发.分叉.(由于最初质点有可能落在边界值上,此时有可能会出现过拟合的问题. 二.SVM svm是除深度学习在深度学习出现之前最好的分类算法了.它的特征如下: ...
- 基于朴素贝叶斯和逻辑回归中文外卖评论情感分类
数据集介绍 数据集来源 本文用到的数据集是来自爱数科(http://www.idatascience.cn/)的中文外卖评论数据集.该数据集包含大约12000条中文外卖评论及对应的情感标签,因此我们将 ...
- 数据分享|WEKA用决策树、随机森林、支持向量机SVM、朴素贝叶斯、逻辑回归信贷违约预测报告
作者:Nuo Liu 数据变得越来越重要,其核心应用"预测"也成为互联网行业以及产业变革的重要力量.近年来网络 P2P借贷发展形势迅猛,一方面普通用户可以更加灵活.便快捷地获得中小 ...
- 逻辑回归与朴素贝叶斯的战争
0 一起走过的 首先,小夕带领大家回顾一下文章<逻辑回归>.<Sigmoid与Softmax>.<朴素贝叶斯>中的几点内容,这几点内容也是本文的前置知识: 1. 逻 ...
- 基于Python的情感极性判断(基于规则、基于逻辑回归、基于朴素贝叶斯)
资源下载地址:https://download.csdn.net/download/sheziqiong/85734418 资源下载地址:https://download.csdn.net/downl ...
- NLP系列(4)_朴素贝叶斯实战与进阶
作者: 寒小阳 && 龙心尘 时间:2016年2月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/50629608 htt ...
- 朴素贝叶斯理论进阶(1)——cs229(4、5)笔记
朴素贝叶斯分类器是生成式模型的代表,同时朴素贝叶斯和逻辑回归都是线性分类器,两者可以组成了一组生成-判别对.为了更好的了解朴素贝叶斯,又倒回去看了Andrew ng的机器学习视频第4讲和第5讲,并做了 ...
- 细讲逻辑斯蒂回归与朴素贝叶斯、最大熵原理的爱恨交织(长文)
好早之前就发现逻辑斯蒂回归好像和朴素贝叶斯里面的后验概率公式还有最大似然.信息熵.交叉熵.伯努利分布.回归分析.几率(odds)等等有着千丝万缕CZFZ(错综复杂).PSML(扑朔迷离)的关系.一直感 ...
最新文章
- git更新代码报错,error: The following untracked working tree files would be overwritten by ch
- 用户不见了_屋面瓦/外墙板再也看不见螺丝打胶了
- 【Android】Eclipse自动编译NDK/JNI的三种方法
- phantomjs介绍
- mysql 中文字符查询不出数据_jsp页面显示不出mysql中查询出的中文字符串,插入中文也不好使...
- jvm内存 大于 xmx_为什么我的JVM访问的内存少于通过-Xmx指定的内存?
- Apache Ant 1.10.6发布–用于junitlauncher的fork模式以及新的jmod和链接任务
- 解决iphone填写表单时,表单项获取焦点时往下拉屏,导致顶部标题栏下滑错位...
- [LeetCode]15. 3Sum
- kubernetes资源管理
- win11鼠标怎么在轮滑时只滚动一个屏幕 Windows11鼠标设置轮滑只滚动一个屏幕的步骤方法
- Sql语句查询某列A相同值的另一列B最大值的数据
- 非好友怎么进qq权限空间
- RapidMiner Studio 自动模型
- 网易有道词典去广告版
- java语言c语言表情包_c语言表情包 - c语言微信表情包 - c语言QQ表情包 - 发表情 fabiaoqing.com...
- 英语学习详细笔记(八)动名词
- 基于PHP的仿小米商城系统(完整前后台)
- linux 命令:su 详解
- 配置maven私服nexus