X=AS
X为n维观测信号矢量,S为独立的m(m<=n)维未知源信号矢量,矩阵A被称为混合矩阵。
ICA的目的就是寻找解混矩阵W(A的逆矩阵),然后对X进行线性变换,得到输出向量U。
U=WX=WAS
过程
(1)对输入数据进行中心化和白化预处理
X*=X-u
经过白化变换后的样本数据为
Z=Wz X*
注:白化是将观测信号x 线性变换为具有单位方差且各分量互不相关的z, 即E ( zzT) =I. 数据经过白化处理后, 只需要在正交矩阵空间中寻找解混矩阵W, 从而减少了变量维数,简化问题求解。
(2) 通过优化目标函数的方法得到W
注:白化后的信号Z要进行PCA降维,维数为设定好的IC个数(保证W可逆,为方阵)。从PCA降维后的信号中求解出解混矩阵W。ICA 的实现可以采用不同的估计准则, 包括信息极大化、非高斯性极大化、极大似然估计方法和互信息极小化等, 但它们在某些条件下彼此是等价的,可以相互转化。
(3)得到独立的基向量U
U=WX
应用:表情分类
得到基向量U后,任何一个样本可用U的线性组合来表示。
线性组合的系数即Xi向U上的投影系数:
Ei=UXi'
训练样本和测试样本可分别得到Ei和Etest。
然后选择合适的分类器,就可以进行分类。最简单的即为最近邻分类器(NNC):用距离参数表示训练集模板与测试样本的差异,认为测试样本与满足最小距离的训练样本属于同一种表情。
fastica简介
function [Out1, Out2, Out3] = fastica(mixedsig, varargin)
%FASTICA(mixedsig) estimates the independent components from given
% multidimensional signals. Each row of matrix mixedsig is one
% observed signal.
% = FASTICA (mixedsig); the rows of icasig contain the
% estimated independent components.
% = FASTICA (mixedsig); outputs the estimated separating
% matrix W and the corresponding mixing matrix A.
mixedsig为输入向量,icasig为求解的基向量。
A即为混合矩阵,可以验证mixedsig=A×icasig。
W即为解混矩阵,可以验证icasig=W×mixedsig。
Infomax简介