ICA(獨立成分分析)方法及應用於視訊分析心跳檢測
本文整理自論文《Non-contact, automated cardiac pulse measurements using video imaging and blind source separation》及ICA相關資料。
獨立成分分析(Independent Component Analysis,ICA),是一種資料驅動的訊號分析方法,常用於盲源分離(Blind Source Separation,BSS)。
盲源分離是指在訊號的理論模型和源訊號無法精確獲知的情況下,如何從混迭訊號(觀測訊號)中分離出各源訊號的過程。盲源分離和盲辨識是盲訊號處理的兩大型別。盲源分離的目的是求得源訊號的最佳估計,盲辨識的目的是求得傳輸通道的混合矩陣。
最典型的盲源分離問題是雞尾酒會問題(Cocktail Party Problem):給定混合訊號,分離出雞尾酒會中同時說話的每個人的獨立訊號。
ICA原理
預處理
在進行ICA之前通常對資料進行去均值和白化,使用PCA處理,以保證混合矩陣為正交矩陣,且可將採集訊號數目降到與源訊號數目相等。
演算法目標
源訊號
經過線性組合得到採集訊號
,其混合矩陣記為
,即
。假設
為滿秩矩陣,則存在
使
,ICA的目標就是求出矩陣
,從而從
中還原出源訊號
。
基本假設
- 各源訊號間獨立
- 至多有一個訊號服從高斯分佈,混合後訊號不服從高斯分佈
- 變換為線性變換,且變換矩陣非時變
主要思路
ICA方法沒有參照目標,需要自組織學習過程。其主要思路為:
- 建立以 為變數的目標函式 ,當 取到極值時的 即為所求結果。
- 使用優化方法找到 的極值,得到最終的 。
常使用的演算法主要分為基於資訊理論方法和基於統計學方法。基於資訊理論方法主要有FastICA,Infomax,最大似然估計等方法,基於統計學方法主要有二階累積量,四階累積量等方法。下面簡要介紹最大似然估計方法。
最大似然估計法
假設單個源訊號
的概率密度為
,則全體源訊號
的聯合分佈為:
則經過
變換後
的概率分佈為:
由基本假設得知不能選用高斯累積分佈函式,令
的累積分佈函式為sigmoid函式
,則
。可得關於
的似然函式,式中m表示時間序列。
將
關於W求導後可得到對於每一個x的梯度更新規則: