线性代数|机器学习-P12Ax=b条件下x最小值问题

news2025/2/27 1:57:06

文章目录

  • 1. Ax=b下的最值问题-图形转换
  • 2. Gram-Schmidt 标准形
  • 3. 迭代法-Krylov子空间法

1. Ax=b下的最值问题-图形转换

假设我们有一个直线方程如下:
3 x 1 + 4 x 2 = 1 \begin{equation} 3x_1+4x_2=1 \end{equation} 3x1+4x2=1
在二维平面上,各个范数如下:
min ⁡ ∣ ∣ x ∣ ∣ 1 = ∣ x 1 ∣ + ∣ x 2 ∣ , min ⁡ ∣ ∣ x ∣ ∣ 2 = x 1 2 + x 2 2 , min ⁡ ∣ ∣ x ∣ ∣ ∞ = max ⁡ ∣ x i ∣ \begin{equation} \min||x||_1=|x_1|+|x_2|,\min||x||_2=x_1^2+x_2^2,\min||x||_{\infty}=\max|x_i| \end{equation} min∣∣x1=x1+x2,min∣∣x2=x12+x22,min∣∣x=maxxi

  • L1范数是一个膨胀的钻石形状,L2范数是一个膨胀的圆形, L ∞ L_{\infty} L是一个膨胀的正方形
    在这里插入图片描述
  • 那么在Ax=b约束条件下的最小值问题可以转换为范数图像与约束条件 A x = b Ax=b Ax=b组成图像的第一个相交的点。
  • L1与直线相交A点,L2与直线相交B点,L3与直线相交C点,这样就可以通过几何图形的方式求得在约束条件下的最小值问题了,用函数图像代替约束条件方程Ax=b,用范数表示不同情况下的最值问题。真神奇!!!
    在这里插入图片描述

2. Gram-Schmidt 标准形

通过Gram-Schmidt 可以将矩阵A分解如下 A = Q R A=QR A=QR
我们有一个矩阵A的列向量组,发现矩阵A的列向量之间不是相互正交的,如果列向量之间不是相互正交独立,那么就无法用最简单的形式去表达其他的向量,所以我们就用Gram-Schmidt,将原来的 a 1 , a 2 a_1,a_2 a1,a2转换成 q 1 , q 2 , q 1 ⊥ q 2 , ∣ q 1 ∣ = ∣ q 2 ∣ = 1 q_1,q_2,q_1\perp q_2,|q_1|=|q_2|=1 q1,q2,q1q2,q1=q2=1 ,Gram-Schmidt用的方法很简单,

  • 先选择一个向量 a 1 a_1 a1,直接以这个向量作为第一个方向,正交化得到 q 1 q_1 q1
    q 1 = a 1 ∣ a 1 ∣ , ∣ q 1 ∣ = 1 \begin{equation} q_1=\frac{a_1}{|a_1|},|q_1|=1 \end{equation} q1=a1a1,q1=1
  • 现在 a 2 a_2 a2 q 1 q_1 q1不正交,我们就要将 a 2 a_2 a2投影到 q 1 q_1 q1上得到投影向量 p 2 p_2 p2,再用 a 2 − p 2 = A 2 a_2-p_2=A_2 a2p2=A2
    q 1 T a 2 = ∣ q 1 ∣ ∣ a 2 ∣ cos ⁡ θ = ∣ a 2 ∣ cos ⁡ θ , a 2 在 q 1 上的投影长度出来了 \begin{equation} q_1^Ta_2=|q_1||a_2|\cos{\theta}=|a_2|\cos{\theta},a_2在q_1上的投影长度出来了 \end{equation} q1Ta2=q1∣∣a2cosθ=a2cosθ,a2q1上的投影长度出来了
  • 投影长度乘以单位向量得到 p 2 p_2 p2,向量相减得到 A 2 A_2 A2
    p 2 = q 1 T a 2 q 1 , A 2 = a 2 − p 2 → A 2 = a 2 − q 1 T a 2 q 1 → q 2 = A 2 ∣ A 2 ∣ \begin{equation} p_2=q_1^Ta_2q_1,A_2=a_2-p_2\rightarrow A_2=a_2-q_1^Ta_2q_1\rightarrow q_2=\frac{A_2}{|A_2|} \end{equation} p2=q1Ta2q1,A2=a2p2A2=a2q1Ta2q1q2=A2A2
  • 同理 q 3 q_3 q3就是将向量 a 3 a_3 a3减去 a 3 a_3 a3 q 1 , q 2 q_1,q_2 q1,q2上的投影向量 p 2 , p 3 p_2,p_3 p2,p3即可得到 A 3 A_3 A3
    p 3 = q 1 T a 3 q 1 , p 2 = q 2 T a 3 q 2 → A 3 = a 3 − q 1 T a 3 q 1 − p 2 = q 2 T a 3 q 2 \begin{equation} p_3=q_1^Ta_3q_1,p_2=q_2^Ta_3q_2\rightarrow A_3=a_3-q_1^Ta_3q_1-p_2=q_2^Ta_3q_2 \end{equation} p3=q1Ta3q1,p2=q2Ta3q2A3=a3q1Ta3q1p2=q2Ta3q2
    所以Gram-Schmidt 的本质是从A中的列向量中不断抽取向量 a 1 , a 2 , ⋯   , a n a_1,a_2,\cdots,a_n a1,a2,,an通过不断迭代的形式,得到一组标准正交向量组 q 1 , q 2 , ⋯   , q n q_1,q_2,\cdots,q_n q1,q2,,qn,
  • 但我们发现一个问题,我们怎么选择向量 a 1 , a 2 , ⋯   , a n a_1,a_2,\cdots,a_n a1,a2,,an呢?如果 a 1 , a 2 , ⋯   , a n a_1,a_2,\cdots,a_n a1,a2,,an太相关了怎么办,这样正交化的效果不是很好,如下所示:我们希望选择好的向量 a 12 , a 22 a_{12},a_{22} a12,a22而不是相关性太大的 a 11 , a 21 a_{11},a_{21} a11,a21
    在这里插入图片描述
  • 那怎么做了,我们只需要在每次选择新的向量的时候,选择投影p较小的向量作为正交向量,比如我们先找到 a 1 → q 1 a_1\rightarrow q_1 a1q1再找 q 2 q_2 q2 过程中我们需要筛选,将 a 2 , a 3 , ⋯   , a n a_2,a_3,\cdots,a_n a2,a3,,an都投影到 q 1 q_1 q1上,看看哪个投影长度最小,我们就选择这个作为 A 2 → q 2 A_2\rightarrow q_2 A2q2
  • p 21 , p 31 , ⋯   , p n 1 p_{21},p_{31},\cdots,p_{n1} p21,p31,,pn1中选择最小的一个作为 A 2 → q 2 A_2\rightarrow q_2 A2q2
    p 21 = q 1 T a 2 q 1 , p 31 = q 1 T a 3 q 1 , ⋯ p n 1 = q 1 T a n q 1 \begin{equation} p_{21}=q_1^Ta_2q_1,p_{31}=q_1^Ta_3q_1,\cdots p_{n1}=q_1^Ta_nq_1 \end{equation} p21=q1Ta2q1,p31=q1Ta3q1,pn1=q1Tanq1
  • 同理依次选择 q 3 , q 4 , ⋯   , q n q_3,q_4,\cdots,q_n q3,q4,,qn,这就是改进后的Gram-Schmidt

