我正在尝试使用以下目标函数(LASSO)实现一个解决线性回归问题的算法:
对于在不时添加或更改的几个约束条件下的各种λ值。y和X是我的训练数据,它们已标准化为均值为 0,并标准化为具有单位l_2 -norm。对于我解决的所有回归问题(记住我不时添加一些约束),我想在验证集上计算样本外R^2以比较模型。验证集也已标准化,但我使用了训练集的平均值,而验证集没有标准化。
当我以下列方式计算时,我收到大于 1 的值:
由于训练集被标准化为具有 0 均值,并且训练集的均值用于计算,因此上述术语简化为:
我所有的值都高于 1(大约 1.5 到 1.6)。即使我在训练集上使用相同的计算,该值也会超过 1(请注意,在训练集的情况下,分母等于 1,因为训练集被标准化为具有单位。
我感觉到这里出了点问题,但我没能找到错误。我想也许这个的标准计算不适用于我的 LASSO 目标函数。如果是这种情况,这里计算的正确方法是什么?