當前位置:
首頁 > 最新 > 人工智慧–ICA演算法

人工智慧–ICA演算法

人工智慧之ICA演算法

前言:人工智慧機器學習有關演算法內容,請參見公眾號「科技優化生活」之前相關文章。人工智慧之機器學習主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下ICA演算法。^_^

ICA獨立成分分析是近年來出現的一種強有力的數據分析工具(Hyvarinen A, Karhunen J, Oja E, 2001; Roberts S J, Everson R, 2001)。1994年由Comon給出了ICA的一個較為嚴格的數學定義,其思想最早是由Heranlt和Jutten於1986年提出來的。

ICA從出現到現在雖然時間不長,然而無論從理論上還是應用上,它正受到越來越多的關注,成為國內外研究的一個熱點

ICA獨立成分分析是一種用來從多變數(多維)統計數據里找到隱含的因素或成分的方法,被認為是PCA主成分分析(請參見人工智慧(46))和FA因子分析的一種擴展。對於盲源分離問題,ICA是指在只知道混合信號,而不知道源信號、雜訊以及混合機制的情況下,分離或近似地分離出源信號的一種分析過程。

ICA演算法概念:

ICA(IndependentComponent Analysis)獨立成分分析是一門統計技術,用於發現存在於隨機變數下的隱性因素。ICA為給觀測數據定義了一個生成模型。在這個模型中,其認為數據變數是由隱性變數,經一個混合系統線性混合而成,這個混合系統未知。並且假設潛在因素屬於非高斯分布、並且相互獨立,稱之為可觀測數據的獨立成分。

ICA與PCA相關,但它在發現潛在因素方面效果良好。它可以應用在數字圖像、檔文資料庫、經濟指標、心裡測量等。

ICA演算法本質:

ICA是找出構成信號的相互獨立部分(不需要正交),對應高階統計量分析。ICA理論認為用來觀測的混合數據陣X是由獨立元S經過A線性加權獲得。ICA理論的目標就是通過X求得一個分離矩陣W,使得W作用在X上所獲得的信號Y是獨立源S的最優逼近,該關係可以通過下式表示:

Y = WX = WAS , A = inv(W)

ICA相比與PCA更能刻畫變數的隨機統計特性,且能抑制高斯雜訊。

從線性代數的角度去理解,PCA和ICA都是要找到一組基,這組基張成一個特徵空間,數據的處理就都需要映射到新空間中去。

ICA理論基礎:

ICA理論基礎如下:

1)標準正交基

2)白化

3)梯度下降

ICA目標函數:

ICA的目標函數如下:

樣本數據x經過參數矩陣W線性變換後的結果的L1範數,實際上也就是描述樣本數據的特徵。

加入標準正交性約束(orthonormality constraint)後,ICA獨立成分分析相當於求解如下優化問題:

這就是標準正交ICA的目標函數。與深度學習中的通常情況一樣,這個問題沒有簡單的解析解,因此需要使用梯度下降來求解,而由於標準正交性約束,又需要每次梯度下降迭代之後,將新的基映射回正交基空間中,以此保證正交性約束。

ICA優化參數:

針對ICA的目標函數和約束條件,可以使用梯度下降法,並在梯度下降的每一步中增加投影(projection)步驟,以滿足標準正交約束。過程如下:

ICA演算法流程:

已知信號為S,經混和矩陣變換後的信號為:X=AS。對交疊信號X,求解混矩陣B,使Y=WX各分量盡量相互獨立。求解W的過程並不一定是近似A的逆矩陣,Y也不是信號S的近似,而是為了使Y分量之間相互獨立。目的是從僅有的觀測數據X出發尋找一個解混合矩陣。

常見的方法:InfoMax方法(用神經網路使信息最大化),FastICA方法(固定點演算法,尋求X分量在W上投影(W^t)*X)的非高斯最大化。

主要演算法流程如下:

1、預處理部分:

1)對X零均值處理

2)球化分解(白化)

乘球化矩陣S,使Z=SX各行正交歸一,即ZZ』=I

2、核心演算法部分:

尋求解混矩陣U,使Y=UZ,Y各道數據儘可能獨立(獨立判據函數G)。

