美文网首页
深度学习-线性神经网络4-Softmax回归

深度学习-线性神经网络4-Softmax回归

作者: R7_Perfect | 来源:发表于2025-07-30 09:36 被阅读0次

在前面几篇文章中,我们探索了 线性回归 的基础知识、从零开始的实现方法以及通过深度学习框架简洁实现的途径。线性回归主要用于解决回归问题,即 “预测多少” 的问题,例如预测房屋价格或患者的住院天数。

然而,在实际应用中,我们同样关心 分类问题 ,即 “属于哪一个” 的问题。比如,判断一封电子邮件是否为垃圾邮件,预测用户是否会订阅服务,或者识别图片中的动物是猫、狗、还是其他。

在机器学习中,分类问题可以进一步细分为“硬性”类别分类和“软性”概率分类。前者关注样本所属的具体类别,后者则试图估计每个类别的概率分布。即使在硬分类问题中,我们也常通过软分类模型获得类别概率,从而提升分类的精确度。

本节将介绍 Softmax回归,一种经典的多分类方法,通过构建概率分布来预测样本的类别归属,为多类别分类任务提供有力支持。

1. 分类问题

在机器学习中,分类任务是通过判断样本属于哪一个类别来完成的。我们首先用一个图像分类问题来引出这一概念:假设我们有一个灰度图像,每个图像像素值为一个标量,图像可以属于“猫”、“狗”或“鸡”三个类别之一。
为了表示图像所属的类别,我们使用 独热编码(one-hot encoding) 方式。例如,如果一张图像是“猫”,它的标签可以表示为 [1,0,0],表示类别“猫”;如果是“鸡”,标签则为 [0,1,0]。

2. 网络架构

在Softmax回归中,模型输出一个向量,每个向量的元素表示该样本属于某个类别的概率。假设我们有 nnn 个输入特征和 mmm 个输出类别,那么我们需要构建一个具有 n×mn \times mn×m 个权重的 全连接层。
全连接层(Fully Connected Layer,简称FC层) 是神经网络中的一种基本层类型,也是前馈神经网络(Feedforward Neural Network)中常见的构成单元。
全连接层的特点是:其输入和输出之间的每一个节点都是全连接的,即输入层的每个节点都与输出层的每个节点有一个独立的权重相连。
计算方式可以表示为:


1753776618762.png

这里,X表示输入数据矩阵,W为权重矩阵,b为偏置向量。

3. 全连接层的参数开销

在全连接层中,模型每个输入特征都与每个输出类别关联,这会增加参数数量。如果输入和输出层次较高,参数的开销也会随之增加。

参数开销公式:


1753776656693.png

对于一个全连接层,参数总数包括权重参数和偏置参数:

  • n 表示输入神经元的数量(输入特征的维度)。
  • m 表示输出神经元的数量(输出特征的维度)。
  • 权重参数:因为输入层的每个神经元都和输出层的每个神经元相连,所以有 n×m 个权重。
  • 偏置参数:每个输出神经元有一个偏置,所以有 m 个偏置。

4. Softmax运算

为了确保模型输出可以解释为概率分布,我们引入了Softmax函数,它将未规范化的预测值变换为非负数,且总和为 1。

Softmax 函数定义如下:


1753776933744.png

通过这个公式,我们可以获得每个类别的概率分布。
让我们来用简单的方式理解一下 Softmax 运算。

  • 输入数据:假设我们有一个数列,比如 [2,1,0.5]。这个数列代表了不同类别的分数或“信心值”,通常叫做“原始得分”。
  • 指数运算:为了处理这些得分,我们会先对它们做指数运算。也就是说,把每个数都放在指数的“幂”上(e 的幂)。这样做是因为指数可以把所有值变成正数,同时能放大数值间的差异。
    举例来说,原始得分 [2,1,0.5][2, 1, 0.5][2,1,0.5] 变成了:[e2,e1,e^0.5 ],假设 𝑒≈2.718,计算后我们得到 [7.39,2.72,1.65].
  • 求和:接下来,我们把这些指数值加起来,得到一个总和。上面的结果中,7.39+2.72+1.65=11.76。
  • 归一化:然后,我们把每个指数值除以这个总和,这就是“归一化”。这个步骤是为了让每个结果都在 0 和 1 之间,并且所有结果加起来等于 1,方便我们理解为“概率”。
    第一个值变成 7.39/11.76≈0.63
    第二个值变成 2.72/11.76≈0.23
    第三个值变成 1.65/11.76≈0.14
    输出结果:最后的结果 [0.63,0.23,0.14] 就是每个类别的概率。这个输出表示第一个类别的概率最高,约为 63%,第二和第三个类别的概率相对较低。
    总结来说,Softmax 是一种将任意分数转换为概率的方式,让我们可以清楚地知道每个类别的可能性大小。