3. 迭代法-Krylov子空间法

  • 背景: 当矩阵A太大并且稀疏情况下,我们需要用迭代的方法求解 A x = b Ax=b Ax=b方程
    直接引用大神的笔记,具体后续整理

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

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

相关文章

一文介绍暗区突围手游 游戏特色、具体玩法和独特的玩法体验

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 《暗区突围》是一款由腾讯魔方工作室群开发的第一人称射击游戏,于 2022 年 7 月 13 日正式公测,支持 Android 和 iOS 平台。这款游戏以从虚构的暗区收集物资并安全撤离作为最终目…

Unity 笔试题分享

1. 请回答以下代码片段执行时是否会产生堆内存分配 a. void SetChar(string s){s.Replace(b, d);}b. void Update(Transform t){t.localPosition new Vector3(0, 0, 0);}c、 int Sum(List<int> l){int total 0;foreach (int i in l){total i;} return total;}d…

论文阅读:Indoor Scene Layout Estimation from a Single Image

项目地址&#xff1a;https://github.com/leVirve/lsun-room/tree/master 发表时间&#xff1a;2018 icpr 场景理解&#xff0c;在现实交互的众多方面中&#xff0c;因其在增强现实&#xff08;AR&#xff09;等应用中的相关性而得到广泛关注。场景理解可以分为几个子任务&…

Redis 5种常用数据类型

目录 Redis简介 1.字符串 string 2.哈希 hash 3.列表 list 4.集合 set 5.有序集合 sorted set / zset Redis简介 Redis&#xff0c;全称Remote Dictionary Server&#xff0c;是一个开源的、内存中的数据结构存储系统。它可以用作数据库、缓存和消息中间件&#xff0c;支…

mac免费的ntfs软件哪个好 MAC读取NTFS硬盘格式

对于苹果用户来说&#xff0c;Mac电脑和移动硬盘已经成为日常工作中不可缺少的一部分&#xff0c;但有时我发现Mac打开移动硬盘只能读取无法写入&#xff0c;这是由于所连接的移动硬盘为NTFS格式。我们可以通过对硬盘格式化为Mac正常读写格式&#xff0c;或使用数据读写软件对N…

Java:九九乘法表,打印三角形

