![深度学习500问:AI工程师面试宝典](https://wfqqreader-1252317822.image.myqcloud.com/cover/753/36511753/b_36511753.jpg)
2.6 损失函数
损失函数(Loss Function)和代价函数的概念很容易混淆。损失函数是定义在单个样本上的,算的是一个样本的误差,而代价函数计算的是整个训练集上所有样本误差的平均误差。
2.6.1 什么是损失函数
损失函数又叫作误差函数,用来衡量算法的运行情况,估量模型的预测值与真实值的不一致程度,是一个非负实值函数,通常使用L(Y,f(x))来表示。损失函数越小,模型的鲁棒性就越好。
2.6.2 常见的损失函数
机器学习通过对算法中的目标函数进行不断求解优化,得到最终想要的结果。在分类和回归问题中,通常使用损失函数或代价函数作为目标函数。
损失函数可以用来评价预测值和真实值不一样的程度。
损失函数可分为经验风险损失函数和结构风险损失函数。经验风险损失函数只预测结果和实际结果的差别,结构风险损失函数是在经验风险损失函数上加上正则项。
下面介绍常用的损失函数。
(1)0-1损失函数
如果预测值和目标值相等,值为0,如果不相等,值为1。
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-060-2.jpg?sign=1738782192-SBKg52VWpmzvtooKpY4cNZqfGSRcbdeu-0-6d40d6594d805e18c12f3bedfb665018)
一般在实际使用中,相等的条件过于严格,可适当放宽条件:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-060-3.jpg?sign=1738782192-u0zrAa25xws4PsPt6oBOOUJCesBzOeId-0-e64ab98a4ffb16bc757b75651366b237)
(2)绝对值损失函数
和0-1损失函数相似,绝对值损失函数表示为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-061-1.jpg?sign=1738782192-w7IGxjriNLamZMvIPkAVQNvpICGDUOVX-0-e80f00c3fddb01b887df4fad74c5d3ce)
(3)平方损失函数
平方损失函数的标准形式为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-061-2.jpg?sign=1738782192-jtNPxFNQL8MaKgH4ZJq6IPqsRJveiuNP-0-9ffbec8445a5e419ec1d8fa3422ff4a5)
(4)对数损失函数
对数损失函数的标准形式为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-061-3.jpg?sign=1738782192-wsWjqFVGqUu2aM51FF6NkLtzgTNrbiVU-0-662db05f963fd6e05c53fec037f40c6b)
常见的逻辑回归使用的就是对数损失函数,很多人认为逻辑回归的损失函数是平方损失函数,其实不然。逻辑回归假设样本服从伯努利分布(0-1分布),进而求得满足该分布的似然函数,接着取对数求极值等。逻辑回归推导出的经验风险损失函数是最小化负的似然函数,从损失函数的角度看,就是对数损失函数。
(5)指数损失函数
指数损失函数的标准形式为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-061-4.jpg?sign=1738782192-EUXwWncRLBkBMarENh3Uwb536sT1dDbR-0-cb17774e8ad77c947cde9275a7e51b34)
例如AdaBoost就是以指数损失函数为损失函数的。
(6)Hinge损失函数
Hinge损失函数的标准形式如下:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-061-5.jpg?sign=1738782192-9O0RV1cOP3bUJIHMSVD0Vu85JTWENqtW-0-a9159aae779f65f0d21687cd35650339)
统一的形式为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-061-6.jpg?sign=1738782192-3BtFkckyG2IleG95UeqIEqhdsOZXqgKF-0-9c89162eddf12103c4daa9c4d8160d13)
其中y是预测值,范围为(-1,1),t为目标值,其为-1或1。
在线性支持向量机中,最优化问题可等价于:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-061-7.jpg?sign=1738782192-LJqNbP10fimTL8FBX2YQvkdJnIe4rQLR-0-9c689ed7411b767ea3bc5101d3528f54)
上式相似于下式:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-061-8.jpg?sign=1738782192-lZLpgWowaxXcZZmOv8Uo4Zg7CW7SyEpO-0-ab99ff4cb8a69938ac7e6a3a32be81cf)
其中是Hinge损失函数,‖w‖2可看作正则项。
2.6.3 逻辑回归为什么使用对数损失函数
假设逻辑回归模型为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-062-2.jpg?sign=1738782192-iOhRG0NZ0rAbGeK5Rov1I6022Ypff11W-0-9d10f2e8cfc3dd51bec57561b31871eb)
假设逻辑回归模型的概率分布是伯努利分布,其概率质量函数为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-062-3.jpg?sign=1738782192-5HHcxYuYrrQV52xsjReK9Pl5GrXK9lIl-0-0fee024275fb2a25a67e57aec42751ea)
其似然函数为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-062-4.jpg?sign=1738782192-lBbklE3r72q1TO2ITRzCLYfI4zEBLuxx-0-f8be60b0defe73c0fadab4c19ca7ad16)
对数似然函数为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-062-5.jpg?sign=1738782192-3tvOToaLwnsKoNpmKjtwFi8FE7MU2BsN-0-a83e26592df76f4d6306a297c70b6fa9)
对数函数在单个数据点上的定义为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-062-6.jpg?sign=1738782192-nmzWL9MBb5POS1DrYbOstVYPXrAvur7G-0-3a24f24c3aac815f80e6cedd0d0e3782)
则全局样本损失函数为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-062-7.jpg?sign=1738782192-nsSQZWmHPZYxWELgKqxm13T4vvIfEsxY-0-c8a1858fb892ff9cbd6bddf359a2d1cf)
由此可看出,对数损失函数与极大似然估计的对数似然函数本质上是相同的。所以逻辑回归直接采用对数损失函数。
2.6.4 对数损失函数如何度量损失
例如,在高斯分布中,我们需要确定均值和标准差,如何确定这两个参数?
极大似然估计是比较常用的方法。极大似然的目标是找到一些参数值,这些参数值对应的分布可以最大化观测到数据的概率。
因为需要计算观测到所有数据的全概率,即所有观测到的数据点的联合概率,所以考虑如下简化情况。
(1)假设观测到每个数据点的概率和其他数据点的概率是独立的。
(2)对联合概率取自然对数。
假设观测到单个数据点的概率为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-063-2.jpg?sign=1738782192-WH3gUUL1H3AIu9l2oktxXnQco0vFp05L-0-20c7c17afd0e25c0462b45e2821d183e)
其联合概率为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-063-3.jpg?sign=1738782192-9keSteOQiBMrxvUw0XbMoGwK4cWnrpig-0-0778106e720d560b759c28cdbd2b0e72)
对上式取自然对数,可得:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-063-4.jpg?sign=1738782192-c1DIRyTGAjIR9sTBznC3W3dthCAZYJ27-0-4050fd5aa776dfcbdface6f659396fe1)
根据对数定律,上式可以化简为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-063-5.jpg?sign=1738782192-PKVe1GLy2ZBUjeelTjIsXHEeHWZhbAoy-0-0c5a322761459288946e99b3429a7986)
然后求导得:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-063-6.jpg?sign=1738782192-ojVYOyBKnhtMT00yRAq8w97eTwWFkGJ1-0-1bdf4eb5fdaee2aa07eb3e111095896e)
上式左半部分为对数损失函数。损失函数越小越好,因此我们令等式左半的对数损失函数为0,可得:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-063-7.jpg?sign=1738782192-tKxRRdjLfTcsqgJl0odAlHBYY3IXNutA-0-c4529c852d72aa785f31ea8b2e40944c)
同理,可计算σ。