獨立成分分析
在統計學中,獨立成分分析或獨立分量分析(Independent components analysis,縮寫:ICA) 是一種利用統計原理進行計算的方法。它是一個線性變換。這個變換把數據或信號分離成統計獨立的非高斯的信號源的線性組合。獨立成分分析是盲信號分離(Blind source separation)的一種特例。
定義
獨立成分分析的最重要的假設就是信號源統計獨立。這個假設在大多數盲信號分離的情況中符合實際情況。即使當該假設不滿足時,仍然可以用獨立成分分析來把觀察信號統計獨立化,從而進一步分析數據的特性。獨立成分分析的經典問題是「雞尾酒會問題」(cocktail party problem)。該問題描述的是給定混合信號,如何分離出雞尾酒會中同時說話的每個人的獨立信號。當有N個信號源時,通常假設觀察信號也有N個(例如N個麥克風或者錄音機)。該假設意味着混合矩陣是個方陣,即J = D,其中D是輸入數據的維數,J是系統模型的維數。對於J < D和J > D的情況,學術界也分別有不同研究。
獨立成分分析並不能完全恢復信號源的具體數值,也不能解出信號源的正負符號、信號的級數或者信號的數值範圍。
獨立成分分析是研究盲信號分離(blind signal separation)的一個重要方法,並且在實際中也有很多應用。
數學定義
線性獨立成分分析可以分為無噪聲模型和有噪聲模型,其中無噪聲模型可看作有噪聲模型的特例。非線性獨立成分分析的情況應該單獨處理。
一般定義
觀察的數據或者信號用隨機向量 表示,獨立成分量可以定義為向量。獨立成分分析的目的是通過線性變換把觀察的數據, 轉換成獨立成分向量 , 而獨立成分分量滿足互相統計獨立的特性。統計獨立的量化通常通過某指定函數來衡量。
基本模型
線性無噪聲獨立成分分析
外部連結
- What is independent component analysis? (頁面存檔備份,存於網際網路檔案館) by Aapo Hyvärinen
- Introductory chapter (頁面存檔備份,存於網際網路檔案館) of the book A. Hyvärinen, J. Karhunen, E. Oja (2001). Independent Component Analysis (頁面存檔備份,存於網際網路檔案館)
- FastICA as a package for Matlab, in R language, C++, and Python (頁面存檔備份,存於網際網路檔案館)
- ICALAB Toolboxes for Matlab, developed at Riken
- High Performance Signal Analysis Toolkit provides C++ implementations of FastICA and Infomax
- Free software for ICA by JV Stone.
- Demonstration of the cocktail party problem (頁面存檔備份,存於網際網路檔案館)
- EEGLAB Toolbox (頁面存檔備份,存於網際網路檔案館) ICA analysis of EEG for Matlab, developed at UCSD.
- FMRLAB Toolbox (頁面存檔備份,存於網際網路檔案館) ICA analysis of fMRI for Matlab, developed at UCSD