http://www.cnblogs.com/Belter/p/6653773.html
注:代价函数(有的地方也叫损失函数,Loss Function)在机器学习中的每一种算法中都很重要,因为训练模型的过程就是优化代价函数的过程,代价函数对每个参数的偏导数就是梯度下降中提到的梯度,防止过拟合时添加的正则化项也是加在代价函数后面的。在学习相关算法的过程中,对代价函数的理解也在不断的加深,在此做一个小结。
1. 什么是代价函数?
假设有训练样本(x, y),模型为h,参数为θ。h(θ) = θTx(θT表示θ的转置)。
(1)概况来讲,任何能够衡量模型预测出来的值h(θ)与真实值y之间的差异的函数都可以叫做代价函数C(θ),如果有多个样本,则可以将所有代价函数的取值求均值,记做J(θ)。因此很容易就可以得出以下关于代价函数的性质:
- 对于每种算法来说,代价函数不是唯一的;
- 代价函数是参数θ的函数;
- 总的代价函数J(θ)可以用来评价模型的好坏,代价函数越小说明模型和参数越符合训练样本(x, y);
- J(θ)是一个标量;
(2)当我们确定了模型h,后面做的所有事情就是训练模型的参数θ。那么什么时候模型的训练才能结束呢?这时候也涉及到代价函数,由于代价函数是用来衡量模型好坏的,我们的目标当然是得到最好的模型(也就是最符合训练样本(x, y)的模型)。因此训练参数的过程就是不断改变θ,从而得到更小的J(θ)的过程。理想情况下,当我们取到代价函数J的最小值时,就得到了最优的参数θ,记为:
![](https://i-blog.csdnimg.cn/blog_migrate/8cac3eee27d7e22dbd53439973944ba8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ef6744a713cbdbdf6cf305f3dd0821ac.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c9a279d9d1fbb80a767c885b354eb75e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fbb76bf8dd68960ad4ac8d4d33e43fd4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e3df6dd470ca701c26fc9775d369c2fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9dee9aba4a92709fb44e5a6c2c1af975.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
例如,J(θ) = 0,表示我们的模型完美的拟合了观察的数据,没有任何误差。
(3)在优化参数θ的过程中,最常用的方法是梯度下降,这里的梯度就是代价函数J(θ)对θ1, θ2, ..., θn的偏导数。由于需要求偏导,我们可以得到另一个关于代价函数的性质:
- 选择代价函数时,最好挑选对参数θ可微的函数(全微分存在,偏导数一定存在)
2. 代价函数的常见形式
经过上面的描述,一个好的代价函数需要满足两个最基本的要求:能够评价模型的准确性,对参数θ可微。
2.1 均方误差
在线性回归中,最常用的是均方误差(Mean squared error),具体形式为:
![](https://i-blog.csdnimg.cn/blog_migrate/e3df6dd470ca701c26fc9775d369c2fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9dee9aba4a92709fb44e5a6c2c1af975.png)
![](https://i-blog.csdnimg.cn/blog_migrate/276e05bc456da4f19b66ec4efd52e045.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a67997959a3113eadaa8461c4ef558d6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9dee9aba4a92709fb44e5a6c2c1af975.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3ed153a40330e5d9a68707683b8c7c58.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/464598db0365d76be860bad913d2f7b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db14374e97640c66bd275d4caf803748.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bf2bac7e6019fe5e1554826b48db9a6f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1d37016fabe46d8a3c2c9cf7d727d89c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/79ac2e94c5bb76c9f453c1bbb28f6525.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/52c51b52eb9e9fa71def088b77049b3f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3ed153a40330e5d9a68707683b8c7c58.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3fd0b50ef64f12d0e33ae82286cbd3cd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/48f316e24ce6847c081f65caf9ed6a91.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f6c4f9b7ff7a4ff30e226b2cba28be75.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cf6cb88d42f27a428111fd37d75b49f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b83fb39d15e1565410faefe2f7a56581.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/48f316e24ce6847c081f65caf9ed6a91.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cf6cb88d42f27a428111fd37d75b49f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b83fb39d15e1565410faefe2f7a56581.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/81d72b0a7201716a3ab43bec534c5c28.png)
![](https://i-blog.csdnimg.cn/blog_migrate/464598db0365d76be860bad913d2f7b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db14374e97640c66bd275d4caf803748.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bf2bac7e6019fe5e1554826b48db9a6f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1d37016fabe46d8a3c2c9cf7d727d89c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/79ac2e94c5bb76c9f453c1bbb28f6525.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/52c51b52eb9e9fa71def088b77049b3f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3ed153a40330e5d9a68707683b8c7c58.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3fd0b50ef64f12d0e33ae82286cbd3cd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/75f09cd63e464b23ee4afdac6f7a0532.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fbb76bf8dd68960ad4ac8d4d33e43fd4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d38413f7fd87bbe7ba04704df4d8e926.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cf6cb88d42f27a428111fd37d75b49f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b83fb39d15e1565410faefe2f7a56581.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/48f316e24ce6847c081f65caf9ed6a91.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cf6cb88d42f27a428111fd37d75b49f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b83fb39d15e1565410faefe2f7a56581.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/81d72b0a7201716a3ab43bec534c5c28.png)
m:训练样本的个数;
hθ(x):用参数θ和x预测出来的y值;
y:原训练样本中的y值,也就是标准答案
上角标(i):第i个样本
2.2 交叉熵
在逻辑回归中,最常用的是代价函数是交叉熵(Cross Entropy),交叉熵是一个常见的代价函数,在神经网络中也会用到。下面是《神经网络与深度学习》一书对交叉熵的解释:
交叉熵是对「出乎意料」(译者注:原文使用suprise)的度量。神经元的目标是去计算函数y, 且y=y(x)。但是我们让它取而代之计算函数a, 且a=a(x)。假设我们把a当作y等于1的概率,1−a是y等于0的概率。那么,交叉熵衡量的是我们在知道y的真实值时的平均「出乎意料」程度。当输出是我们期望的值,我们的「出乎意料」程度比较低;当输出不是我们期望的,我们的「出乎意料」程度就比较高。
在1948年,克劳德·艾尔伍德·香农将热力学的熵,引入到信息论,因此它又被称为香农熵(Shannon Entropy),它是香农信息量(Shannon Information Content, SIC)的期望。香农信息量用来度量不确定性的大小:一个事件的香农信息量等于0,表示该事件的发生不会给我们提供任何新的信息,例如确定性的事件,发生的概率是1,发生了也不会引起任何惊讶;当不可能事件发生时,香农信息量为无穷大,这表示给我们提供了无穷多的新信息,并且使我们无限的惊讶。更多解释可以看这里。
![](https://i-blog.csdnimg.cn/blog_migrate/e3df6dd470ca701c26fc9775d369c2fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9dee9aba4a92709fb44e5a6c2c1af975.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/464598db0365d76be860bad913d2f7b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db14374e97640c66bd275d4caf803748.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1d37016fabe46d8a3c2c9cf7d727d89c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/633e044f06dd9b0097aca8f0d5724d87.png)
![](https://i-blog.csdnimg.cn/blog_migrate/79ac2e94c5bb76c9f453c1bbb28f6525.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/52c51b52eb9e9fa71def088b77049b3f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3ed153a40330e5d9a68707683b8c7c58.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3fd0b50ef64f12d0e33ae82286cbd3cd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/48f316e24ce6847c081f65caf9ed6a91.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cf6cb88d42f27a428111fd37d75b49f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b83fb39d15e1565410faefe2f7a56581.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b2d7a80bcd6391b77857def7179c71cc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/efa3654362524b75fc37b265e3459234.png)
![](https://i-blog.csdnimg.cn/blog_migrate/61cfd4dec83fd77e6987c74274444099.png)
![](https://i-blog.csdnimg.cn/blog_migrate/75f09cd63e464b23ee4afdac6f7a0532.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fbb76bf8dd68960ad4ac8d4d33e43fd4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d38413f7fd87bbe7ba04704df4d8e926.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cf6cb88d42f27a428111fd37d75b49f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b83fb39d15e1565410faefe2f7a56581.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b9e125e6864edc953f59d857a4352149.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db14374e97640c66bd275d4caf803748.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/48f316e24ce6847c081f65caf9ed6a91.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cf6cb88d42f27a428111fd37d75b49f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b83fb39d15e1565410faefe2f7a56581.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b2d7a80bcd6391b77857def7179c71cc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/efa3654362524b75fc37b265e3459234.png)
![](https://i-blog.csdnimg.cn/blog_migrate/61cfd4dec83fd77e6987c74274444099.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db14374e97640c66bd275d4caf803748.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/75f09cd63e464b23ee4afdac6f7a0532.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fbb76bf8dd68960ad4ac8d4d33e43fd4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d38413f7fd87bbe7ba04704df4d8e926.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cf6cb88d42f27a428111fd37d75b49f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b83fb39d15e1565410faefe2f7a56581.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3b182e732d720774eb3e5ee02c98760d.png)
符号说明同上
2.3 神经网络中的代价函数
学习过神经网络后,发现逻辑回归其实是神经网络的一种特例(没有隐藏层的神经网络)。因此神经网络中的代价函数与逻辑回归中的代价函数非常相似:
![](https://i-blog.csdnimg.cn/blog_migrate/e3df6dd470ca701c26fc9775d369c2fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9dee9aba4a92709fb44e5a6c2c1af975.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/464598db0365d76be860bad913d2f7b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db14374e97640c66bd275d4caf803748.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1d37016fabe46d8a3c2c9cf7d727d89c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/633e044f06dd9b0097aca8f0d5724d87.png)
![](https://i-blog.csdnimg.cn/blog_migrate/79ac2e94c5bb76c9f453c1bbb28f6525.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/52c51b52eb9e9fa71def088b77049b3f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3ed153a40330e5d9a68707683b8c7c58.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3fd0b50ef64f12d0e33ae82286cbd3cd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/79ac2e94c5bb76c9f453c1bbb28f6525.png)
![](https://i-blog.csdnimg.cn/blog_migrate/084f6e5033eb093ec45cd7e5490ff567.png)
![](https://i-blog.csdnimg.cn/blog_migrate/52c51b52eb9e9fa71def088b77049b3f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3ed153a40330e5d9a68707683b8c7c58.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f023f6b1766a0bc7d4062842ef13ab46.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/48f316e24ce6847c081f65caf9ed6a91.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cf6cb88d42f27a428111fd37d75b49f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b83fb39d15e1565410faefe2f7a56581.png)
![](https://i-blog.csdnimg.cn/blog_migrate/084f6e5033eb093ec45cd7e5490ff567.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b2d7a80bcd6391b77857def7179c71cc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/efa3654362524b75fc37b265e3459234.png)
![](https://i-blog.csdnimg.cn/blog_migrate/61cfd4dec83fd77e6987c74274444099.png)
![](https://i-blog.csdnimg.cn/blog_migrate/75f09cd63e464b23ee4afdac6f7a0532.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fbb76bf8dd68960ad4ac8d4d33e43fd4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d38413f7fd87bbe7ba04704df4d8e926.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cf6cb88d42f27a428111fd37d75b49f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b83fb39d15e1565410faefe2f7a56581.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b9e125e6864edc953f59d857a4352149.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db14374e97640c66bd275d4caf803748.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/48f316e24ce6847c081f65caf9ed6a91.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cf6cb88d42f27a428111fd37d75b49f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b83fb39d15e1565410faefe2f7a56581.png)
![](https://i-blog.csdnimg.cn/blog_migrate/084f6e5033eb093ec45cd7e5490ff567.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b2d7a80bcd6391b77857def7179c71cc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/efa3654362524b75fc37b265e3459234.png)
![](https://i-blog.csdnimg.cn/blog_migrate/61cfd4dec83fd77e6987c74274444099.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db14374e97640c66bd275d4caf803748.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/75f09cd63e464b23ee4afdac6f7a0532.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fbb76bf8dd68960ad4ac8d4d33e43fd4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d38413f7fd87bbe7ba04704df4d8e926.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cf6cb88d42f27a428111fd37d75b49f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b83fb39d15e1565410faefe2f7a56581.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/084f6e5033eb093ec45cd7e5490ff567.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3b182e732d720774eb3e5ee02c98760d.png)
这里之所以多了一层求和项,是因为神经网络的输出一般都不是单一的值,K表示在多分类中的类型数。
例如在数字识别中,K=10,表示分了10类。此时对于某一个样本来说,输出的结果如下:
1.1266e-004 1.7413e-003 2.5270e-003 1.8403e-005 9.3626e-003 3.9927e-003 5.5152e-003 4.0147e-004 6.4807e-003 9.9573e-001
一个10维的列向量,预测的结果表示输入的数字是0~9中的某一个的概率,概率最大的就被当做是预测结果。例如上面的预测结果是9。理想情况下的预测结果应该如下(9的概率是1,其他都是0):
0 0 0 0 0 0 0 0 0 1
比较预测结果和理想情况下的结果,可以看到这两个向量的对应元素之间都存在差异,共有10组,这里的10就表示代价函数里的K,相当于把每一种类型的差异都累加起来了。
3. 代价函数与参数
代价函数衡量的是模型预测值h(θ) 与标准答案y之间的差异,所以总的代价函数J是h(θ)和y的函数,即J=f(h(θ), y)。又因为y都是训练样本中给定的,h(θ)由θ决定,所以,最终还是模型参数θ的改变导致了J的改变。对于不同的θ,对应不同的预测值h(θ),也就对应着不同的代价函数J的取值。变化过程为:
![](https://i-blog.csdnimg.cn/blog_migrate/9dee9aba4a92709fb44e5a6c2c1af975.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4b506ba9ab10d6b77689d0819b02b866.png)
![](https://i-blog.csdnimg.cn/blog_migrate/75f09cd63e464b23ee4afdac6f7a0532.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9dee9aba4a92709fb44e5a6c2c1af975.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4b506ba9ab10d6b77689d0819b02b866.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e3df6dd470ca701c26fc9775d369c2fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9dee9aba4a92709fb44e5a6c2c1af975.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
θ引起了h(θ)的改变,进而改变了J(θ)的取值。为了更直观的看到参数对代价函数的影响,举个简单的例子:
有训练样本{(0, 0), (1, 1), (2, 2), (4, 4)},即4对训练样本,每个样本对中第1个数表示x的值,第2个数表示y的值。这几个点很明显都是y=x这条直线上的点。如下图:
图1:不同参数可以拟合出不同的直线
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
常数项为0,所以可以取θ0=0,然后取不同的θ1,可以得到不同的拟合直线。当θ1=0时,拟合的直线是y=0,即蓝色线段,此时距离样本点最远,代价函数的值(误差)也最大;当θ1=1时,拟合的直线是y=x,即绿色线段,此时拟合的直线经过每一个样本点,代价函数的值为0。
通过下图可以查看随着θ1的变化,J(θ)的变化情况:
图2:代价函数J(θ)随参数的变化而变化
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
从图中可以很直观的看到θ对代价函数的影响,当θ1=1时,代价函数J(θ)取到最小值。因为线性回归模型的代价函数(均方误差)的性质非常好,因此也可以直接使用代数的方法,求J(θ)的一阶导数为0的点,就可以直接求出最优的θ值(正规方程法)。
4. 代价函数与梯度
梯度下降中的梯度指的是代价函数对各个参数的偏导数,偏导数的方向决定了在学习过程中参数下降的方向,学习率(通常用α表示)决定了每步变化的步长,有了导数和学习率就可以使用梯度下降算法(Gradient Descent Algorithm)更新参数了。下图中展示了只有两个参数的模型运用梯度下降算法的过程。
4.1 线性回归模型的代价函数对参数的偏导数
还是以两个参数为例,每个参数都有一个偏导数,且综合了所有样本的信息。
4.2 逻辑回归模型的代价函数对参数的偏导数
根据逻辑回归模型的代价函数以及sigmoid函数
![](https://i-blog.csdnimg.cn/blog_migrate/75f09cd63e464b23ee4afdac6f7a0532.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fbb76bf8dd68960ad4ac8d4d33e43fd4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d38413f7fd87bbe7ba04704df4d8e926.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/464598db0365d76be860bad913d2f7b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/13eb9a746f695f29e547233c0a270e24.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9dee9aba4a92709fb44e5a6c2c1af975.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4a43f7f64915cf121973e295eb46ed75.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d38413f7fd87bbe7ba04704df4d8e926.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/13eb9a746f695f29e547233c0a270e24.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/350fe0816dfd27f4ffd084a8b6a39792.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/464598db0365d76be860bad913d2f7b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db14374e97640c66bd275d4caf803748.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db14374e97640c66bd275d4caf803748.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b9e125e6864edc953f59d857a4352149.png)
![](https://i-blog.csdnimg.cn/blog_migrate/dd38daf40d2773b15bb89b43c434524b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9349ec0090226726bc31e3b4b1520a83.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4f176671a04263b45943b9df3216eb16.png)
得到对每个参数的偏导数为
![](https://i-blog.csdnimg.cn/blog_migrate/d1cd7646452d3f07ca3d630e44ab2068.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d1cd7646452d3f07ca3d630e44ab2068.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9dee9aba4a92709fb44e5a6c2c1af975.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9079df83eeb356e77e25eb0edce38b67.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e3df6dd470ca701c26fc9775d369c2fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9dee9aba4a92709fb44e5a6c2c1af975.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/464598db0365d76be860bad913d2f7b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/79ac2e94c5bb76c9f453c1bbb28f6525.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/52c51b52eb9e9fa71def088b77049b3f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3ed153a40330e5d9a68707683b8c7c58.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3fd0b50ef64f12d0e33ae82286cbd3cd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/75f09cd63e464b23ee4afdac6f7a0532.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fbb76bf8dd68960ad4ac8d4d33e43fd4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90934dec8f7195d0bf8579a7586624b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d38413f7fd87bbe7ba04704df4d8e926.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba79dafbdbda0a4041ac51b8d9bcd3c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/48f316e24ce6847c081f65caf9ed6a91.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d66c465bc76eb1101b85616fc4fa52e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d38413f7fd87bbe7ba04704df4d8e926.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b35dd14c35b0f7e00c222f118a846243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9079df83eeb356e77e25eb0edce38b67.png)
详细推导过程可以看这里-逻辑回归代价函数的导数
链接:https://www.zhihu.com/question/52398145/answer/209358209
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
首先给出结论:损失函数和代价函数是同一个东西,目标函数是一个与他们相关但更广的概念,对于目标函数来说在有约束条件下的最小化就是损失函数(loss function)。
举个例子解释一下:(图片来自Andrew Ng Machine Learning公开课视频)
![](https://i-blog.csdnimg.cn/blog_migrate/6cfa2b49224f45f5f8f202de913a37da.png)
上面三个图的函数依次为 ,
,
。我们是想用这三个函数分别来拟合Price,Price的真实值记为
。
我们给定 ,这三个函数都会输出一个
,这个输出的
与真实值
可能是相同的,也可能是不同的,为了表示我们拟合的好坏,我们就用一个函数来度量拟合的程度,比如:
,这个函数就称为损失函数(loss function),或者叫代价函数(cost function)。损失函数越小,就代表模型拟合的越好。
那是不是我们的目标就只是让loss function越小越好呢?还不是。
这个时候还有一个概念叫风险函数(risk function)。风险函数是损失函数的期望,这是由于我们输入输出的 遵循一个联合分布,但是这个联合分布是未知的,所以无法计算。但是我们是有历史数据的,就是我们的训练集,
关于训练集的平均损失称作经验风险(empirical risk),即
,所以我们的目标就是最小化
,称为经验风险最小化。
到这里完了吗?还没有。
如果到这一步就完了的话,那我们看上面的图,那肯定是最右面的 的经验风险函数最小了,因为它对历史的数据拟合的最好嘛。但是我们从图上来看
肯定不是最好的,因为它过度学习历史数据,导致它在真正预测时效果会很不好,这种情况称为过拟合(over-fitting)。
为什么会造成这种结果?大白话说就是它的函数太复杂了,都有四次方了,这就引出了下面的概念,我们不仅要让经验风险最小化,还要让结构风险最小化。这个时候就定义了一个函数 ,这个函数专门用来度量模型的复杂度,在机器学习中也叫正则化(regularization)。常用的有
,
范数。
到这一步我们就可以说我们最终的优化函数是: ,即最优化经验风险和结构风险,而这个函数就被称为目标函数。
结合上面的例子来分析:最左面的 结构风险最小(模型结构最简单),但是经验风险最大(对历史数据拟合的最差);最右面的
经验风险最小(对历史数据拟合的最好),但是结构风险最大(模型结构最复杂);而
达到了二者的良好平衡,最适合用来预测未知数据集。