matlab练习程序(局部加权线性回归)

通常我们使用的最小二乘都需要预先设定一个模型,然后通过最小二乘方法解出模型的系数。

而大多数情况是我们是不知道这个模型的,比如这篇博客中z=ax^2+by^2+cxy+dx+ey+f 这样的模型。

局部加权线性最小二乘就不需要我们预先知道待求解的模型,因为该方法是基于多个线性函数的叠加,最终只用到了线性模型。

计算线性模型时引入了一个加权函数:

来给当前预测数据分配权重,分配机制是:给距离近的点更高的权重,给距离远的点更低的权重。

公式中的k类似与高斯函数中的sigma。

当sigma变大时,函数变得矮胖,计算局部线性函数时更多的使用全局数据;

当sigma变小时,函数变得瘦高,计算局部线性函数时更多的使用局部数据。

代码如下:

clear all;
close all;
clc;

x=(1:0.1:10)‘;
y=x.^2+x+3 +rand(length(x),1)*6;
plot(x,y,‘.‘)

sigma=0.1;              %设置局部窗口,越大越使用全局数据,越小越使用局部数据
W=zeros(length(x));
C=[];
for i=1:length(x)
    for j=1:length(x)
        W(j,j)=exp(-((x(i)-x(j))^2)/(2*sigma^2));   %权重矩阵
    end

    XX=[x ones(length(x),1)];
    YY=y;
    C=[C inv(XX‘*W*XX)*XX‘*W*YY];           %加权最小二乘,计算求得局部线性函数的系数

end

re=diag(XX*C);
hold on;
plot(x,re);

结果如下:

可以看出,红色的局部线性函数最终拟合出了全局的数据。

不过该方法既然不需要知道模型,那我们如何预测未来的数据结果呢?

原文地址:https://www.cnblogs.com/tiandsp/p/10349822.html

时间: 2024-10-11 12:44:44

matlab练习程序(局部加权线性回归)的相关文章

线性回归和局部加权线性回归

线性回归 算法优缺点: 优点:结果易于理解,计算不复杂 缺点:对非线性数据拟合不好 适用数据类型:数值型和标称型 算法思想: 这里是采用了最小二乘法计算(证明比较冗长略去).这种方式的优点是计算简单,但是要求数据矩阵X满秩,并且当数据维数较高时计算很慢:这时候我们应该考虑使用梯度下降法或者是随机梯度下降(同Logistic回归中的思想完全一样,而且更简单)等求解.这里对估计的好坏采用了相关系数进行度量. 数据说明: 这里的txt中包含了x0的值,也就是下图中前面的一堆1,但是一般情况下我们是不给

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

首先我们来看一个线性回归的问题,在下面的例子中,我们选取不同维度的特征来对我们的数据进行拟合. 对于上面三个图像做如下解释: 选取一个特征,来拟合数据,可以看出来拟合情况并不是很好,有些数据误差还是比较大 针对第一个,我们增加了额外的特征,,这时我们可以看出情况就好了很多. 这个时候可能有疑问,是不是特征选取的越多越好,维度越高越好呢?所以针对这个疑问,如最右边图,我们用5揭多项式使得数据点都在同一条曲线上,为.此时它对于训练集来说做到了很好的拟合效果,但是,我们不认为它是一个好的假设,因为它不

机器学习实战线性回归局部加权线性回归笔记

线性回归 用线性回归找到最佳拟合直线 回归的目的是预测数值型数据,根据输入写出一个目标值的计算公式,这个公式就是回归方程(regression equation),变量前的系数(比如一元一次方程)称为回归系数(regression weights).求这些回归系数的过程就是回归. 假设输入数据存放在矩阵X 中,回归系数存放在向量w 中,那么对于数据X 1  的预测结果可以用Y 1 =X T 1 w 得出.我们需要找到使误差最小的w ,但是如果使用误差之间的累加的话,那么正负误差将会抵消,起不到效

