机器学习面试题(二) 损失函数 常见损失函数
四、什么是损失函数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)。有了损失函数我们就可以明确机器学习的目标怎么尽快让这个目标最小就是梯度下降这里内容有点多放下一节了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2498123.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!