机器学习-独立成分分析(ICA)
1. 独立成分分析(Independent Components Analysis)
1.1 概念
独立成分分析是从观测变量中分离出独立元素,观测变量的维度(数目)要和独立元素维度(数目)相同。模型表示如下
x=As(x,s∈Rn,A∈Rn∗n)x为观测变量,s中各个分量彼此独立s=A−1x=Wxx = As (x,s \in R^n, A\in R^{n*n})\\ x为观测变量, s中各个分量彼此独立 \\ s = A^{-1}x = Wx x=As(x,s∈Rn,A∈Rn∗n)x为观测变量,s中各个分量彼此独立s=A−1x=Wx1.2 如何求解模型
已知的变量只有xxx,需要根据xxx值推导出矩阵AAA。如果不增加其它设定,是无法仅根据xxx求解出矩阵A,因此需要增加其它条件,来建立合适的p(x)p(x)p(x)概率密度模型,然后再通过极大似然估计求解矩阵AAA。
先说因子分析的几个限制
(1)无法区分各个独立成分的顺序
(2)不能恢复独立成分的大小(2A.12s=As2A.\frac{1}{2}s=As2A.21s=As)
(3)若独立成分是高斯分布,则不能恢复
若要求解矩阵AAA, 需要预先假设原独立成分的概率模型,不过和因子分析不同的是,这里假设的是分布函数.实际应用时,多数情况都可以假设sss中每一个元素的分布函数都服从F(sj)=11+exp−sjF(s_j)=\frac{1}{1+\exp^{-s_j}}F(sj)=1+exp−sj1,此时变量sss的概率密度函数可以表示为
p(s)=∏j=1np(sj)=∏j=1nF′(sj)=∏j=1nF′(WjTx)Wj表示矩阵W第j行向量p(s)=\prod _{j=1}^np(s_j)=\prod _{j=1}^nF^{\prime}(s_j)=\prod _{j=1}^nF^{\prime}(W_j^Tx) \\ W_j表示矩阵W第j行向量 p(s)=j=1∏np(sj)=j=1∏nF′(sj)=j=1∏nF′(WjTx)Wj表示矩阵W第j行向量
根据雅可比式,可以得到p(x)p(x)p(x)表达式为
p(x)=p(s)J(s→x)=p(s)∣w∣=[∏j=1nF′(WjTx)]∣W∣p(x)=p(s)J(s\to x)=p(s)|w|=[\prod _{j=1}^nF^{\prime}(W_j^Tx)]|W| p(x)=p(s)J(s→x)=p(s)∣w∣=[j=1∏nF′(WjTx)]∣W∣
这样模型就建立了,接下来就可以使用对数似然函数求解
l(W)=∑i=1m[(∑j=1nlogF′(WjTx(i)))+log∣W∣]W:=W+α([1−2F(W1Tx(i))⋮1−2F(WnTx(i))]x(i)T+(WT)−1)l(W) = \sum _{i=1}^m[(\sum _{j=1}^n\log F^{\prime}(W_j^Tx^{(i)}))+\log |W|] \\ W:=W+\alpha(\begin{bmatrix} 1-2F(W_1^Tx^{(i)})\\ \vdots \\ 1-2F(W_n^Tx^{(i)}) \end{bmatrix}x^{(i)^T}+(W^T)^{-1}) l(W)=i=1∑m[(j=1∑nlogF′(WjTx(i)))+log∣W∣]W:=W+α(⎣⎢⎡1−2F(W1Tx(i))⋮1−2F(WnTx(i))⎦⎥⎤x(i)T+(WT)−1)
机器学习-独立成分分析(ICA)相关推荐
- lda 吗 样本中心化 需要_机器学习 —— 基础整理(四):特征提取之线性方法——主成分分析PCA、独立成分分析ICA、线性判别分析LDA...
本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...
- 学习笔记 | 独立成分分析(ICA, FastICA)及应用
学习笔记 | 独立成分分析[ICA, FastICA]及应用 1 背景说明 2 算法原理 2.1 ICA简介 2.2 形式化表达 3 算法步骤与代码 4 算法改进:FastICA 5 ICA实例与应用 ...
- R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行独立成分分析ICA(Independent components analysis)、设置method参数为ica
R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行独立成分分析ICA(Independent components analysis).设置method参数为ica 目 ...
- 独立成分分析ICA、因子分析、LDA降维、NMF非负矩阵分解
独立成分分析ICA.因子分析.LDA降维.NMF非负矩阵分解 目录 独立成分分析ICA.因子分析.LDA降维.NMF非负矩阵分解 独立成分分析ICA
- 独立成分分析 ( ICA ) 与主成分分析 ( PCA ) 的区别
1.前言 参考资料:https://www.zhihu.com/question/28845451 书上写的是: 1. 主成分分析假设源信号间彼此非相关,独立成分分析假设源信号间彼此独立. 2. 主成 ...
- sklearn自学指南(part50)--独立成分分析(ICA)
学习笔记,仅供参考,有错必纠 文章目录 分解信号的分量(矩阵分解问题) 独立成分分析(ICA) 分解信号的分量(矩阵分解问题) 独立成分分析(ICA) 独立成分分析将一个多变量信号分离成最大程度独立的 ...
- 独立成分分析ICA/FastICA
最近在学习CSP,然后又注意到了ICA,这个算法之前就用过,但是没有系统的整理一下,所以就在这里梳理一下相关内容,方便以后查阅. 独立成分分析ICA/FastICA 1 盲源分离(BlindSourc ...
- 独立成分分析ICA在MATLAB中的实现
独立成分分析ICA在MATLAB中实现展示 by:YANG LIU 测试: 输入信号 输出结果: 特别注意:代码28,29,30行".* "和" * "的区别. ...
- 机器学习中的数学(七):独立成分分析(ICA)以及FastICA算法
独立成分分析(ICA) 问题 1.上节提到的PCA是一种数据降维的方法,但是只对符合高斯分布的样本点比较有效,那么对于其他分布的样本,有没有主元分解的方法呢? 2.经典的鸡尾酒宴会问题(cocktai ...
最新文章
- 那些年用过的Redis集群架构(含面试解析)
- linux 脚本判断一个目录不存在
- 2020最后一个月,近4成应届生未就业,19个头部城市谁最留不住人?
- WPF游戏,使用move游戏开发
- Stimulsoft Reports.Net基础教程(七):创建列式报表①
- SPOJ - NSUBSTR Substrings(后缀自动机)
- mysql插入10万测试_[原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率
- Sublime Text 4设置光标闪烁
- Linux内核分析 - 网络[一]:收发数据包的调用
- 95-080-044-源码-启动-jobmanager.sh
- 6个最热门的IT技术职位,薪资都有多高?
- 20145226夏艺华 JAVA预备作业1
- wps一直显示正在备份怎么办_笔记本电脑显示器一直闪动怎么办
- 对编程语言的数据类型的理解
- ubuntu-键盘映射
- JS 微信emoji表情数组
- python爬房源信息_Python爬虫-爬取300个短租网房源信息
- kakfa安装与简单使用
- 运营商 sni 服务器,加密或者丢失:加密SNI的工作机制
- 挪威是这样养三文鱼的--转帖
热门文章
- Reactor响应式编程
- java零基础自学_Java零基础自学经验
- 关于CentOS系统中键盘错乱的解决window10默认输入法顿号句号失灵
- 配电网故障重构(含matlab代码)
- Windows逆向学习笔记——WinRAR去除广告
- 虹软离线人脸识别java版本的SDK使用配置,也是整了半天才看明白一些,总结一下
- 大棚养殖胡萝卜个头小?资产监测设备解决该问题
- Contest100000581 - 《算法笔记》4.1小节——算法初步-排序
- 一款强大的思维导图软件-XMind:ZEN 2020v10.0-免费安装与使用
- java短信验证平台_JAVA实现利用第三方平台发送短信验证码