经验风险和结构风险
借用 Andrew Ng Machine Learning 公开课视频一张图,举个例子:
![[机器学习] 概念解析:从经验风险、结构风险到代价函数、损失函数、目标函数 [机器学习] 概念解析:从经验风险、结构风险到代价函数、损失函数、目标函数](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THprMU1TOWlOR0UxWm1Oa1pERTNaak5qTm1NMU1XVXlPR0kzTWprME1XTmlNRFkwWmk1S1VFVkg=)
在上式中,记Size为X,Price为Y,三种拟合的函数分别为f1(X)、f2(X)、f3(X)。
经验风险
为了表示我们拟合的好坏,我们就用一个函数来度量拟合的程度,比如均方误差函数:
L(Y,f(X))=(Y−f(X))2(1)
经验风险是模型关于训练集的平均损失,定义如下:
Remp=N1i=1∑NL(y(i),f(x(i)))(2)
以(2)式和上图,可以得到 L(Y,f1(X)) > L(Y,f3(X)) > L(Y,f3(X)),也就是经验风险 f1(X)>f2(X)>f3(X)。训练集样本代表已经获得的信息,作为已经知道的经验。经验风险最小,等价于模型对训练集样本拟合最贴切。
极大似然估计(MLE)就是经验风险最小化的一个例子。
结构风险
结构风险其实就是过拟合的风险。原因来说的话就是模型太复杂了。显然对于结构风险来说,f1(X)<f2(X)<f3(X)。结构风险最小化。这个时候就定义了一个函数 J(f),来度量模型的复杂度,也叫正则化(regularization) 。常用的有 L1,L2 范数。
代价函数、损失函数、目标函数的定义
损失函数和代价函数
代价函数和损失函数是一回事,表示样本水平上模型结果于训练样本的平均误差。
比如吴恩达机器学习课程中,对于logistic回归的代价函数 (cost function),定义如下:
![[机器学习] 概念解析:从经验风险、结构风险到代价函数、损失函数、目标函数 [机器学习] 概念解析:从经验风险、结构风险到代价函数、损失函数、目标函数](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpnM015ODRPRGcwWmpobE1ERmlObVE0TmpNMFl6UXpOR0ppTURNNU1UVmhPVFkzTVM1d2JtYz0=)
可以看到是平均误差。
目标函数
目标函数是最终需要优化的函数,是有约束条件下的损失函数的最小化。换句话说,包括经验损失和结构损失,可以表示为:
obj=loss+Ω
其中:
-
loss:损失函数或者代价函数
-
Ω:正则化项
目标函数的目的是最优化经验风险和结构风险,即:
min[N1i=1∑NL(y(i),f(x(i)))+λJ(f)]
比如吴恩达机器学习课程中,对logistic回归给出的目标函数为:
![[机器学习] 概念解析:从经验风险、结构风险到代价函数、损失函数、目标函数 [机器学习] 概念解析:从经验风险、结构风险到代价函数、损失函数、目标函数](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpNeUx6UmxaREJqWkRVellUYzFaV1l4TVRRNU5EZ3dNMlZpTlRBeFltVTRNREE0TG5CdVp3PT0=)