损失函数及一般型(及梯度)

本文详细解读了梯度的概念,阐述了如何通过梯度找到函数变化最快的方向,并介绍了损失函数在神经网络中的应用,包括L1Loss、L2Loss和鲁棒损失的计算。重点讲解了梯度与损失函数在模型训练过程中的作用和优化策略。
部署运行你感兴趣的模型镜像

首先,回顾高数中对于梯度的定义

梯度是一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)

设二元函数 \large z=f(x,y) 在平面区域 \large D 上具有一阶连续偏导数,则对于每一个点 \large P(x,y) 都可定出一个向量 \large \left \{ \frac{\partial f}{\partial x},\frac{\partial f}{\partial y}\right \}=f_{x}(x,y)\vec{i}+f_{y}(x,y)\vec{j} 该函数就称为函数 \large z=f(x,y) 在点 \large P(x,y) 的梯度,记作 \large gradf(x,y) 或 \large \triangledown f(x,y)

 即有: 

 \large gradf(x,y)=\triangledown f(x,y)=\left \{ \frac{\partial f}{\partial x},\frac{\partial f}{\partial y}\right \}=f_{x}(x,y)\vec{i}+f_{y}(x,y)\vec{j}

其中 \large \triangledown =\frac{\partial }{\partial x}\vec{i}+\frac{\partial }{\partial y}\vec{j} 称为(二维的)向量微分算子或Nabla算子

所以 \large \triangledown f=\frac{\partial f}{\partial x}\vec{i}+\frac{\partial f}{\partial y}\vec{j}

设 \large e=\left \{ cos\alpha ,cos\beta \right \} 是方向 \large l 上的单位向量

则可得其方向导数为: \large \frac{\partial f}{\partial x}=\frac{\partial f}{\partial x}cos\alpha +\frac{\partial f}{\partial y}cos\beta

                                        ​​​​​​​    \large =\left \{ \frac{\partial f}{\partial x},\frac{\partial f}{\partial y} \right \}\left \{ cos\alpha ,cos\beta \right \}

                        ​​​​​​​        ​​​​​​​            \large =gradf(x,y)\cdot e

可以发现方向导数的大小,即梯度与方向向量的点乘

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​    \large =\left | gradf(x,y) \right |\cdot \left | e \right |\cdot cos\left [ gradf(x,y),e \right ]

所以当方向 \large l 与梯度方向一致时,有

余弦值 \large cos\left [ gradf(x,y),e \right ]=1 ,此时方向导数 \large \frac{\partial f}{\partial l} 取得最大值

且最大值就为梯度的模,即

\large \left | gradf(x,y) \right |=\sqrt{\left ( \frac{\partial f}{\partial x} \right )^{2}+\left ( \frac{\partial f}{\partial y} \right )^{2}}

因此,函数在一点沿梯度方向的变化率是最大的,且最大值为在该点处梯度的模

损失函数用来衡量预测值和真实值之间的区别,也就是衡量模型的好坏

损失函数越小,表示模型的鲁棒性越好

损失函数的作用:计算神经网络每次迭代的前向计算结果(预测值)与真实值的差距,从而指导下一步的训练向正确的方向进行

损失函数的具体步骤:

1.用随机值初始化前向计算公式的参数;

2.代入样本,计算输出的预测值;

3.用损失函数计算预测值和标签值(真实值)的误差;

4.根据损失函数的导数,沿梯度最小方向将误差回传,修正前向计算公式中的各个权重值;

5.goto 2,直到损失函数值达到一个满意的值就停止迭代

几种简单的损失函数:

绝对值损失(L1 Loss)

其公式为: \large l(y,{y}')=\left | y-{y}' \right | 

其中 \large y 为真实值, \large y{}' 为预测值

可以发现该函数在零点处不可导

均方损失(L2 Loss)

其公式为: \large l(y,y{}')=\frac{1}{2}(y-y{}')^{2}

除以 \large \frac{1}{2} 是求导后系数部分为 1

鲁棒损失(Huber’s Robust Loss)

其公式为: \large l(y,{y}')=\left\{\begin{matrix} \left | y-{y}' \right |-\frac{1}{2} & if\left | y-{y}' \right |>1\\ \frac{1}{2}(y-{y}')^{2}& otherwise \end{matrix}\right.​​​​​​​

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

### 激活函数与损失函数的概念及区别 #### 概念定义 激活函数是指在神经网络中用于将输入信号转换为输出信号的一种非线性映射方法。这种非线性特性使得神经网络可以学习并模拟复杂的输入输出关系[^3]。常见的激活函数有Sigmoid、tanh以及ReLU等。 相比之下,损失函数是一种衡量模预测值与实际目标值之间差异程度的工具,在机器学习和深度学习中起着关键的作用。通过最小化损失函数,我们可以不断优化模参数以提高预测精度[^5]。 --- #### 主要区别 1. **功能定位** - 激活函数的主要目的是在网络层间引入非线性变换,从而使模具备更强的学习能力[^1]。 - 损失函数则专注于量化误差大小,并指导反向传播过程中的权值调整方向。 2. **应用位置** - 激活函数通常应用于每一层神经元之后,决定当前节点是否被激活以及如何传递信息给下一层[^3]。 - 而损失函数一般位于整个前馈计算流程结束处,用来比较最终输出结果同标签数据间的偏差情况[^4]。 3. **形式表达** - 不同类的激活函数具有各自独特的数学公式结构,比如 Sigmoid 的具体实现方式可以通过 Python 编程展示如下: ```python import numpy as np def sigmoid(x): return 1 / (1 + np.exp(-x)) ``` - 对应地,均方误差(MSE)作为典的回归任务适用态之一可表述为下面这样: ```python def mean_squared_error(y_true, y_pred): return np.mean((y_true - y_pred)**2) ``` --- #### 应用场景分析 ##### 激活函数的选择依据 - 当面对二分类问题或者希望获得概率分布估计时,可以选择像 Softmax 这样的多类别扩展版本或者是原始版单输出端口下的 Sigmoid 函数[^1]。 - 如果考虑加速收敛速度同时减少过拟合风险,则推荐采用 ReLU 及其变体(Leaky ReLU 等),因其有效解决了梯度消失难题并且促进了更高效的训练进程[^2][^4]。 ##### 损失函数的应用场合 - 针对连续数值预测类别的监督学习项目来说,MSE 或 MAE 是较为普遍采纳的标准选项; - 若涉及离散标签判定情形的话,交叉熵 CrossEntropyLoss 更加适合处理多分类状况,因为它能很好地捕捉到不同类别之间的相对距离信息[^5]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PL_涵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值