线性回归相关知识及公式推导

article/2025/8/24 19:45:50

   转自https://www.cnblogs.com/GuoJiaSheng/p/3928160.html

在现实生活中普遍存在着变量之间的关系,有确定的和非确定的。确定关系指的是变量之间可以使用函数关系式表示,还有一种是属于非确定的(相关),比如人的身高和体重,一样的身高体重是不一样的。

      线性回归:

           1: 函数模型(Model):

                 

           假设有训练数据

                

          那么为了方便我们写成矩阵的形式

                

         2: 损失函数(cost):

                 现在我们需要根据给定的X求解W的值,这里采用最小二乘法。   

     a.最小二乘法:

      何为最小二乘法,其实很简单。我们有很多的给定点,这时候我们需要找出一条线去拟合它,那么我先假设这个线的方程,然后把数据点代入假设的方程得到观测值,求使得实际值与观测值相减的平方和最小的参数。对变量求偏导联立便可求。

              因此损失代价函数为:

            

        3: 算法(algorithm):(注意 A的转置乘B = B的转置乘A)

             现在我们的目的就是求解出一个使得代价函数最小的W:

            a.矩阵满秩可求解时(求导等于0):

                        

          b.矩阵不满秩时(梯度下降):

      梯度下降算法是一种求局部最优解的方法,对于F(x),在a点的梯度是F(x)增长最快的方向,那么它的相反方向则是该点下降最快的方向,具体参考wikipedia。

     原理:将函数比作一座山,我们站在某个山坡上,往四周看,从哪个方向向下走一小步,能够下降的最快;

     注意:当变量之间大小相差很大时,应该先将他们做处理,使得他们的值在同一个范围,这样比较准确。

    1)首先对θ赋值,这个值可以是随机的,也可以让θ是一个全零的向量。

    2)改变θ的值,使得J(θ)按梯度下降的方向进行减少。

    描述一下梯度减少的过程,对于我们的函数J(θ)求偏导J: 

    Repeat  until convergence:{

     image

    下面是更新的过程,也就是θi会向着梯度最小的方向进行减少。θi表示更新之前的值,-后面的部分表示按梯度方向减少的量,α表示步长,也就是每次按照梯度减少的方向变化多少。

     image 

    }

     假设有数据集D时:

    

       对损失函数求偏导如下:

       

     使用矩阵表示(方便计算)

   

    从概率层面解释-回归模型的目标函数:

          基本上每个模型都会有一个对应的目标函数,可以通过不同的最优化求解方法(梯度下降,牛顿法等等)对这些对应的目标函数进行求解。线性回归模型,我们知道实际上是通过多个自变量对自变量进行曲线拟合。我们希望找到一条可以较好拟合的曲线,

   那我们如何判断一条曲线的拟合程度的好坏。上面讲到,我们采用的是最小二乘法(预测值和真实值得误差的平方和),那为什么要用这个作为目标函数呢?

         可以从中心极限定理、高斯分布来分析:

         1.中心极限定理:

             设有n个随机变量,X1,X2,X3,Xn,他们之间相互独立,并且有相同的数学期望和均值。E(X)=u;D(x)=δ2.令Yn为这n个随机变量之和。

                 

                Zn为X这几个变量的规范和。

           2.高斯分布

           假的给定一个输入样本x,我们得到预测值和真实值间的存在的误差e,那么他们的关系如下:

         

           而这里,我们就可以假设e服从标准的高斯分布。

           为什么呢?回归模型的最终目标是建立自变量x和y之间的关系,我们希望通过x可以较为准确的表示结果y。而在实际应用场景中,很难甚至不可能把导致y结果的所有变量(特征)都找到,放到回归模型里面。

