- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从很多文档中,我了解到岭回归的秘诀是:
loss_Ridge = loss_function + lambda x L2 norm of slope
Lasso 回归的秘诀是:
loss_Lasso = loss_function + lambda x L1 norm of slope
当我读到“TensorFlow Machine Learning Cookbook”中的主题“实现套索和岭回归”时,其作者解释说:
"...we will use a continuous approximation to a step function, called the continuous heavy step function..."
及其作者还提供了代码行 here 。我不明白在这种情况下哪个被称为“连续重阶跃函数”。请帮助我。
最佳答案
从您提供的链接中,
if regression_type == 'LASSO':
# Declare Lasso loss function
# Lasso Loss = L2_Loss + heavyside_step,
# Where heavyside_step ~ 0 if A < constant, otherwise ~ 99
lasso_param = tf.constant(0.9)
heavyside_step = tf.truediv(1., tf.add(1., tf.exp(tf.multiply(-50., tf.subtract(A, lasso_param)))))
regularization_param = tf.multiply(heavyside_step, 99.)
loss = tf.add(tf.reduce_mean(tf.square(y_target - model_output)), regularization_param)
这个heavyside_step
函数非常接近逻辑函数,而逻辑函数又可以是阶跃函数的连续逼近。
您使用连续逼近,因为损失函数需要相对于模型参数可微。
要获得有关的直觉,请阅读 https://www.cs.ubc.ca/~schmidtm/Documents/2005_Notes_Lasso.pdf 中的约束公式第 1.6 节。
您可以在代码中看到,如果 A < 0.9,则regularization_param 消失,因此优化会将 A 限制在该范围内。
关于python - 套索回归 : The continuous heavy step function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56387591/
我正在 Java 中使用 JFreeChart 绘制包含 50 多个 x、y 点的 XYLineChart。该图表位于 ChartPanel 中,它位于我的 JFrame 的 1 个 JPanels
我使用cv.glmnet()来执行交叉验证,默认情况下10倍 library(Matrix) library(tm) library(glmnet) library(e1071) library(Sp
我的问题关于 scikit 中的套索非常笼统: 我正在使用 Lasso 进行回归,以将一定数量的点 y_i 拟合到特征 x_i。点数 n 严格低于特征的维数 p。 因此对于给定的惩罚 alpha 系数
我是一名优秀的程序员,十分优秀!