首页 > 其他分享 >线性回归基本原理和公式推导

线性回归基本原理和公式推导

时间:2023-08-27 09:33:59浏览次数:36  
标签:因变量 函数 推导 基本原理 回归 独立 线性 变量

回复我们公众号“1号程序员”的“E001”可以获取《BAT机器学习面试1000题》下载链接。[关注并回复:【E001】]

线性回归是一种监督式机器学习算法,它计算因变量与一个或多个独立特征之间的线性关系。当独立特征的数量为1时,被称为单变量线性回归;在存在多于一个特征的情况下,被称为多变量线性回归。该算法的目标是找到最佳的线性方程,以便基于独立变量预测因变量的值。该方程提供了一条直线,表示因变量和独立变量之间的关系。直线的斜率表明因变量在独立变量发生单位变化时的变化量。

线性回归在许多不同领域中被使用,包括金融、经济学和心理学,用于理解和预测特定变量的行为。例如,在金融领域,线性回归可能被用于理解公司股价与其收益之间的关系,或者根据货币过去的表现预测其未来的价值。

监督学习中最重要的任务之一是回归。在回归中,一组记录具有X和Y值,并且这些值被用于学习一个函数,以便在你想要根据未知的X预测Y时可以使用这个学习到的函数。在回归中,我们需要找到Y的值,因此,在回归的情况下需要一个预测连续Y的函数,而X则作为独立特征。

在这里,Y被称为因变量或目标变量,而X被称为独立变量,也被称为Y的预测变量。有许多种类型的函数或模型可用于回归。线性函数是最简单的函数类型。在这里,X可以是表示问题的单个特征或多个特征。

 

 

线性回归执行的任务是基于给定的独立变量(x)来预测一个因变量值(y)。在上面的图中,X(输入)代表工作经验,Y(输出)代表一个人的薪水。回归线是我们模型的最佳拟合线。

 

线性回归模型的假设:

线性回归是一种强大的工具,用于理解和预测变量的行为,然而,为了得到准确可靠的解决方案,它需要满足一些条件。

(1)线性关系:独立变量和因变量之间存在线性关系。这意味着因变量的变化以线性方式跟随独立变量发生变化。

(2)独立性:数据集中的观测相互独立。这意味着一个观测的因变量值不取决于另一个观测的因变量值。

(3)方差齐性:在所有独立变量的取值范围内,误差的方差是恒定的。这表示独立变量的数量对误差的方差没有影响。

(4)正态性:模型中的误差服从正态分布。

(5)无多重共线性:独立变量之间没有高度相关性。这表示独立变量之间几乎没有或没有相关性。

这些条件是确保线性回归模型的准确性和可靠性所必需的。

线性回归的假设函数:

正如我们之前假设的,我们的独立特征是工作经验X,相应的薪水Y是因变量。假设X和Y之间存在线性关系,那么可以使用以下方式预测薪水:

该模型通过找到最佳的θ1和θ2值来得到最佳的回归拟合线。θ1是截距,θ2是输入x的系数。

一旦我们找到了最佳的θ1和θ2值,我们就得到了最佳拟合线。因此,当我们最终将我们的模型用于预测时,它将根据输入的x值预测y的值。

代价函数:

代价函数或损失函数实际上是预测值与真实值之间的误差或差异。它是预测值与真实值之间的均方误差(MSE)。代价函数(J)可以表示为:

如何更新 θ1 和 θ2 值以获得最佳拟合线呢?

为了实现最佳拟合的回归线,模型旨在预测目标值 ,使得预测值与真实值之间的误差最小。因此,更新 θ1 和 θ2 的值以达到最小化预测值与真实值之间误差的最佳值是非常重要的。

梯度下降:

可以使用梯度下降优化算法来训练线性回归模型,通过迭代地修改模型的参数以减少模型在训练数据集上的均方误差(MSE)。为了更新 θ1 和 θ2 的值以减少代价函数(最小化均方根误差值)并实现最佳拟合线,模型使用梯度下降。其思想是从随机的 θ1 和 θ2 值开始,然后迭代地更新这些值,达到最小的代价。

梯度实际上是一个导数,它定义了在输入略微变化时对函数输出的影响。它描述了函数的斜率或变化率,指示了在给定点上函数值增加最快的方向。在梯度下降中,我们利用梯度的方向来调整参数,以便更接近代价函数的最小值。

让我们对代价函数 J 关于 θ1 进行求导:

让我们对代价函数 J 关于 θ2 进行求导:

 

寻找最佳拟合训练数据的线性方程的系数是线性回归的目标。通过沿着均方误差负梯度的方向相对于系数的方向移动,可以改变系数。当学习率为 alpha 时,相应的截距和X的系数为:

 

 

标签:因变量,函数,推导,基本原理,回归,独立,线性,变量
From: https://www.cnblogs.com/sqchi1991/p/17659874.html

相关文章

  • 线性筛不大全
    众所周知,OI界有一股清流,它的名字叫做筛法这之中,有一线性筛十分出名,人称XXS.今天稍微总结一下最近用过的,比较厉害的,线性筛.目前用到的比较常用的线性筛,大多是建立在质数的基础上的,也就是以最普通的筛法求质数为基点,向外延伸.筛法求质数voidWonder_of_U(){......
  • 《线性代数》2. 向量的高级话题
    规范化和单位向量在了解完向量的基础知识后,我们来探讨更多和向量有关的高级话题。首先向量是一个有向线段,由原点指向空间中的某一个点,所以向量除了具有方向之外,还应该具有大小。比如有两个向量\(\vec{u}\)、\(\vec{w}\),分别是\((3,4)^{T}\)、\((4,3)^{T}\),那么它们的长度是多......
  • 数据结构代码题-线性表
    王道数据结构大题代码线性表#include<stdio.h>#include<stdlib.h>voiddelMin(int*arr,intlen){ if(!len){ printf("数组为空"); return0; } intmin=*arr,minPos=0; for(inti=0;i<len;i++){ if(min>*(arr+i)){ min=*(arr+......
  • 《线性代数》1. 一切从向量开始
    什么是向量我们在初等数学的时候,研究的都是一个数,而到线性代数,我们将从研究一个数拓展到研究一组数,而一组数的基本表示方法就是向量(Vector)。向量是线性代数研究的基本元素,它就是一组数,比如\((1,2,3)\)就是一个向量。那么问题来了,向量究竟有什么作用呢?或者说我们研究一组数有......
  • 《流畅的python》— 列表推导与生成器表达式
    列表推导是构建列表(list)的快捷方式,而生成器表达式则可以用来创建其他任何类型的序列。如果你的代码里并不经常使用它们,那么很可能你错过了许多写出可读性更好且更高效的代码的机会。很多Python程序员都把列表推导(listcomprehension)简称为listcomps,生成器表达式(generatorexpre......
  • Kafka快速实战以及基本原理详解
     这一部分主要是接触Kafka,并熟悉Kafka的使用方式。快速熟练的搭建kafka服务,对于快速验证一些基于Kafka的解决方案,也是非常有用的。一、Kafka介绍​ChatGPT对于ApacheKafka的介绍:ApacheKafka是一个分布式流处理平台,最初由LinkedIn开发并于2011年开源。它主要用于解决大规模......
  • 【线性代数】第五章 特征值和特征向量
    1.特征值和特征向量特征值和特征向量的定义:对于n阶矩阵A,如果存在一个数λ以及非零n维列向量α,使得Aα=λα成立则称λ是矩阵A的一个特征值。非零向量α是矩阵A属于特征值的一个特征向量。这个式子可以写成(λE-A)α=0,α≠0,所以特征向量α可以说成这个齐次方程的非零......
  • 线性基学习笔记
    \(#definglllonglong\)线性基用处:快速查询一个数是否可以被一堆数异或出来快速查询一堆数可以异或出来的最大\(/\)最小值快速查询一堆数可以异或出来的第\(k\)大值线性基空间复杂度:设有一个序列,其值域为\([1,N]\),我们可以构造一个长度为\(⌈\log_2N⌉\)......
  • 线性代数为什么是计算机专业的基础课程
    线性代数在机器学习中比较低阶的应用是矩阵运算,比如softmax分类器y^=σ(WTx+b)\hat{\mathbf{y}}=\sigma(W^T\mathbf{x}+\mathbf{b}),在这里矩阵形式使得书写、计算更方便,也能帮助理解模型(将矩阵看作是一种变换);高阶一点的应用在无监督学习中,可以参考奇异值分解(SVD)等矩阵分解方......
  • Python列表推导式
    int_list=range(1,55,2)print(list(int_list))结果:[1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53]int_list=range(1,55,2)print([str(x)forxinint_list])结果:['1','3',&......