为什么会有一个22在均方误差函数的分母上?

数据挖掘 神经网络 损失函数
2021-09-18 06:36:35

在著名的深度学习书籍第 1 章等式 6 中,神经网络中的二次成本(或均方误差)定义为

C(w,b)=12nx||y(x)a||2

在哪里w是所有权重的集合,并且b所有偏差的集合,n 是训练输入的数量,x 是所有训练输入的集合,y(x) 是网络对输入 x 的预期输出,并且 a 是输入的网络的实际输出 x, 关于 wb.

这个公式的大部分似乎很清楚,除了 2在分母中。如果我理解正确,我们将每个训练输入的平方向量长度(实际输出减去其预期输出)相加(给我们训练集的总平方误差),然后将其除以训练次数样本,得到所有训练样本的均方误差。为什么我们将其划分为2 那么呢?

在其他地方,我看到 Andrew Ng 的讲座以类似的方式定义了均方成本,也使用 2 在分母中,所以这似乎是一个常见的定义。

3个回答

这只是为了数学上的方便。当你区分C(w,b), 你会得到一个额外的 2. 为了消除这种情况,2 预先保存在分母中。

您还可以观看Patrick Winston的 SVM 讲座视频,他使用了类似的公式,然后告诉他正在使用2分母只是为了数学上的方便。

添加1/2只是为了使导数更简单,当您使用 1/2 乘数抵消幂中的 2 的成本函数的导数时。

如果您甚至不使用该 2 并且不除以 1/2 也没关系,那么您只是将标量(单个数字)放大 2 ,而您所需要的只是基础数量(即变化率或斜率),在 ML 中要注意的一件事是学习线性量很简单并且需要更少的时间,而放大 2 会进一步导致额外的步骤,这就像要求模型适应额外的东西一样。

只是当我们在微分时进行错误的反向传播时它会有所帮助,因为2分母中的 抵消了2我们将从指数中得到的 ..

所以这只是数学方便的问题......