回归 vs 分类
回归用于估计一个连续值
分类用于预测一个离散类别
两个经典的数据集:
MNIST数据集:
MNIST(Modified National Institute of Standards and Technology)数据集是一个广泛应用于机器学习和深度学习领域的手写数字识别数据集。
MNIST 数据集包含60,000个训练样本和10,000个测试样本。每个样本是一幅28x28像素的灰度图像,代表0到9之间的手写数字。
由于其相对简单且结构化的特性,MNIST 成为了机器学习和深度学习入门的经典数据集。它常被用来作为算法性能的基准测试,特别是在监督学习任务中,如图像分类。
ImageNet数据集:
ImageNet 是一个大规模的计算机视觉数据集。ImageNet 的目标是推进计算机视觉中的物体识别技术,特别是大规模物体识别的准确性和效率。
ImageNet 数据集包含超过一千四百万张图片,这些图片被分配到了21,841个Synset中,涵盖了约1000个不同的对象类别。每张图片都经过人工注释,确保其分类的准确性。
从回归到多类分类
假设每次输入的是一个2x2的灰度图像。用一个标量表示一个像素值,每个图像对应四个特征x1,x2,x3,x4。每个图像属于猫、鸡、狗中的一类。
One-Hot编码
回归通常是单连续值输出。分类问题通常有多个输出输出i是预测为第i类的置信度。
假设分类问题有n个类别,可以用一位有效编码(One-Hot编码)对类别进行编码。编码为:
假设真实类别为第i个,。对应第i个类别的yi值为1,其余y值均为0(一位有效)。
若需要对猫、鸡、狗三种动物进行分类,则狗的One-Hot编码为
网络架构
为了解决线性模型的分类问题,需要有n个输出的仿射函数,n个输出对应对应n个分类,每个输出值On对应一个类别的可能性。因为每个图片有4个特征,同时每个图片对应3个可能的输出类别。因此需要3x4=12个标量表示权重w,3个标量表示偏置b。
softmax神经网络架构如下:
该模型可以通过向量形式简介表达:。W为权重3x4的权重矩阵,x为4x1的特征列向量。
softmax运算(进行预测)
将线性层的输出直接视为预测概率存在一定问题:没有限制输出总和为1、输出数据可能为负值。为规范化输出结果Oi,需要使用softmax函数将未规范化的预测变换为非负数并且总和为1,同时让模型保持可导的性质。softmax函数如下:
仿射变换的结果Oj经过 softmax 函数处理后,会转换成概率分布,使得每个元素代表输入样本属于各个类别的概率,且所有概率之和为1。
对于所有j总有。softmax运算不会改变未规范化预测Oj之间的大小次序,只会确定分配给每个类别的概率。 softmax函数是一个非线性函数,但softmax回归的输出仍然由输入特征的仿射变换Oj决定,因此softmax回归仍是一个线性模型。
将视为属于第j类的概率。在模型所有输出结果中选出最大值作为预测结果。
如,若,则预测结果为第二类别,与例子中的“鸡”相对应。
损失函数
损失函数未交叉熵损失,公式如下:
该loss值的梯度是真实概率和预测概率的区别:
总结
Softmax回归是一个多类分类模型
使用Softmax操作子得到每个类的预测置信度
使用交叉熵来衡量预测值和标号(label,实际值)的区别