官术网_书友最值得收藏!

2.7 奇異值分解

奇異值分解 ( Singular Value Decomposition, 簡稱SVD) 是線性代數中的一種重要技術。它可以將任意矩陣分解成三個部分的乘積, 即A=U∑VT, 其中A是一個m×n的實數或復數矩陣, U 和 V 是兩個列正交矩陣 (也就是說, 它們的列向量兩兩正交且長度為1) ,∑是一個m×n的對角矩陣, 對角線上的元素稱為奇異值。

具體來說, 對于一個m×n的矩陣A, 我們可以找到兩個列正交矩陣U和V, 以及一個對角矩陣∑, 使得A=U∑VT。其中, U的列向量組成了A的左奇異向量, V的列向量組成了A的右奇異向量, 而∑的對角線上的元素則表示A在這些奇異向量方向上的奇異值。

舉個常見的例子——假設你正在學習一門課程, 考試之后你得到了若干個分數作為成績。這些分數可以被表示為一個向量 (也就是一列數值)。現在假設你要分析所有同學的成績, 你需要把這些向量放到一個矩陣中。這個矩陣的行表示不同的學生, 列表示不同的考試題目。

但是你發現這個矩陣非常大, 而且很多的數據都是冗余的或者無用的。例如, 某些學生可能從來沒有考過某個題目, 某些題目可能沒有任何學生答對, 等等。此時, 你希望找到一種方法, 壓縮這個矩陣并提取出最重要的信息。

這時候, 奇異值分解就可以派上用場了。它可以將一個很大的矩陣分解成三個部分的乘積, 其中第一個矩陣U包含最重要的行信息, 第二個矩陣∑包含每個行向量的重要程度, 而第三個矩陣V則包含最重要的列信息, 就像圖2-17所示的這樣。

圖2-17 奇異值分解, 就像把全校學生的成績單分解成U、∑、 V三個矩陣

換句話說, 通過奇異值分解, 我們可以用更小的矩陣來表示原始矩陣, 并從中提取出最重要的信息。這個過程就相當于對成績進行降維, 只保留最重要的因素, 而忽略一些無用或冗余的信息。

類似的例子還有很多, 比如在圖片壓縮中, 我們可以用奇異值分解來找到圖像的主要特征, 從而把圖像壓縮成更小的尺寸。在音頻處理中, 我們也可以用奇異值分解來提取音頻信號的主要特征, 從而實現音頻降噪、語音識別等功能。

原理輸出2. 17

為了幫助大家更好地理解奇異值分解的概念, 請大家在ChatGPT的幫助下, 錄制一個長度約為2分鐘的短視頻, 介紹什么是奇異值分解。

小貼士

可以參考的ChatGPT提示詞如下。

“請簡要介紹什么是奇異值分解。”

“請結合生活中的例子, 介紹奇異值分解的概念。”

“假設你是一位大學老師, 請用輕松易懂的語言向學生講解奇異值分解。”

實操練習2. 17

為了讓大家可以用代碼的形式學習奇異值分解, 接下來大家可以讓ChatGPT生成代碼演示, 并在Colab新建一個Notebook文件運行這些代碼。

小貼士

要讓ChatGPT生成代碼, 可以參考的提示詞如下。

“請用Python演示奇異值分解, 需要可視化。”

“用Python可視化的方法演示奇異值分解。”

主站蜘蛛池模板: 康马县| 临沧市| 大名县| 红原县| 汝阳县| 万荣县| 天门市| 张家界市| 曲靖市| 夏津县| 洛浦县| 新民市| 湘潭市| 保亭| 吉水县| 牟定县| 富川| 连云港市| 彭州市| 鄂托克前旗| 习水县| 武城县| 广安市| 民县| 杂多县| 遂平县| 外汇| 金秀| 瑞丽市| 丽水市| 昌图县| 灵寿县| 色达县| 胶南市| 漳平市| 米泉市| 邵东县| 偏关县| 成都市| 宁河县| 大城县|