在help(predict.lars)
我们可以读到参数s
是“一个值或值向量,索引路径。它的值取决于 mode= 参数。默认情况下 (mode="step"),s 应该取 0 和 p (例如,步长 1.3 意味着步长 1 和 2 之间的距离为 0.3。)”
“索引路径”是什么意思?此外,s
必须取一个介于 1 和 之间的值p
,但是什么p
?该参数p
未在帮助文件的其他地方提及。
我知道这是基本的,但是关于predict.lars
.
在help(predict.lars)
我们可以读到参数s
是“一个值或值向量,索引路径。它的值取决于 mode= 参数。默认情况下 (mode="step"),s 应该取 0 和 p (例如,步长 1.3 意味着步长 1 和 2 之间的距离为 0.3。)”
“索引路径”是什么意思?此外,s
必须取一个介于 1 和 之间的值p
,但是什么p
?该参数p
未在帮助文件的其他地方提及。
我知道这是基本的,但是关于predict.lars
.
使用该mode="norm"
选项是最简单的。在这种情况下,s
应该只是您的 L1 正则化系数 ( \lambda
)。
要理解mode=step
,您需要对 LARS 算法有更多了解。
LARS 可以解决的一个问题是 L1 正则化回归问题:min ||y-Xw||^2+\lambda|w|
其中y
是输出,X
是输入向量的矩阵,并且w
是回归权重。
对 LARS 工作原理的简化解释是,它通过在回归权重向量中添加或删除维度来贪婪地构建该问题的解决方案。
这些贪心步骤中的每一个都可以解释为 L1 正则化问题的解决方案,其中 的值递减\lambda
。这些步骤的顺序称为路径。
因此,给定 LARS 路径,为了获得用户提供的解决方案\lambda
,您沿着路径迭代,直到下一个元素小于输入\lambda
,然后您采取部分步骤(\lambda
在每个步骤之间线性减少)。