Locally Weighted Linear Regression 局部加权线性回归-R实现

线性回归容易出现过拟合或欠拟合的问题. 局部加权线性回归是一种非参数学习方法,在对新样本进行预测时,会根据新的权值,重新训练样本数据得到新的参数值,每一次预测的参数值是不相同的. 权值函数: t用来控制权值的变化速率(建议对于不同的样本,先通过调整t值确定合适的t) 不同t值下的权值函数图像: 局部加权线性回归R实现: #Locally Weighted Linear Regression 局部加权回归(非参数学习方法) ##x为数据矩阵(mxn m:样本数 n:特征数 );y观测值(mx1);

【CS229笔记一】监督学习,线性回归,LMS算法,正态方程,概率解释和局部加权线性回归

监督学习 对于一个房价预测系统,给出房间的面积和价格,以面积和价格作坐标轴,绘出各个点. 定义符号: \(x_{(i)}\)表示一个输入特征\(x\). \(y_{(i)}\)表示一个输出目标\(y\). \((x_{(i)},y_{(i)})\)表示一个训练样本. \(\left\{(x_{(i)},y_{(i)});i=1,\dots,m\right\}\)代表m个样本,也称为训练集. 上标\((i)\)代表样本在训练集中的索引. \(\mathcal{X}\)代表输入值的空间,\(\mat

局部加权回归、欠拟合、过拟合 - Andrew Ng机器学习公开课笔记1.3

本文主要讲解局部加权(线性)回归.在讲解局部加权线性回归之前,先讲解两个概念:欠拟合.过拟合,由此引出局部加权线性回归算法. 欠拟合.过拟合 如下图中三个拟合模型.第一个是一个线性模型,对训练数据拟合不够好,损失函数取值较大.如图中第二个模型,如果我们在线性模型上加一个新特征项,拟合结果就会好一些.图中第三个是一个包含5阶多项式的模型,对训练数据几乎完美拟合. 模型一没有很好的拟合训练数据,在训练数据以及在测试数据上都存在较大误差,这种情况称之为欠拟合(underfitting). 模型三对训练

局部加权回归、欠拟合、过拟合-Andrew Ng机器学习公开课笔记1.3

本文主要讲解局部加权(线性)回归.在讲解局部加权线性回归之前,先讲解两个概念:欠拟合.过拟合,由此引出局部加权线性回归算法. 欠拟合.过拟合 如下图中三个拟合模型.第一个是一个线性模型,对训练数据拟合不够好,损失函数取值较大.如图中第二个模型,如果我们在线性模型上加一个新特征项,拟合结果就会好一些.图中第三个是一个包含5阶多项式的模型,对训练数据几乎完美拟合. 模型一没有很好的拟合训练数据,在训练数据以及在测试数据上都存在较大误差,这种情况称之为欠拟合(underfitting). 模型三对训练

机器学习-局部加权回归

Locally weighted regression,局部加权回归  对于线性回归,问题是选取的特征的个数和什么特征会极大影响fit的效果. 比如下图,是分布使用下面几个模型进行拟合的 :    通常会认为第一个模型underfitting(欠拟合),而第三个模型overfitting(过拟合),第二个模型相对比较好的fit到训练集 所以可以看出,找出一个全局的线性模型去fit整个训练集,是个比较困难的工作,因为选择特征成为一个关键的因素. 局部加权线性回归的思路,就是我不需要去fit整个训练

Robust Locally Weighted Regression 鲁棒局部加权回归 -R实现

鲁棒局部加权回归 算法参考文献: (1) Robust Locally Weighted Regression and Smoothing Scatterplots (Willism_S.Cleveland) (2) 数据挖掘中强局部加权回归算法实现 (虞乐,肖基毅) R实现 #Robust Locally Weighted Regression 鲁棒局部加权回归 # 一元样本值x,y ;待预测样本点xp ;f局部加权窗口大小(一般取1/3~2/3);d局部加权回归阶数; #time鲁棒局部加权