【深度学习】损失函数

损失函数(Loss Function)是机器学习和深度学习模型中的一个核心概念,它用于衡量模型的预测输出与真实标签之间的差异。通过优化(最小化)损失函数,模型可以不断调整其内部参数,提升预测性能。不同任务和模型类型会使用不同的损失函数,具体的选择通常取决于问题的性质。

首先,假设我们存在n个样本,将n个样本的实际数值以及预测数值作差求和即可得到整体模型的预测输出与真实标签之间的差异。但是考虑到如果是简单的绝对值求和,在其定义域上并非是全程可导的,这样对于梯度下降法的运用并不友好。因此,我们可以对其求平方和,也就是所说的"最小二乘法",这样可以进行模型差异的判断,但是运用梯度下降法也是很麻烦的。

我们将会引入一个极大似然估计的方法,在概率论中,我们可以知道,如果我们已知真实的分布情况和许多概率模型,我们就可以求出在某种概率模型下,这种分布情况发生的概率,而最大的那个概率值对应的模型便是最接近真实的概率模型。

同样,我们将这种理念运用到损失函数中,如果我们已知真实的样本分布和许多训练模型(即W和b),在二分类的情况下,我们知道,真实样本存在两种分布0(不是)或1(是),也就是我们常说的伯努利分布。对于真实的样本分布中的其中单个样本,存在两种情况0或1,而对应的概率模型为yi,即w和b权重下经过激活函数处理后得到的概率值。这样说,可能还是比较难以去理解,如果我们假设x1这个样本是猫(数值为1),而y1预测值为0.9,这时候进行计算可以得到似然值为0.9,假设x2这个样本不是猫(数值为0),而y2预测值为0.2,这时候进行计算可以得到似然值为0.8,总似然值为0.72。

为了简化运算,我们可以将连成变为连加,对整体进行对数运算,可以得到类似于交叉熵结构的公式。

总结一下,不同的机器学习问题有着不同的损失函数:

相关推荐
yurenpai(27届找实习中)11 小时前
从零读懂 AI 智能客服(一):模块职责与 SSE 聊天链路(后端架构)
java·人工智能·架构·langchain4j
别动我齐刘海11 小时前
机器人运动控制学习4——状态估计 State Estimation
c++·人工智能·学习·目标检测·机器学习·机器人·自动驾驶
Behaviour11 小时前
Unity AI 生态横评对比:官方 AI Beta / Unity CLI / 团结 Codely / 社区 MCP 四大阵营选型
人工智能·unity·ai·游戏引擎·aigc·ai编程
盈飞无限11 小时前
AI智能SPC软件,制造业质量数字化转型核心
人工智能
狂云歌11 小时前
2025年读书回顾,AI+游戏+历史
人工智能·学习·游戏
码视野11 小时前
基于 Vue3 + Element Plus 的【企业级 AI 智能体工作流与私有知识库 (RAG) 协同平台】设计与实现(附完整源码与PRD)
人工智能·vue3
玹外之音11 小时前
Spring AI + Elasticsearch 向量存储实战:从零构建智能文档检索系统
人工智能·spring·elasticsearch
CHEEVEN_QY11 小时前
B2B制造企业的AI搜索信息基建:llms.txt、Schema与FAQ落地实践
人工智能·faq·b2b制造
DS随心转小程序12 小时前
AI pdf 数字化文档落地攻略,靠 AI 导出鸭补齐转换短板,从痛点到实测详解智能化文档导出逻辑
人工智能·豆包·deepseek·ai导出鸭