背景音乐:カタオモイ - Aimer
看国外教程的时候,或者看论文的时候,会看到这三种函数:loss funciton(损失函数)、cost function(代价函数)、objective function(目标函数),三者傻傻分不清楚。
看起来这三个好像是讲的一个东西,但细细琢磨,才发现是有些不同的。
首先来看看Andrew在Machine Learning课程里的说法:
课后作业
加上其他上课内容,总结起来就是:
- Loss Function:单个训练样本的误差,以偏差为例——|yi-f(xi)|
- Cost Function:所有训练样本的平均误差,以平方损失函数为例——1/N*Σ(yi-f(xi))2
- Objective Function:算法要最小化(有的时候是最大化)的对象,如果不考虑结构化风险(即不加正则项),则与Cost Function一样,都指所有训练样本的平均误差。
如果事情到这里就结束的话,就太好了,我也不用写这篇文章了。
机器学习作为一门新兴学科,很多名词还没有统一,工业发展始终走在科研前面,同时,统计学领域和机器学习领域的叫法又略有不同,因此就出现了各种不一致的说法:
- 大家的争执主要还是出现在loss funciton和cost function上,一部分人认为两者一样,讲的都是所有训练样本的平均误差。
- 对于objective function,大家的看法倒还挺一致的。
所以,最后的结论是,都两种认识都有所了解即可,至少不会再糊里糊涂了~~
网友评论