主动式软件恢复:基于Lasso正则化的虚拟机恢复框架
1. Lasso正则化概述
在机器学习中,我们的目标通常是学习一个函数或者其近似函数,这依赖于函数在某些点上的值,这些值被称为训练数据。然而,满足训练数据或者与训练数据差异较小的函数可能有很多。衡量一个函数与训练数据匹配程度的指标是经验风险。虽然最小化经验风险的函数看似是一个不错的选择,但这类函数存在过拟合训练数据的问题,即它们为了适应训练数据而变得过于复杂,导致在其他点上的行为难以控制和预测。
为了解决这个问题,机器学习中通常会对这些函数进行正则化,通过对函数的复杂度施加惩罚,函数越复杂,惩罚越高。最常见的正则化技术是Tikhonov正则化,它通过以下规则选择要学习的函数:
[
\underset{f\in H}{\text{argmin}}\left{\frac{1}{m}\sum_{k = 1}^{m}V(f(X_k),Y_k)+\lambda\left\lVert f\right\rVert_{H}^{2}\right}
]
其中,$H$ 是所有考虑的函数空间(通常是具有定义范数的希尔伯特空间,常用 $L^2$ 范数),$m$ 是训练数据的大小,$(X_k, Y_k)$ 是训练数据的格式,$X_k$ 是参数向量,$Y_k$ 是某种依赖于参数的值(在本文中 $Y_k$ 是崩溃前的剩余时间),$V$ 是惩罚经验误差的损失函数,$\lambda$ 是控制正则化程度和最小化经验风险重要性的参数,通常通过交叉验证选择 $\lambda$ 的最佳值。
Lasso正则化与Tikhonov正则化略有不同,其函数的范数不是由函数所在的希尔伯特空间给出,而是 $L^1$ 范数。函数选择规则如下: <