當前位置:
首頁 > 最新 > 獨立成分分析

獨立成分分析

獨立成分分析(簡稱ICA)是一種用來從多變數統計數據中找到隱含因素或成分的方法,是主成分分析的一種變種和擴展。

在解釋ICA的作用之前,先介紹一個概念:雞尾酒會效應。在嘈雜的雞尾酒宴會上,許多人在同時交談,可能還有音樂背景,但人耳卻能夠準確而清晰的聽到特定人的談話,這種從混合聲音中選擇自己感興趣的聲音而把其他聲音忽略的現象,稱作雞尾酒會效應。

獨立成分分析就是對雞尾酒會效應的數學描述或實現,即如何從混雜對象中選出感興趣的部分來。本質上ICA是一種線性變換,它把數據或信號分離成統計獨立的非高斯信號源。對ICA的通用描述如下:

設s(t)是t時刻、m維零均值的源信號向量,且其分量相互獨立;設x(t)是n維觀測信號向量,其每個觀測信號分量都是m個獨立的源信號的線性組合,即

x(t)=a*s(t)

ICA的目標就是找到一個對x(t)做線性變換的m*n矩陣w,使得x(t)經過變換得到的新變數y的各個分量之間儘可能獨立,即y(t)為源信號s(t)的估計值。

ICA模型的使用需要滿足4個基本假設(1)滿秩矩陣;(2)非高斯源;(3)獨立性;(4)加性雜訊。

在ICA中,需要利用"非高斯性就是獨立性"來判斷獨立性,它利用的是中心極限定理的基本理論:如果一個信號源屬於高斯分布,那它極有可能是多個信號的綜合效應的體現,反之非高斯性則極有可能是其本身的體現。在概率論與數理統計中,教材上沒有這方面的實例,顯然,這是中心極限定理應用的一個"額外"功能。

實施ICA,一般需要三步:(1)數據的預處理,包括中心化和白化;(2)設定獨立性的度量標準,建立目標函數;(3)選用一種方法,使目標函數最優化。

ICA發展很快,也有多種方法可以實現,但用得最多的是FastICA演算法。在MATLAB中,有人已經把這種演算法實現了,下面給出的是摘自網上的演算法,在MATLAB2014版上運行通過,但由於代碼版本較早,有些語法過時了,MATLAB提示需要更改。這些源碼,查看本公眾號的另一文章:fastica。

上述內容摘選總結自:朱文泉與林文鵬編著的《遙感數字圖像處理-原理與方法》。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 數據處理與編程 的精彩文章:

閑讀信號處理的書

TAG:數據處理與編程 |