有人可以在Matlab的岭回归函数中解释缩放因子吗?我找到了一个与用于扩展数值的公式相关的帖子,但我不确定为什么我不确定它是如何工作的。当我将它设置为0时,我得到了典型的数字,但我被迫输入X矩阵而没有1s的列用于拦截。如果我包含1列,则返回的b矩阵有一个太多的行,并且它不能相乘。另一方面,当我将比例因子设置为1时,我得到完全不合理的值。有人可以解释发生了什么以及如何解决这个问题吗?
b = ridge(Y,X,lambda,0);
size(Y) =
444205 1
size(X) =
444205 4
size(b) =
5 1
答案 0 :(得分:1)
ridge()
自动居中和缩放X
(对于每个要素,减去均值,除以标准偏差)和中心y
。让Xs
表示X
的居中/缩放版本,ys
表示y
的居中版本,b
表示ridge()
返回的权重}。
当scaled
标记设置为1时,b
会为ys
提供预测Xs
的权重。 ys
的预测值由Xs * b
给出。由于Xs
和ys
居中,因此不需要使用常数字。
当scaled
标记设置为0时,b
会为y
提供预测X
的权重。 b
的第一个元素包含一个常量项(因为X
和y
具有非零均值,因此需要)。 y
的预测值由X * b(2:end) + b(1)
给出。
有关此行为的更多信息,请参见documentation。