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

四、什么是损失函数**(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)。

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

相关推荐
程序猿乐锅5 分钟前
什么是skills? 如何使用skills?如何创建skills?
人工智能·skills
nebula-AI5 分钟前
人工智能导论:模型与算法(未来发展与趋势)
人工智能·神经网络·算法·机器学习·量子计算·automl·类脑计算
灵机一物8 分钟前
灵机一物AI原生电商小程序、PC端(已上线)-OpenAI 模型推翻离散几何核心猜想:AI 首次证明人类错了
人工智能
Tony Bai8 分钟前
AI 编码胜率榜:Go 与 Rust 完胜 C++
人工智能
数字时代全景窗8 分钟前
从OpenClaw、Palantir、SpaceX,看颠覆式创新的四个层次(5)传统财务模型的局限
大数据·人工智能·架构·软件工程
code_pgf9 分钟前
sVLM在资源受限环境中的应用案例
人工智能·深度学习·架构
多年小白10 分钟前
复盘】2026年5月21日(周四)
大数据·人工智能·ai·金融·区块链
南屹川10 分钟前
【并发编程】Python异步编程实战:从协程到异步框架
人工智能
BU摆烂会噶11 分钟前
【LangGraph】House_Agent 实战(四):预定流程 —— 中断与人工干预
android·人工智能·python·langchain
AI技术控11 分钟前
LangChain 是什么?从零开始学会 LangChain 的工程实践指南
人工智能·语言模型·自然语言处理·langchain·nlp