机器学习的目标是从模型的假设空间中选取最优的模型,其具体的策略有经验风险最小化和结构风险最小化。下面简单介绍损失函数和风险函数的相关概念。参考自李航《统计学习方法》。
损失函数
损失函数(loss function)用来预测模型单次预测的好坏,即模型的预测值f(X)
和真实值Y
之间的差别,记作L(Y,f(x))
。损失函数越小,表示模型预测越准确。
机器学习常用的损失函数有:
(1)0-1损失函数
(2)平方损失函数
(3)绝对损失函数
(4)对数损失函数
风险函数
风险函数(risk function) 又称 期望损失(expected loss),是损失函数的期望,度量平均意义下模型预测的好坏。机器学习的目标就是选择期望风险最小的模型。
风险函数的表达式为:
由于P(X,Y)
是未知的,上式风险函数无法计算,而机器学习利用风险函数最小化学习模型本身需要用到联合概率分布P(X,Y)
,因此监督学习本身就是一个病态问题,上式所表示的风险函数并没法实际用到机器学习当中。这就要用到经验风险或结构风险。
经验风险
经验风险(empirical risk) 是模型f(X)关于训练数据集的平均损失。其表达式为:
根据大数定律,当样本容量N趋于无穷时,经验风险趋于期望风险,因此当训练数据样本足够大时,可以近似用经验风险最小化的策略优化和选择模型。
经验风险最小化(empirical risk minimization,ERM) 策略认为:经验风险最小的模型是最优的模型。
结构风险
当训练数据样本较少时,用经验风险最小化策略常常效果不好,会产生过拟合现象。于是提出了结构风险最小化,也就等价于正则化。结构风险在经验风险上加上表示模型复杂度的正则化项:
其中,J(f)
为模型的复杂度,模型越复杂J(f)
就越大。因此,结构风险最小化策略要求经验风险和模型复杂度同时小。