迭代再加权最小二乘
arg min{\beta} \sum{i=1}^{n}|y{i} - f{i}(\beta)|^{p}
这个目标函数可以通过迭代的方法求解。在每次迭代中,解决一个带权最小二乘问题,形式如下:
\beta ^{t+1} = argmin{\beta} \sum{i=1}^{n} w{i}(\beta^{(t)}))|y{i} - f_{i}(\beta)|^{2} = (X^{T}W^{(t)}X)^{-1}X^{T}W^{(t)}y
W{i}^{(t)} = |y{i} - X_{i}\beta^{(t)}|^{p-2}
在spark ml
中,迭代再加权最小二乘主要解决广义线性回归问题。下面看看实现代码。
这里使用方法更新权重。具体的实现在广义线性回归的实现中。
有一点需要说明的是,这段代码中标签和权重的更新并没有参照上面的原理或者说我理解有误。
2.2 训练新的模型
训练完新的模型后,重复2.1步,直到参数收敛或者到达迭代的最大次数。
【1】