所谓线性回归(linear regression),就是根据训练数据找到一组参数w,利用 y = w*s 对新数据进行预测。
通常使用误差函数为平方误差:
使该误差最小化,求导令其导数为零求得系数w,利用矩阵可以表示为:
该过程成为普通最小二乘法(ordinary least squares,OLS)
由于OLS只能找到数据最佳拟合直线,所以应用有限。引入局部加权线性回归(Locally Weighted Linear Regression, LWLR)
给每个点赋予权重,误差函数为:
,求解w得:
W即使权重矩阵,是一个只含对角元素的方阵(其余为0),根据预测点与附近的点的距离分布,通常使用高斯核函数:
但是该方法计算量大
为了防止过拟合,也为了缩减系数,可以使用岭回归、lasso、前向逐步回归方法。
岭回归也就是说在线性回归求解w时加入λI惩罚项,即
根据不同λ可以得到多个系数w,可以交叉验证最优解。
岭回归这个名字只是因为λI这个惩罚项是个对角矩阵,看起来像个分界岭。
最小二乘法增加约束
时可以得到岭回归一样的公式,而lasso只在次基础上更改了限定:
但是求解则需要二次规划算法,增加了计算复杂度。
前向逐步方法是一种贪心算法,即每一步都尽可能减少误差。
在迭代中,对于每个特征,都采取增加或减小一个很小得数值来改变w,如果误差小于当前最小误差,则前进。
这里得很小得数值和迭代次数都是参数。