首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习——最小二乘回归

介绍了这么长时间的优化,今天我们换换口味,介绍一下机器学习算法中最基础的最小二乘回归

最小二乘回归(英文名:Ordinary Least Squares Regression [OLS], 又叫Generalized Least Squares [GLS])是常见的线性回归方法。最小二乘法的基本原则是:最优拟合直线应该使各点到直线的距离的和最小,也可表述为距离的平方和最小。

经典线性回归模型的基本假设:

(1)残差具有零均值;

(2)var

(3)残差项之间在统计意义上是相互独立的;

(4)残差项与变量x无关;

(5)残差项服从正态分布;

如果满足假设(1)-(4),由最小二乘法得到的估计量具有一些特性,它们是最优线性无偏估计量(Best Linear Unbiased Estimators,简记BLUE)。

1)线性(linear):意味着x与随机变量y之间是线性函数关系;

2)无偏(unbiased):意味着平均而言,实际由样本数据得到的x的参数值与其总体数据中的真实值是一致的;

3)最优(best):意味着在所有线性无偏估计量里,OLS估计量具有最小方差。

回归常见的3个必须要解决的问题在于:

1)Heterroskedasticity异方差性: 残差的方差不为常数, 残差与x相关(eg,x变大,残差变大), 违反了假设2和4

2)Autocorrelation自相关性:残差项之间自相关,违反了假设3

3)Multicollinearity多重共线性:多个x之间不独立,即xi与xj之间存在相关性。

说了这么多拗口的理论,举个实际例子就清楚了,如下式,我们要使用样本X的输入的某些变换(经过基函数的作用)的线性组合 H 来拟合样本的输出y(即,y = Hx,这里x是一个向量,表示H各列的一个线性组合,H = (H1,H2,...,HL),Hi = fi(X)),我们有如下的推导过程:

为了拟合的精确,我们定义了误差函数J(x):

J展开后如下:

J关于x求偏导数得:

令偏导为0得极小值:

所以我们就得到了x的解为:

来看一个实际例子,我们取一些三角函数,作为H矩阵的基函数作用于样本输入X,代码如下:

clear; closeall; clc;

n = 50;% 训练样本个数

N = 1000;% 测试样本个数

x = linspace(-3,3,n)';% n个样本服从-3到3的均匀分布

X = linspace(-3,3,N)';

pix = pi*x;

y = sin(pix)./pix + 0.1*x + 0.05*randn(n,1);% 拟合的函数

H(:,1) = ones(n,1);

P(:,1) = ones(N,1);

L = 15;% H矩阵的列数,即基函数的个数的一半,因为sin和cos各一半

fori= 1:L

H(:,2*i) = sin(i/2*x);

H(:,2*i+1) = cos(i/2*x);

P(:,2*i) = sin(i/2*X);

P(:,2*i+1) = cos(i/2*X);

end

t = H\y;% 这里的t就是文中的x,H\y = inv(H'*H)*H'*y

F = P*t;

plot(X,F,'g-','linewidth',2);

hold on

plot(x,y,'bo','linewidth',2);

axis([-2.8,2.8,-0.5,1.2]);

legend('测试样本','训练样本');

结果如下:

以上就是今天推送的内容,欢迎讨论。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180328G1XYHL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券