相同

逻辑回归和朴素贝叶斯都是对条件概率\(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的更多相关文章

  1. 机器学习---朴素贝叶斯与逻辑回归的区别(Machine Learning Naive Bayes Logistic Regression Difference)

    朴素贝叶斯与逻辑回归的区别: 朴素贝叶斯 逻辑回归 生成模型(Generative model) 判别模型(Discriminative model) 对特征x和目标y的联合分布P(x,y)建模,使用 ...

  2. Logistic Regression 模型简介

    逻辑回归(Logistic Regression)是机器学习中的一种分类模型,由于算法的简单和高效,在实际中应用非常广泛.本文作为美团机器学习InAction系列中的一篇, 主要关注逻辑回归算法的数学 ...

  3. Logistic Regression 模型

    逻辑回归(Logistic Regression)是机器学习中的一种分类模型,由于算法的简单和高效,在实际中应用非常广泛.本文作为美团机器学习InAction系列中的一篇,主要关注逻辑回归算法的数学模 ...

  4. 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 ...

  5. Naive Bayes Algorithm And Laplace Smoothing

    朴素贝叶斯算法(Naive Bayes)适用于在Training Set中,输入X和输出Y都是离散型的情况.如果输入X为连续,输出Y为离散,我们考虑使用逻辑回归(Logistic Regression ...

  6. 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 ...

  7. 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 ...

  8. 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 ...

  9. 基于Naive Bayes算法的文本分类

    理论 什么是朴素贝叶斯算法? 朴素贝叶斯分类器是一种基于贝叶斯定理的弱分类器,所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关.举个例子,如果一种水果其具有红,圆,直径大概3英寸等特征,该水果 ...

随机推荐

  1. Spring基于注解开发异常

    基于注解开发: 一开始:用的jar包: 百度查到: 导入aop包: 没用 有的说: Spring版本和jdk版本不匹配 于是我换成了4.0版本 导入的jar包: 还是报错. 解决办法:添加spring ...

  2. c语言最后一次作业

    1.当初你是如何做出选择计算机专业的决定的? 我再来到大学之前,通过查询和询问,了解到当前计算机行业就业需求量较高,同时我对计算机的几年过去比较高了,在高中时期就有过在大学学习计算机行业的知识与专业的 ...

  3. Basic FIFO Queue

    Queue - 一种线程安全的FIFO实现 Python的Queue模块提供一种适用于多线程编程的FIFO实现.它可用于在生产者(producer)和消费者(consumer)之间线程安全(threa ...

  4. scrapy csvfeed spider

    class CsvspiderSpider(CSVFeedSpider): name = 'csvspider' allowed_domains = ['iqianyue.com'] start_ur ...

  5. HNOI 2012 永无乡

    codevs 1477 永无乡 http://codevs.cn/problem/1477/ 2012年湖南湖北省队选拔赛  时间限制: 1 s  空间限制: 128000 KB   题目描述 Des ...

  6. 从数据恢复角度解析RAID6结构原理

    [什么是RAID]    RAID的概念描述在互联网上比比皆是,用最简单的原理描述,就是在定义存储方式时允许在一部分数据缺失的情况下不影响全部数据,类似于通讯领域的纠错码.不同的冗余模式形成了不同的R ...

  7. http客户端请求及服务端详解

    http客户端请求及服务端详解 引言 HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展. ...

  8. Python内置函数(8)——bool

    英文文档: class bool([x]) Return a Boolean value, i.e. one of True or False. x is converted using the st ...

  9. OAuth2.0学习(1-8) 授权方式五之Access_Token令牌过期更新

    OAuth2.0的Access_Token令牌过期更新 如果用户访问的时候,客户端的"访问令牌"已经过期,则需要使用"更新令牌"申请一个新的访问令牌. 客户端发 ...

  10. DevExpress控件的GridControl实现行多选

    最近用到DevExpress控件的GridControl控件,需要用到行多选的操作,在网上找的资料,自己总结一下. 先展示一下效果: