经验风险最小化(Empirical Risk Minimization,ERM)是机器学习中一个常见的问题框架,用于构建和训练模型以最小化在训练数据集上的损失函数。该框架的目标是通过最小化训练数据上的经验风险来选择和调整模型的参数,以期望在未见数据上获得良好的性能。
ERM 的问题定义如下:
-
给定一个训练数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x n , y n ) } D = \{(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)\} D={(x1,y1),(x2,y2),…,(xn,yn)},其中 x i x_i xi 是输入样本, y i y_i yi是对应的目标值。
-
定义一个模型参数集合 Θ \Theta Θ,包括模型的所有参数。
-
定义一个损失函数(损失函数度量模型的预测与实际目标之间的差距),通常表示为 L ( Θ , x , y ) L(\Theta, x, y) L(Θ,x,y)。
-
目标是找到一个参数集合 Θ ∗ \Theta^* Θ∗,它最小化在训练数据集上的经验风险:
Θ ∗ = arg min Θ 1 n ∑ i = 1 n L ( Θ , x i , y i ) \Theta^* = \arg\min_\Theta \frac{1}{n} \sum_{i=1}^{n} L(\Theta, x_i, y_i) Θ∗=argΘminn1i=1∑nL(Θ,xi,yi)
ERM 问题通常通过优化方法来解决,这包括梯度下降、随机梯度下降、牛顿法、拟牛顿法等。具体求解过程如下:
-
初始化参数:选择一个初始参数值 Θ 0 \Theta_0 Θ0。
-
迭代优化:重复以下步骤,直到满足停止条件(如达到最大迭代次数或损失函数的变化不再显著):
- 计算当前参数下的损失函数关于训练数据的梯度。
- 使用梯度信息来更新参数,以减小损失函数。通常是通过 Θ k + 1 = Θ k − η ∇ L ( Θ k ) \Theta_{k+1} = \Theta_k - \eta \nabla L(\Theta_k) Θk+1=Θk−η∇L(Θk),其中 η \eta η 是学习率。
-
输出最优参数:在迭代结束时,输出最优的参数 Θ ∗ \Theta^* Θ∗。
需要注意的是,ERM 框架存在过拟合的风险,因为它倾向于在训练数据上获得零错误。因此,为了避免过拟合,通常需要引入正则化项,如L1正则化(Lasso)、L2正则化(Ridge),以限制参数的复杂度。此外,模型的性能通常还需要在验证集或测试集上进行评估,以确保模型在未见数据上也能泛化得很好。