1. 程式人生 > >機器學習中的矩陣方法(附錄A): 病態矩陣與條件數

機器學習中的矩陣方法(附錄A): 病態矩陣與條件數

1. 病態系統

現在有線性系統: Ax = b, 解方程

很容易得到解為: x1 = -100, x2 = -200. 如果在樣本採集時存在一個微小的誤差,比如,將 A 矩陣的係數 400 改變成 401:

則得到一個截然不同的解: x1 = 40000, x2 = 79800.

當解集 x 對 A 和 b 的係數高度敏感,那麼這樣的方程組就是病態的 (ill-conditioned).

2. 條件數

那麼,如何評價一個方程組是病態還是非病態的呢?在此之前,需要了解矩陣和向量的 norm, 這裡具體是計算很簡單的 infinity norm, 即找行絕對值之和最大,舉個例子:

infinity norm 具有三角性質:||x+y|| <=

 ||x|| + ||y||. 理解了這些概念,下面討論一下衡量方程組病態程度的條件數,首先假設向量 b 受到擾動,導致解集 x 產生偏差:

即有:

同時,由於

綜合上面兩個不等式:

即得到最終的關係:

如果是矩陣 A 產生誤差,同樣可以得到:

其中, 條件數定義為:

一般來說,方程組解集的精度大概是 個十進位制的位的誤差。 比如,IEEE 標準表示的雙精度浮點數的有效位是 16 位,如果條件數是 1e+10, 那麼得到的結果中只有 6 位是精確的。所以,只有當方程組是良態時,殘差 R = Ax - b 才能準確指示解的精度。

3. 病態的由來

自己的看法:

線性系統 Ax = b 為什麼會病態?歸根到底是由於 A 矩陣列向量線性相關性過大,表示的特徵太過於相似以至於容易混淆所產生的。舉個例子, 現有一個兩個十分相似的列向量組成的矩陣 A:

在二維空間上,這兩個列向量夾角非常小。假設第一次檢測得到資料 b = [1000, 0]^T, 這個點正好在第一個列向量所在的直線上,解集是 [1, 0]^T。現在再次檢測,由於有輕微的誤差,得到的檢測資料是 b = [1000, 0.001], 這個點正好在第二個列向量所在的直線上,解集是 [0, 1]^T。兩次求得到了差別迥異的的解集。

4. 與特徵值和 SVD 的關係

  1. 特徵值

假設 A 的兩個單位特徵向量是 x1, x2, 根據特徵向量的性質:

上述矩陣 A 的特徵值和特徵向量分別為:

對於平面上的某一個向量 b,可以分解為兩個特徵向量的線性組合:

把上式帶入,

如果  遠遠大於 , 當 b 點在 x1 方向發生移動, m 值改變, 解集 x 變化不明顯, 反之, 如果在 x2 方向移動, n 值改變,解集 x 變化非常大 !可以看到,特徵值對解集起到了一個 scaling 的作用。反過來說,如果一個特徵值比其它特徵值在數量級上小很多,x在對應特徵向量 (x2) 方向上很大的移動才能產生b微小的變化.

        2.  SVD

SVD 分解:

聯絡上次學到的 SVD 知識,將 A 分解成三個矩陣的乘積,中間的對角線矩陣也起到了 scaling 的作用。我們按照正向思維來考慮這個問題,現在來了一個解集 x 向量,左乘 A 矩陣等價與左乘 USV^T, x 向量正好等於 V^T 最後一行向量,經過 S 矩陣的 scaling 縮小之後對 b 的影響非常小。也就是說, 解集 x 在 V^T 最後一行的行向量方向自由度最大!自由度越大,越不穩定,極端情況是該方向奇異值為 0, 解集可以在該方向取任意值,這也正好對應了矩陣 A 有零特徵值, Ax 在對應特徵向量的方向上移動不改變 Ax 的值。

在不同的 norm 下,條件數又可以由最大奇異值與最小奇異值之間的比值,或者最大特徵值和最小特徵值之間比值的絕對值來表示,詳情請參考維基百科

最後, A 的條件數究竟等於多少呢? cond(A) = 2e+06

5. 病態矩陣處理方法

