局部加权紧接着上面的线性回归中参数求解来继续讲吧。还是以上面的房屋价格的预测,它的中心思想是在对参数进行求解的过程中,每个样本对当前参数值的影响是有不一样的权重的。比如上节中我们的回归方程为(这个地方用矩阵的方法来表示Ɵ表示参数,i表示第i个样本,h为在Ɵ参数下的预测值):

我们的目标是让

最小,然后求出来Ɵ,再代入h中就可以得到回归方程了。

但是如果类似以下的样本,他们的对应图如下:

如果用之前的方法,图中线为求出的回归方程,那么在x的取值和真实差别很大,这个情况叫做欠拟合。那么我们怎么办呢?我们的主要思想就是只对x的附近的一些样本进行选择,根据这些样本得到x附近这些样本所推倒出来的回归方程,那么此时我们得到的回归方程就比较拟合样本数据,得到的效果图如下:

我们解的思路如下,加入一个加权因子:

重新构造新的j(x)

Exp是以e为底的指数,这个时候可以知道如果x距离样本很远的时候w(i)=0,否则为1,当我们预测一个值的时候就需要我们重新来计算当前的参数Ɵ的值,然后构造回归方程,计算当前的预测值。

这就是局部加权回归LWR!

τ控制了权值随距离下降的速率

看下我们的matlab程序吧

clc; clear; close all;load datax.dat;
load datay.dat;X = [ones(size(datax, 1),1) datax];
Y = datay;m = size(X,1);
n = size(X,2)-1;%part a
figure(1); hold on;
theta = inv(X'*X)*X'*Y;
scatter (X(:,2), Y);
Xp = -6:0.01:13;
Yp = theta(1) + theta(2)*Xp;
plot (Xp, Yp);%part b
figure(2); hold on;
W = zeros(m);
t = 0.8;
LWRXp = -6:0.01:13;
LWRYp = [];
for temp = 1:size(LWRXp,2),for i=1:m,W(i,i) = 0.5 * exp(-((LWRXp(temp)-X(i,2))^2)/(2*t*t));end;theta = inv(X'*W*X)*X'*W*Y;LWRYp(temp) = theta(1)+theta(2)*LWRXp(temp);
end;
scatter (X(:,2), Y);
plot (LWRXp, LWRYp);%part c
figure(3); hold on;
scatter (X(:,2), Y);
W = zeros(m);
t_array = [0.1, 0.3, 2,10];
LWRXp = -6:0.01:13;
LWRYp = [];
for t=1:4,for temp = 1:size(LWRXp,2),for i=1:m,W(i,i) = 0.5 * exp(-((LWRXp(temp)-X(i,2))^2)/(2*t_array(t)*t_array(t)));end;theta = inv(X'*W*X)*X'*W*Y;LWRYp(t,temp) = theta(1)+theta(2)*LWRXp(temp);end;
end;
plot (LWRXp, LWRYp);

part a的结果就是最小二乘的线性拟合

part b 中 t = 0.8

part c用了几种不同的t

Lesson 3 Part 1 Locally weighted regression相关推荐

  1. python123英文字符的鲁棒_Robust Locally Weighted Regression 鲁棒局部加权回归 -R实现

    鲁棒局部加权回归 Ljt 作为一个初学者,水平有限,欢迎交流指正. 算法参考文献: (1) Robust Locally Weighted Regression and Smoothing Scatt ...

  2. 机器学习笔记(一)-局部加权回归(Locally weighted regression)LWR

    在网上通过看斯坦福大学的机器学习课程,觉得讲的非常好.同时,为了加强自己的记忆,决定将自己学到的东西和一些理解记录下来,希望有所收获.废话不多说,直接开始笔记: 局部加权回归(locally weig ...

  3. R语言lowess函数数据平滑实战(Locally Weighted Regression, Loess)

    R语言lowess函数数据平滑实战(Locally Weighted Regression, Loess) 目录 R语言lowess函数数据平滑实战(Locally Weighted Regressi ...

  4. 局部加权回归LOESS(locally weighted regression)

    欠拟合和过拟合 首先看下面的三幅图, 第一幅拟合为了 y=θ0+θ1xy=θ_0 + θ_1x 的一次函数 第二幅拟合为了y=θ0+θ1x+θ2x2y=θ_0 + θ_1x + θ_2x^2 的二次函 ...

  5. LWR--local weighted regression

    转自http://www.cnblogs.com/jeromeblog/p/3396486.html 简单回顾一下线性回归.我们使用了如下变量:x-输入变量/特征:y-目标变量:(x,y)-单个训练样 ...

  6. 机器学习:局部加权线性回归(Locally Weighted Linear Regression)

    线性回归 先复习一下线性回归的损失函数: 我们的目标是使该函数最小,用矩阵表示为: 对参数w求导得: 令上式等于0可估计出回归系数w得最优解: 但线性回归往往容易欠拟合,除了使用更复杂得函数拟合,还可 ...

  7. 局部加权线性回归(Locally weighted linear regression)

    这里有现成的,引用一下.http://www.cnblogs.com/czdbest/p/5767138.html 转载于:https://www.cnblogs.com/imageSet/p/757 ...

  8. Kmeans、Kmeans++和KNN算法比较

    FROM:http://blog.csdn.net/loadstar_kun/article/details/39450615 K-Means介绍 K-means算法是聚类分析中使用最广泛的算法之一. ...

  9. UA MATH571A 检验异方差的非参数回归方法

    UA MATH571A 检验异方差的非参数回归方法 LOESS(locally estimated scatterplot smoothing) LOWESS(Robust Locally Weigh ...

最新文章

  1. 从.NET1.1升级到.NET2.0时出现的PInvokeStackImbalance错误
  2. 无监督特定类别的网格重建(U-CMR) | ECCV
  3. systypes的详解
  4. Kubernetes 核心概念
  5. access和python哪个难学-access和python学哪个好一点
  6. C语言把文件空格删去,关于文件操作,碰到空格就换行
  7. 【Albert】一文轻松理解Albert
  8. Mac OSX上pg gem的安装问题
  9. java简单递归算法,Java递归算法简单示例两则
  10. Warning: Stopping rpcbind.service, but it can still be activated by:rpcbind.socket
  11. Pycharm中文字体变成繁体解决方法
  12. ubuntu设置分辨率
  13. 调用百度翻译api实现中英文翻译
  14. 车联网TCU USB的配置和使用
  15. 2:人民币与美元汇率兑换程序
  16. timothy23242526-类+类的声明,继承和访问控制+重写和多态
  17. 安装西门子TIA Portal V15.1提示先决条件不足如何处理?
  18. Windows 11的Android虚拟机
  19. python:网络数据收集
  20. BeagleBone Black 从零到一 (2 MLO、U-Boot)

热门文章

  1. Halcon 学习总结——邮票目录检测(stamp_catalogue)
  2. 产品研发过程管理专题——软件工程(软件目的需求开发与管理)
  3. linux查看程序的快捷键,linux操作系统的快捷键及命令讲解
  4. Portal widget 插入 widget
  5. JavaScript按概率随机生成事件
  6. Discuz常见小问题-如何为每个板块设置不同的图标
  7. myeclipse----JVM运行内存溢出问题解决
  8. 如何查看mysql数据库的引擎/MySQL数据库引擎详解
  9. OSChina 周六乱弹 —— 知道今天的乱弹为什么会迟发吗?
  10. OpenCV-中值滤波cv::medianBlur