Independent Components Analysis:独立成分分析
一、引言
ICA主要用于解决盲源分离问题。需要假设源信号之间是统计独立的。而在实际问题中,独立性假设基本是合理的。
二、随机变量独立性的概念
对于任意两个随机变量X和Y,如果从Y中得不到任何关于X的信息,反之亦然,则可称随机变量X和Y是相互独立的。如,两个不同的物理过程产生的随机信号就是相互独立的。
从数学的角度讲,随机变量X和Y统计独立,当且仅当他们的联合概率密度可以分解为边缘密度的乘积,即
$ P(x,y) = P_X(x)P_Y(y) $
三、ICA的定义
ICA使得被分析信号各成分之间的统计依赖性最小化,突出了源信号的本质结构。目前,ICA最富前景的两项应用为盲源分离和特征提取。
ICA采用瞬时混合模型,具体参见http://www.cnblogs.com/90zeng/p/Independent_Components_Analysis.html
从统计分析角度出发,将时间序列\(x_i(t)\),\(y_j(t)\),\(t=1,2,3,....,T\)看成随机变量的T次实现,这样将会忽略信号的时间特性。将\(x_i(t)\),\(y_j(t)\)等时间序列简记为\(x_i\),\(y_j\),这种做法能在很大程度上弥补由时域分析方法的局限性带来的不足。假设这些随机变量的取值连续,且不失一般性,设其中所有成分都是零均值。
四、ICA的估计原理
ICA的假设和约束条件:
- 源信号\(s_i(i=1,....,m)\)都是零均值的实随机变量,且任意时刻均相互统计独立。
- 源信号数m应小于或等于观测信号数n。
- \(s_i\)中只允许一个源信号满足高斯分布。
由于两个统计独立的白色高斯信号混合后还是白色高斯信号,其概率分布函数只涉及二阶统计特性,没有高阶统计特性可利用,所以它们的独立性等同于互不相关。若服从高斯分布的源信号超过一个,则各源信号不可分。 - 各传感器引入的噪声很小,可以忽略不计。
- 对各源信号的概率分布函数略有一些先验知识。
例如,自然界的语音和某些音乐信号具有超高斯分布(拉普拉斯分布);图像信号大多为亚高斯特性(如均匀分布);许多噪声则接近高斯特性;当\(s_i\)为多个随机变量之和时,其概率密度函数也接近高斯分布函数(中心极限定理)。
ICA的数学模型
ICA的性质依赖于目标函数和最优化算法两个方面。
用ICA处理的目的就是找到混合信号x的一个线性变换矩阵W,使得输出尽可能的独立,即
\(y(t) = Wx(t) = WAs(t)\)
ICA解混模型
- 相关系数
- 性能指标
ICA的不确定性
- 分离信号排序(permutation)的不确定
- 信号尺度(scaling)的不确定性
ICA与白化
零均值随机向量y是白色信号,是指它的各个分量具有单位方差且相互不相关,即y的协方差矩阵为单位矩阵。
对于任意多维信号施加一个线性变换使其成为白色信号的处理过程称为白化(whiting)或全球化(sphering)或归一化解相关,对应的变换矩阵称为白化矩阵。
对于白化后的数据进行盲分离,分类矩阵W必为正交矩阵。
四、ICA的基本方法
- ICA的目标函数
目标函数是一个将\(y(t)\)的概率密度分布集合映射到一个实值函数的算子,记为\(\psi (y)\)。目标函数实际上是随机变量概率密度函数的泛函,只有当随机变量相互独立时,目标函数才能到到最大值或最小值。
-----------------------------
最大非高斯性
中心极限定理表明,两个独立随机变量的和的分布比其中任意一个分量的分布更接近高斯分布。
假设向量X是观测向量,\(X=AS\)。如果要顾及一个独立成分,需要考虑X各分量的一个线性组合\(y=b^TX\)。根据中心极限定理只需要改变b,直到取得了能使\(b^TX\)非高斯性最大的b,这样y就是一个独立成分。
-------------------------------
最小互信息(minimum mutual information)
Independent Components Analysis:独立成分分析的更多相关文章
- 斯坦福ML公开课笔记15—隐含语义索引、神秘值分解、独立成分分析
斯坦福ML公开课笔记15 我们在上一篇笔记中讲到了PCA(主成分分析). PCA是一种直接的降维方法.通过求解特征值与特征向量,并选取特征值较大的一些特征向量来达到降维的效果. 本文继续PCA的话题, ...
- 机器学习 —— 基础整理(四)特征提取之线性方法:主成分分析PCA、独立成分分析ICA、线性判别分析LDA
本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...
- Andrew Ng机器学习公开课笔记–Independent Components Analysis
网易公开课,第15课 notes,11 参考, PCA本质是旋转找到新的基(basis),即坐标轴,并且新的基的维数大大降低 ICA也是找到新的基,但是目的是完全不一样的,而且ICA是不会降维的 对于 ...
- Topographic ICA as a Model of Natural Image Statistics(作为自然图像统计模型的拓扑独立成分分析)
其实topographic independent component analysis 早在1999年由ICA的发明人等人就提出了,所以不算是个新技术,ICA是在1982年首先在一个神经生理学的背景 ...
- PCA主成分分析 ICA独立成分分析 LDA线性判别分析 SVD性质
机器学习(8) -- 降维 核心思想:将数据沿方差最大方向投影,数据更易于区分 简而言之:PCA算法其表现形式是降维,同时也是一种特征融合算法. 对于正交属性空间(对2维空间即为直角坐标系)中的样本点 ...
- 独立成分分析 ICA 原理及公式推导 示例
独立成分分析(Independent component analysis) 前言 独立成分分析ICA是一个在多领域被应用的基础算法.ICA是一个不定问题,没有确定解,所以存在各种不同先验假定下的求解 ...
- ICA (独立成分分析)
介绍 独立成分分析(ICA,Independent Component Correlation Algorithm)简介 X=AS X为n维观测信号矢量,S为独立的m(m<=n)维未知源信号矢量 ...
- 独立成分分析(Independent Component Analysis)
ICA是一种用于在统计数据中寻找隐藏的因素或者成分的方法.ICA是一种广泛用于盲缘分离的(BBS)方法,用于揭示随机变量或者信号中隐藏的信息.ICA被用于从混合信号中提取独立的信号信息.ICA在20世 ...
- 独立成分分析(Independent component analysis, ICA)
作者:桂. 时间:2017-05-22 12:12:43 链接:http://www.cnblogs.com/xingshansi/p/6884273.html 前言 今天群里冒出这样一个问题:群里谁 ...
随机推荐
- 现有iOS项目集成React Native过程记录
在<Mac系统下React Native环境搭建>配置了RN的开发环境,然后,本文记录在现有iOS项目集成React Native的过程,官方推荐使用Cocoapods,项目一开始也是使用 ...
- Mac php使用gd库出错 Call to undefined function imagettftext()
第一次在Mac下使用ThinkPHP,用到验证码功能时报如题的错误: Call to undefined function Think\imagettftext() 然后检查自己的GD库,发现安装上了 ...
- XML带多属性解析为一个实体类(利用反射)
最近在对接一个银行的项目,大概就是类似一个钱包的功能,在请求返回的数据时,发现返回的数据标准的XML格式的支付串,格式如下 <kColl id="inputOrig" app ...
- ExtJs基础知识总结:Dom、IFrame和TreePanel、TabPanel(三)
概述 ExtJs是另外一种操作封装JavaScript的类库与Jquery同类.所以对Dom的操作也是支持的,比如修改Div内Html内容等操作.有几个问题需要思考下: 1.ExtJs也支持IFram ...
- [BI项目记]-新任务处理
上一篇主要介绍如何借助TFS创建一个新的工作项,此篇主要演示如何对其进行处理. 首先回顾下新工作项不同阶段的定义. 接下来进入到开发阶段,根据需求创建五个报表.打开SQL Server Data To ...
- C# 通过反射获取扩展方法
注意,扩展方法本质上是静态方法,所以拿到MethodInfo时,应该这么调用 methodInfo.Invoke(null, new object[]{params}) static IEnumera ...
- dir命令只显示文件名
dir /b 就是ls -f的效果 1057 -- FILE MAPPING_web_archive.7z 2007 多校模拟 - Google Search_web_archive.7z 2083 ...
- JS(去掉前后空格或去掉所有空格)的用法
1. 去掉字符串前后所有空格: 代码如下: function Trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); } 说明 ...
- Java工程师层级
- Swift #function 和 _cmd (Objective-C)
NSStringFromSelector(_cmd); // Objective-C print(__FUNCTION__) // Swift 2 print(#function) // Swift ...