真正的自由是建立在規範的基礎上的。病態矩陣解集的不穩定性是由於解集空間包含了自由度過大的方向,解決這個問題的關鍵就是將這些方向去掉,而保留 scaling 較大的方向,從而把解集侷限在一個較小的區域內。在上面的討論中, A 矩陣的特徵向量不一定正交,不適合做新基, SVD 分解正好分解出了正交基,可以選前 k 個 v^T 向量作為正交基。

比如,現在只選取前一個 (0.707, 0.707) 方向作為基,解集侷限咋 y = x 這條直線上。直觀的解釋就是, A 矩陣的兩個列向量過於類似,我們就可以將它們等同看待,第一次 b = (1000, 0), 解集是(0.5, 0.5), 第二次 b = (1000, 0.001), 解集還是 (0.5, 0.5).

總結起來,解決 A 病態就是將解集限定在一組正交基空間內,即對於座標 y, 選擇 k 個正交基 Zk,解決問題:

這個就是 reduce-rank model. 具體方法有 truncated SVD 和 Krylov subspace method。

參考資料:

相關推薦

機器學習矩陣方法(附錄A 病態矩陣件數

1. 病態系統 現在有線性系統: Ax = b, 解方程 很容易得到解為: x1 = -100, x2 = -200. 如果在樣本採集時存在一個微小的誤差,比如,將 A 矩陣的係數 400 改變成 401: 則得到一個截然不同的解: x1 = 40000, x2 = 79800. 當解集

機器學習模型的效能度量方式混淆矩陣,F1-Score、ROC曲線、AUC曲線。

一、混淆矩陣 混淆矩陣也稱誤差矩陣,是表示精度評價的一種標準格式,混淆矩陣的每一列代表了預測類別,每一列的總數表示預測為該類別的資料的數目;每一行代表了資料的真實歸屬類別 ,每一行的資料總數表示該類別的資料例項的數目。每一列中的數值表示真實資料被預測為該類的數目。

貝葉斯在機器學習的應用(一

需要 基礎 under 情況下 學生 意義 span 公式 ext 貝葉斯在機器學習中的應用(一) 一:前提知識 具備大學概率論基礎知識 熟知概率論相關公式,並知曉其本質含義/或實質意義

機器學習】人像分類(四——灰度矩陣恢復成灰度圖

簡介   對Matlab不是非常熟悉,經過查詢,瞭解到可以使用   colormap(flipud(gray))   設定畫出的圖為灰度圖(不然畫出來是彩色的)。      imagesc(Matrix, [])   則用來將矩陣Matrix還原成圖

系統學習機器學習之引數方法(三

1判別模型與生成模型 上篇報告中提到的迴歸模型是判別模型,也就是根據特徵值來求結果的概率。形式化表示為,在引數確定的情況下,求解條件概率。通俗的解釋為在給定特徵後預測結果出現的概率。 比如說要確定一隻羊是山羊還是綿羊,用判別模型的方法是先從歷史資料中學習到模型,然後通過提

ng機器學習視頻筆記(五 ——過擬合正則化

哪些 重復 關註 osi 現實 regular 鏈接 梯度下降 簡單 ng機器學習視頻筆記(五) ——過擬合與正則化 (轉載請附上本文鏈接——linhxx) 一、過擬合和欠擬合 1、概念 當針對樣本集和特征值,進行預測的時候,推導θ、梯度下降等,都在

機器學習實戰》筆記(三樸素貝葉斯

4.1 基於貝葉斯決策理論的分類方法 樸素貝葉斯是貝葉斯決策理論的一部分,貝葉斯決策理論的的核心思想,即選擇具有最高概率的決策。若p1(x,y)和p2(x,y)分別代表資料點(x,y)屬於類別1,2的概率,則判斷新資料點(x,y)屬於哪一類別的規則是: 4.3 使用條件概率來分類

機器學習實戰》 筆記(一K-近鄰演算法

一、K-近鄰演算法 1.1 k-近鄰演算法簡介 簡單的說,K-近鄰演算法採用測量不同特徵值之間的距離的方法進行分類。 1.2 原理 存在一個樣本資料集合,也稱作訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料 與所屬分類的對應關係。輸入沒有標籤的新資料

機器學習筆記(二十一TensorFlow實戰十三(遷移學習

1 - 引言 越複雜的神經網路,需要的訓練集越大,ImageNet影象分類資料集有120萬標註圖片,所以才能將152層的ResNet的模型訓練到大約96.%的正確率。但是在真正的應用中,很難收集到如此多的標註資料。即使收集到也需要花費大量人力物力來標註。並且即使有了大量的資料集,要訓練一

機器學習導論(張志華概率PCA

前言 這個筆記是北大那位老師課程的學習筆記,講的概念淺顯易懂,非常有利於我們掌握基本的概念,從而掌握相關的技術。 basic concepts PCA: X

機器學習導論(張志華EM演算法

#前言 這個筆記是北大那位老師課程的學習筆記,講的概念淺顯易懂,非常有利於我們掌握基本的概念,從而掌握相關的技術。 #basic concepts EM演算法的核心是,首先假設模型符合什麼分佈,然後計算相關引數,再根據計算出的結果,重新劃分樣本分佈,然後再計算相關引數,直到收斂為止。 公式證

機器學習導論(張志華基本概念

前言 這個筆記是北大那位老師課程的學習筆記,講的概念淺顯易懂,非常有利於我們掌握基本的概念,從而掌握相關的技術。 正文 Data Mining 是半自動化的 Machine Learning 是自動化的。 Michal Jordon。 ML:A f

機器學習導論(張志華多項式分佈

前言 這個筆記是北大那位老師課程的學習筆記,講的概念淺顯易懂,非常有利於我們掌握基本的概念,從而掌握相關的技術。 基本概念 兩個矩陣相似:兩個矩陣特徵值一樣。 兩個矩陣合同:矩一樣,就是個數一樣。 #高斯分佈的特性 知道μ和σ \mu 和\sigmaμ和σ就可以

機器學習導論(張志華正定核應用

前言 這個筆記是北大那位老師課程的學習筆記,講的概念淺顯易懂,非常有利於我們掌握基本的概念,從而掌握相關的技術。 basic concepts If a function is positive definite,then matrix is P.S.D. x

機器學習實戰教程(十二線性迴歸提高篇之樂高玩具套件二手價預測

一、前言 本篇文章講解線性迴歸的縮減方法,嶺迴歸以及逐步線性迴歸,同時熟悉sklearn的嶺迴歸使用方法,對樂高玩具套件的二手價格做出預測。 二、嶺迴歸 如果資料的特徵比樣本點還多應該怎麼辦?很顯然,此時我們不能再使用上文的方法進行計算了,因為矩陣X不是滿秩矩陣,非

機器學習筆記(二十二TensorFlow實戰十四(影象風格遷移

1 - 引言 相信大家都使用過一種濾鏡,可以把一張照片轉換成不同風格的照片,如下圖所示: 那麼我們就來利用TensorFlow來實現以下這個演算法,這個演算法出自Gatys的A Neural Algorithm of Artistic Style論文,十分有趣,讓我們來詳細的介紹一下這

[學習筆記]機器學習——演算法及模型(五貝葉斯演算法

傳統演算法(五) 貝葉斯演算法 一、貝葉斯定理 簡介 貝葉斯定理是18世紀英國數學家托馬斯·貝葉斯(Thomas Bayes)提出得重要概率論理論;貝葉斯方法源於他生前為解決一個“逆概”問題寫的一篇文章

機器學習實戰讀書筆記(四樸素貝葉斯演算法

樸素貝葉斯 優點: 在資料較少的情況下仍然有效 可以處理多類別問題 缺點:對輸入的資料的準備方式較為敏感 適用資料型別:標稱型資料 p1(x,y)>p2(x,y) 那麼類別是1 p2(x,y)>p1(x,y) 那麼類別是2 貝葉斯決策的核心是選擇具有最高概率的決策

機器學習機器學習(十二、十三K-means演算法、高斯混合模型

簡介:         本節介紹STANFORD機器學習公開課中的第12、13集視訊中的演算法:K-means演算法、高斯混合模型(GMM)。(9、10、11集不進行介紹,略過了哈) 一、K-means演算法         屬於無監督學習的聚類演算法,給定一組未標定的資料

機器學習入坑指南(三簡單線性迴歸

學習了「資料預處理」之後,讓我們一起來實現第一個預測模型——簡單線性迴歸模型。 一、理解原理 簡單線性迴歸是我們接觸最早,最常見的統計學分析模型之一。 假定自變數 xxx與因變數 yyy 線性相關,我們可以根據一系列已知的 (x,y)(x,y)(x,y) 資料