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 前言 今天群里冒出这样一个问题:群里谁 ...
随机推荐
- C# oracle odp.net 32位/64位版本的问题
问题如下: 系统是win7 64位,技术 asp.net mvc 4, 数据库 oracle 11g. 由于某些原因只能使用 32的 ODP.NET ( Oracle Data Provider ), ...
- JS 数据类型转换
JS 数据类型转换 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把 ...
- tmpfs详解
一,tmpfs介绍 1. tmpfs是一种虚拟内存文件系统,正如这个定义它最大的特点就是它的存储空间在VM里面(什么是VM?后面介绍) 2. VM是由linux内核里面的vm子系统管理的东西,现在大多 ...
- 再见,OI
你好,NOIP 2015年9月1日 正式成为了福建省莆田一中的一名高一成员 后来学校搞了选修 大家都很激动 因为自己的兴趣和特长能够得到发挥了(或者说能逃课或者看好多电影) 发现选修提供的选项中有好几 ...
- 【学习篇:他山之石,把玉攻】jquery实现调用webservice
1.webservice端 using System; using System.Collections.Generic; using System.Web; using System.Web.Ser ...
- 如何快速找到排好序的数组中最先不连续的数字N
现在有一大堆自然数组成的小到大数组arr,其中会有123456910 这样就要找到6(最先不连续的数字) 举例:[12356789] 找到3 [012345678] 找到8 第一种:遍历数组判断是否 ...
- swift 手机号码正则表达式 记录一下
func isTelNumber(num:NSString)->Bool { var mobile = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$&qu ...
- Beginning Scala study note(8) Scala Type System
1. Unified Type System Scala has a unified type system, enclosed by the type Any at the top of the h ...
- 如何关闭eslint
在vue-cli搭建webpack中,使用eslint进行代码规范化检查. 进行关闭,在根目录下有个.eslintignore直接将不想要检查的文件丢进去就可以了 也可以在重构的时候把它关闭掉
- c语言实现开灯问题
开灯问题: 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯将被关掉),第3 个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依 ...