线性回归算法拟合数据原理分析以及源代码解析

线性回归算法拟合数据原理分析以及源代码解析

前言

前面的博客讲的都是分类问题,接下来的几篇博客,会着重于回归,倾向于对数据进行预测。大家是不是一听到预测就眼睛一闪,是不是可以用来预测股票涨跌、彩票号码什么的!我只能告诉你有人做出来的股票预测软件,而且正确率挺可观的。作为一个学习者,别着急,千里之行始于足下。踏踏实实的从原理到代码,一步一脚印。

项目源码已上传至GitHubb上,有需要的自取:项目地址
如果项目对你有些许帮助,不要忘记给个小⭐⭐

线性回归原理以及公式

1. 简单知识回顾

二元一次方程式大家都已经非常熟悉了,下面这个是他的一般式【式子1】:

img

不过通常呢,我们会将这个一般式中的y单独拿到等式一侧,其余的放在另一侧【式子2】:

img

注意,这两个式子的a和b不是一回事,各自表示对应式子的系数或者常数。

我们都知道,对于式子2来讲,决定这个式子在图像中的显示位置的是系数a,和常数b。

timg

对于图上这张图来说,红色这条直线对应的二元一次方程式子2的系数a为2,b为-1.蓝色这条线对应的式子2的系数a为-1,b为5.

也就是说,只要给出a和b的值,那么,我就能画出这样一条直线。

那这跟我们的算法有什么关系呢?

说到的,我们就是针对数据,找出这样的a和b,以此得出一条直线方程。

本次呢,主要是针对单属性数据量做算法介绍,针对多属性值数据来讲, 道理相同,无非就是将数据2的系数a和变量x变成向量,同时对于常量b,我们也可以写道向量里。也就相当于下面公式:

img

img

这里的n表述数据的属性个数,m表示数据量。

2. 最小二乘法解二元一次方程

首先我们得先了解一下最小二乘法的原理,先看一下下面这张图:

u=141283350,3911788756&fm=26&gp=0

图中浅蓝色的点是我们真实数据点的位置,黄色点是预测的数据点,中间这个绿色直线就是我们所

拟合出来的直线。预测点和真实数据点之间的距离,我们称之为误差。我们假设这条直线方程:

img

那么,针对这个误差,我们使用误差平方和来表示(其好处是能够解决正负值相互抵消问题):

img

为了达到更好的拟合效果,我们需要这个误差平方和达到最小。理想情况下,所有数据点均在拟合直线上,那么此时,这个误差平方和为0.

在代码方面,我们通常会将累积求和公式,使用向量的形式来进行表示,下面,我们对上面的公式进行向量化书写:

img</

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值