softmax回归的相关知识

简介: 机器学习在监督学习领域主要解决两个问题,分类和回归问题。

机器学习在监督学习领域主要解决两个问题,分类和回归问题。那么分类问题又分为二分类问题和多分类问题,而二分类问题相对来说很好解决,我们只需要构建输出层有一个神经元的神经网络,然后结合sigmoid函数,即可实现二分类问题。而神经网络的多分类问题就相对复杂一些,假如我们要解决三分类的问题,那么我们构建神经网络的时候,就需要构建一个输出层为三个神经元的神经网络,然后配合使用softmax回归来完成神经网络多分类的任务。

111.png

Softmax回归的含义

通常,机器学习实践者用 分类 这个词来描述两个有微妙差别的问题:
(1)我们只对样本的硬性类别感兴趣,即属于哪个类别;
(2)我们希望得到软性类别,即得到属于每个类别的概率。
这两者的界限往往很模糊,这其中的一个原因是:即使我们只关心硬类别,但我们仍然使用软类别的模型。

那么我拿一个图像分类的问题来具体说明一下。假设每次输入的是一个图像,可能是“猫”,“鸡”和“狗”中的任意一个,那对于它们的标签表示我们肯定不能用{猫,鸡,狗}{\text{猫}, \text{鸡},\text{狗}}{猫,鸡,狗}。于是,我们使用统计学家很早以前就发明的一种表示分类数据的简单方法:独热编码(one-hot encoding)。

独热编码是一个向量,它的分量和类别一样多。类别对应的分量设置为1,其他所有分量设置为0。在我们的例子中,标签yyy将是一个三维向量,其中(1,0,0)(1, 0, 0)(1,0,0)对应于“猫”、(0,1,0)(0, 1, 0)(0,1,0)对应于“鸡”、(0,0,1)(0, 0, 1)(0,0,1)对应于“狗”:
softmax回归是一个单层神经网络。由于计算每个输出o1o_1o1​、o2o_2o2​和o3o_3o3​取决于所有输入x1x_1x1​、x2x_2x2​、x3x_3x3​和x4x_4x4​,所以softmax回归的输出层也是全连接层。

Softmax运算

那么对于多分类问题来说,使用的softmax函数即是网络输出层的激活函数,softmax函数可以对输出值进行归一化操作,把所有输出值都转化为概率,所有概率值加起来等于1。

为了将未归一化的预测变换为非负并且总和为1,同时要求模型保持可导。首先对每个未归一化的预测求幂,这样可以确保输出非负。为了确保最终输出的总和为1,需要再对每个求幂后的结果除以它们的总和。运算公式如下:

y^​=softmax(o)其中y^​j​=∑k​exp(ok​)exp(oj​)​

其中 y^j\hat{y}_jy^​j​ (模型的输出)可以视为属于 类jjj 的概率。然后我们可以选择具有最大输出值的类别 argmax⁡jyj\operatorname*{argmax}_j y_jargmaxj​yj​ 作为我们的预测。

例如,如果y^1\hat{y}_1y^​1​、y^2\hat{y}_2y^​2​和y^3\hat{y}_3y^​3​分别为0.1、0.8和0.1,那么我们预测的类别是2,在我们的例子中代表“鸡”。

我们可以看出对于所有的jjj总有0≤y^j≤10 \leq \hat{y}_j \leq 10≤y^​j​≤1,因此,y^\hat{\mathbf{y}}y^​可以视为一个正确的概率分布。softmax运算不会改变未归一化的预测o\mathbf{o}o之间的顺序,只会确定分配给每个类别的概率。因此,在预测过程中,仍然用下式来选择最有可能的类别。

