目标函数(Objective Function)

模型函数

上面三个函数依次为f1(x),f2(x),f3(x)f_1(x),f_2(x),f_3(x)f1(x),f2(x),f3(x),我们想用这三个函数来拟合Price,Price的真实值记为YYY

那么损失函数(loss function) 或者叫 代价函数(cost function) 记作:
L(Y,f(X))=(Y−f(X))2 L(Y,f(X))=(Y-f(X))^2 L(Y,f(X))=(Yf(X))2
损失函数用来表示模型与真实值拟合的程度,损失函数值越小,模型拟合度越好。

风险函数是损失函数的期望,f(X)f(X)f(X)关于训练集的平均损失称作经验风险(Empirical Risk),即:
1N∑i=1NL(yi,f(xi)) \frac 1N \sum_{i=1}^N L(y_i, f(x_i)) N1i=1NL(yi,f(xi))
从经验风险来看,显然f3(x)f_3(x)f3(x)的经验风险最小,对历史数据的拟合最好,但是因为它过度学习历史数据,导致它在真正预测时效果会很不好,这种情况称为过拟合(over-fitting)

所以引出了结构风险,定义函数J(f)J(f)J(f)表示模型的复杂度,在机器学习中也叫正则化(Regularization),常用的有L1,L2L_1,L_2L1,L2范数。

为了使经验风险和结构风险最小化,于是得到最终的优化函数:
min⁡1N∑i=1NL(yi,f(xi))+λJ(f) \min \frac 1N \sum_{i=1}^N L(y_i, f(x_i)) + \lambda J(f) minN1i=1NL(yi,f(xi))+λJ(f)
即最小化经验风险和结构风险,这个函数就被称为目标函数

可以看出,图中f1(x)f_1(x)f1(x)结构风险最小(模型最简单),但经验风险最大(对历史数据拟合最差);f3(x)f_3(x)f3(x)经验风险最小,但结构风险最大(模型最复杂);而f2(x)f_2(x)f2(x)恰好达到了二者的良好平衡,应当是最优解。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