(線性代數)矩陣的奇異值Singular Value

矩陣的奇異值是矩陣分析中一個非常重要的概念,尤其是在數值線性代數、數據降維(如PCA)、圖像處理等領域有著廣泛應用。奇異值分解(SVD, Singular Value Decomposition)是一種強大的工具,可以將任意形狀的矩陣分解成三個特定矩陣的乘積,并從中提取出矩陣的奇異值。


📌 奇異值分解(SVD)

對于任意 m × n m \times n m×n 的實矩陣 A A A,其奇異值分解形式為:

A = U Σ V T A = U \Sigma V^T A=UΣVT

其中:

  • U U U 是一個 m × m m \times m m×m 的正交矩陣(列向量是 A A T A A^T AAT 的特征向量)
  • Σ \Sigma Σ 是一個 m × n m \times n m×n 的對角矩陣,對角線上的元素稱為奇異值(singular values),記作 σ 1 , σ 2 , . . . , σ r \sigma_1, \sigma_2, ..., \sigma_r σ1?,σ2?,...,σr?,它們按照從大到小排列( r r r 是矩陣 A A A 的秩)
  • V V V 是一個 n × n n \times n n×n 的正交矩陣(列向量是 A T A A^T A ATA 的特征向量)

🔍 奇異值的定義與性質

? 定義

奇異值實際上是矩陣 A T A A^T A ATA 或者 A A T A A^T AAT 的特征值的平方根。具體來說,如果 λ i \lambda_i λi? A T A A^T A ATA 的第 i i i 個特征值,則對應的奇異值 σ i = λ i \sigma_i = \sqrt{\lambda_i} σi?=λi? ?

? 性質

  1. 非負性:所有奇異值都是非負的。
  2. 排序:通常我們將奇異值按從大到小排列。
  3. 數量:最多有 min ? ( m , n ) \min(m,n) min(m,n) 個奇異值。
  4. 幾何意義:在幾何上,奇異值可以理解為矩陣變換后空間被拉伸的最大程度。最大的奇異值表示主方向上的最大拉伸比例。

🧮 計算步驟

