神经网络与深度学习Pytorch版 Softmax回归 笔记

Softmax回归

目录

Softmax回归

[1. 独热编码](#1. 独热编码)

[2. Softmax回归的网络架构是一个单层的全连接神经网络。](#2. Softmax回归的网络架构是一个单层的全连接神经网络。)

[3. Softmax回归模型概述及其在多分类问题中的应用](#3. Softmax回归模型概述及其在多分类问题中的应用)

[4. Softmax运算在多分类问题中的应用及其数学原理](#4. Softmax运算在多分类问题中的应用及其数学原理)

[5. 小批量样本分类的矢量计算表达式](#5. 小批量样本分类的矢量计算表达式)

[6. 交叉熵损失函数](#6. 交叉熵损失函数)

[7. 模型预测及评价](#7. 模型预测及评价)

[8. 小结](#8. 小结)


Softmax回归,也称为多类逻辑回归,是一种用于解决多分类问题的机器学习算法。它与普通的 logistic 回归不同之处在于,logistic 回归通常用于二分类问题,而 softmax 回归则适用于有两个以上的类别需要预测的场景。以下是对 softmax 回归的具体介绍:

  • 函数定义:softmax 函数能够将多个类别的输出值转换成概率分布,其特点是输出值的范围在0到1之间,并且所有输出值的和为1。这使得它可以用于表示一个样本属于每个类别的概率。
  • 模型优势:与传统的线性回归相比,softmax 回归提供了一种非线性的方法来处理分类问题,特别是当类别之间存在相互依赖关系时,它能够给出更合理的结果。
  • 应用场景:softmax 回归广泛应用于机器学习中的多分类问题,如图像识别、文本分类等领域,在这些场景中,模型需要预测出一个样本属于多个类别中的一个。
  • 参数估计:该模型通过最大化似然函数来估计参数,通常使用梯度上升或随机梯度上升等优化方法来进行参数的学习和优化。
  • 损失函数:softmax 回归使用交叉熵损失函数来衡量模型预测的概率分布与实际分布之间的差异,并通过最小化这个损失函数来训练模型。

总的来说,softmax 回归是一个强大的多分类算法,它通过将输出转换为概率分布,帮助确定样本最可能的类别。在实际应用中,softmax 回归因其能够处理多个类别并给出直观的概率解释而被广泛采用。

1. 独热编码

独热编码(One-Hot Encoding)是一种将类别变量(categorical variables)转换为机器学习算法易于挖掘的形式的过程。在许多机器学习问题中,特征可以是非数字的,例如颜色、位置、职业等。这些特征被称为类别特征。

独热编码的工作原理是将每个类别分配一个唯一的整数,并为每个整数创建一个二进制列。然后,它将这些整数替换为其相应的二进制列。这样,每个类别都被表示为一个二进制向量,其中只有一个元素是1,其余元素都是0。

例如,如果我们有一个颜色特征,包含三个可能的值:红色、绿色和蓝色。独热编码将这些值转换为以下形式:

  • 红色:[1, 0, 0]
  • 绿色:[0, 1, 0]
  • 蓝色:[0, 0, 1]

这种方法的优点是它可以将类别特征转换为数值形式,从而使机器学习算法能够处理它们。然而,它的缺点是它增加了数据集的大小,并且可能导致稀疏性问题。

2. Softmax回归的网络架构是一个单层的全连接神经网络

Softmax回归是处理多分类问题的一种有效方法,它可以看作是二分类问题的Logistic回归的扩展。在网络架构方面,Softmax回归与线性回归相似,都属于单层神经网络的范畴。以下是Softmax回归网络架构的关键点:

  • 输入层:接收特征向量作为输入,这些特征向量通常经过预处理,以便于模型更好地理解和学习数据。
  • 全连接层:Softmax回归的输出层是全连接的,意味着每个输入特征都与每个输出类别相连接。这一层的权重和偏置参数在学习过程中被优化,以便更好地对输入进行分类。
  • 输出层:输出层使用Softmax函数,它将神经网络的原始输出转换为概率分布。Softmax函数的每个输出代表一个类别的概率,所有输出之和为1。这样,模型的输出可以直接解释为样本属于每个类别的概率。
  • 损失函数:为了训练Softmax回归模型,需要定义一个损失函数,通常是交叉熵损失函数,它衡量模型预测的概率分布与实际分布之间的差异。通过最小化这个损失函数,模型能够学习到更好的参数。
  • 优化算法:使用优化算法(如梯度下降)来调整网络的权重和偏置,以最小化损失函数,从而提高模型的分类性能。

综上所述,Softmax回归的网络架构相对简单,但其在多分类问题中的表现非常出色,能够有效地将输入数据映射到相应的类别概率上。

3. Softmax回归模型概述及其在多分类问题中的应用

  • Softmax回归用于多分类问题,其中每个类别都有一个对应的输出。
  • 该模型有多个仿射函数,每个输出类别一个。
  • 在我们的例子中,有4个输入特征和3个输出类别,因此需要12个权重参数(w)和3个偏置参数(b)。
  • 对于每个输入样本,计算三个未规范化的预测值(logits):o1、o2和o3,每个都是输入特征和相应权重的线性组合加上偏置。
  • Softmax回归可以被视为一个单层的全连接神经网络。
  • 使用线性代数表示,所有权重被组织在一个矩阵W中,输出o通过矩阵-向量乘法 Wx+b 计算得出。

4. Softmax运算在多分类问题中的应用及其数学原理

  • Softmax运算的目的是将模型的输出转换为概率分布,确保每个类别的概率非负且总和为1。
  • 通过Softmax函数,可以将线性层的输出(logits)转换为有效的概率值,从而满足概率的基本公理。
  • Softmax函数的计算过程包括对每个未规范化的预测值求指数,然后除以所有类别的指数和,确保输出的概率分布合理。
  • 使用Softmax函数后,模型的输出可以被视为类别的概率,使得模型可以预测具有最大概率的类别作为输出。
  • 尽管Softmax是一个非线性变换,但Softmax回归的输出仍然由输入特征的线性(仿射)变换决定,因此它仍然是一个线性模型。

5. 小批量样本分类的矢量计算表达式

6. 交叉熵损失函数

7. 模型预测及评价

8. 小结

后面关于小批量样本分类的矢量计算表达式,交叉熵损失函数,模型预测及评价这几步我还不理解,之后再补充。

相关推荐
珠海新立电子科技有限公司20 分钟前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
湫ccc34 分钟前
《Python基础》之基本数据类型
开发语言·python
IT古董34 分钟前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦43 分钟前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
醉陌离1 小时前
渗透测试笔记——shodan(4)
笔记
LateBloomer7771 小时前
FreeRTOS——信号量
笔记·stm32·学习·freertos
legend_jz1 小时前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
Komorebi.py1 小时前
【Linux】-学习笔记04
linux·笔记·学习
余炜yw1 小时前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
drebander2 小时前
使用 Java Stream 优雅实现List 转化为Map<key,Map<key,value>>
java·python·list