SVD 最小二乘法解 亲测ok!

news2024/9/29 5:28:15

线性最小二乘问题

m个方程求解n个未知数,有三种情况:

  1. m=n且A为非奇异,则有唯一解,x=A.inverse()*b
  2. m>n,约束的个数大于未知数的个数,称为超定问题(overdetermined)
  3. m<n,负定/欠定问题(underdetermined)

通常我们遇到的都是超定问题,此时Ax=b的解是不存在的,从而转向解最小二乘问题:

J(x)为凸函数,一阶导数为0,得到:

,称之为正规方程

一般解:

奇异值分解与线性最小二乘问题

列满秩,A的奇异值分解:(公式1)

其中U和V为半酉阵,分别满足

其中,这里的几个符号的大小:U:m\timesm   :n\timesn   V:n\timesn

注意:为什么这里是n\timesn,是因为我上面写的公式1中UGV,G=,G的尺寸是m\times

为 U 的 前 n 列矩阵,即

则:

等号当且仅

时成立,所以:

这就是我们千辛万苦要求的线性最小二乘问题的解!!!

用eigen库计算的例子:

    //Ax=b
    MatrixXd A= MatrixXd::Zero(15,8);
    Eigen::JacobiSVD<MatrixXd> svd(A, Eigen::ComputeFullU | Eigen::ComputeFullV);

    Eigen::Matrix<double, 15, 15> U = svd.matrixU();
    Eigen::Matrix<double, 8, 8> V = svd.matrixV();
    Eigen::Matrix<double, 8, 8> Gama = svd.singularValues().asDiagonal();
        
    Eigen::Matrix<double, 15, 1> b;
    Eigen::Matrix<double, 8, 1> x = V * Gama.inverse()*(U.block<15,8>(0,0).transpose())*b;

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

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

相关文章

2023.11.22 IDEA Spring Boot 项目热部署

目录 引言 操作步骤 1. 在 pom.xml 中添加热部署框架支持 2. Setting 开启项目自动编译 3. 以后创建的新项目进行同步配置 4. 重复 配置 步骤2 的内容 5. 开启运行中的热部署 引言 Spring Boot 的热部署是一种在项目正在运行的时候修改代码&#xff0c;却不需要重新启动…

数字孪生农村供水工程平台:为乡村振兴注入新活力

随着科技的不断进步&#xff0c;数字孪生技术逐渐成为各行业创新发展的重要驱动力。在水利领域&#xff0c;数字孪生农村供水平台以其独特的优势&#xff0c;为农村供水系统带来了革命性的变革。本文将为您详细介绍数字孪生农村供水平台的核心特点及优势&#xff0c;带您领略智…

【软件测试】技术不好?不学这几招你怎么跳槽?

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、软件测试面试环…

解决DaemonSet没法调度到master节点的问题

最近在kubernetes部署一个springcloud微服务项目&#xff0c;到了最后一步部署边缘路由&#xff1a;使用nginx-ingress和traefik都可以&#xff0c;必须使用DaemonSet部署&#xff0c;但是发现三个节点&#xff0c;却总共只有两个pod。 换句话说&#xff0c; DaemonSet没法调度…

Google搜索广告图标详解

Google搜索广告图标是指在Google搜索结果页面中&#xff0c;广告结果前面显示的小图标。这些图标旨在帮助用户更容易地识别哪些结果是广告&#xff0c;并提供更直观的搜索体验。本文小编将对于Google搜索广告图标的类型、作用和设计原则进行介绍。 一、Google搜索广告图标的类型…

化学仿制药参比制剂目录-参比制剂查询网站

2015年以前&#xff0c;参比制剂对于仿制药的研究无关紧要&#xff0c;但推出了’仿制药一致性评价’后&#xff0c;参比制剂的选择成为了决定仿制药成功与否的关键因素&#xff0c;如今在进行仿制药研究时&#xff0c;首要任务就是确定仿制目标&#xff0c;也就是参比制剂。 …

PLC通过lora网关采集温室大棚温湿度数据

概述: 运用lora网关远程控制大棚内风机&#xff0c;日光灯&#xff0c;温湿度传感器等设备。可以实现远程获取现场环境的空气温湿度、土壤水分温度、二氧化碳浓度、光照强度可以自动控制温室湿帘风机、喷淋滴灌、加温补光等设备&#xff0c;并向远程计算机端推送实时数据&…

linux删除oracle数据库:如何在Linux系统中删除Oracle数据库

