多元线性回归(一)

基本概念

线性回归时机器学习中监督学习下的一种算法。回归问题主要关注是因变量(需要预测的值,可以是一个也可以是多个)和一个或多个值型的自变量(预测变量)之间的关系。
需要预测的值:即目标变量,target,y,连续值预测变量
影响目标变量的因素:X1……Xn,可以是连续值也可以是离散值。
因变量和自变量之间的关系:即模型,model,是我们要求解的。


1.1 连续值

数值型数据中,能无限细分的叫做连续型
例如身高,长度


1.2 离散型数据

不能无限细分的就叫离散型
比如序号1~20,1和2之间没有别的序号,又比如等级数据,一级二级三级是人为界定,或者我国的各省的名称,不是测量获得的。


1.3 简单的线性回归

前面提到过的,算法说白的了就是公式,简单的线性回归属于一个算法,他所对应的公式
y = w x + b y = wx + b y=wx+b
这个公式中,y是目标变量即未来要预测的值,X是影响y的因素,w,b
是公式上的参数即要求的模型。其实b 就是截距,w就是斜率,所以和明显如果模型求出来了,未来影响y值的未知数据就是一个X值,也可以一说影响y值的因素只有哦一个,所以这就叫简单的线性回归的原因。
同时我们可以发现从x到y的计算,x只是一次方,所以这些算法叫线性回归是我原因

其实,大家在上小学的时候就已经会解一元一次方方程了,为什么那个时候哦不叫人工智能算法呢?因为人工智能算法要求的是最优解!


1.4 最优解

Actual value: 真实值,一般使用y表示
Predicted value: 预测值,是把已知的x带入到公式里面和猜出来的参数w,b计算得到的,一般使用在这里插入图片描述表示
Error::误差,预测值和真实值的差距,一般使用在这里插入图片描述表示
最优解:尽可能找到一个模型整体的误差最小,整体误差通常叫做损失Loss.
Loss:整体的误差,loss通过损失函数 loss function计算得到的
简单的线性回归的dome


1.5 多元线性回归

但是在现实生活中,往往影响y的因素不止一个,这时x就从一个变成n个了
,x1……xn 同时简单线性回归的公式就不在适用了。多元线性回归如下:

多元线性公式
在这里插入图片描述

2. 正规方程

2.1 最小二乘法

最小二乘法(Least Squares Method)是一种常见的数字优化技术,用于拟合一组数据点的最佳线性回归方程。它的目标是找到一条直线,使得该直线和数据点之间的误差平方和最小。

具体而言,最小二乘法的目标是最小化每个数据点与拟合直线之间垂直距离的平方和,即最小化所有数据点到拟合直线的残差平方和。残差是指每个数据点的实际值和集合直线在该点处的预测值之间的差异。

最小的二乘法可用于回归分析,即对一组数据拟合,并预测未来数据点的值。此外,他可以用于求解线性方程组,如先行回归模型的系数或参数估计等。

最小二乘法可以将误差转化为有确定的代数方程组(其方程式数目正好等于未知数的个数),从而可求解出这些未知参数。这个有确定解的代数方程组称为最小二乘法估计的正规方程。公式如下:

在这里插入图片描述

2.2、多元一次方程举例

1、二元一次方程