我们只存放那些认为比较重要的特征。根据中心极限定理,把那些对结果影响比较小的(假设独立分布)之和认为是符合正态分布是合理的。

             

     那么x和y的条件概率:

                  

     那么知道一条样本的概率,我们就可以通过极大估计求似然函数,优化的目标函数如下:

     

  通过取对数我们可以发现极大似然估计的目标函数和最小平方误差是一样。

   在概率模型中,目标函数的极大和极小与极大似然估计是等价的。

        假设随机变量为Y,和普通变量x存在相关关系,由于Y是随机变量,对于x的各个确定值,Y有它的分布(高斯)。

      假设为:

         

     使用极大似然估计可求解。

     我们知道对于下面公式:

         

      y为随机变量,在c=E(y)时达到最小,这表明以E(y)作为y的近似是最好的。

   


http://chatgpt.dhexx.cn/article/8jmAntHo.shtml

相关文章

线性模型(二)-- 线性回归公式推导

我们在初中学习线性方程的时候就已经接触过回归的相关概念,在这里简单介绍一下机器学习中的“回归”,机器学习的目的有两个:回归和分类,回归是解决连续数据的预测问题,而分类是为了解决离散数据的预测问题。线性回归是…

一元线性回归公式推导

一元线性回归公式推导 平均损失函数: 对w,b求偏导: 可求解(先求b,再求w): 或: 这两个式子中的w是等价de,可由第一个w分子分母同除n,再由下式得到第二个w: 参考文献: https://zhidao.baidu.com/q…

线性回归模型公式推导

