线性回归简介

线性回归简介

    • 1、情景描述
    • 2、线性回归




1、情景描述


假设,我们现在有这么一张图:
在这里插入图片描述

其中,横坐标x表示房子的面积,纵坐标y表示房价。我们猜想x与y之间存在线性关系: y = k x + b y=kx+b y=kx+b

现在,思考一个问题:如何找到一条直线,使得这条直线尽可能地拟合图中的所有数据点?
在这里插入图片描述

这个找最佳拟合直线的过程称为做线性回归

简而言之,线性回归就是在N维空间中找一个类似直线方程y=kx+b一样的函数来拟合数据

线性回归模型则是利用线性函数对一个或多个自变量(x)和因变量(y)之间的关系进行拟合的模型

这里有一个问题,线性等于直线吗?

线性函数的定义是零阶或一阶多项式。特征是二维时,线性模型在二维空间构成一条直线;特征是三维时,线性模型在三维空间中构成一个平面;以此类推,具体见下文线性回归的定义及推导

还有一个问题,那就是如何评判找的哪条直线才是最优的?详见文章最小二乘法:传送门

2、线性回归


1)线性回归的定义及推导

定义:对于一个有n个特征的样本而言,它的线性回归方程如下:

y = f ( x 1 , x 2 , . . . , x n − 1 ) = ω 0 + w 1 x 1 + w 2 x 2 + . . . + w n − 1 x n − 1 y = f(x_1,x_2,...,x_{n-1}) = \omega_0 + w_1x_1 + w_2x_2 +...+w_{n-1}x_{n-1} y=f(x1,x2,...,xn1)=ω0+w1x1+w2x2+...+wn1xn1

其中, w 0 w_0 w0~ w n − 1 w_{n-1} wn1统称为模型的参数,表示样本有n个特征,有时也用 θ \theta θ β \beta β表示

w 0 w_0 w0称为截距, w 1 w_1 w1~ w n − 1 w_{n-1} wn1称为回归系数(Regression Coefficients), x 1 x_1 x1~ x n − 1 x_{n-1} xn1为样本的输入向量,y为样本的输出向量

根据简单场景推导n个特征的样本线性回归方程过程如下:

假设我们有2个样本:[ x 1 x_1 x1=1, y 1 y_1 y1=1]、[ x 2 x_2 x2=2, y 2 y_2 y2=3],我们猜测其关系符合:
y = k x + b y = kx + b y=kx+b

