机器学习面试题(二) 损失函数 常见损失函数

四、什么是损失函数**(Loss Function)**

损失函数(Loss Function)衡量单个样本的预测误差,即模型的预测值与真实值之间的差异。

成本函数/代价函数(Cost Function)衡量所有样本上预测值和真实值的平均误差。

目标函数(Objective Function) 是模型在训练过程中要最大化或最小化的函数,在机器学习里通常指的是成本函数+正则化项

补充:很多人对损失函数、成本函数的区分并不严格,可以等同。

五、常见的损失函数

损失函数就像批阅试卷的时候扣分的规则,目的是衡量模型给出的结果和实际的结果之间的差距,差距越小说明这时候模型表现越好,而这个差距有很多种衡量方式。

5.1 均方误差(Mean Square Error, MSE)

预测值与真实值之差的平方 ,常用于回归 问题。设预测值是 ,真实值是 ,误差 L 的定义如下:

5.2 平均绝对误差(Mean Absolute Error, MAE)

预测值与真实值之差的绝对值 ,常用于回归问题。

5.3 交叉熵损失(Cross-Entropy Loss)

预测概率分布与真实分布的差距,常用于分类问题。这个损失要稍微复杂一点,我们慢慢看:首先对于二分类问题,真实值有两种情况,要么是 1 要么是 0 ,假设问题是判断是不是小猫,这时候是小猫的标签为 1 ,对于一个实际上就是小猫的输入,模型给出的预测值 p (是小猫的概率)越接近 1 损失应该更小,越接近 0 损失应该越大,刚好下面这个图中的 -log(p) 函数就非常符合我们的需求。

注意这里的 log 默认是以 e 为底的,机器学习中通常用 e 为底,Python 的 numpy 库中 np.log() 函数默认计算的也是自然对数。

但如果实际上不是小猫,模型给出的结果 1-p (不是小猫的概率)应该越接近 1 损失越小,也就是把上面那种情况的 p 换成了 1-p,损失应该是 -log(1-p)。把两种情况结合起来,就得到了下面这个很巧妙的交叉熵损失:

其中 p 是模型预测为正类的概率。可以分别代入 y = 1 及 y = 0 的情况,得到的就是上面的-log(p) 和 -log(1-p)。

有了损失函数,我们就可以明确机器学习的目标,怎么尽快让这个目标最小 就是梯度下降,这里内容有点多,放下一节了。

相关推荐
米小虾3 分钟前
AI 安全攻防 2026:从对抗样本到 Agent 安全,开发者必须面对的五道防线
人工智能·安全
And_Ii10 分钟前
基于 LangGraph 搭建反思迭代 Agent:实现文章自动优化
人工智能
basketball61610 分钟前
AI Infra 硬件体系与编程模型:9. 使用 NVCC 进行编译
人工智能
硅谷秋水15 分钟前
HumanEgo:基于人类第一人称视角数分钟视频的零样本机器人学习
人工智能·机器学习·计算机视觉·机器人
IT_陈寒22 分钟前
Vite这个坑我帮你踩了,动态导入居然这样才生效
前端·人工智能·后端
gis分享者44 分钟前
OpenCV 新手入门与实战部署指南
人工智能·opencv·计算机视觉
Ronin3051 小时前
ToDesk AI如何成为Codex远程控制的国内代替品?
人工智能
测试员周周1 小时前
【AI测试智能体-面试】AI测试面试60题(附回答思路)
人工智能·python·功能测试·测试工具·单元测试·自动化·测试用例
ShyanZh1 小时前
【skill】Humanizer-zh:24条规则消灭AI写作痕迹
人工智能·ai写作·skill
电商软件开发 小银1 小时前
思域不再安全?AI+独立APP破局指南
人工智能·软件开发·数字化转型·商业模式·超级app·商业思维·ai 矩阵运营