最小二乘线性回归

news2024/11/16 12:35:43

线性回归(linear regression):试图学得一个线性模型以尽可能准确地预测实际值的输出。

以一个例子来说明线性回归,假设银行贷款会根据 年龄 和 工资 来评估可放款的额度。即:

数据:工资和年龄(2个特征)

目标:预测银行放款额度(标签)

参数:考虑工资和年龄分别对放款额度的影响程度

可以写成这样: Y = X 1 θ 1 + X 2 θ 2 Y=X_1\theta_1+X_2\theta_2 Y=X1θ1+X2θ2,这里 X 1 、 X 2 就是特征, Y X_1、X_2 就是特征,Y X1X2就是特征,Y就是银行最终放款额度。

​ 找到最合适的一个平面来拟合数据点:
在这里插入图片描述

​ 拟合的平面方程: h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 h_{\theta}(x)=\theta_0+\theta_1x_1+\theta_2x_2 hθ(x)=θ0+θ1x1+θ2x2,这里 θ 0 \theta_0 θ0是偏置项。整合该方程可以写成如下形式:
h θ ( x ) = ∑ i = 0 n θ i x i = θ ⊤ x h_{\theta}(x)=\sum_{i=0}^n \theta_ix_i=\theta^\top x hθ(x)=i=0nθixi=θx
注意这里 x 0 = 1 x_0=1 x0=1,添加一个全为1的特征,方便表示。

​ 真实值和预测值之间肯定存在误差,用 ϵ \epsilon ϵ来表示误差。对于每个样本:
y i = θ ⊤ x i + ϵ i y_i = \theta^\top x_i + \epsilon_i yi=θxi+ϵi
这里 y i y_i yi 为真实值, θ ⊤ x i \theta^\top x_i θxi为预测值, ϵ i \epsilon_i ϵi为误差项

对于误差的理解:误差 ϵ i \epsilon_i ϵi是独立同分布的,且服从均值为0方差为 θ 2 \theta^2 θ2的高斯分布

  • 独立:每个样本 x i x_i xi是没有关系的(张三李四一起放款,他俩没关系)
  • 同分布:每个 x i x_i xi都是对于同一个问题的(他俩都是来同一家银行 )
  • 高斯分布:误差可大可小,但是绝大多数情况下这个浮动不会太大,极小情况下浮动会比较大,符合正常情况。

​ 由于误差服从高斯分布:
p ( ϵ i ) = 1 2 π σ e − 1 2 ( ϵ i σ ) 2 p(\epsilon_i) = \frac{1}{\sqrt{2\pi}\sigma } e^{-\frac{1}{2}\left(\frac{\epsilon_i}{\sigma}\right)^2} p(ϵi)=2π σ1e21(σϵi)2
将预测值和误差带入上式得:
y i = θ ⊤ x i + ϵ i 带入   p ( ϵ i ) = 1 2 π σ e − 1 2 ( ϵ i σ ) 2 : p ( y i ∣ x i ; θ ) = 1 2 π σ e − 1 2 ( y i − θ ⊤ x i σ ) 2 y_i = \theta^\top x_i + \epsilon_i \\ 带入\ \ p(\epsilon_i) = \frac{1}{\sqrt{2\pi}\sigma } e^{-\frac{1}{2}\left(\frac{\epsilon_i}{\sigma}\right)^2}:\\ p(y_i|x_i;\theta)=\frac{1}{\sqrt{2\pi}\sigma } e^{-\frac{1}{2}\left(\frac{y_i-\theta^\top x_i}{\sigma}\right)^2} yi=θxi+ϵi带入  p(ϵi)=2π σ1e21(σϵi)2p(yixi;θ)=2π σ1e21(σyiθxi)2
上式的似然函数如下:
L ( θ ) = ∏ i = 1 m p ( y i ∣ x i ; θ ) = ∏ i = 1 m 1 2 π σ e − 1 2 ( y i − θ ⊤ x i σ ) 2 L(\theta) = \prod_{i=1}^mp(y_i|x_i;\theta)=\prod_{i=1}^m \frac{1}{\sqrt{2\pi}\sigma } e^{-\frac{1}{2}\left(\frac{y_i-\theta^\top x_i}{\sigma}\right)^2} L(θ)=i=1mp(yixi;θ)=i=1m2π σ1e21(σyiθxi)2
对似然函数的解释:

什么样的参数跟我们的数据组合后恰好是真实值

