Andrew Ng机器学习公开课笔记–Independent Components Analysis
网易公开课,第15课
notes,11
参考,
PCA本质是旋转找到新的基(basis),即坐标轴,并且新的基的维数大大降低
ICA也是找到新的基,但是目的是完全不一样的,而且ICA是不会降维的
对于ICA,最经典的问题,“鸡尾酒会”问题
在鸡尾酒会,上很多人同时在说话,还有背景音乐,如果我们放若干个话筒进行声音采集
是否可以从采集到的数据中,分离出每个人独立的声音
假设有n个不同的人,m个时间采集点,一般会用和人数一样多的话筒,也是n个
is an n-dimensional vector, is the acoustic reading recorded by microphone j at time i
is an n-dimensional vector, is the sound that speaker j was uttering at time i.
x向量,表示在时间点i,n个采集器收集到的声音数据
s向量,表示在时间点i,n个人真正发出的声音
那么x中每个值,一定是s中所有的值的一个线性变换产生的,话筒可能收集到从所有人发出的声音,根据远近或其他环境不同,不同的线性变换参数
所以可以表示成,
A is an unknown square matrix called the mixing matrix
现在问题比较清晰,我们可以观察到x,需要求出s
那么只要我们可以求出A,就可以求出x
设,
s= Wx
所以我们的目标变成求出W
denote the i-th row of W, so that
the j-th source can be recovered by computing
ICA ambiguities
很明显,如果没有任何先验知识,光凭x= As,是不可能求出唯一的A和s的
比如你求出A,但是2A也是可以的
或者PA,也是可以的,P为permutation matrix,其实就是调换其中行的位置,因为只要相应的调换S中人的位置即可
但是这些对于我们的例子影响不大,比如A和2A只是音量大小不同而已
并且s一定是非高斯分布才可以使用ICA
因为高斯分布的密度函数是rotationally symmetric
比如,x = As,其中s满足高斯分布,那么x也一定满足高斯分布
并且协方差为,
且x满足 分布
此时,我们改变A
设R be an arbitrary orthogonal (less formally, a rotation/reflection) matrix,
那么有,
你会发现 的分布没有变化,仍然是 分布
所以如果s是高斯分布,你根本无法求出唯一的A,因为对于不同的A,你会得到相同的观察值x
ICA algorithm
下面直接来看ICA算法如何求出W
The algorithm we describe is due to Bell and Sejnowski, and the interpretation we give will be of their algorithm as a method for maximum likelihood estimation.
仍然是用最大似然来求解这个问题,
Joint distribution为,假设sources 之间都是独立的
因为前面有,
所以有,
为何多了个W的行列式,参考讲义的证明,不加是错误的
前面说了,如果没有任何先验知识,是不可能求出W的,
所以这边我们需要假设p(s)的分布
这里是通过假设cumulative distrbution function (cdf) F,来求出p的
F的定义,区间上的概念和
所以有,
F(x)要满足两个性质是:单调递增和在[0,1],所以sigmoid函数很适合
于是有,
那么现在目标函数,log likelihood为,
然后用随机梯度下降,得到W,完成求解
其中后面的梯度就是对log likelihood求导得到的
对W行列式求导, ,参考矩阵的线性代数
参考,独立成分分析(Independent Component Analysis)
Andrew Ng机器学习公开课笔记–Independent Components Analysis的更多相关文章
- Andrew Ng机器学习公开课笔记–Principal Components Analysis (PCA)
网易公开课,第14, 15课 notes,10 之前谈到的factor analysis,用EM算法找到潜在的因子变量,以达到降维的目的 这里介绍的是另外一种降维的方法,Principal Compo ...
- Andrew Ng机器学习公开课笔记 -- 支持向量机
网易公开课,第6,7,8课 notes,http://cs229.stanford.edu/notes/cs229-notes3.pdf SVM-支持向量机算法概述, 这篇讲的挺好,可以参考 先继 ...
- Andrew Ng机器学习公开课笔记 -- 学习理论
网易公开课,第9,10课 notes,http://cs229.stanford.edu/notes/cs229-notes4.pdf 这章要讨论的问题是,如何去评价和选择学习算法 Bias/va ...
- Andrew Ng机器学习公开课笔记 -- Regularization and Model Selection
网易公开课,第10,11课 notes,http://cs229.stanford.edu/notes/cs229-notes5.pdf Model Selection 首先需要解决的问题是,模型 ...
- Andrew Ng机器学习公开课笔记–Reinforcement Learning and Control
网易公开课,第16课 notes,12 前面的supervised learning,对于一个指定的x可以明确告诉你,正确的y是什么 但某些sequential decision making问题,比 ...
- Andrew Ng机器学习公开课笔记 – Factor Analysis
网易公开课,第13,14课 notes,9 本质上因子分析是一种降维算法 参考,http://www.douban.com/note/225942377/,浅谈主成分分析和因子分析 把大量的原始变量, ...
- Andrew Ng机器学习公开课笔记 -- Mixtures of Gaussians and the EM algorithm
网易公开课,第12,13课 notes,7a, 7b,8 从这章开始,介绍无监督的算法 对于无监督,当然首先想到k means, 最典型也最简单,有需要直接看7a的讲义 Mixtures of G ...
- Andrew Ng机器学习公开课笔记 -- Online Learning
网易公开课,第11课 notes,http://cs229.stanford.edu/notes/cs229-notes6.pdf 和之前看到的batch learning算法不一样,batch ...
- Andrew Ng机器学习公开课笔记 -- 线性回归和梯度下降
网易公开课,监督学习应用.梯度下降 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 线性回归(Linear Regression) 先看个 ...
随机推荐
- matlab练习程序(射线法判断点与多边形关系)
依然是计算几何. 射线法判断点与多边形关系原理如下: 从待判断点引出一条射线,射线与多边形相交,如果交点为偶数,则点不在多边形内,如果交点为奇数,则点在多边形内. 原理虽是这样,有些细节还是要注意一下 ...
- 精灵动画Animation对话框组成Idle动画的各精灵
精灵动画Animation对话框组成Idle动画的各精灵 1.3 精灵动画 场景中已经添加了精灵,现在是时候让让它动起来了.读者也许已经从精灵图集中,各精灵的命名中看出来了,这个精灵一共有两种动画状 ...
- display显示隐藏
display <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <t ...
- HDU2243 考研路茫茫——单词情结(AC自动机+矩阵快速幂)
与POJ2778一样.这题是求长度不超过n且包含至少一个词根的单词总数. 长度不超过n的单词总数记为Sn,长度不超过n不包含词根的单词总数记为Tn. 答案就是,Sn-Tn. Sn=26+262+263 ...
- HDU4081 Qin Shi Huang's National Road System(次小生成树)
枚举作为magic road的边,然后求出A/B. A/B得在大概O(1)的时间复杂度求出,关键是B,B是包含magic road的最小生成树. 这么求得: 先在原图求MST,边总和记为s,顺便求出M ...
- 数据仓库原理<1>:数据库与数据仓库
updated 2015.8.27 updated 2015.8.26 updated 2015.8.23 0. 说明 <数据仓库原理>系列博文,是笔者在学习数据仓库与商业智能时的读书笔记 ...
- POJ 3020 (二分图+最小路径覆盖)
题目链接:http://poj.org/problem?id=3020 题目大意:读入一张地图.其中地图中圈圈代表可以布置卫星的空地.*号代表要覆盖的建筑物.一个卫星的覆盖范围是其周围上下左右四个点. ...
- JavaScript验证函数大全
1. 长度限制 <script> function test() { if(document.a.b.value.length>50) { alert("不能超过50个字符 ...
- sql2005 全文索引
1.打开全文索引 一.检查服务里面带有Full-text字样的服务是否存在并开启! [](http://images2015.cnblogs.com/blog/23017/201611/23017-2 ...
- 最基本的session保存法,类似于默认的files方法
关于session的几个补充函数 在PHP下,关于session的讨论很多,其实在PHP4中还有几个函数是我们平时没有注意到的. 下面我把它们介绍给大家吧. 其中的session_set_save_h ...