最小二乘法

2023-09-17 11:35:00

1、相关的矩阵公式

P r e c o n d i t i o n : ξ ∈ R n , A ∈ R n ∗ n i : σ A ξ σ ξ = A T i i : σ ξ T A ξ σ ξ = A T ξ + A ξ i i i : ( A B ) T = B T A T i v : ( A + B ) T = A T + B T v : ∥ ξ ∥ = ξ T ξ \begin{array}{l} Precondit{\rm{i}}on:\xi \in {R^n},A \in {R^{n*n}}\\ \\ i:\frac{{\sigma A\xi }}{{\sigma \xi }} = {A^T}\\ \\ ii:\frac{{\sigma {\xi ^T}A\xi }}{{\sigma \xi }} = {A^T}\xi + A\xi \\ \\ iii:{\left( {AB} \right)^T} = {B^T}{A^T}\\ \\ iv:{\left( {A + B} \right)^T} = {A^T} + {B^T}\\ \\ v:\left\| \xi \right\| = {\xi ^T}\xi \end{array} Precondition:ξRn,ARnni:σξσAξ=ATii:σξσξTAξ=ATξ+Aξiii:(AB)T=BTATiv:(A+B)T=AT+BTv:ξ=ξTξ

2、线性回归

线性回归(Linear Regression)个人理解大概是说,一组数据基本上服从线性分布。举一个在二维平面中线性回归的例子,如下图所示,我们可以找到一条表达式为 y = a x + b y=ax+b y=ax+b的直线来大概的拟合这些数据。进而,我们可以用这条直线去预测新输入的点的相应的坐标。那么这种寻找线性方程去拟合数据的方式我们称之为线性回归
在这里插入图片描述

3、最小二乘法

3.1、损失函数(Loss Function)

在二维平面中,我们可以设这条可以拟合大多数数据的直线的表达式如下:
h ( θ ) = θ 1 x + θ 2 h\left( \theta \right) = {\theta _1}{x} + {\theta _2} h(θ)=θ1x+θ2
其中 θ 1 {{\theta _1}} θ1 θ 2 {{\theta _2}} θ2就是 y = a x + b y = ax + b y=ax+b中的 a a a b b b,只是换了一种表达而已。
接着,可以求得平面上每一个点在这条直线上对应的坐标(即估计值):
h 1 ( θ ) = θ 1 x 1 + θ 2 h 2 ( θ ) = θ 1 x 2 + θ 2 . . . . h n ( θ ) = θ 1 x n + θ 2 \begin{array}{l} {h_1}\left( \theta \right) = {\theta _1}{x_1} + {\theta _2}\\ {h_2}\left( \theta \right) = {\theta _1}{x_2} + {\theta _2}\\ ....\\ {h_n}\left( \theta \right) = {\theta _1}{x_n} + {\theta _2} \end{array} h1(θ)=θ1x1+θ2h2(θ)=θ1x2+θ2....hn(θ)=θ1xn+θ2

再求这些点在直线上的坐标和真实坐标的差的平方,就得到损失函数的表达式。
L ( θ ) = ∑ i = 1 m ( h i ( θ ) − f ( x i ) ) 2 L\left( \theta \right) = \sum\limits_{i = 1}^m {{{\left( {{h_i}\left( \theta \right) - f\left( {{x_i}} \right)} \right)}^2}} L(θ)=i=1m(hi(θ)f(xi))2
其中 f ( x i ) {f\left( {{x_i}} \right)} f(xi)则是 x i {{x_i}} xi对应的真实坐标值。
因此,可以通过损失函数 L ( θ ) L\left( \theta \right) L(θ)来找出适当的 θ 1 {{\theta _1}} θ1 θ 2 {{\theta _2}} θ2,使其 f ( x i ) {f\left( {{x_i}} \right)} f(xi)之间的方差最小。求解方法放在后面讲。

3.2、多维空间的损失函数

m m m维线性空间中,有 n n n个点。其对应的预测方程应该如下:

