朴素贝叶斯和逻辑回归的错误率

我一直在试图弄清楚这两个模型中错误率与特征数量之间的相关性。我看了一些视频,视频的创作者说一个简单的模型可能比复杂的模型更好。所以我认为特征越多,错误率就会越高。但在我的工作中,这一点并未得到证实,当特征减少时,错误率反而上升了。我不确定是我做错了,还是视频中的那个人犯了错误。能有人解释一下吗?我也很好奇特征是如何影响逻辑回归的错误率的。


回答:

朴素贝叶斯和逻辑回归是一对“生成-判别模型”,这意味着它们具有相同的模型形式(线性分类器),但它们以不同的方式估计参数。

对于特征x和标签y,朴素贝叶斯从训练数据中估计联合概率p(x,y) = p(y)*p(x|y)(即构建一个能够“生成”数据的模型),并使用贝叶斯规则来预测新测试实例的p(y|x)。另一方面,逻辑回归通过最小化错误函数直接从训练数据中估计p(y|x)(这更具“判别性”)。

这些差异对错误率有影响:

  1. 当训练实例非常少时,逻辑回归可能会“过拟合”,因为没有足够的数据来可靠地估计p(y|x)。朴素贝叶斯可能表现得更好,因为它对整个联合分布进行建模。
  2. 当特征集很大(并且稀疏,如文本分类中的词特征)时,朴素贝叶斯可能会“双重计数”彼此相关的特征,因为它假设每个p(x|y)事件是独立的,而实际上并非如此。逻辑回归可以通过自然地在这些相关特征之间“分担差异”来做得更好。

如果特征确实是(大部分)条件独立的,随着特征的增加,这两个模型实际上可能会在有足够数据实例的情况下得到改善。问题出现在训练集大小相对于特征数量较小时。朴素贝叶斯的特征参数先验,或逻辑回归的正则化方法(如L1/Lasso或L2/Ridge)在这些情况下可以有所帮助。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注