Logistic Regression vs Naive Bayes
相同
逻辑回归和朴素贝叶斯都是对条件概率\(P(X|y)\)进行建模,使得最终的分类结果有很好的解释性。
不同
具体流程
- 逻辑回归:
假设\(P(y=1|X)\)满足逻辑函数\(h(z)=1/1+exp(-z),z=XW+b\),即
\[P(y=1|X)=\frac{1}{1+exp(-XW+b)}\]
,通过梯度下降最小化\(-log(p(y|X))\)直接求解W。 朴素贝叶斯:
不直接求解\(P(y|X)\),先求解\(P(y)\)和\(P(X|y)\),再通过贝叶斯公式
\[P(y|X)=\frac{P(x,y)}{\prod_yP(x,y)}=\frac{P(y)P(X|y)}{\prod_yP(y)P(X|y)}\]
求解\(P(y|X)\)。------“贝叶斯”
且其假设特征满足条件独立性:给定类别,不同维度的特征取值之间相互独立,即
\[P(X|y=c)=\prod_i{P(X_i|y=c)}\]
。------“朴素”
如果特征X取离散值,可以直接根据训练数据统计出\(P(y)\)和\(P(X_i|y)(\forall{i})\)。
如果特征X取连续值,需要假设\(P(X|y)\)的形式,如高斯分布,根据训练数据利用MLE求解出\(\mu\)和\({\Sigma}\)后,W的形式给定,由\({\mu}\)和\({\Sigma}\)确定W值。
预测时,求解使得\(P(y|X)\)最大的y作为最终的分类结果。模型类别
逻辑回归是判别模型;朴素贝叶斯是生成模型。
判别模型的目标是找到一个最能够区分不同类的边界,其不在乎每一类中样本点是如何分布的;
生成模型首先对各类中的样本分布进行建模,
好处是需要的训练数据更少、对于噪声点更鲁棒(该点与假设不符合,可能是噪声点)、\(P(y)\)和\(P(X|y)\)可以来自不同的源。取舍
当特征间满足条件独立性假设时,随着训练数据中样本个数的增加,在极限情况下,逻辑回归和高斯朴素贝叶斯分类结果一致;
高斯朴素贝叶斯的收敛速度比逻辑回归更快,
当训练数据中样本数目较小时,高斯朴素贝叶斯往往比逻辑回归表现得更好;
当样本数目较大时,由于逻辑回归的极限误差更低,它会比高斯朴素贝叶斯表现得更好;
与逻辑回归相比,朴素贝叶斯的方差更小,偏差更大;
比起逻辑回归来,朴素贝叶斯会较为受限于特征工程,当假设不成立时,假设会对分类的准确性造成负面的影响。
Logistic Regression vs Naive Bayes的更多相关文章
- 机器学习---朴素贝叶斯与逻辑回归的区别(Machine Learning Naive Bayes Logistic Regression Difference)
朴素贝叶斯与逻辑回归的区别: 朴素贝叶斯 逻辑回归 生成模型(Generative model) 判别模型(Discriminative model) 对特征x和目标y的联合分布P(x,y)建模,使用 ...
- Logistic Regression 模型简介
逻辑回归(Logistic Regression)是机器学习中的一种分类模型,由于算法的简单和高效,在实际中应用非常广泛.本文作为美团机器学习InAction系列中的一篇, 主要关注逻辑回归算法的数学 ...
- Logistic Regression 模型
逻辑回归(Logistic Regression)是机器学习中的一种分类模型,由于算法的简单和高效,在实际中应用非常广泛.本文作为美团机器学习InAction系列中的一篇,主要关注逻辑回归算法的数学模 ...
- 6 Easy Steps to Learn Naive Bayes Algorithm (with code in Python)
6 Easy Steps to Learn Naive Bayes Algorithm (with code in Python) Introduction Here’s a situation yo ...
- Naive Bayes Algorithm And Laplace Smoothing
朴素贝叶斯算法(Naive Bayes)适用于在Training Set中,输入X和输出Y都是离散型的情况.如果输入X为连续,输出Y为离散,我们考虑使用逻辑回归(Logistic Regression ...
- More 3D Graphics (rgl) for Classification with Local Logistic Regression and Kernel Density Estimates (from The Elements of Statistical Learning)(转)
This post builds on a previous post, but can be read and understood independently. As part of my cou ...
- Some 3D Graphics (rgl) for Classification with Splines and Logistic Regression (from The Elements of Statistical Learning)(转)
This semester I'm teaching from Hastie, Tibshirani, and Friedman's book, The Elements of Statistical ...
- SAS PROC MCMC example in R: Logistic Regression Random-Effects Model(转)
In this post I will run SAS example Logistic Regression Random-Effects Model in four R based solutio ...
- 基于Naive Bayes算法的文本分类
理论 什么是朴素贝叶斯算法? 朴素贝叶斯分类器是一种基于贝叶斯定理的弱分类器,所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关.举个例子,如果一种水果其具有红,圆,直径大概3英寸等特征,该水果 ...
随机推荐
- 【数据结构】赫夫曼树的实现和模拟压缩(C++)
赫夫曼(Huffman)树,由发明它的人物命名,又称最优树,是一类带权路径最短的二叉树,主要用于数据压缩传输. 赫夫曼树的构造过程相对比较简单,要理解赫夫曼数,要先了解赫夫曼编码. 对一组出现频率不同 ...
- Python中的SQLAlchemy
在Python中,使用SQLAlchemy可以对数据库进行操作. SQLAlchemy是Python中的一个标准库. 要使用SQLAlchemy,首先要创建连接: url = mysql+pymysq ...
- RabbitMQ封装实战
先说下背景:上周开始给项目添加曾经没有过的消息中间件.虽然说,一路到头非常容易,直接google,万事不愁~可是生活远不仅是眼前的"苟且".首先是想使用其他项目使用过的一套对mq封 ...
- PTA常见错误
1.最常犯的错误. 格式错误 在PTA程序检测中,输入输出要严格按照题目要求.输出的格式要完全按照题目要求来,该空格地方空格,该换行要换行.否则,就算你运行结果是对的,PTA还是提示你格式错误 比如下 ...
- xapp1151_Param_CAM模块安装
xapp1151_Param_CAM模块安装 所需生成模块 TCAM CAM 下载链接 赛灵思技术支持网站:http://www.xilinx.com/support.html 并在网页中搜索xapp ...
- Java HashMap工作原理及实现
Java HashMap工作原理及实现 2016/03/20 | 分类: 基础技术 | 0 条评论 | 标签: HASHMAP 分享到:3 原文出处: Yikun 1. 概述 从本文你可以学习到: 什 ...
- nyoj 对决
对决 时间限制:1000 ms | 内存限制:65535 KB 难度:0 描述 Topcoder 招进来了 n 个新同学,Yougth计划把这个n个同学分成两组,要求每组中每个人必须跟另一组中 ...
- 自制 h5 音乐播放器 可搜索
闲言碎语: 有好几天没有发表博客了,这也是因为一直开发音乐和完善我的博客项目,好不容易抽出时间总结一下这几天所做的东西,笔试又不断通知,实则匆忙 今天难得逃了一次课,就趁这时间,该写写就写写吧~~ 进 ...
- Windows Powershell脚本执行
在cmd下执行powershell进入shell模式: 变量定义:$i = 10 $a = ifconfig | findstr "192" Windows下的命令都可以执行如: ...
- springboot多模块项目下,子模块调用报错:程序包xxxxx不存在
今天在用springboot搭建多模块项目,结构中有一个父工程Parent 一个通用核心工程core 以及一个项目工程A 当我在工程A中引入core时,没有问题,maven install正常 当我 ...