1. 线性回归
线性回归根据最小二乘法直接给出权值向量的解析解(closed-form solution):
w=(XTX)−1XTy
线性回归的一个问题就是有可能出现欠拟合现象,因为它求的是具有最小均方误差(LSE,Least Square Error)的无偏估计。显然,如果模型欠拟合将不能取得最好的预测结果,所以有些方法允许在估计中引入一些偏差,从而降低预测的均方误差。
2. 正则化线性回归
w=(XTX+λI)−1XTy
- 比如首先取 λ=0.2 ,来观察效果;
3. LWLR
其中的一个方法就是局部加权线性回归(Locally Weighted Linear Regression,LWLR),在该算法中,我们给待测点附近的每一个点赋予一定的权重。该算法解出回归系数
w
:
LWLR 使用核来对待测点( xn )附近的点赋予更高的权重。核的类型可以自由选择,最常用的核就是高斯核,高斯核对应的权重如下:
w(i,i)=exp(−∥x−y∥2−2k2)
这就构建了一个只含对角元素的权值矩阵 W
def lwlr(X, y, x0, k=1.):
W = np.diag(np.linalg.norm(X-x0, axis=1)/(-2*k**2))
xTx = X.T.dot(W).dot(X)
if np.linalg.det(xTx) == 0.:
return
ws = np.linalg.inv(xTx).dot(X.T.dot(W).dot(y))
return x0.dot(ws)