Lesson 3 Part 1 Locally weighted regression
局部加权紧接着上面的线性回归中参数求解来继续讲吧。还是以上面的房屋价格的预测,它的中心思想是在对参数进行求解的过程中,每个样本对当前参数值的影响是有不一样的权重的。比如上节中我们的回归方程为(这个地方用矩阵的方法来表示Ɵ表示参数,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相关推荐
- python123英文字符的鲁棒_Robust Locally Weighted Regression 鲁棒局部加权回归 -R实现
鲁棒局部加权回归 Ljt 作为一个初学者,水平有限,欢迎交流指正. 算法参考文献: (1) Robust Locally Weighted Regression and Smoothing Scatt ...
- 机器学习笔记(一)-局部加权回归(Locally weighted regression)LWR
在网上通过看斯坦福大学的机器学习课程,觉得讲的非常好.同时,为了加强自己的记忆,决定将自己学到的东西和一些理解记录下来,希望有所收获.废话不多说,直接开始笔记: 局部加权回归(locally weig ...
- R语言lowess函数数据平滑实战(Locally Weighted Regression, Loess)
R语言lowess函数数据平滑实战(Locally Weighted Regression, Loess) 目录 R语言lowess函数数据平滑实战(Locally Weighted Regressi ...
- 局部加权回归LOESS(locally weighted regression)
欠拟合和过拟合 首先看下面的三幅图, 第一幅拟合为了 y=θ0+θ1xy=θ_0 + θ_1x 的一次函数 第二幅拟合为了y=θ0+θ1x+θ2x2y=θ_0 + θ_1x + θ_2x^2 的二次函 ...
- LWR--local weighted regression
转自http://www.cnblogs.com/jeromeblog/p/3396486.html 简单回顾一下线性回归.我们使用了如下变量:x-输入变量/特征:y-目标变量:(x,y)-单个训练样 ...
- 机器学习:局部加权线性回归(Locally Weighted Linear Regression)
线性回归 先复习一下线性回归的损失函数: 我们的目标是使该函数最小,用矩阵表示为: 对参数w求导得: 令上式等于0可估计出回归系数w得最优解: 但线性回归往往容易欠拟合,除了使用更复杂得函数拟合,还可 ...
- 局部加权线性回归(Locally weighted linear regression)
这里有现成的,引用一下.http://www.cnblogs.com/czdbest/p/5767138.html 转载于:https://www.cnblogs.com/imageSet/p/757 ...
- Kmeans、Kmeans++和KNN算法比较
FROM:http://blog.csdn.net/loadstar_kun/article/details/39450615 K-Means介绍 K-means算法是聚类分析中使用最广泛的算法之一. ...
- UA MATH571A 检验异方差的非参数回归方法
UA MATH571A 检验异方差的非参数回归方法 LOESS(locally estimated scatterplot smoothing) LOWESS(Robust Locally Weigh ...
最新文章
- 从.NET1.1升级到.NET2.0时出现的PInvokeStackImbalance错误
- 无监督特定类别的网格重建(U-CMR) | ECCV
- systypes的详解
- Kubernetes 核心概念
- access和python哪个难学-access和python学哪个好一点
- C语言把文件空格删去,关于文件操作,碰到空格就换行
- 【Albert】一文轻松理解Albert
- Mac OSX上pg gem的安装问题
- java简单递归算法,Java递归算法简单示例两则
- Warning: Stopping rpcbind.service, but it can still be activated by:rpcbind.socket
- Pycharm中文字体变成繁体解决方法
- ubuntu设置分辨率
- 调用百度翻译api实现中英文翻译
- 车联网TCU USB的配置和使用
- 2:人民币与美元汇率兑换程序
- timothy23242526-类+类的声明,继承和访问控制+重写和多态
- 安装西门子TIA Portal V15.1提示先决条件不足如何处理?
- Windows 11的Android虚拟机
- python:网络数据收集
- BeagleBone Black 从零到一 (2 MLO、U-Boot)
热门文章
- Halcon 学习总结——邮票目录检测(stamp_catalogue)
- 产品研发过程管理专题——软件工程(软件目的需求开发与管理)
- linux查看程序的快捷键,linux操作系统的快捷键及命令讲解
- Portal widget 插入 widget
- JavaScript按概率随机生成事件
- Discuz常见小问题-如何为每个板块设置不同的图标
- myeclipse----JVM运行内存溢出问题解决
- 如何查看mysql数据库的引擎/MySQL数据库引擎详解
- OSChina 周六乱弹 —— 知道今天的乱弹为什么会迟发吗?
- OpenCV-中值滤波cv::medianBlur