博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
逻辑回归 和 朴素贝叶斯 两者间的区别
阅读量:4287 次
发布时间:2019-05-27

本文共 1193 字,大约阅读时间需要 3 分钟。

在有监督学习算法用做分类问题时,有两种算法在实际中应用广泛,它们分别是Logistic regression和Naive bayes。今天我们讨论一下这两类算法在分类问题上面的异同点,以及它们的优缺点。

1.两类算法介绍

 

Logistic Regression

Naive Bayes

Naive Bayes模型是说我有一个很强的假设,这个假设是在y给定的条件下,xi相互独立,这个假设看上去非常stupid,但是在实际应用(比如垃圾邮件检测)中能够work非常好。这一方面也验证了Occam’s Theory: Simple model is better。继续主题,既然xi相互独立,我们想对测试数据x^进行预测,可以通过如下方法:

在这里,可以通过条件独立性写成:

而分母可以通过联合概率写成:

好的,下面我们开始分析Logistic Regression和Naive Bayes的异同点。

2.两者的异同点

 

相同点

  • Logistic regression和Naive bayes都是对特征的线性表达,只是区别在于两者所fit的参数不同。
  • Logistic regression和Naive bayes建模的都是条件概率,对所最终求得的不同类的结果有很好的解释性。而不像SVM,神经网络这样解释性不高。

不同点

  • Logistic regression在有相关性feature上面学习得到的模型在测试数据的performance更好。也就是说,logistic regression在训练时,不管特征之间有没有相关性,它都能找到最优的参数。而在Naive bayes中,由于我们给定特征直接相互独立的严格设定,在有相关性的feature上面学习到的权重同时变大或变小,它们之间的权重不会相互影响。从这方面来说,如果能够在对参数较好地控制,在损失项方面处理的很好的话,Logistic regression相对Naive bayes在应用时更不会限制在特征工程(feature engineering)上面。
  • Naive bayes的好处是我没有优化参数这一步,通过训练数据我直接得到一个counting table,这些有助于并行化。
  • Andrew Ng和Michael Jordan在2001年发了一篇NIPS短文《》,他们把这两个模型用在各种数据集上面进行测试,最后得到在小数据上面Naive bayes可以取得更好的效果,随着数据的增多、特征维度的增大,Logistic regression的效果更好。这也是因为Naive bayes是生成模型,在有prior的情况下模型能够把数据fit的更好,而Logistic regression属于生成模型,目标驱动化,不去建模联合概率,通过训练数据直接预测输出,因此在数据足够多的情况下能够得到更好一些的效果。

 

作者:

文章出处:

转载地址:http://xqxgi.baihongyu.com/

你可能感兴趣的文章
SQLite数据库的增删改查
查看>>
Adb connection Error:远程主机强迫关闭一个现有的连接--解决方法
查看>>
Tomcat服务器热启动,解决部署源码时每次手动重启Tomcat问题
查看>>
mysql数据库 向表中添加字段
查看>>
根据图片完整路径,获得图片的宽和高,判断是横版还是竖版图片
查看>>
Linux服务器上修改Mysql的密码
查看>>
Fragment碎片入门教程
查看>>
Android UI根据屏幕分辨率决定加载布局
查看>>
Java面试总结
查看>>
Processing of multipart/form-data request failed. Stream ended unexpectedly
查看>>
Linux上定时备份MySQL数据库
查看>>
xml解析之PULL
查看>>
安卓大神开源项目
查看>>
快递轨迹第三方接口接入(快递鸟)
查看>>
java多线程详解(一)
查看>>
Eclipse背景颜色修改--护眼色,黑色
查看>>
Servlet技术浅析(九)之-----下载文件和上传文件
查看>>
一台linux操作系统上配置多台Tomcat服务
查看>>
maven入门浅析(二)-----maven集成eclipse、jboss
查看>>
正则表达式入门教程(三)
查看>>