停止Oracle数据库服务&#xff1a;# su - oracle 1. 停止Oracle数据库服务&#xff1a; # su - oracle $ sqlplus / as sysdba SQL> SHUTDOWN IMMEDIATE; 2. 删除oracle安装目录&#xff1a; # rm -rf /u01/app/oracle 3. 删除oracle用户和组&#xff1a; # userdel…

关于前端上传

类似于 上面的传参form-data形式&#xff0c;第一个参数为上传的文件&#xff0c;第二个参数为json格式

企业建数仓的第一步是选择一个好用的ETL工具

当企业决定建立数据仓库&#xff08;Data Warehouse&#xff09;&#xff0c;第一步就是选择一款优秀的ETL&#xff08;Extract, Transform, Load&#xff09;工具。数据仓库是企业数据管理的核心&#xff0c;它存储、整合并管理各种数据&#xff0c;为商业决策和数据分析提供支…

【计算方法与科学建模】矩阵特征值与特征向量的计算(一):Jacobi 旋转法及其Python实现

文章目录 一、Jacobi 旋转法1. 基本思想2. 计算过程演示3. 注意事项 二、Python实现迭代过程&#xff08;调试&#xff09; 矩阵的特征值&#xff08;eigenvalue&#xff09;和特征向量&#xff08;eigenvector&#xff09;在很多应用中都具有重要的数学和物理意义。Jacobi 旋转…

技术细分|推荐系统——推荐系统中的偏差

一、背景 推荐系统中大量使用用户行为数据&#xff0c;作为系统学习的标签或者说信号。但用户行为数据天生存在各式各样的偏差&#xff08;bias&#xff09;&#xff0c;如果直接作为信号的话&#xff0c;学习出的模型参数不能准确表征用户在推荐系统中的真实行为意图&#xff…

知虾:揭秘Shopee大数据采集及分析平台的全方位运营利器

Shopee是如今备受瞩目的电商平台之一&#xff0c;而要在这个竞争激烈的市场中脱颖而出&#xff0c;了解市场趋势、选择畅销商品、分析竞争对手等是至关重要的。这就是为什么Shopee推出了知虾&#xff0c;一个强大的大数据采集及分析平台。本文将详细介绍知虾的功能和优势&#…

如何解决跨国访问Microsoft 365网络卡顿问题?

作为主流的协调办公工具&#xff0c;Microsoft 365(旧称Office 365)是众多企业每天必须访问的应用&#xff0c;但由于多种原因&#xff0c;许多企业在跨区域访问Microsoft 365服务器时常面临卡顿、掉线等问题&#xff0c;对工作效率产生严重影响。 对此&#xff0c;连官方也专门…

python爬虫中 HTTP 到 HTTPS 的自动转换

前言 在当今互联网世界中&#xff0c;随着网络安全的重要性日益增加&#xff0c;越来越多的网站采用了 HTTPS 协议来保护用户数据的安全。然而&#xff0c;许多网站仍然支持 HTTP 协议&#xff0c;这就给我们的网络爬虫项目带来了一些挑战。为了应对这种情况&#xff0c;我们需…

双12电视盒子什么牌子好?数码小编力荐目前最强的电视盒子

最近想买电视盒子的网友非常多&#xff0c;小编收到了很多关于电视盒子方面的咨询&#xff0c;因此我特意整理了今年测评过的电视盒子&#xff0c;总结了五款目前最强的电视盒子&#xff0c;想知道双十二买电视盒子什么牌子好就赶紧收藏起来吧。 推荐一&#xff1a;泰捷WEBOX新…

【数据结构】深入浅出理解链表中二级指针的应用

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 (注:为方便演示本篇使用的x86系统,因此指针的大小为4个字节) 目录 &#x1f4cc;形参的改变不影响实参! 1.调用函数更改整型时传值调用与传址调用的区别 &#x1f38f;传值…

指令流信息记录

刚开始看指令流信息,还不太熟悉各个指令流表示的含义,这里做个记录 下面是用perf对一个简单的编译后的C程序进行的追踪结果 主体信息 上面都是16进制信息,先不用管 可以观察到每条指令流都由四部分组成,以分号作为分割(注意中间第三部分的时候他有冒号,但是不是分割) 真正追踪…

几款Java源码扫描工具(FindBugs、PMD、SonarQube、Fortify、WebInspect)

说明 有几个常用的Java源码扫描工具可以帮助您进行源代码分析和检查。以下是其中一些工具&#xff1a; FindBugs&#xff1a;FindBugs是一个静态分析工具&#xff0c;用于查找Java代码中的潜在缺陷和错误。它可以检测出空指针引用、资源未关闭、不良的代码实践等问题。FindBu…