也许只是我累了,但我在尝试理解 Forward Stagewise Regression 算法时遇到了麻烦。来自“统计学习要素”第 60 页:
前向逐步回归 (FS) 比前向逐步回归更受限制。它像前向逐步回归一样开始,截距等于 y 的 [均值] ,并且系数最初都为 0 的居中预测变量。
在每一步,算法都会识别与当前残差最相关的变量。然后它计算这个所选变量的残差的简单线性回归系数,然后将其添加到该变量的当前系数。这一直持续到没有一个变量与残差相关——即当 N > p 时最小二乘拟合。
那么,这是算法吗?:
b[1]=mean(y)
b[2..n]=0
r=(y-X*b)
index, maxCorr = max(transpose(r)*X)
while(abs(maxCorr) > someThreshold)
b[index]=b[index]+regress(r,X[1..n][index])
r=(y-X*b)
index, maxCorr = max(transpose(r)*X)
其中 b 是系数的列向量,X 是输入矩阵,y 是输出的列向量。即y=X*b+误差。
问是因为这个算法在我正在测试它的数据集上只给了我几个非零系数(阈值 = .0001),并且预测准确度根本不是很好。