多分类问题

我们已经学习过二分类的问题,但是在生活中有很多场景,目标输出并不仅仅只有两种。例如手写数字的识别,数字不只有0和1两种,还有2、3、4、5、6、7、8、9,那我们就需要引入多分类的问题。

微信图片_20230222113819

一、Softmax算法

softmax回归算法是逻辑回归算法的泛化,这是一种针对多分类环境的二元分类算法。

1、模型

假设有四个可能的输出

微信图片_202302221138192

特别的,当可能的输出只有两种时,Softmax的效果最后等同于逻辑回归,所以这是为什么它被称为逻辑回归的泛化。

2、代价函数

Softmax的损失为aj的负对数,值越接近1,也就是等于真实值的概率越大,损失就越小;值越远离1而接近0,也就是等于真实值的概率越小,损失就越大。

image-20230222134436729

二、神经网络的Softmax输出

为了建立一个多分类的神经网络,我们使用Softmax回归模型,将它放到神经网络的输出层。

image-20230222135741848

三、TensorFlow实现

image-20230222140236109

四、改进

虽然x1等价于x2,但是不同的计算方式会导致精度存在差异。

image-20230222140512749

image-20230222141253900

在改进之后,我们将输出层的激活函数改为线性回归函数,那么输出层输出的不再是a1、a2......,而是z1、z2......

image-20230222141420902

改进后的逻辑回归

image-20230222141444069

五、多标签分类问题

多标签分类问题指的是在单个输入下,输出带有多个标签的问题。举一个例子,检测一张图片中是否存在汽车、是否存在公交、是否存在行人,这一类型就是多标签分类问题。

image-20230222142919302

使用神经网络实现

image-20230222143130032