給定一個矩陣 A A A,計算其奇異值的一般步驟如下:

  1. 計算 A T A A^T A ATA A A T A A^T AAT
  2. 求解 A T A A^T A ATA 的特征值和特征向量(這些特征向量構成 V V V
  3. 求解 A A T A A^T AAT 的特征值和特征向量(這些特征向量構成 U U U
  4. 奇異值就是 A T A A^T A ATA 特征值的平方根

然而,在實際應用中,我們通常直接使用數值計算庫來完成這一過程,例如 Python 中的 NumPy 庫提供了 np.linalg.svd() 函數可以直接進行奇異值分解。


💻 Python 示例

import numpy as np# 創建一個示例矩陣
A = np.array([[1, 2], [3, 4]])# 進行奇異值分解
U, S, VT = np.linalg.svd(A)print("U matrix:\n", U)
print("Singular values:", S)
print("VT matrix:\n", VT)

輸出可能類似于:

U matrix:[[-0.40455358 -0.9145143 ][-0.9145143   0.40455358]]
Singular values: [5.4649857  0.36596619]
VT matrix:[[-0.57604844 -0.81741556][-0.81741556  0.57604844]]

在這個例子中,S 數組包含了矩陣 A A A 的奇異值 [5.4649857, 0.36596619]


📈 奇異值的應用

? 數據壓縮與降維

通過保留前 k k k 個最大的奇異值及其對應的奇異向量,我們可以近似原矩陣,從而實現數據壓縮或降維。這種方法常用于圖像壓縮、主成分分析(PCA)等場景。

? 矩陣近似

利用奇異值分解,我們可以構建原矩陣的最佳低秩逼近。例如,選擇前 k k k 個奇異值及相應的奇異向量來重構矩陣,這樣可以在減少存儲空間的同時保持大部分信息。

? 條件數計算

條件數可以通過最大奇異值除以最小奇異值來計算,用于評估矩陣求逆時的穩定性。

? 解決線性方程組

在某些情況下,SVD 可以用來解決病態線性方程組的問題,特別是當矩陣接近奇異時。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86860.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86860.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86860.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構復習4

第四章 串 一些面試題 12. 介紹一下KMP算法。★★★ KMP算法是一種高效的字符串匹配算法,用于在一個文本串中查找一個模式串的出現位置。KMP算法通過利用模式串自身的信息,在匹配過程中避免不必要的回溯,從而提高匹配效率。 KMP算法的核心思…

【八股消消樂】消息隊列優化—消息有序

😊你好,我是小航,一個正在變禿、變強的文藝傾年。 🔔本專欄《八股消消樂》旨在記錄個人所背的八股文,包括Java/Go開發、Vue開發、系統架構、大模型開發、具身智能、機器學習、深度學習、力扣算法等相關知識點&#xff…

2D寫實交互數字人如何重塑服務體驗?

在數字化浪潮席卷全球的當下,人機交互模式正經歷著前所未有的變革。從早期的文本命令行界面,到圖形用戶界面(GUI)的普及,再到如今語音交互、手勢識別等多模態交互技術的興起,我們與機器之間的溝通方式愈發自…

CI/CD GitHub Actions配置流程

騰訊云服務器寶塔FinalShellgithup 1.在云服務器上創建SSH秘鑰對,下載秘鑰到本地 2.在服務器中綁定秘鑰對(綁定后,服務器不能將不允許密碼登錄)綁定前先關機服務器,綁定后再開啟服務器 3.FinalShell改為公鑰登錄&am…

液態交互效果網頁開發--源自鴻蒙5以及iOS26的靈感

首先先來看看最終展示效果 當鼠標靠近“開始探索”的按鈕的時候,按鈕放大并有微弱光效 鼠標靠近之前會給視窗添加一層接近背景的朦朧感,當鼠標放在視窗上朦朧感消失 技術不復雜,這個網頁主要是使用了以下關鍵技術: HTML5 語義化標…

PYTHON從入門到實踐9-類和實例

# 【1】面向對象編程 class Student(object):# 可以幫屬性值綁定到對象上,self相當于JAVA的thisdef __init__(self, name, age):self.name nameself.age agedef speak(self):print(self.name, 說:老師好)if __name__ __main__:new_student1 Student(…

matplotlib 繪制極坐標圖

1、功能介紹: 使用了 matplotlib 庫來創建一個極坐標圖 2、代碼部分: import matplotlib.pyplot as plt import numpy as np# 設置中文字體 plt.rcParams[font.sans-serif] [SimHei] # 選擇黑體字體,支持中文 plt.rcParams[axes.unicode…

Dask心得與筆記【2】

文章目錄 計算參考文獻 計算 數組切片如下 import numpy as np import dask.array as dadata np.arange(1000).reshape(10, 100) a da.from_array(data, chunks(5, 20)) print(a[:,0:3])切片結果是前3列 dask.array<getitem, shape(10, 3), dtypeint64, chunksize(5, 3…

數據采集合規安全是品牌控價基石

在品牌控價與數據分析工作中&#xff0c;數據采集是不可或缺的前置環節。當前主流的數據采集方式為爬蟲采集&#xff0c;這種依托機器自動化操作的模式&#xff0c;取代了傳統人工逐一瀏覽、復制數據的繁瑣流程&#xff0c;大幅提升了效率。采集后的原始數據&#xff0c;會由系…

llm推理賦能action policy的探索

兄弟&#xff0c;你這個問題非常到位&#xff0c;咱分兩個問題詳細講透&#xff1a; &#x1f680; (1) HybridVLA怎么引入更好的推理能力賦能Diffusion Action&#xff1f; HybridVLA 目前設計的亮點&#xff1a; Diffusion Token 與 LLM 自回歸結合 但推理能力沒有被顯式結…

spring04-管理bean(創建、注入):基于注解

一、什么是注解&#xff1f; &#xff08;1&#xff09;注解的定義 注解&#xff08;Annotation&#xff09;是 Java 代碼中的一種特殊標記&#xff0c;用于在程序運行或編譯時提供元信息。 格式&#xff1a; 注解名(屬性名屬性值, 屬性名屬性值...)&#xff08;2&#xff…

docker安裝elasticsearch和kibana

elasticsearch版本和kibana版本需保持一致。這里我使用的都是8.18.2 安裝elasticsearch docker-compose.yml networks:es-net: external: true services:elasticsearch:container_name: es01deploy:resources:limits:cpus: 0memory: 0environment:- discovery.typesingle-no…

Python爬蟲實戰:研究sanitize庫相關技術

1. 引言 1.1 研究背景與意義 在當今數字化時代,互聯網已成為人們獲取信息、交流互動的重要平臺。隨著 Web 2.0 技術的發展,用戶生成內容 (UGC)、社交媒體嵌入、第三方插件等功能極大豐富了網頁的內容和交互性,但也帶來了嚴峻的安全挑戰。根據 Web 應用安全聯盟 (WAS) 的統…

c++ 學習(二、結構體)

目錄 一、結構體與const 二、結構體與class的區別 參考鏈接&#xff1a;69 結構體-結構體中const使用場景_嗶哩嗶哩_bilibili 一、結構體與const 調用函數的時候&#xff0c;希望這個結構體是可讀而不可寫的時候&#xff0c;傳指針&#xff0c;使用const修飾&#xff0c;方式…

機器學習開篇:算法分類與開發流程

種一棵樹最好的時間是十年前&#xff0c;其次是現在。 一、機器學習算法分類 機器學習&#xff08;ML&#xff0c;Meachine Learning&#xff09;是人工智能的核心領域&#xff0c;讓計算機從數據中學習規律并做出預測&#xff0c;本文簡單介紹機器學習的算法分類和開發流程。…

使用pyflink編寫demo并將任務提交到yarn集群

目錄 背景 一、pyflink安裝 二、編寫demo程序 三、提交yarn前準備 四、提交任務 五、踩坑記錄 1、提交任務時客戶端出現語法錯誤 2、提交任務時客戶端出現lzma包找不到 3、提交任務時客戶端出現“org.apache.flink.streaming.api.utils.PythonTypeUtils.getCollectionIn…

Vue 3 最基礎核心知識詳解

Vue3作為現代前端主流框架&#xff0c;是前后端開發者都應當掌握的核心技能。本篇文章將帶你了解vue3的基礎核心知識&#xff0c;適合學習與復習 一、Vue 3 應用創建 1.1 創建Vue應用的基本步驟 // main.js import { createApp } from vue // 1. 導入createApp函數 import …

Bootstrap 5學習教程,從入門到精通,Bootstrap 5 Flex 布局語法知識點及案例(27)

Bootstrap 5 Flex 布局語法知識點及案例 Bootstrap 5 提供了強大的 Flexbox 工具集&#xff0c;讓布局變得更加簡單靈活。以下是 Bootstrap 5 Flex 布局的完整知識點和詳細案例代碼。 一、Flex 布局基礎語法 1. 啟用 Flex 布局 <div class"d-flex">我是一個…

HarmonyOS 5智能單詞應用開發:記憶卡(附:源碼

一、應用概述與核心價值 在語言學習過程中&#xff0c;單詞記憶是基礎也是難點。本文介紹的智能單詞記憶卡應用通過創新的交互設計和科學的學習模式&#xff0c;幫助用戶高效記憶單詞。應用采用ArkUI框架開發&#xff0c;主要特點包括&#xff1a; 雙模式學習系統&#xff1a…

LeetCode--38.外觀數列

前言&#xff1a;之前我不是說&#xff0c;我后續可能會講一下遞歸嗎&#xff0c;現在它來了&#xff0c;這道題會用到回溯的方法&#xff0c;并且比較純粹哦 解題思路&#xff1a; 1.獲取信息&#xff1a;&#xff08;下面這些信息差不多是力扣上面的題目信息了&#xff0c;所…