相关文章
WK
|
3月前
|
机器学习/深度学习
在神经网络的反向传播中,Tanh和Sigmoid哪个更快
在神经网络反向传播中,Tanh与Sigmoid函数的速度差异并无定论,受网络结构、数据特性及参数设置影响。Sigmoid在远离零时易导致梯度消失,而Tanh因输出范围为(-1, 1)且以0为中心,能更好地缓解此问题,理论上训练速度更快。两者计算复杂度相近,现代硬件优化使这一差距不明显。实际应用中,Sigmoid常用于二分类输出层,Tanh则适用于隐藏层以加速收敛并减少权重更新偏向。随着深度学习发展,ReLU等新激活函数因高效性和轻度梯度消失问题成为主流选择。综合来看,Tanh可能比Sigmoid稍快,但需根据具体任务和网络结构选择。
WK
75 0
|
6月前
|
机器学习/深度学习 数据采集 数据处理
多层感知机(MLP)解决二分类任务
分类任务: 开发一个神经网络,预测一氧化碳 (CO) 浓度是否超过某一阈值(CO(GT) 值的平均值)。这项任务涉及二元分类,即您的模型学会将实例分为两类:高于或低于阈值。阈值。要确定阈值,您必须首先计算CO(GT) 的平均值,其中不包括未知数据(缺失值)。然后,使用该阈值来预测网络预测的值是高于还是低于该阈值。但是您的网络应该能够处理缺失值。
|
6月前
|
机器学习/深度学习 算法
损失函数
【6月更文挑战第14天】损失函数。
51 2
|
机器学习/深度学习 数据采集
Softmax 分类器
机器学习中的 Softmax 分类器是一种常用的多分类模型,它将逻辑回归(Logistic Regression)推广到多分类问题中。在 Softmax 分类器中,我们使用一个二维平面(或多维空间中的超平面)来将不同类别的数据分开。这个超平面由一个线性函数决定,该线性函数可以表示为:y = w1 * x1 + w2 * x2 +... + wn * xn 其中,y 是输出变量(通常为类别的概率向量),x1, x2,..., xn 是输入变量,w1, w2,..., wn 是需要学习的权重。 Softmax 分类器的主要优点是它可以处
195 3
|
机器学习/深度学习 算法 PyTorch
Softmax回归(Softmax Regression)
Softmax回归(Softmax Regression),也称为多类别逻辑回归或多项式回归,是一种用于解决多类别分类问题的统计学习方法。它是逻辑回归在多类别情况下的扩展。
269 3
|
机器学习/深度学习 数据挖掘 PyTorch
Softmax Classifier 多分类问题
Softmax Classifier 多分类问题
103 0
|
机器学习/深度学习 数据可视化 计算机视觉
图像分类_03分类器及损失:线性分类+ SVM损失+Softmax 分类+交叉熵损失
解释:w的每⼀⾏都是其中⼀个类的分类器。这些数字的⼏何解释是,当我们改变w的⼀行时,像素空间中相应的线将以不同的⽅向旋转。⽽其中的偏置是为了让我们避免所有的分类器都过原点。
170 0
|
机器学习/深度学习 算法 TensorFlow
Softmax 多分类 | 学习笔记
快速学习 Softmax 多分类
Softmax 多分类 | 学习笔记
|
算法框架/工具
Keras之MLP:利用MLP【Input(8)→(12)(relu)→O(sigmoid+二元交叉)】模型实现预测新数据(利用糖尿病数据集的八个特征实现二分类预测
Keras之MLP:利用MLP【Input(8)→(12)(relu)→O(sigmoid+二元交叉)】模型实现预测新数据(利用糖尿病数据集的八个特征实现二分类预测
Keras之MLP:利用MLP【Input(8)→(12)(relu)→O(sigmoid+二元交叉)】模型实现预测新数据(利用糖尿病数据集的八个特征实现二分类预测
|
机器学习/深度学习 算法
TF之NN之回归预测:利用NN算法(RelU)实现根据三个自变量预测一个因变量的回归问题
TF之NN之回归预测:利用NN算法(RelU)实现根据三个自变量预测一个因变量的回归问题
TF之NN之回归预测:利用NN算法(RelU)实现根据三个自变量预测一个因变量的回归问题

相关实验场景

更多