举个例子解释一下:(图片来自Andrew Ng Machine Learning公开课视频)机器学习
上面三个图的函数依次为 ,
,
。咱们是想用这三个函数分别来拟合Price,Price的真实值记为
。函数
咱们给定 ,这三个函数都会输出一个
,这个输出的
与真实值
多是相同的,也多是不一样的,为了表示咱们拟合的好坏,咱们就用一个函数来度量拟合的程度,好比:post
,这个函数就称为损失函数(loss function),或者叫代价函数(cost function)。损失函数越小,就表明模型拟合的越好。学习
那是否是咱们的目标就只是让loss function越小越好呢?还不是。优化
这个时候还有一个概念叫风险函数(risk function)。风险函数是损失函数的指望,这是因为咱们输入输出的 遵循一个联合分布,可是这个联合分布是未知的,因此没法计算。可是咱们是有历史数据的,就是咱们的训练集,
关于训练集的平均损失称做经验风险(empirical risk),即
,因此咱们的目标就是最小化
,称为经验风险最小化。视频
到这里完了吗?尚未。blog
若是到这一步就完了的话,那咱们看上面的图,那确定是最右面的 的经验风险函数最小了,由于它对历史的数据拟合的最好嘛。可是咱们从图上来看
确定不是最好的,由于它过分学习历史数据,致使它在真正预测时效果会很很差,这种状况称为过拟合(over-fitting)。图片
为何会形成这种结果?大白话说就是它的函数太复杂了,都有四次方了,这就引出了下面的概念,咱们不只要让经验风险最小化,还要让结构风险最小化。这个时候就定义了一个函数 ,这个函数专门用来度量模型的复杂度,在机器学习中也叫正则化(regularization)。经常使用的有
,
范数。get
到这一步咱们就能够说咱们最终的优化函数是: ,即最优化经验风险和结构风险,而这个函数就被称为目标函数。it
结合上面的例子来分析:最左面的 结构风险最小(模型结构最简单),可是经验风险最大(对历史数据拟合的最差);最右面的
经验风险最小(对历史数据拟合的最好),可是结构风险最大(模型结构最复杂);而
达到了两者的良好平衡,最适合用来预测未知数据集。