文章目录 九九乘法表打印三角形改进:控制行数的三角形有空格的三角形 九九乘法表 package com.zhang; /* 打印九九乘法表*/ public class Test8 {public static void main(String[] args) {//i是竖着的 j是横着的for (int i 1; i < 9; i) {for(int j 1; j < 9; j) {i…

(三)数据分析理论基础练习题(55道选择题)

本文整理了数据分析理论基础知识相关的练习题&#xff0c;共55道&#xff0c;适用于想巩固数据分析理论基础的同学。来源&#xff1a;如荷学数据科学题库&#xff08;技术专项-数据分析理论&#xff09;。 1&#xff09; 2&#xff09; 3&#xff09; 4&#xff09; 5&#xf…

Vue3【十六】TS中的接口、泛型,自定义类型

Vue3【十六】TS中的接口、泛型&#xff0c;自定义类型 TS中的接口、泛型&#xff0c;自定义类型 案例截图 目录结构 代码 app.vue <template><div class"app"><h1>你好世界! 我是App根组件</h1><Person /></div> </templat…

字符串拼接之char实现

目录 一、前言 二、memcpy函数用法 三、代码实现 一、前言 c中想到字符串拼接&#xff0c;我们都知道可以用c库中std::string的字符串中的简单加法进行拼接。示例&#xff1a; int main() {std::string str1 "hello";std::string str2 "World";std::…

JavaScript实例增强数组排序

sort()方法可以根据比较函数&#xff0c;来比较两个值&#xff0c;然后返回一个用于说明两个值的相对顺序的数字。例 function f(a,b){return (a-b) } var a[3,5,4,0,2,,1,6] a.sort(f); document.write(a)根据函数若a小于b&#xff0c;返回一个负数&#xff0c;则a排在b前面&…

windows11 连接蓝牙鼠标

桌面--右键--个性化&#xff0c;显示设置也行 然后点击左侧&#xff1a;蓝牙和其他设备--设备--添加设备&#xff0c;或者直接点击【添加设备】。 然后出现如下的界面&#xff1a; 然后点击【蓝牙】 然后我的鼠标有三个模式&#xff1a;Bt4.0 Bt5.0 无线2.4G的格式&#xff0c;…

dat.gui图形用户页面

一、导入 1.npm安装 npm install --save dat.gui 引入&#xff1a; // CommonJS: const dat require(dat.gui); // ES6: import * as dat from dat.gui; const gui new dat.GUI(); 二、控制器 <!DOCTYPE html> <html lang"en"> <head><…

物联网概念

物联网 物联网简介物联网体系结构物联网体系结构定义物联网体系结构设计原则物联网体系结构四层物联网体系结构感知控制层数据传输层数据处理层应用决策层 物联网关键技术感知标识技术网络与通信技术云计算技术安全技术 已有物联网相关应用架构无线传感器网络的体系结构EPC/UID…

[C][数据结构][树]详细讲解

目录 1.树的概念2.数的相关概念3.树的表示4.二叉树概念5.特殊的二叉树5.二叉树的性质6.二叉树的存储结构1.顺序结构2.链式结构 7.链式结构二叉树1.二叉树的遍历 -- 深度优先遍历(DFS)2.二叉树的遍历 -- 广度优先遍历(DBS)3.接口实现 1.树的概念 树是一种非线性的数据结构 有一个…

计算机组成原理-常见计算题含IEE754

一、补码加减运算 二、溢出判断 采用一位符号位 采用双符号位 三、定点数的移位运算 算术右移 算数左移 反码的算术移位 补码的算术移位 四、浮点数的表示 一个右规的例子 五、IEEE754 移码

微服务之网关

1、什么是微服务网关&#xff1f; 微服务网关是一种用于管理和调度微服务的工具或服务&#xff0c;它在微服务架构中扮演着关键角色。以下是关于微服务网关的清晰概述&#xff1a; 概念定义&#xff1a; 微服务网关是微服务架构中的前端门户&#xff0c;它提供了一个统一的入…

Visual Studio 使用第三方库管理工具 vcpkg

一、介绍 Windows下开发C/C程序&#xff0c;少不了用开源的第三方库。比如线性代数和矩阵分析的库eigen&#xff0c;或者图像处理的OpenCV库。虽然这些库都是开源的&#xff0c;但是由于要编译debug和release版本的&#xff0c;32位以及64位的&#xff0c;如果像FFmpeg…

《云原生安全攻防》-- 容器环境下的攻击行为

在本节课程中&#xff0c;我们将以攻击者的视角来深入探讨容器环境下的攻击行为&#xff0c;并揭示攻击者在容器环境中的各种攻击细节。 在这个课程中&#xff0c;我们将学习以下内容&#xff1a; 攻击容器环境&#xff1a;模拟容器内应用入侵的场景。 容器环境下的攻击行为&a…

876. 链表的中间结点-链表

876. 链表的中间结点 - 力扣&#xff08;LeetCode&#xff09; 快慢指针 class Solution { public:ListNode* middleNode(ListNode* head) {ListNode* slow head;ListNode* fast head;while(fast ! nullptr && fast->next ! nullptr){slow slow->next;fast …

【深度学习驱动流体力学】Python流体力学Ansys Fluent

1、PyFluent&#xff1a;Python Ansys Fluent 的结合 PyFluent 是一个将 Python 编程语言与 Ansys Fluent 流体动力学 (CFD) 仿真软件集成的工具。它允许用户通过 Python 脚本来控制和自动化 Fluent 中的仿真任务&#xff0c;实现从预处理、求解到后处理的全流程控制。PyFlue…