神经网络损失函数 - 均方误差:关于“n”表示什么的问题

数据挖掘 神经网络 损失函数 梯度下降 反向传播 成本函数
2022-02-13 09:58:38

我对神经网络非常陌生,最近了解了神经网络使用的损失函数。

这个问题是关于均方误差度量的,定义为(来自我正在使用的教科书):
(1n)i=1n(hθ(xi)yi)2

在哪里hθ(xi)给出预测值xi带有模型的权重θyi表示索引处数据点的实际预测i.

在网上查找这个功能,我看到不同的消息来源说不同的东西。我似乎无法弄清楚 n 实际代表什么。

我将其理解为表示输出层中神经元的数量,因此您只需找到实际神经元值与给定权重的网络预测值之间的差异。

一些消息来源说它代表了训练样本的数量。但是,如果是这种情况,那该怎么办Hθ(X一世)代表?它是输出神经元值本身的总和吗?此外,如果 n 是这样,那是否意味着您必须在所有训练样本上多次运行该函数才能最小化它?而根据之前对 n 的理解,您可以在某些样本而不是所有样本上运行它。

3个回答

首先,试着理解几点——

  1. 输出神经元值和预测都是一回事。在分类的情况下,我们根据阈值将输出概率转换为类别。

  2. MSE 用于回归,在回归问题中,您通常有一个输出神经元,例如 Price如果您想组合多个目标,例如边界框问题,您可能会拥有更多

分母中的“N”是计算的不同误差的数量,基本上是上下文中的样本数量。
对于“上下文”,我的意思是如果它是在反向传播时它是batch_size如果它在 epoch/training 结束时,它就是整个训练数据集

做什么Hθ(X一世)代表?

它是预测(输出神经元的值一世H样本。

均方误差的思想是求均方误差的平均值。因此,您除以加起来的平方误差数,即样本数。

在更多面向推理的应用程序(例如线性回归和普通最小二乘法)中,您可能会看到给出的分母为n-ķ或者n-p, 在哪里ķp以及回归中的参数数量。这与 MSE 如何是条件方差的无偏估计量有关,这个问题不太可能让您对进行纯预测建模的神经网络感兴趣,但我不希望您在看到它时对正在发生的事情感到困惑。

  1. Hθ是一个假设函数,其参数化为 θ. 即不同的价值θ你得到一个不同的假设函数。

  2. Hθ(X一世)计算由某个值参数化的假设函数的值θ在输入X一世. 这也称为预测输出。

  3. 一世=1n(Hθ(X一世)-是的一世)2在这里,我们正在修复某些值θ(也称为权重)并计算每个样本的假设函数的输出X一世(也称为预测输出)。然后我们取其对应的基本事实是的一世并取平方差。我们为所有n样本并总结。