奇异值分解(SVD)原理与在降维中的应用
奇異值分解
奇異值分解(Singular Value Decomposition,以下簡稱SVD)是在機器學習領域廣泛應用的算法,它不光可以用于降維算法中的特征分解,還可以用于推薦系統,以及自然語言處理等領域。是很多機器學習算法的基石。本文就對SVD的原理做一個總結,并討論在在PCA降維算法中是如何運用運用SVD的。
1. 回顧特征值和特征向量
2. SVD的定義
3. SVD計算舉例
4. SVD的一些性質
5. SVD用于PCA
SVD小結
SVD作為一個很基本的算法,在很多機器學習算法中都有它的身影,特別是在現在的大數據時代,由于SVD可以實現并行化,因此更是大展身手。SVD的原理不難,只要有基本的線性代數知識就可以理解,實現也很簡單因此值得仔細的研究。當然,SVD的缺點是分解出的矩陣解釋性往往不強,有點黑盒子的味道,不過這不影響它的使用。
數據的中心化和標準化
簡介:
意義:數據中心化和標準化在回歸分析中是取消由于量綱不同、自身變異或者數值相差較大所引起的誤差。
原理:數據標準化:是指數值減去均值,再除以標準差;
數據中心化:是指變量減去它的均值。
目的:通過中心化和標準化處理,得到均值為0,標準差為1的服從標準正態分布的數據。
在回歸問題和一些機器學習算法中,以及訓練神經網絡的過程中,還有PCA等通常需要對原始數據進行中心化(Zero-centered或者Mean-subtraction)處理和標準化(Standardization或Normalization)處理。
目的:通過中心化和標準化處理,得到均值為0,標準差為1的服從標準正態分布的數據。計算過程由下式表示:
原因:在一些實際問題中,我們得到的樣本數據都是多個維度的,即一個樣本是用多個特征來表征的。很顯然,這些特征的量綱和數值得量級都是不一樣的,而通過標準化處理,可以使得不同的特征具有相同的尺度(Scale)。這樣,在學習參數的時候,不同特征對參數的影響程度就一樣了。簡言之,當原始數據不同維度上的特征的尺度(單位)不一致時,需要標準化步驟對數據進行預處理。
下圖是二維的示例:
左圖表示的是原始數據
中間的是中心化后的數據,可以看出就是一個平移的過程,平移后中心點是(0,0)。同時中心化后的數據對向量也容易描述,因為是以原點為基準的。
右圖將中心化后的數據除以標準差,得到為標準化的數據,可以看出每個維度上的尺度是一致的(紅色線段的長度表示尺度),而沒有處理之前的數據是不同的尺度標準。原始數據經過數據標準化處理后,各指標處于同一數量級,適合進行綜合對比評價。
————————————————
本文部分為CSDN博主「lilong117194」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/lilong117194/article/details/78561013
(本文部分轉載,轉載請注明出處。歡迎溝通交流: liujianping-ok@163.com)
總結
以上是生活随笔為你收集整理的奇异值分解(SVD)原理与在降维中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 崩坏3安卓模拟器怎么下载(崩坏3安卓模拟
- 下一篇: 苹果教你如何保持 iPhone 手机电池