对数似然:
l o g L ( θ ) = l o g ∏ i = 1 m p ( y i ∣ x i ; θ ) = l o g ∏ i = 1 m 1 2 π σ e − 1 2 ( y i − θ ⊤ x i σ ) 2 = m l o g 1 2 π σ − 1 σ 2 ∗ 1 2 ∗ ∑ i = 1 m ( y i − θ ⊤ x i ) 2 log L(\theta) =log \prod_{i=1}^mp(y_i|x_i;\theta)=log \prod_{i=1}^m \frac{1}{\sqrt{2\pi}\sigma } e^{-\frac{1}{2}\left(\frac{y_i-\theta^\top x_i}{\sigma}\right)^2}\\=mlog\frac{1}{\sqrt{2 \pi}\sigma}-\frac{1}{\sigma ^2}*\frac12*\sum_{i=1}^m(y_i-\theta^\top x_i)^2 logL(θ)=logi=1mp(yixi;θ)=logi=1m2π σ1e21(σyiθxi)2=mlog2π σ1σ2121i=1m(yiθxi)2
目标是让似然函数(对数变换之后)越大越好:
m a x   l o g L ( θ ) → m i n   J ( θ ) = 1 2 ∑ i = 1 m ( y i − θ ⊤ x i ) 2 (最小二乘法) max \ log L(\theta)\\ →min \ J(\theta)=\frac12 \sum_{i=1}^m(y_i-\theta^\top x_i)^2(最小二乘法) max logL(θ)min J(θ)=21i=1m(yiθxi)2(最小二乘法)
J ( θ ) = 1 2 ∑ i = 1 m ( y i − θ ⊤ x i ) 2 J(\theta)=\frac12 \sum_{i=1}^m(y_i-\theta^\top x_i)^2 J(θ)=21i=1m(yiθxi)2即为最小二乘法。

​ 将目标函数写为矩阵形式:
J ( θ ) = 1 2 ∑ i = 1 m ( y i − θ ⊤ x i ) 2 = 1 2 ( X θ − y ) ⊤ ( X θ − y ) 对 θ 求偏导 : ∇ θ J ( θ ) = X ⊤ X θ − X ⊤ y 令 ∇ θ J ( θ ) = 0 得 : θ = ( X ⊤ X ) − 1 X ⊤ y J(\theta)=\frac12 \sum_{i=1}^m(y_i-\theta^\top x_i)^2= \frac12(X\theta-y)^\top (X\theta-y)\\ 对\theta 求偏导:\\ \nabla_\theta J(\theta)=X^\top X\theta-X^\top y\\ 令\nabla_\theta J(\theta)=0得:\\ \theta=(X^\top X)^{-1}X^\top y J(θ)=21i=1m(yiθxi)2=21(y)(y)θ求偏导:θJ(θ)=XXyθJ(θ)=0:θ=(XX)1Xy
​ 采用微分和迹的关系 d f = t r ( ( ∂ f ∂ X ) ⊤ d X ) df= tr((\frac{\partial f}{\partial X})^\top dX) df=tr((Xf)dX)进行求导,求导过程如下:
d J ( θ ) = t r ( d J ( θ ) ) = d [ 1 2 ( X θ − y ) ⊤ ( X θ − y ) ] = t r [ d ( 1 2 ( θ ⊤ X ⊤ X θ − 2 y ⊤ X θ + y ⊤ y ) ) ] = t r [ d ( 1 2 θ ⊤ X ⊤ X θ ) ] − t r ( d ( 2 y ⊤ X θ ) ) + t r ( d ( y ⊤ y ) ) = t r ( 1 2 d θ ⊤ X ⊤ X θ ) + t r ( 1 2 θ ⊤ X ⊤ X d θ ) − t r ( 2 y ⊤ X d θ ) + 0 = t r ( 1 2 θ ⊤ X ⊤ X d θ ) + t r ( 1 2 θ ⊤ X ⊤ X d θ ) − t r ( 2 y ⊤ X d θ ) = t r ( θ ⊤ X ⊤ X d θ − 2 y ⊤ X d θ ) = t r ( ( θ ⊤ X ⊤ X − 2 y ⊤ X ) d θ ) = t r ( ( X ⊤ X θ − 2 X ⊤ y ) ⊤ d θ ) 故: ∂ J ( θ ) ∂ θ = X ⊤ X θ − 2 X ⊤ y dJ(\theta)= tr(dJ(\theta))=d[\frac12(X\theta-y)^\top (X\theta-y)]\\ =tr[d(\frac12(\theta^\top X^\top X\theta-2y^\top X\theta+y^\top y))]\\ =tr[d(\frac12\theta^\top X^\top X\theta)]-tr(d(2y^\top X\theta))+tr(d(y^\top y))\\ =tr(\frac12d\theta^\top X^\top X\theta)+tr(\frac12\theta^\top X^\top Xd\theta)-tr(2y^\top Xd\theta)+0\\ =tr(\frac12\theta^\top X^\top Xd\theta)+tr(\frac12\theta^\top X^\top Xd\theta)-tr(2y^\top Xd\theta)\\ =tr(\theta^\top X^\top Xd\theta-2y^\top Xd\theta)=tr((\theta^\top X^\top X-2y^\top X)d\theta)\\ =tr(( X^\top X\theta - 2X^\top y)^\top d\theta)\\ 故:\\ \frac{\partial J(\theta)}{\partial \theta}=X^\top X\theta - 2X^\top y\\ dJ(θ)=tr(dJ(θ))=d[21(y)(y)]=tr[d(21(θX2y+yy))]=tr[d(21θX)]tr(d(2y))+tr(d(yy))=tr(21dθX)+tr(21θXXdθ)tr(2yXdθ)+0=tr(21θXXdθ)+tr(21θXXdθ)tr(2yXdθ)=tr(θXXdθ2yXdθ)=tr((θXX2yX)dθ)=tr((X2Xy)dθ)故:θJ(θ)=X2Xy
X ⊤ X X^\top X XX为满秩矩阵或者正定矩阵时,令偏导数 ∂ J ( θ ) ∂ θ = X ⊤ X θ − 2 X ⊤ y = 0 \frac{\partial J(\theta)}{\partial \theta}=X^\top X\theta - 2X^\top y=0 θJ(θ)=X2Xy=0得到:
θ = ( X ⊤ X ) − 1 X ⊤ y \theta=(X^\top X)^{-1}X^\top y θ=(XX)1Xy

