为什么“平方误差函数”有时用常数 1/2 定义,有时用常数 1/m 定义?
人工智能
神经网络
目标函数
定义
均方误差
2021-10-20 18:26:00
1个回答
第一个变体被命名为““。它包含一个没有很好指定的总和(没有索引,没有限制)。使用第二个变体的符号重写它会导致:
在哪里:
- 表示训练样例
- 表示该实例/示例的模型输出
- 表示该实例的基本事实/目标/标签
- 表示训练样例的数量
因为大括号内的项是平方的,符号无关紧要,所以我们可以将其重写(切换减去的项)为:
现在它看起来已经很像你的第二个变体了。
第二个变体仍然有一个总和之外的条款。这是因为您的第二个变体计算所有训练示例的均方误差,而不是第一个变体计算的总误差。
任何一个错误都可以用于训练。我个人倾向于使用平均误差而不是总误差,主要是因为平均误差的大小与批量大小无关,而总误差的大小与用于训练的批量大小成正比。任何一个选项都是有效的,但由于 scale 的不同,它们可能需要不同的超参数值(尤其是学习率)。
接着就,随即术语解释,唯一剩下的区别是总和中的术语(也可以从总和中提取),它存在于第一个变体中,但不存在于第二个变体中。包含该术语的原因在您链接到第一个变体的页面中给出:
这包括在内,以便稍后我们进行微分时取消指数。结果最终乘以学习率,所以我们在这里引入一个常数并不重要。
其它你可能感兴趣的问题