5. 小批量样本的矢量化

在计算Softmax时,我们通常使用小批量样本以提升计算效率。在批量计算中,每个批量的特征为矩阵 X,权重为矩阵 W,偏置为向量 b。
矢量化Softmax公式:
Y=softmax(XW+b)

6. 损失函数

在Softmax回归中,我们使用交叉熵损失函数来度量模型的预测效果。交叉熵损失函数公式为:


1753778821671.png

其中,y 表示真实标签,y^表示预测概率。
通过例子来理解
假设我们在做二分类问题,比如判断一张图片是“猫”还是“狗”。
我们用两个标签来表示:猫 = [1, 0],狗 = [0, 1],其中 [1,0] 表示图片是真实的“猫”,而 [0,1] 表示图片是真实的“狗”。

示例1:模型准确预测“猫”

假如模型的预测概率为 [0.9, 0.1],即模型认为这张图片是猫的概率为90%,是狗的概率为10%。实际标签是 [1, 0],表示图片确实是猫。交叉熵计算如下:


1753778950718.png
示例2:模型错误预测为“狗”

如果模型预测图片是“狗”的概率为 [0.2, 0.8],即它认为是狗的概率为80%。实际标签还是 [1, 0],交叉熵计算为:


1753779742890.png

可以看到,当模型预测结果偏差越大时,交叉熵的值越高。这是因为我们希望模型的预测与实际标签一致,交叉熵损失值越小越好。

6.1 对数似然

在交叉熵损失中,我们使用对数似然估计。对数似然公式如下:


1753779796430.png

假设你是一家餐馆老板,想预测顾客来点餐的概率。根据过去的数据,你发现通常有80%的顾客会点披萨,而20%会点沙拉
现在,有一位新顾客走进来,你想知道这位顾客点披萨的概率。假设这个顾客真的点了披萨,那么 似然(likelihood) 就是你给实际结果分配的概率:点披萨的概率是0.8。
但是概率很小的数相乘容易变得很小,不方便计算。因此,我们引入了对数似然(log-likelihood)。对数似然就是将似然取对数:


1753779855561.png
这样做的好处是,把小概率相乘的结果“放大”一点,方便进行计算,并且能保持概率的相对大小。对数似然值越高,说明模型预测的效果越好。

6.2 Softmax及其导数

Softmax的导数帮助我们优化模型。导数公式为:


1753779913399.png

理解Softmax的导数时,可以从其主要功能入手:Softmax将一组得分(通常是神经网络输出的非概率值)转换为概率分布。这些概率描述每个类别的相对可能性。那么Softmax的导数描述的就是,当我们改变一个得分时,其对应的概率会发生怎样的变化。
Softmax导数的直观理解
假设有三个类别的得分 [2,3,5],我们先用Softmax计算它们的概率分布,然后思考如果其中一个得分发生微小变化,概率分布会如何变化。

  1. 导数的目标:Softmax的导数用于告诉我们每个分数的变化对最终概率的影响。比如,当第一个分数增加时,它自己的概率会增加,其他类别的概率可能会略微减少。
  2. 示例:如果我们稍微增加类别1的得分,比如从2增加到2.1,会导致类别1的概率升高,而类别2和类别3的概率会略微下降。这是因为Softmax会重新分配概率,总和依然是1。
  3. 数学直观:


    1753780000344.png

7. 信息论基础

在信息论中,我们使用熵(Entropy)来衡量不确定性,公式为:


1753780267775.png
  • H(p):表示熵(Entropy),它是对随机变量不确定性的度量,用来表示我们对结果可能性的不确定程度。
    -p(xi):这是事件 xi发生的概率,描述的是每一个可能结果的概率。如果某个事件的概率高,代表我们对其发生更有把握;相反,低概率意味着更大的不确定性。
    -logp(xi):这是 xi的概率的对数,描述的是事件发生带来的“惊异”程度。低概率事件会导致较高的惊异值,而高概率事件带来的惊异较小。使用对数函数有助于将小概率事件与高概率事件区分开来。
  • −∑ n i=1 对所有可能的事件 xi进行求和。负号用于保证熵值为正,因为对数的结果是负数(对数小于 1 的值为负)。最终,整个和式表示的是对所有事件的“平均惊异程度”。
    熵是信息论中的一个重要概念,它用于衡量数据的“信息不确定性”或“信息量”。简单来说,熵越高,数据的随机性越大,信息的“惊喜”程度也越高;而熵越低,数据的确定性越大,信息也就越少。

8. 重新审视交叉熵

交叉熵可以理解为两种概率分布之间的 “惊异程度差异”。如果我们知道数据的真实分布(称为 𝑝)与模型预测的分布(称为 𝑞),交叉熵的作用就是衡量“用模型预测的分布 𝑞来解释真实分布 𝑝时的惊异程度”。

  • 熵的含义:熵是一个人知道真实概率分布 𝑝 时,对结果不确定性的度量——也就是对真实情况的“惊异程度”。
  • 交叉熵的含义:交叉熵则是当我们用一个主观的预测分布 𝑞 去解释实际分布 𝑝时,预期的“惊异程度”。如果 𝑞 和 𝑝 很接近,那么惊异程度较低,交叉熵也低;如果 𝑞 偏离 𝑝,惊异程度增加,交叉熵随之升高
    示例理解
    假设一个天气预报系统预测明天“下雨”或“晴天”的概率分布:
  • 实际情况 𝑝:90% 下雨,10% 晴天。
  • 模型预测 𝑞:80% 晴天,20% 下雨。
    如果我们用 𝑞去描述真实情况 𝑝,我们会对预测出现更大的惊异(即交叉熵会更高),因为预测严重偏离了实际情况。这就好比是在说,“如果我们误以为晴天是更可能的情况,我们看到下雨时就会更加惊讶。”
    交叉熵的目的是衡量预测模型 𝑞与真实情况 𝑝之间的差距,并优化模型,使得这种惊异(或不确定性)最小。

相关文章

  • 深度学习-1

    深度学习基础 介绍单层神经网络:线性回归和softmax回归多层神经网络:多层感知机 1.线性回归 例如房价预测,...

  • 大纲

    一、回归算法 1:线性回归 2:逻辑回归 二、神经网络 1:深度学习 三、SVM(支持向量机) 四、聚类算法 五、...

  • 机器学习1

    文摘 (从6段代码中追溯深度学习的历史:最小二乘法/梯度下降/线性回归/感知机/人工神经网络/深度神经网络)(周志...

  • 深度学习基础知识学习笔记

    教材选用《动手学深度学习》,李沐等著; 单层神经网络 单层神经网络是最简单的神经网络,有线性回归(linear-r...

  • 【深度学习实践】01. 线性回归

    线性模型既是机器学习中最基础的学习模型,也是深度神经网络中的神经元基础。而线性回归是借助线性模型解决一个或者多个自...

  • 深度学习(Deep learning)综述

    一、深度学习介绍 深度学习是以不少于两个隐含层的神经网络对输入进行非线性变换或表示学习的技术,通过构建深层神经网络...

  • 从线性回归、感知机到神经网络

    线性回归、机器学习、感知机到神经网络 线性回归和机器学习 首先简单介绍一下机器学习是什么。从二维图像上取一些点,尽...

  • (七)神经网络基本结构

    一. 为什么需要神经网络 目前为止,我们已经学习了2个机器学习模型。线性回归一般用来处理线性问题,逻辑回归用来处理...

  • TensorFlow 实战Google深度学习框架(第2版)第四

    第四章:深层神经网络 * 4.1深度学习与深层神经网络 * 4.1.1线性模型的局限性 * 4.1.2激活...

  • Python建模复习:预测型数据挖掘

    第四部分 预测性数据挖掘模型 回归问题:多元线性回归、多元非线性回归、广义线性回归、神经网络 分类问题:决策树、逻...

网友评论

      本文标题:深度学习-线性神经网络4-Softmax回归

      本文链接:https://www.haomeiwen.com/subject/cfiznjtx.html