ICA(独立成分分析)

独立成分分析(ICA,Independent Component Correlation Algorithm)简介

X=AS
X为n维观测信号矢量,S为独立的m(m<=n)维未知源信号矢量,矩阵A被称为混合矩阵。
ICA的目的就是寻找解混矩阵W(A的逆矩阵),然后对X进行线性变换,得到输出向量U。
U=WX=WAS

过程:
(1)对输入数据进行中心化和白化预处理
X*=X-u
经过白化变换后的样本数据为
Z=Wz X*
(2)从白化样本中求解出解混矩阵W
通过优化目标函数的方法得到W
(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.

% [icasig] = FASTICA (mixedsig); the rows of icasig contain the
% estimated independent components.

% [icasig, A, W] = FASTICA (mixedsig); outputs the estimated separating
% matrix W and the corresponding mixing matrix A.

mixedsig为输入向量,icasig为求解的基向量。
A即为混合矩阵,可以验证mixedsig=A×icasig。
W即为解混矩阵,可以验证icasig=W×mixedsig。

关于FastICA的matlab工具箱及参考文献,已共享到:

http://cid-67c61986d0963581.skydrive.live.com/self.aspx/.Public/FastICA25.rar

转载于:https://my.oschina.net/tofro/blog/1503053

你可能感兴趣的:(matlab)