线性回归公式推导 线性模型一、线性回归(一)一元线性回归1. 由最小二乘法得出损失函数2. 证明损失函数 E ( w , b ) E(w,b) E(w,b)是关于 w w w和 b b b的凸函数3. 对损失函数求关于b和w的一阶偏导数4. 令一阶偏导数为0解出 w w w和 b b b (二…

线性回归--公式推导

线性回归 -- LIner regression 线性回归&#xff08;Linear regression&#xff09;是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析 —维基百科 线性回归--理论推导 <1> 数据: 本次推导使用的数据为--银行贷款数据。 &…

线性回归原理及算法

今天给大家的介绍一下线性模型&#xff0c;线性回归模型虽说模型简单&#xff0c;但距今为止依旧在机器学习算法中占据一定的地位&#xff0c;不仅如此&#xff0c;而且在实际的业务应用中也是屡试不爽的机器学习算法。 线性回归模型公式&#xff1a;YXwb &#xff08;一个X变量…

机器学习之线性回归

线性回归是最简单的一个函数拟合过程&#xff0c;一元线性回归公式为yaxb。 我们做拟合&#xff0c;首先需要定义一个损失函数。一般常用的损失函数有&#xff1a;0-1损失函数和绝对值损失函数 0-1损失是指&#xff0c;预测值和目标值不相等为1&#xff0c;否则为0&#xff1a;…

在线Cron表达式生成器,定时任务表达式生成器

近期项目需要在后台管理系统的页面上生成定时任务表达式存入定时任务系统的数据库中&#xff0c;就是那种根据后台管理员指定的时分秒年月日生成一个定时任务表达式。 一时间有点不好下手。我可以根据后台管理员指定的时分秒年月日手动写一个定时任务表达式&#xff0c;也可以…

在线QuartzCron定时任务表达式在线生成

在线QuartzCron定时任务表达式在线生成 在线QuartzCron定时任务表达式在线生成 Quartz是一个完全由java编写的开源作业调度框架,Quartz最主要的功能就是调度器(完成定时任务)。本工具可以在线生成QuartzCron表达式 Quartz是一个完全由java编写的开源作业调度框架,Quartz最主要…

Android Studio修改应用名称及应用图标

一、修改应用名称 找到src/main/AndroidManifest.xml文件&#xff1a; android:label后面配置的就是应用名称配置路径或应用名称。 方式1&#xff1a;android:label"xxx应用"&#xff08;应用名称显示xxx应用&#xff09; 方式2&#xff1a;android:label"st…

Android修改应用程序图标和名字

Android修改应用程序图标和名字 对于一个APP应用程序来说&#xff0c;最鲜明的就是APP的图标和名字了。 修改应用图标 在res/drawable中保存一个jpg或者png的图片文件。(png支持透明度) 例&#xff1a;在drawable中保存icon.jpg文件修改AndroidManifest.xml中application的a…

flutter 修改app名字和图标(安卓)

安卓 修改名字: 找到flutter项目下面的android>app>src>main>AndroidManifest.xml 修改里面的android:label"改成你要的名字" 修改图标: 找到android>app>src>main>res里面的mipmap-xx文件夹修改里面的图标 一件生成多种格式的图标: http…

android studio修改app图标

一、修改图标文件 1.找到项目下的多个mipmap-目录&#xff08;如下图&#xff09;&#xff0c;将要修改的图片在每个目录中都放入一份 2.再找到mipmap-anydpi-v26目录&#xff08;如下图&#xff09;&#xff0c;修改目录中两个文件的内容&#xff0c;使其指向我们上一步放入的…

如何修改安卓应用图标和程序名称

安卓修改大师可以在没有源代码的情况下&#xff0c;直接反编译已经打包的APK安装包&#xff0c;通过修改SMALI代码实现添加和去除部分功能&#xff0c;也可以通过修改应用图标和应用程序名称实现个性化应用&#xff0c;甚至可以通过修改应用程序配置参数&#xff08;内置统计参…

修改app图标

修改app图标 1.准备三个尺寸的.png图片 &#xff08;注&#xff1a;一定要是.png后缀的图片&#xff09;,分别命名为xx.png, xx2x.png, xx3x.png; 2.在项目中找到项目->Resource->AppLogo,把三个尺寸的图片拉入项目中&#xff0c;选择Copy items if needed、Create gr…

如何修改软件名称及图标,非常详细

所需工具 MT管理器&#xff1a;下载 理论&#xff1a; 补充android:versionName"2.4"是版本号 实战&#xff1a; 修改图标 wzry.png就是刚刚复制进来的图片名称 图标修改完成 下面开始修改名称&#xff1a;

iOS开发技巧:设置App icon图标及修改应用程序名

前言 这是iOS开发技巧系列博客的第二篇&#xff0c;本篇主要简单介绍一下如何设置应用程序的icon图标以及修改应用程序名。 设置 icon 首先我们来看看如何设置App icon图标&#xff0c;设置应用程序的icon图标主要有两种方法&#xff1a; 第一种&#xff1a;通过项目的Imag…

更换app图标和名称

更换app图标和名称 参考地址&#xff1a; https://blog.csdn.net/pla12147111/article/details/97684488 预装&#xff1a;预装雷电模拟器3.59 和 AndroidKiller.exe 打开后等待反编译成功 更换文字&#xff0c;首先在模拟器中安装app查看app图标和名称 打开工具&#xf…

Android Studio中修改APP图标和APP名称

Android Studio生成的APP默认图标是经典的机器人图标。可以通过Android Studio实现APP图标和名称的修改。 1 修改APP图标 在程序对应的AndroidMenifest.xml中指定了该APP的图标。 <application>......android:icon"mipmap/ic_launcher"</application>…

如何修改Android APP的图标和名字

看看下图中红框包围的一款APP的图标和名称&#xff0c;如何在Android中进行修改呢&#xff1f; 修改主要在manifest.xml&#xff08;项目清单&#xff09;中&#xff1a; FR&#xff1a;海涛高软&#xff08;QQ技术交流群&#xff1a;386476712&#xff09;

Android Studio修改app图标以及名字

1. 修改名字&#xff1a; Android–>AndroidManifest.xml–>android:label属性 点击属性值&#xff0c;实现跳转&#xff0c;改变名字 2. 修改图标 准备5种尺寸的相同图标&#xff1a;&#xff08;48 * 48&#xff0c;72 * 72&#xff0c;96 * 96&#xff0c;144 * …