在支持向量机(Support Vector Machines, SVM)分类中,关注风险最小化问题,其方程如下:
C * Σ (i=1 to n) L(f(x_i), y_i) + Ω(w)
其中,C用于设置正则化的程度,L是样本的损失函数,Ω是模型参数的惩罚函数。如果将损失函数视为每个样本的个体误差,则随着样本数量的增加,数据拟合项或每个样本误差之和会增加。然而,惩罚项不会增加。
在使用交叉验证来设置C时,主问题和交叉验证折叠内较小问题之间的样本数量会有所不同。由于损失函数依赖于样本数量,后者会影响所选的C值。这就引出了一个问题:“如何最优地调整C以适应不同数量的训练样本?”
在这个例子中,研究了重新参数化正则化参数C以适应样本数量的效果,无论是使用L1还是L2惩罚。为此,创建了一个具有大量特征的合成数据集,其中只有少数特征是信息性的。因此,期望正则化将系数缩小到零(L2惩罚)或完全为零(L1惩罚)。
在L1情况下,理论指出,如果正则化很强,估计器无法像知道真实分布的模型那样预测得好(即使在样本大小增长到无穷大的极限情况下),因为它可能将一些本来具有预测性的特征的权重设置为零,这引入了偏差。然而,通过调整C,确实可以找到正确的非零参数集及其符号。
可以对L2惩罚进行类似的实验。在这种情况下,理论指出,为了实现预测一致性,随着样本数量的增长,惩罚参数应该保持不变。
对于L2惩罚案例,重新参数化似乎对正则化最优值的稳定性影响较小。从过拟合区域的过渡发生在更广泛的范围内,并且直到偶然水平,准确性似乎没有降低。
可以尝试将n_splits的值增加到1000以获得更好的L2案例结果,但由于文档构建器的限制,这里没有显示。