在使用逻辑回归的手写数字识别问题中,添加另一个类“Not a Digit”需要进行哪些更改

数据挖掘 scikit-学习 逻辑回归 多类分类 图像识别 多标签分类
2022-03-03 02:42:45

在使用逻辑回归的手写数字识别问题中,正常的实现甚至会强制将狗或猫的图片分类为数字。为了消除这种情况,需要进行哪些更改才能将另一个类(即“非数字”)添加到已经存在的 10 个类(0 到 9)中?

2个回答

如果您使用的是一个与所有分类,您可以使用一个条件,如果没有类别达到最小概率,那么它不是一个数字。或者,您可以使用另一个“非数字”类来训练分类器。或者也许使用两个分类器的管道,一个告诉你一张图片是否是一个数字,如果它是一个数字,则对该数字进行分类。

逻辑回归通常用于执行二元分类,它回答是或否的问题,例如:

  1. 这是8还是不是?
  2. 今天会不会下雨?

也许我误解了您的解释,但听起来您正在尝试执行多类分类,即将图像分类为一定数量的选项之一。因此,单个图像必须包含(归类为)列表中的一个数字:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].

通常,要向已经执行此操作的模型添加额外的类,您需要调整模型的最终输出以预测一个仅长一个元素的单热向量!

在 Scikit-Learn LogosticRegression类的特定情况下,您似乎不需要指定任何内容 - 一旦发现数据不是二进制的,该类将自动使用多项式模型和相关优化器(即是-没有如上所述的模型)。

看看这个官方教程,它应该是一个多项模型,它在一个目标变量共有 20 个类的数据集上训练。特征的数量(n_classes等于20)根本没有传递给模型,它是推断出来的。