h 1 ( θ ) = θ 1 x 11 + θ 2 x 12 + . . . + θ m − 1 x 1 m − 1 + θ m h 2 ( θ ) = θ 1 x 21 + θ 2 x 22 + . . . + θ m − 1 x 2 m − 1 + θ m . . . h n ( θ ) = θ 1 x n 1 + θ 2 x n 2 + . . . + θ m − 1 x n m − 1 + θ m \begin{array}{l} {h_1}\left( \theta \right) = {\theta _1}{x_{11}} + {\theta _2}{x_{12}} + ... + {\theta _{m - 1}}{x_{1m - 1}} + {\theta _m}\\ {h_2}\left( \theta \right) = {\theta _1}{x_{21}} + {\theta _2}{x_{22}} + ... + {\theta _{m - 1}}{x_{2m - 1}} + {\theta _m}\\ ...\\ {h_n}\left( \theta \right) = {\theta _1}{x_{n1}} + {\theta _2}{x_{n2}} + ... + {\theta _{m - 1}}{x_{nm - 1}} + {\theta _m} \end{array} h1(θ)=θ1x11+θ2x12+...+θm1x1m1+θmh2(θ)=θ1x21+θ2x22+...+θm1x2m1+θm...hn(θ)=θ1xn1+θ2xn2+...+θm1xnm1+θm
其中 n > m n>m n>m(方程数量等比未知数多才能有解)。损失函数的表达式依旧如此:
L ( θ ) = ∑ i = 1 m ( h i ( θ ) − f ( x i ) ) 2 L\left( \theta \right) = \sum\limits_{i = 1}^m {{{\left( {{h_i}\left( \theta \right) - f\left( {{x_i}} \right)} \right)}^2}} L(θ)=i=1m(hi(θ)f(xi))2
那么再将以上的所有变量矩阵化:
在这里插入图片描述
可以得到损失函数的表达式为:
L ( θ ) = ∥ X θ − F ∥ 2 = ( X θ − F ) T ( X θ − F ) L\left( \theta \right) = {\left\| {X\theta - F} \right\|^2} = {\left( {X\theta - F} \right)^T}\left( {X\theta - F} \right) L(θ)=F2=(F)T(F)
再展开化简:
L ( θ ) = ∥ X θ − F ∥ 2 = ( X θ − F ) T ( X θ − F ) = ( θ T X T − F T ) ( X θ − F ) = θ T X T X θ − θ T X T F − F T X θ + F T F = θ T X T X θ − 2 F T X θ + F T F \begin{array}{l} L\left( \theta \right) = {\left\| {X\theta - F} \right\|^2} = {\left( {X\theta - F} \right)^T}\left( {X\theta - F} \right)\\ \\ = \left( {{\theta ^T}{X^T} - {F^T}} \right)\left( {X\theta - F} \right) = {\theta ^T}{X^T}X\theta - {\theta ^T}{X^T}F - {F^T}X\theta + {F^T}F\\ \\ = {\theta ^T}{X^T}X\theta - 2{F^T}X\theta + {F^T}F \end{array} L(θ)=F2=(F)T(F)=(θTXTFT)(F)=θTXTθTXTFFT+FTF=θTXT2FT+FTF
根据上文,我们知道化简的目的是为了找到适当的 θ \theta θ使得损失函数 L ( θ ) L\left( \theta \right) L(θ)最小,而常用的求 θ \theta θ有两种,分别是解析法求解和梯度下降法。

3.3、解析法求解

从高数可以知,当偏导等于零时,该点是极值点(说的不严谨emm)。所以我们直接求偏导,另其为零即可得 θ \theta θ
σ L ( θ ) σ θ = 2 X T X θ − 2 X T F = 0 θ = ( X T X ) − 1 X T F \begin{array}{l} \frac{{\sigma L\left( \theta \right)}}{{\sigma \theta }} = 2{X^T}X\theta - 2{X^T}F = 0\\ \\ \theta = {\left( {{X^T}X} \right)^{ - 1}}{X^T}F \end{array} σθσL(θ)=2XT2XTF=0θ=(XTX)1XTF
但这种方法要求 X T X {{{X^T}X}} XTX是可逆的,即行列式不为零or满秩。很多时候这个条件并不成立,所以在机器学习(Machine Learning)中经常用到梯度下降法。

3.4、梯度下降法求解

梯度下降基本思想是先随便取一个 θ i {\theta _i} θi,然后带入下式看看损失函数多大,然后再在 θ i {\theta _i} θi基础上,取一个稍微小一点或大一点的 θ j {\theta _j} θj带入下式,看看此时的损失函数多大。如此往复,找到那个最优的 θ \theta θ的取值。
L ( θ i ) = θ i T X T X θ i − 2 F T X θ i + F T F L\left( {{\theta _{\rm{i}}}} \right) = {\theta _i}^T{X^T}X{\theta _i} - 2{F^T}X{\theta _i} + {F^T}F L(θi)=θiTXTXθi2FTXθi+FTF

更多推荐