{ x + y = 14 2 x − y = 10 \begin{cases} x + y=14\\ 2x - y = 10\\ \end{cases} {x+y=142xy=10

2、三元一次方程

{ x − y + z = 100 2 x + y − z = 80 3 x − 2 y + 6 z = 256 \begin{cases} x - y + z = 100\\ 2x + y -z = 80\\ 3x - 2y + 6z = 256\\ \end{cases} xy+z=1002x+yz=803x2y+6z=256

3、八元一次方程

{ 14 x 2 + 8 x 3 + 5 x 5 + − 2 x 6 + 9 x 7 + − 3 x 8 = 339 − 4 x 1 + 10 x 2 + 6 x 3 + 4 x 4 + − 14 x 5 + − 2 x 6 + − 14 x 7 + 8 x 8 = − 114 − 1 x 1 + − 6 x 2 + 5 x 3 + − 12 x 4 + 3 x 5 + − 3 x 6 + 2 x 7 + − 2 x 8 = 30 5 x 1 + − 2 x 2 + 3 x 3 + 10 x 4 + 5 x 5 + 11 x 6 + 4 x 7 + − 8 x 8 = 126 − 15 x 1 + − 15 x 2 + − 8 x 3 + − 15 x 4 + 7 x 5 + − 4 x 6 + − 12 x 7 + 2 x 8 = − 395 11 x 1 + − 10 x 2 + − 2 x 3 + 4 x 4 + 3 x 5 + − 9 x 6 + − 6 x 7 + 7 x 8 = − 87 − 14 x 1 + 4 x 3 + − 3 x 4 + 5 x 5 + 10 x 6 + 13 x 7 + 7 x 8 = 422 − 3 x 1 + − 7 x 2 + − 2 x 3 + − 8 x 4 + − 6 x 6 + − 5 x 7 + − 9 x 8 = − 309 \left\{\begin{aligned} & \ 14x_2 + 8x_3 + 5x_5 + -2x_6 + 9x_7 + -3x_8 = 339\\&-4x_1 + 10x_2 + 6x_3 + 4x_4 + -14x_5 + -2x_6 + -14x_7 + 8x_8 = -114\\&-1x_1 + -6x_2 + 5x_3 + -12x_4 + 3x_5 + -3x_6 + 2x_7 + -2x_8 = 30\\&5x_1 + -2x_2 + 3x_3 + 10x_4 + 5x_5 + 11x_6 + 4x_7 + -8x_8 = 126\\&-15x_1 + -15x_2 + -8x_3 + -15x_4 + 7x_5 + -4x_6 + -12x_7 + 2x_8 = -395\\&11x_1 + -10x_2 + -2x_3 + 4x_4 + 3x_5 + -9x_6 + -6x_7 + 7x_8 = -87\\&-14x_1 + 4x_3 + -3x_4 + 5x_5 + 10x_6 + 13x_7 + 7x_8 = 422\\&-3x_1 + -7x_2 + -2x_3 + -8x_4 + -6x_6 + -5x_7 + -9x_8 = -309 \end{aligned}\right.  14x2+8x3+5x5+2x6+9x7+3x8=3394x1+10x2+6x3+4x4+14x5+2x6+14x7+8x8=1141x1+6x2+5x3+12x4+3x5+3x6+2x7+2x8=305x1+2x2+3x3+10x4+5x5+11x6+4x7+8x8=12615x1+15x2+8x3+15x4+7x5+4x6+12x7+2x8=39511x1+10x2+2x3+4x4+3x5+9x6+6x7+7x8=8714x1+4x3+3x4+5x5+10x6+13x7+7x8=4223x1+7x2+2x3+8x4+6x6+5x7+9x8=309

# 上面八元一次方程对应的X数据
X = np.array([[  0 ,14 , 8 ,  0 ,  5,  -2,   9,  -3],[ -4 , 10 ,  6 ,  4 ,-14 , -2 ,-14  , 8],[ -1 , -6  , 5 ,-12 ,  3 , -3 ,  2 , -2],[  5 , -2  , 3 , 10  , 5 , 11 ,  4  ,-8],[-15 ,-15  ,-8 ,-15 ,  7 , -4, -12 ,  2],[ 11 ,-10 , -2 ,  4  , 3 , -9 , -6 ,  7],[-14 ,  0 ,  4 , -3  , 5 , 10 , 13 ,  7],[ -3 , -7 , -2 , -8  , 0 , -6 , -5 , -9]])
# 对应的y
y = np.array([ 339 ,-114  , 30 , 126, -395 , -87 , 422, -309])
display(X,y)

2.3、矩阵转置公式与求导公式

转置公式如下:

  • ( m A ) T = m A T (mA)^T = mA^T (mA)T=mAT,其中m是常数
  • ( A + B ) T = A T + B T (A + B)^T = A^T + B^T (A+B)T=AT+BT
  • ( A B ) T = B T A T (AB)^T = B^TA^T (AB)T=BTAT
  • ( A T ) T = A (A^T)^T = A (AT)T=A

假设我们有一个矩阵 A A A,它是一个 3 × 2 3 \times 2 3×2 的矩阵,其中包含了 6 6 6 个元素。我们可以将其表示为:

A = ( 1 2 3 4 5 6 ) A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \\ \end{pmatrix} A= 135246

现在,如果我们想要转置矩阵 A A A,我们可以将 A A A 中的行和列互换。这样就得到了一个新的矩阵 A T A^T AT,它的行数和 A A A 的列数相等,列数和 A A A 的行数相等。在这种情况下, A T A^T AT 是一个 2 × 3 2 \times 3 2×3 的矩阵。我们可以使用下面的公式来计算 A T A^T AT

A i , j T = A j , i A^T_{i,j} = A_{j,i} Ai,jT=Aj,i

也就是说,新矩阵中的第 i i i 行和第 j j j 列的元素等于原矩阵中的第 j j j 行和第 i i i 列的元素。

下面是具体的演示:

A T = ( 1 3 5 2 4 6 ) A^T = \begin{pmatrix} 1 & 3 & 5 \\ 2 & 4 & 6 \\ \end{pmatrix} AT=(123456)

在上面的例子中,我们首先写出了矩阵 A A A,然后使用公式 A i , j T = A j , i A^T_{i,j} = A_{j,i} Ai,jT=Aj,i 将其转置为矩阵 A T A^T AT。转置矩阵的行和列与原矩阵相反,其中原矩阵的第 i i i 行变为了新矩阵的第 i i i 列,原矩阵的第 j j j 列变为了新矩阵的第 j j j 行。

求导公式如下:

  • $ ∂ X T ∂ X = I \frac{\partial X^T}{\partial X} = I XXT=I 求解出来是单位矩阵
  • ∂ X T A ∂ X = A \frac{\partial X^TA}{\partial X} = A XXTA=A
  • $ ∂ A X T ∂ X = A \frac{\partial AX^T}{\partial X} = A XAXT=A
  • ∂ A X ∂ X = A T \frac{\partial AX}{\partial X} = A^T XAX=AT
  • ∂ X A ∂ X = A T \frac{\partial XA}{\partial X} = A^T XXA=AT
  • ∂ X T A X ∂ X = ( A + A T ) X ; \frac{\partial X^TAX}{\partial X} = (A + A^T)X; XXTAX=(A+AT)X; A不是对称矩阵
  • ∂ X T A X ∂ X = 2 A X ; \frac{\partial X^TAX}{\partial X} = 2AX; XXTAX=2AX; A是对称矩阵

2.4、推导正规方程 θ \theta θ 的解

  1. 矩阵乘法公式展开
  • J ( θ ) = 1 2 ( X θ − y ) T ( X θ − y ) J(\theta) = \frac{1}{2}(X\theta - y)^T(X\theta - y) J(θ)=21(y)T(y)

  • J ( θ ) = 1 2 ( θ T X T − y T ) ( X θ − y ) J(\theta) = \frac{1}{2}(\theta^TX^T - y^T)(X\theta - y) J(θ)=21(θTXTyT)(y)

  • J ( θ ) = 1 2 ( θ T X T X θ − θ T X T y − y T X θ + y T y ) J(\theta) = \frac{1}{2}(\theta^TX^TX\theta - \theta^TX^Ty -y^TX\theta + y^Ty) J(θ)=21(θTXTθTXTyyT+yTy)

  1. 进行求导(注意X、y是已知量, θ \theta θ 是未知数):
  • J ′ ( θ ) = 1 2 ( θ T X T X θ − θ T X T y − y T X θ + y T y ) ′ J'(\theta) = \frac{1}{2}(\theta^TX^TX\theta - \theta^TX^Ty -y^TX\theta + y^Ty)' J(θ)=21(θTXTθTXTyyT+yTy)​​

    y T y y^Ty yTy 是常量

  • J ′ ( θ ) = 1 2 ( ( θ T X T X θ ) ′ − ( θ T X T y ) ′ − ( y T X θ ) ′ ) J'(\theta) = \frac{1}{2}((\theta^TX^TX\theta)' - (\theta^TX^Ty)' -(y^TX\theta)') J(θ)=21((θTXT)(θTXTy)(yT))​​​​​

根据2.3、矩阵转置公式与求导公式可知

  • J ′ ( θ ) = 1 2 ( ( θ T X T X θ ) ′ − X T y − ( y T X ) T ) J'(\theta) = \frac{1}{2}((\theta^TX^TX\theta)' - X^Ty -(y^TX)^T) J(θ)=21((θTXT)XTy(yTX)T)​​

  • J ′ ( θ ) = 1 2 ( X T X θ + ( θ T X T X ) T − X T y − ( y T X ) T ) J'(\theta) = \frac{1}{2}(X^TX\theta + (\theta^TX^TX)^T- X^Ty -(y^TX)^T) J(θ)=21(XT+(θTXTX)TXTy(yTX)T)​​​

  • J ′ ( θ ) = 1 2 ( X T X θ + X T X θ − X T y − X T y ) J'(\theta) = \frac{1}{2}(X^TX\theta + X^TX\theta- X^Ty -X^Ty) J(θ)=21(XT+XTXTyXTy)

  1. 根据上面求导公式进行运算:
  • J ′ ( θ ) = 1 2 ( X T X θ + ( θ T X T X ) T − X T y − ( y T X ) T ) J'(\theta) = \frac{1}{2}(X^TX\theta + (\theta^TX^TX)^T-X^Ty - (y^TX)^T) J(θ)=21(XT+(θTXTX)TXTy(yTX)T)
  • J ′ ( θ ) = 1 2 ( X T X θ + X T X θ − X T y − X T y ) J'(\theta) = \frac{1}{2}(X^TX\theta + X^TX\theta -X^Ty - X^Ty) J(θ)=21(XT+XTXTyXTy)
  • J ′ ( θ ) = 1 2 ( 2 X T X θ − 2 X T y ) J'(\theta) = \frac{1}{2}(2X^TX\theta -2X^Ty) J(θ)=21(2XT2XTy)
  • J ′ ( θ ) = X T X θ − X T y J'(\theta) =X^TX\theta -X^Ty J(θ)=XTXTy
  • J ′ ( θ ) = X T ( X θ − y ) J'(\theta) =X^T(X\theta -y) J(θ)=XT(y) 矩阵运算分配律
  1. 令导数 J ′ ( θ ) = 0 : J'(\theta) = 0: J(θ)=0
  • 0 = X T X θ − X T y 0 =X^TX\theta -X^Ty 0=XTXTy

  • X T X θ = X T y X^TX\theta = X^Ty XT=XTy

  1. 矩阵没有除法,使用逆矩阵进行转化:
  • ( X T X ) − 1 X T X θ = ( X T X ) − 1 X T y (X^TX)^{-1}X^TX\theta = (X^TX)^{-1}X^Ty (XTX)1XT=(XTX)1XTy
  • I θ = ( X T X ) − 1 X T y I\theta = (X^TX)^{-1}X^Ty Iθ=(XTX)1XTy
  • θ = ( X T X ) − 1 X T y \theta = (X^TX)^{-1}X^Ty θ=(XTX)1XTy

到此为止,公式推导出来了~

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

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

相关文章

Name or service not knownstname

Name or service not knownstname Hadoop 或 Spark 集群启动时 报错 Name or service not knownstname 原因时因为 workers 文件在windows 使用图形化工具打开过 操作系统类型不对引发的 在Linux系统上删除 workers 文件 使用 vim 重新编辑后分发即可

前端笔记(四)Flex 布局

标准流 标准流也叫文档流,指的是标签在页面中默认的派不规则,例如:块元素独占一行,行内元素可以一行显示多个。 但是很多的网页布局都是块元素在一行中显示的,这时候就需要浮动和 Flex 布局,浮动只需要了解…

Java 中的 Collection 容器

Java 中的 “容器” 在 Java 中,java.util.Collection 是一个接口,定义了一组常用的操作和方法,提供了一种方便的方式来管理和操作一组对象。 它是 Java 集合框架的基础之一,提供了统一的方式来处理对象的集合。 Collection 接口继…

OLED材料市场研究:预计2029年将达到1447亿元

由于技术优势突出,近年来OLED 率先在智能手机、可穿戴等中小尺寸领域的渗透率持续提升。OLED就是有机发光显示技术,其最大特点是每个像素独立自发光,具有非常完美的黑色显示能力,在亮度、色彩、响应速度等方面远胜LCD屏幕&#xf…

基于three.js生成动态波浪背景效果

文章目录 前言一、安装three二、新建waves.js文件三、引入waves.js文件比查看效果如有启发,可点赞收藏哟~ 前言 基于three.js生成动态波浪背景效果 一、安装three npm i three -S二、新建waves.js文件 注意geometry.setAttribute和geometry.addAttribute和在不同…

统计centos系统哪一个进程打开文件描述符

一:找出前10进程打开的描述符 # find /proc/ -print|grep -P /proc/\d/fd|awk -F/ {print $3}|uniq -c|sort -rn |awk {print "进程 "$2" 打开 "$1" 个文件描述符"}|head 二:通过进程id找出对应的进程运行的程序。 # ps…

一键AI智能改写,一键AI智能生成原创文章

在数字化时代,创作内容已经成为大家日常生活和工作中不可或缺的一部分。本文将深入探讨一键AI智能改写的概念,剖析其背后的技术原理,同时聚焦于147原创助手这一代表性工具,解读其在改写文案上的独特之处,以及在各大平台…

Java中实用的策略模式【Strategy】

一、简介 我们知道Java中有许多的设计模式,总共32个左右。常见的比如简单工厂、建造者、原型、代理、桥接等,这些设计模式相当于是一个规范,主要是总结出来便于大家理解开发的一种算法思路。 今天主要是给大家介绍一下我们常见的策略模式&a…

【ARM Coresight 系列 2 文章 -- Trace32 对 APBIC 地址的配置 介绍】

文章目录 APBIC RomtableAPBIC Romtable 图 1 APBIC 网络图 如上图所示,如果想通过Trace32/DS-5 去访问 AP, 这个时候需要怎么做呢?可以看到 APBIC 中ROMTABLE 中 APB-AP 的偏移是0x00200000,所以 APB-AP的基地址为 0x2b000000 + 0x00200000,又从 APB-AP 的romtable 中可以…

23款奔驰E350eL升级小柏林音响 13个扬声器 590w

小柏林之声音响是13个喇叭1个功放,功率是590W,对应普通音响来说,已经是上等了。像著名的哈曼卡顿音响,还是丹拿音响,或者是BOSE音响,论地位,论音质柏林之声也是名列前茅。 升级小柏林音响&#…

百元挂耳式蓝牙耳机有哪些?百元挂耳式蓝牙集锦分享

生活节奏匆忙,蓝牙耳机成了解救沉浸音乐迷的利器,而在百元预算内,挂耳式设计更是让你摆脱繁琐,本文将为你盘点几款百元挂耳式蓝牙耳机,让你在音乐和通话中轻松自如,让我们一起发现这些性价比爆棚的挂耳式蓝…

ElasticSearch篇---第五篇

系列文章目录 文章目录 系列文章目录前言一、什么是ElasticSearch?二、ElasticSearch中的集群、节点、索引、文档、类型是什么?三、ElasticSearch中的分片是什么?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,…

宏工科技:电池装备高效交付“唯快不破”

面向TWh时代的锂电设备供应需求,锂电设备向标准化、模块化方向升级的趋势显现。 “近年来,宏工科技聚焦电池匀浆技术创新与规模化降本,通过电池匀浆工艺段的模块化探索与应用,从项目周期、成本、效率等多维度赋能电池前段制造高质…

理解意图,加速迈向L4高度自智网络

PART.1 自智背景 “云网自智”,目标未来! 随着自智网络概念的兴起及各类相应概念、规范、指导原则的不断发布,运营商也越发关注系统的自智能力,TMF 的Autonomous Networks 自智网络框架规范设定了自智网络的级别及评价标准&#x…

Pandas教程09:DataFrame数据可视化绘制折线图、柱状图、散点图、直方图等

pandas.plot() 是 pandas 库中的一个非常方便的函数,用于绘制各种图形,例如线图、柱状图、散点图等。以下是一些示例用法: 1.绘制一个简单的线图: # Author : 小红牛 # 微信公众号:wdPython import pandas as pd impo…

2023年淘宝天猫年终惊喜红包玩法

2023年淘宝天猫年终惊喜红包玩法,2023年淘宝年终好价节红包活动 随着2023年的尾声渐近,淘宝再次为广大用户带来了年终的惊喜——一场特别的红包活动。从12月8日零时开始,直至12月12日的午夜,淘宝app将开启一个为期五天的年终好价节…

stateflow并行执行——并行状态与互斥状态

1.什么叫并行(Parallel:AND)和互斥(Exclusive:OR)状态? :在parent chart中有多个child chart可以同时运行;在parent chart的多个child chart可以只能运行一个。 2.如何设置并行或互斥状态? :右键parent chart&#…

微信小程序访问不了阿里云oss图片链接解决办法

以下都有可能导致访问不了oss图片 1.小程序没有加访问白名单 这个需要前端搞,加上白名单,如果是域名加域名白名单,ip的话加ip白名单 2.阿里云设置域名白名单 打开bucket列表,选择对应的bucket 配置这个白名单,配置好以后,开发者工具可以预览了,手机端预览不了,查看自己的路…

无公网IP,从公网SSH远程访问家中的树莓派

下午好,我的网工朋友。 今天说点好玩的啊。树莓派 (Raspberry Pi) 可以做事情很多,用作家庭网络中的服务器,是非常流行的一种。 因为它微小的占地面积和低功耗使其成为运行轻量级服务器的完美设备。 在这种情况下,你可以在树莓派…

【栈迁移】强网杯2022 -- devnull

前言 题目不算难,多调一调就ok啦。但感觉我这个pay不是最优的,比较极限。 漏洞分析与利用 保护:没开 Canary 和 PIE 关键函数如下: 1)buf 的大小是32字节,而 fgets 了33字节,但是 fgets 本身…