损失函数(loss) 作者:马育民 • 2019-08-08 21:49 • 阅读:10202 # 概述 损失函数,loss function,也称误差函数,error function 是 **预估值** 与 **真实值** 的误差大小 作用:衡量模型模型预测的好坏 损失函数可以很好得反映 **模型** 与 **实际数据** 的差距,理解损失函数能够更好得对后续优化工具(梯度下降等)进行分析与理解。 很多时候遇到复杂的问题,最难的是如何写出损失函数 ### 损失函数有: - 均方误差 - [损失函数-逻辑回归(二分类)](https://www.malaoshi.top/show_1EF4JMvnqCh1.html "损失函数-逻辑回归(二分类)") - [损失函数-交叉熵(多分类)](https://www.malaoshi.top/show_1EF4La0KENhc.html "损失函数-交叉熵(多分类)") # 均方误差(mse) mse,Mean Square Error,也称为 L2损失 是 **真实值** 与 **预测值** 的 **差值** 的 **平方** 然后求和平均。 用于处理 **线性回归** 问题 ### 公式 [![](https://www.malaoshi.top/upload/0/0/1EF4JGP0PD14.png)](https://www.malaoshi.top/upload/0/0/1EF4JGP0PD14.png) **说明:** y_true1....y_truem:真实的孩子身高 y1,y2,y3...ym:根据公式[![](https://www.malaoshi.top/upload/0/0/1EF4JGUYETIC.png)](https://www.malaoshi.top/upload/0/0/1EF4JGUYETIC.png)算出的结果 将其代入到上面公式,如下: [![](https://www.malaoshi.top/upload/0/0/1EF4JHSyKzvs.png)](https://www.malaoshi.top/upload/0/0/1EF4JHSyKzvs.png) ### 另一种写法 有的文章写法如下: [![](https://www.malaoshi.top/upload/0/0/1EF4JHQNCUPp.png)](https://www.malaoshi.top/upload/0/0/1EF4JHQNCUPp.png) 是为了方便求导 ### 特点 1. 结果越接近0,说明预测值与真实值的误差越小 1. 可导,只有1个最小值 3. 更容易计算梯度 ### y1,y2,y3,y4的运算结果: 随机给出的 **权重** 和 **偏置量**:```y=0.5*x+0.9```,并代入 **父母平均身高**,算出的 **孩子身高** | |父母平均身高 |孩子身高 |y| |-------| ------------ | ------------ |------------ | |样本1|1.67 |1.7 |y1=1.735| |样本2|1.68 |1.8 |y2=1.74| |样本3|1.69 |1.72 |y3=1.745| |样本4|1.7 |1.73 |y4=1.75| ### 均方误差的运算结果: 将 孩子身高 和 y ,代入公式,计算如下: ``` (1.735-1.7)^2+(1.74-1.8)^2+(1.745-1.72)^2+(1.75-1.73)^2 / 4 ``` ### keras ``` tf.keras.losses.MSE ``` 或者 字符串```"mse"``` # 平均绝对误差(mae) mae,Mean Absolute Error,绝对误差的平均值。 可以更好地反映预测值误差的实际情况。 [![](https://www.malaoshi.top/upload/0/0/1EF50AHwgOg4.png)](https://www.malaoshi.top/upload/0/0/1EF50AHwgOg4.png) ### keras ``` tf.keras.losses.MAE ``` 或者 字符串```"mae"``` 原文出处:http://malaoshi.top/show_1EF3qTvZH2yB.html