主动式软件修复:基于Lasso正则化的虚拟机修复框架
1. Lasso正则化基础
在机器学习中,我们的目标往往是学习一个函数,或者找到它的近似函数,这依赖于函数在某些点上的值,这些值就是训练数据。然而,满足训练数据的函数可能有很多,衡量函数与训练数据匹配程度的指标是经验风险。虽然最小化经验风险的函数看似是个不错的选择,但这类函数存在过拟合训练数据的问题,即它们为了适应训练数据而变得过于复杂,在其他点上的表现难以控制和预测。
为了解决这个问题,机器学习会对函数的复杂度施加惩罚,也就是正则化。最常见的正则化技术是Tikhonov正则化,它通过以下规则选择要学习的函数:
在这个公式中,H 是所有被考虑的函数空间(通常是具有定义范数的希尔伯特空间,一般是L2范数),m 是训练数据的大小,(Xk, Yk) 是训练数据的格式,Xk 是参数向量,Yk 是某种依赖于参数的值(这里 Yk 是崩溃前的剩余时间),V 是惩罚经验误差的损失函数,A 是控制正则化程度和最小化经验风险重要性的参数,通常通过交叉验证选择 A 的最佳值。
Lasso正则化与Tikhonov正则化略有不同,它使用的是L1范数,而不是函数所在希尔伯特空间的范数。函数选择规则如下:
f(x) =< (3, x>
其中 x 可以是任何参数向量变量,向量 (3 通过特定方式推导得出。Lasso正则化考虑的函数限于线性函数,但它有一个重要特性,即所选的权重向量 (3 是稀疏的,也就是说其大部分坐标为零。
下面通过一个简单的示例来理解Lasso正则化的稀疏性:
假设我们有一个二维的情况,在图中,/31 和 /32 代表 (3 的不同坐标,倾斜的紫色线表示具有相等经验风险
超级会员免费看
订阅专栏 解锁全文
1443

被折叠的 条评论
为什么被折叠?