其中 ( X ⊤ X ) − 1 (X^\top X)^{-1} (XX)1是矩阵 X ⊤ X X^\top X XX的逆矩阵。但是现实任务中, X ⊤ X X^\top X XX通常不是满秩矩阵,例如在许多任务中会遇到大量的变量,其数目甚至超过样例数,导致X的列数多于行数, X ⊤ X X^\top X XX X ⊤ X X^\top X XX显然不满秩。此时可以解出多个 θ \theta θ,他们都能使均方差最小化。选择哪一个解作为输出,将由机器学习算法的归纳偏好决定,常见的做法是引入正则化项。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1242986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业必看的大数据安全极速传输解决方案

在这个大数据时代,企业在享受大数据带来的便利同时,也面临着巨大的挑战,其中最主要的问题就是数据安全方面和传输方面,为了更好地满足企业大数据传输的需求,小编将深入分析企业对于大数据传输面临的挑战和风险以及大数…

[PTQ]均匀量化和非均匀量化

均匀量化和非均匀量化 基本概念 量化出发点:使用整型数据类型代替浮点数据,从而节省存储空间同时加快推理速度。量化基本形式 均匀量化:浮点线性映射到定点整型上,可以根据scale/offset完成量化/反量化操作。非均匀量化 PowersO…

containerd Snapshots功能解析

containerd Snapshots功能解析 snapshot是containerd的一个核心功能,用于创建和管理容器的文件系统。 本篇containerd版本为v1.7.9。 本文以 ctr i pull命令为例,分析containerd的snapshot “创建” 相关的功能。 ctr命令 ctr image相关命令的实现在cmd…

OpenAI“宫斗”新进展!Sam Altman将重返OpenAI担任首席执行官 董事会成员改动

在经过激烈的五天讨论和辩论之后,高调人工智能初创公司OpenAI宣布,其联合创始人之一Sam Altman将回归担任首席执行官。这一决定是对上周Altman突然被解雇的回应,该决定引起了极大的关注和讨论。 OpenAI表示,他们已经达成了与Altm…

低代码平台推荐:五大低代码厂商谁的模式更“合适”

随着数字化时代的到来,低代码开发平台作为提高数字生产力的工具正受到越来越多企业的关注,市面上的低代码产品和厂商更是“乱花渐欲迷人眼”。 各家产品不仅功能各有不同,甚至商机都有区别的情况,如何做好产品选型已然成了采购企…

2023年国内好用的企业网盘推荐

2023年企业网盘俨然已经成为了各个企业团队的标配了,那么2023年国内有什么好用的企业网盘吗?2023国内哪个企业网盘好用? 国内哪个企业网盘好用? 由于不同行业企业对于企业网盘的具体需求点不同,因此我们无法从功能上评…

idea 2023 安装配置 Gradle8.4

