scikit-learn 和 glmnet 中的弹性网是否等效?
Is elastic net equivalent in scikit-learn and glmnet?
特别是,glmnet docs 暗示它为回归创建了一个 "Generalised Linear Model" 高斯族,而 scikit-learn 暗示没有这样的事情(即,它似乎是一个纯线性回归,而不是泛化)。但我不确定。
在您 link 的文档中,有一个优化问题准确显示了 GLMnet 中的优化内容:
1/(2N) * sum_i(y_i - beta_0 - x_i^T beta) + lambda * [(1 - alpha)/2 ||beta||_2^2 + alpha * ||beta||_1]
现在看一下here,您会在其中找到与优化欧氏范数相同的公式。请注意,文档省略了截距 w_0
,相当于 beta_0
,但代码确实对其进行了估计。
另请注意 lambda
变为 alpha
并且 alpha
变为 rho
...
"Gaussian family"方面可能是指使用L2-loss的事实,这对应于假设噪声是加性高斯。
特别是,glmnet docs 暗示它为回归创建了一个 "Generalised Linear Model" 高斯族,而 scikit-learn 暗示没有这样的事情(即,它似乎是一个纯线性回归,而不是泛化)。但我不确定。
在您 link 的文档中,有一个优化问题准确显示了 GLMnet 中的优化内容:
1/(2N) * sum_i(y_i - beta_0 - x_i^T beta) + lambda * [(1 - alpha)/2 ||beta||_2^2 + alpha * ||beta||_1]
现在看一下here,您会在其中找到与优化欧氏范数相同的公式。请注意,文档省略了截距 w_0
,相当于 beta_0
,但代码确实对其进行了估计。
另请注意 lambda
变为 alpha
并且 alpha
变为 rho
...
"Gaussian family"方面可能是指使用L2-loss的事实,这对应于假设噪声是加性高斯。