1)、由於Y獨立,各行必正交。且通常取U保持Y各行方差為1,故U是正交變換。

2)、所有演算法預處理部分相同,以後都設輸入的為球化數據z,尋找正交矩陣U,使Y=Uz獨立。

由於獨立判據函數G的不同,以及步驟不同,有不同的獨立分量分析法。

3Fast ICA演算法思路

思路:屬於探查性投影追蹤

目的:輸進球化數據z,經過正交陣U處理,輸出Y=Uz

1)輸進球化數據z,經過正交陣某一行向量ui處理(投影),提取出某一獨立分量yi。

2)將此分量除去,按次序依次提取下去,得到所有的yi ,以及ui。

3)得到獨立的基向量U

U=WX

Fast ICA演算法程序如下:

function [Out1, Out2, Out3] =fastica(mixedsig, varargin)

%FASTICA(mixedsig) estimates theindependent components from given

% multidimensional signals. Each row ofmatrix mixedsig is one

% observed signal.

% = FASTICA (mixedsig); the rows oficasig contain the

% estimated independent components.

% = FASTICA (mixedsig); outputs the estimatedseparating

% matrix W and the corresponding mixingmatrix A.

mixedsig為輸入向量,icasig為求解的基向量。

A即為混合矩陣,可以驗證mixedsig=A×icasig。

W即為解混矩陣,可以驗證icasig=W×mixedsig。

ICA演算法優點:

1)收斂速度快

2)並行和分布計算,要求內存小,易於使用。

3)能通過使用一個非線性函數g便能直接找出任何非高斯分布的獨立分量。

4)能夠通過選擇一個適當的非線性函數g而使其達到最佳化。特別是能得到最小方差的演算法。

5)僅需要估計幾個(不是全部)獨立分量,能極大地減小計算量

ICA演算法缺點:

1)特徵矩陣W的特徵數量(即基向量數量)大於原始數據維度會產生優化方面的困難,並導致訓練時間過長

2)ICA模型的目標函數是一個L1範數,在點處不可微,影響了梯度方法的應用。

註:儘管可以通過其他非梯度下降方法避開缺點2),也可以通過使用近似值「平滑」 L1範數的方法來解決,即使用( x2+ε )1/2代替|x|,L1範數進行平滑,其中 ε 是「平滑參數」(smoothing parameter)。

ICAPCA區別:

1)PCA是將原始數據降維並提取出不相關的屬性,而ICA是將原始數據降維並提取出相互獨立的屬性。

2)PCA目的是找到這樣一組分量表示,使得重構誤差最小,即最能代表原事物的特徵。ICA的目的是找到這樣一組分量表示,使得每個分量最大化獨立,能夠發現一些隱藏因素。由此可見,ICA的條件比PCA更強些

3)ICA要求找到最大獨立的方向,各個成分是獨立的;PCA要求找到最大方差的方向,各個成分是正交的。

4)ICA認為觀測信號是若干個統計獨立的分量的線性組合,ICA要做的是一個解混過程。而PCA是一個信息提取的過程,將原始數據降維,現已成為ICA將數據標準化的預處理步驟。

ICA演算法應用:

從應用角度看,ICA應用領域與應用前景都是非常廣闊的,目前主要應用於盲源分離、圖像處理、語言識別、通信、生物醫學信號處理、腦功能成像研究、故障診斷、特徵提取、金融時間序列分析和數據挖掘等。

結語:

ICA是一種常用的數據分析方法,是盲信號分析領域的一個強有力方法,也是求非高斯分布數據隱含因子的方法。從樣本-特徵角度看,使用ICA的前提條件是,認為樣本數據由獨立非高斯分布的隱含因子產生,隱含因子個數等於特徵數,要求的是隱含因子。ICA演算法已經被廣泛應用於盲源分離、圖像處理、語言識別、通信、生物醫學信號處理、腦功能成像研究、故障診斷、特徵提取、金融時間序列分析和數據挖掘等領域。

------以往文章推薦------

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

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


請您繼續閱讀更多來自 科技優化生活 的精彩文章:

人工智慧–機器人
人工智慧–自動駕駛汽車

TAG:科技優化生活 |