选择半导体老化测试方法

随着半导体使用的不断普及,老化成为一个主要问题。由于半导体的电气特性发生变化,老化可能会导致严重的故障。老化是指半导体器件由于连续使用或长时间暴露于各种环境条件(包括温度、湿度、辐射和电应力)而导致的电气特性的缓慢损失。半导体老化的影响包括:设备漏电流的增加会导致传输质量下降和能耗增加。阈值电压降低,影响器件的开关特性

<图像处理> Harris角点检测

Harris角点检测原理Harris角点检测是一种计算机视觉中常用的角点检测算法,用于在图像中检测出角点特征。角点通常被定义为两条边的交点,或者说,角点的局部邻域应该具有两个不同区域的不同方向的边界。Harris角点检测算法是最常用且最基础的角点检测算法之一。Harris角点检测算法的原理是通过计算图像中每个像素点的响

spring security auth2.0实现

OAuth2.0的认证/授权流程jwt只是认证中的一步4中角色资源拥有者(resourceowner)、客户端(client第三方)、授权服务器(authorizationserver)和资源服务器(resourceserver)。AuthorizationCode(授权码模式):OAuth2的授权模式,客户端先将用户

【STM32学习】I2C通信协议 | OLED屏

🐱作者:一只大喵咪1201🐱专栏:《STM32学习》🔥格言:你只管努力,剩下的交给时间!今天需要将代码烧录到开发板中,本喵默认大家都会创建工程,以及进行基本的外设配置。I2C通信协议|OLED屏😽I2C协议🙈数据格式🙈I2C信号时序🙈I2C驱动代码😽OLED显示🙈SSD1306🙈SSD1306的I2

Vue的插值、指令、过滤器、计算属性及监听属性,包涵所有基础技术

目录一、插值1.1讲述1.2实例二、指令2.1概述2.2案例三、过滤器3.1讲述3.2实例四、计算属性&监听属性(1)计算属性(2)监听属性(3)购物车案例带给我们的收获一、插值1.1讲述Vue的插值是一种将数据动态绑定到HTML模板中的方式。通过插值,可以将Vue实例中的数据直接显示在HTML模板中,实现数据与视图的

图像相似度识别算法aHash|dHash|PHash

图像相似度识别算法aHash|dHash|PHashaHash算法基本原理优缺点python实现dHash算法基本原理优缺点python代码实现aHash\pHash\dHash是常用的图像相似度识别算法,原理简单、实现方便。aHash算法Hash算法进行图片相似度识别的本质,就是将图片进行Hash转换,生成一组二进制

Docker安装MongoDB

1、查看当前可用版本dockersearchmongo#通过该命令查看可用的MongoDB版本2、获取最新的mongodb镜像dockerpullmongo3、查看镜像dockerimages4、在宿主机上创建需要挂载的文件#创建文件mkdir-p/docker/mongodb/{data,logs}#在准备挂载的目录

【Mysql】MySQL 设计开发规约

MySQL设计开发规约以下规范在大型互联网公司经过了充分的验证,尤其适用于并发量大、数据量大的业务场景。安全无小事,很多公司都曾经因为数据泄露导致用户损失惨痛,所以将安全规范放到了第一位。一、安全规范1.【强制】禁止在数据库中存储明文密码,需把密码加密后存储。说明:对于加密操作建议由公司的中间件团队基于如mybatis

2023年8月京东美妆工具行业数据分析(京东数据运营)

近日,随着李佳琦为花西子品牌怒怼网友一事持续发酵,消费者的目光逐渐转移到这个国货美妆品牌昂贵的单克价格上。“一克眉笔价格高于一克黄金”,引发了不少消费者的讨论与吐槽。花西子眉笔事件尚未平息,在9月12日,一网友晒出之前自己买的花西子化妆刷,实付款919元。套刷是玉石化妆刷(5件套),人造纤维毛,目前官方旗舰店已没有售卖

设计模式之职责链模式

职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。这里发出这个请求的客户端并不知道这当中的哪一个对象最终处理这个请求,这些系统的更改可以在不影响客户端的情况下动态地重新组织和分配责任。ConcreteHandler

将自己的代码发布成可以pip安装的包

要将自己的Python代码打包并通过pip进行安装,可以按照以下步骤进行操作:创建一个新的文件夹,并将您的Python代码放入其中。确保您的代码结构是标准的Python包结构,即包含__init__.py文件和其他可能的模块文件。结构示例:your_package_name/__init__.pymodule1.pym

热文推荐