机器学习-局部加权线性回归

机器学习-局部加权线性回归

原理简述

线性回归的一个问题时又可能出现欠拟合现象,为了解决这个问题,我们可以采用一个方法是局部加权线性回归(Locally Weighted Linner Regression),简称LWLR。该算法的思想就是给带预测点附近的每一个点赋予一定的权值,然后按照简单线性回归求解w的方法求解,与KNN一样,这种算法每次预测均需要实现选取出对应的数据子集。该算法解出回归系数w的形式如下:
在这里插入图片描述

其中W是一个矩阵,用来给每个数据点赋予权重。
LWLR使用“核“来对附近的点赋予更高的权重。核的类型可以自由选择,最常用的是高斯核,起对应如下:
在这里插入图片描述
这样我们就构建一个只含对角元素的权重矩阵W,并且点越近,w值越大。

实现

接简单线性回归篇,,,简单线性回归见:机器学习-线性回归

n = x.shape[0]
weight = np.mat(np.eye(n))  #构建一个同大小的单位W矩阵
yhat = np.zeros(n) #初始化接收
for i in range(n): #外循环计算每个点的预测值
    for j in range(n): #内循环计算每个点的权重值
        diffmat = x[i] - x[j]
        weight[j,j] = np.exp(diffmat*diffmat.T/(-2*3**2)) #(-2*k**2)k值可变
    xtx = x.T*(weight*x)
    ws = np.linalg.pinv(xtx)*(x.T*(weight*y))
    yhat[i] = x[i]*ws;
yhat

可视化结果:k==0.1,过拟合。
s-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hhdmllcmFh,size_16,color_FFFFFF,t_70)

可视化结果:k==3
在这里插入图片描述

可视化结果:k==10
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值