官网:https://gradle.org 下载 Gradle8.4 https://gradle.org/releases/ 解压到本地,到 gradle-8.4\init.d 目录下新建文件:init.gradle 这里有个坑,编译报http协议安全的问题,解决办法,加入&#xff1…

【EI会议征稿】第十一届先进制造技术与材料工程国际学术会议 (AMTME 2024)

JPCS独立出版/高录用快检索/院士杰青云集 第十一届先进制造技术与材料工程国际学术会议 (AMTME 2024) 2024 11th International Conference on Advanced Manufacturing Technology and Materials Engineering 第十一届先进制造技术与材料工程国际学术会议 (AMTME 2024) 定于…

前端处理返回数据为数组对象且对象嵌套数组并重名的数据,合并名称并叠加数据

前端处理返回数据为数组对象且对象嵌套数组并重名的数据,合并名称并叠加数据 var newList[]; var table{}; var dataObj{}; var finalList[]; var tableData[{brName:营业部,dateStr:2023-11-23,tacheArr:[{dealCnt:20,tacheName:奔驰}]},{brName:营业部,dateStr:2…

软件开发团队如何确保团队成员与项目进度一致?

在软件开发团队中,确保团队成员的利益与项目进度保持一致,可以采取以下措施: 建立基础流程:建立几个最主要的流程,如任务跟踪、开发效率提升、任务完成等,可以帮助小团队从无序逐步进入有序。 关注员工反馈…

【逆向】NahamCon CTF -Click Me Writeup(BridaFrida Hook 拿Flag)

文章目录 前言一、样式与功能点二、反编译三、Frida Get Flag四、BurpSuite插件-Brida总结 前言 第一次做外国CTF比赛的mobile challenge 题,题目就是一个安卓的apk安装包。顺便记录一下代码分析过程以及分享两种不同的解题思路。 提示:以下是本篇文章正…

选对软件公司,助力小程序商城腾飞

选择一家合适的软件公司对于小程序商城的开发和运营至关重要。在众多的软件公司中,如何找到最适合自己的合作伙伴呢?本文将从实际需求、公司实力、案例展示、服务态度和价格等五个方面,为您解析如何选择合适的软件公司。 一、明确实际需求 在…

用「超舒适」突围,星纪元 ES 加量不加价

在 2023 广州车展上,星途星纪元 ES 正式开启预售,新车预售区间 24.8-35.8 万元,共推出五款车型配置。 外观方面,星纪元 ES 前脸采用了封闭式的设计,前大灯组采用了流行的贯穿式设计搭配矩阵大灯,使得整个灯…

cefsharp119.4.30(cef119.4.3Chromium119.0.6045.159)版本升级体验支持x86_h264及其他多个h264版本

Cefsharp119.4.30,cef119.4.3,Chromium119.0.6045.159 此更新包括一个高优先级安全更新 This update includes a high priority security update. 说明:此版本119.4.3支持x86_H264视频播放(需要联系我),其他版本。.NETFramework 4.6.2 NuGet Gallery | CefSharp.WinForms …

Selenium(12):层级定位_通过父元素找到子元素

层级定位 在实际的项目测试中,经常会遇到无法直接定位到需要选取的元素,但是其父元素比较容易定位,通过定位父元素再遍历其子元素选择需要的目标元素,或者需要定位某个元素下所有的子元素。 层级定位的思想是先定位父对象&#xf…

外包干了4年,技术算是没了...

先说一下自己的情况。大专生,19年通过校招进入湖南某软件公司,干了接近3年的测试,今年年上旬,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了三年&#xff0c…

企业邮箱即时提醒服务推荐

现在用企业邮箱比较多,但是不能即时提醒,总是误事,什么邮箱可以即时提醒呢?随着工作和生活节奏的加快,传统的电子邮件系统由于不能即时提醒,往往会导致重要邮件的漏接,从而引发一系列的麻烦和误…

java--继承快速入门

1.什么是继承 java中提供了一个关键字extends,用这个关键字,可以让一个类和另一个类建立其父子关系。 2.继承的特点 子类能继承父类的非私有成员(成员变量,成员方法)。 3.继承后对象的创建 子类的对象是由子类、父类共同完成的。 4.继承的…

贝锐向日葵:独家算法如何支撑不断地产品创新?

作为国民级的专业远程控制品牌,贝锐旗下的“向日葵远程控制”一直在远程控制领域不断积累创新。 近年来,远程控制软件本身开始成为企业的主流远程业务工具以及个人场景下的日常必备软件,向日葵远程控制也在不断地完善并创新产品。 比如在前…