将样本代入函数:
{ k ∗ 1 + b = 1 k ∗ 2 + b = 3 \begin{cases} k * 1 + b = 1 \\ k * 2 + b = 3 \end{cases} {k1+b=1k2+b=3
从最小次幂排列:
{ b ∗ 1 + k ∗ 1 = 1 b ∗ 1 + k ∗ 2 = 3 \begin{cases} b*1 + k*1 = 1 \\ b*1 + k*2 = 3 \end{cases} {b1+k1=1b1+k2=3
对应到2个特征的线性回归方程模板:
{ b ∗ x 01 + k ∗ x 11 = y 1 b ∗ x 02 + k ∗ x 12 = y 2 \begin{cases} b*x_{01} + k*x_{11} = y_1 \\ b*x_{02} + k*x_{12} = y_2 \end{cases} {bx01+kx11=y1bx02+kx12=y2
转换为矩阵:
[ 1 1 1 2 ] [ b k ] = [ 1 3 ] \left[ \begin{matrix} 1 & 1 \\ 1 & 2 \end{matrix} \right] \left[ \begin{matrix} b \\ k \end{matrix} \right] = \left[ \begin{matrix} 1 \\ 3 \end{matrix} \right] [1112][bk]=[13]

其中, x 0 x_0 x0始终为1。对应到2个特征的线性回归方程模板:
[ 1 x 11 1 x 12 ] [ b k ] = [ y 1 y 2 ] \left[ \begin{matrix} 1 & x_{11} \\ 1 & x_{12} \end{matrix} \right] \left[ \begin{matrix} b \\ k \end{matrix} \right] = \left[ \begin{matrix} y_1 \\ y_2 \end{matrix} \right] [11x11x12][bk]=[y1y2]
推广到一般场景:
[ 1 x 11 x 21 ⋯ x n − 1 , 1 1 x 12 x 22 ⋯ x n − 1 , 2 ⋮ ⋮ ⋮ ⋱ ⋮ 1 x 1 m x 2 m ⋯ x n − 1 , m ] [ ω 0 ω 1 ⋮ ω m − 1 ] = [ y 1 y 2 ⋮ y m ] \left[ \begin{matrix} 1 & x_{11} & x_{21} & \cdots & x_{{n-1},1} \\ 1 & x_{12} & x_{22} & \cdots & x_{{n-1},2} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{1m} & x_{2m} & \cdots & x_{{n-1},m} \end{matrix} \right] \left[ \begin{matrix} \omega_0 \\ \omega_1 \\ \vdots \\ \omega_{m-1} \end{matrix} \right] = \left[ \begin{matrix} y_1 \\ y_2 \\ \vdots \\ y_m \end{matrix} \right] 111x11x12x1mx21x22x2mxn1,1xn1,2xn1,m ω0ω1ωm1 = y1y2ym
简化:
X ω = y X\omega=y Xω=y
其中,y为m × \times × 1的矩阵向量,表示模型的理论输出; ω \omega ω为n × \times × 1的矩阵向量,表示模型的样本输入;X为m × \times × n的矩阵向量,m表示样本数,n表示样本的特征数

2)线性回归的解

线性回归的解析解 ω \omega ω推导

假设Y是样本的输出矩阵向量,维度为m × \times × 1,则根据勒让德最小二乘准则有:
J ( ω ) = ∣ ∣ y − Y ∣ ∣ 2 = ∣ ∣ X ω − Y ∣ ∣ 2 = ( X ω − Y ) T ( X ω − Y ) J(\omega) = ||y-Y||^2 = ||X\omega-Y||^2=(X\omega-Y)^T(X\omega-Y) J(ω)=∣∣yY2=∣∣XωY2=(XωY)T(XωY)
根据数学知识,函数导数为0处取极值:
∂ ∂ ω J ( ω ) = 2 X T X ω − 2 X T Y = 0 \frac{\partial}{\partial\omega}J(\omega)=2X^TX\omega-2X^TY=0 ωJ(ω)=2XTXω2XTY=0
解得:
ω = ( X T X ) − 1 X T Y \omega=(X^TX)^{-1}X^TY ω=(XTX)1XTY

3)线性回归解的几何意义

线性回归的解是通过最小二乘法求解的。其几何意义是:求解 Y Y Y X X X的列向量空间中的投影

几何意义的推导后续视情况补充


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

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

相关文章

Redis数据一致解决方案

文章目录 前言技术积累查询缓存业务流程更新缓存业务流程 更新缓存问题解决方案写在最后 前言 当前的应用服务很多都有着高并发的业务场景,对于高并发的解决方案一般会用到缓存来降低数据库压力,并且还能够提高系统性能减少请求耗时,比如我们…

Pytorch项目,肺癌检测项目之四

# 安装图像处理 的两个包 simpleITK 和 ipyvolume # 安装缓存相关的两个包 diskcache 和 cassandra-driver import gzip from diskcache import FanoutCache, Disk from cassandra.cqltypes import BytesType from diskcache import FanoutCache,Disk,core from diskcache…

c语言的练习---BCD解密

#继续源于c语言翁恺先生 一.分析 初看这道题的时候,可能很多人就想选择放弃,但这道题实在不是考察我们对于编码的能力;而是我们的数学能力。 就拿它的输入样例---18,来举例。 我们来看---在十进制中,是18D&#xf…

论文笔记--Learning Political Polarization on Social Media Using Neural Networks

论文笔记--Learning Political Polarization on Social Media Using Neural Networks 1. 文章简介2. 文章概括3. 相关工作4. 文章重点技术4.1 Collection of posts4.1.1 数据下载4.1.2 数据预处理4.1.3 统计显著性分析 4.2 Classification of Posts4.3 Polarization of users 5…

C++ vector的模拟实现

一 vector的大致框架 1.1 框架 vector的成员变量不再是我们熟悉的size,capacity,而是变成了功能一致的三个指针:_start,_finish,_endofstorage,三个指针的作用如下: 同时,因为其本身指针的特性&#xff0c…

工具:meson+ninja(安装问题解决)

问题1:Python版本问题 报错信息: NOTICE: You are using Python 3.6 which is EOL. Starting with v0.62.0, Meson will require Python 3.7 or newer ubuntu 18默认的python3是3.6. 解决方案1:从源码安装python 3.7 wget https://www.pyth…

阿里云江苏省中小企业补贴5000元上云补贴金

阿里云「数智惠企」中小企业补贴,江苏区域企业提交申请内部评估及审批通过后,即可获取上云补贴金,使用补贴金购买指定云产品,满10000元即可立减5000元,请抓紧申领。阿里云百科 aliyunbaike.com 分享江苏区域5000元上云…

Postman创建及删除workspace工作空间

文章目录 一、Postman创建workspace工作空间二、Postman删除workspace工作空间 一、Postman创建workspace工作空间 打开Postman 点击 Workspaces → Create Workspaces 如图所示操作 工作空间创建完成 二、Postman删除workspace工作空间 点击 Workspaces → 选择要删除…

【pynput】鼠标行为追踪并模拟

文章目录 前言基本思路安装依赖包实时鼠标捕获捕获鼠标位置捕获鼠标事件记录点击内容 效果图 利用本文内容从事的任何犯法行为和开发与本人无关,请理性利用技术服务大家,创建美好和谐的社会,让人们生活从繁琐中变得更加具有创造性&#xff01…

欠采样对二维相位展开的影响

1.前言 如前所述,相位展开器通过计算两个连续样本之间的差来检测图像中包裹的存在。如果这个差值大于π或小于-π,则相位展开器认为在这个位置存在包裹。这可能是真正的相位包络,也可能是由噪声或采样不足引起的伪包络。 对欠采样的相位图像…

LangChain 33: LangChain表达语言LangChain Expression Language (LCEL)

LangChain系列文章 LangChain 实现给动物取名字,LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索I…

springMVC-与spring整合

一、基本介绍 在项目开发中,spring管理的 Service和 Respository,SrpingMVC管理 Controller和ControllerAdvice,分工明确 当我们同时配置application.xml, springDispatcherServlet-servlet.xml , 那么注解的对象会被创建两次, 故…