Factor_Analysis
Factor_Analysis(因子分析)
Factor Analysis 简书:较好理解的解释,其中公式有一定的推导(仅展现关键步骤,细节大多需要自行补充),基本为结论式。
感性层面理解:首先,明确FA和PCA的区别。PCA做的是对某个样本,试图寻找到一组方差尽量大的线性表示(基向量),以便降维;FA做的是,假想存在一些隐变量,它们影响着我们的观测结果(即我们得到的数据样本),我们试图找到两者的联系:$x = \Lambda z + \mu + \epsilon$,在简书中有说明其MLE函数形式,不难看出它的MLE形式难以求解,故采用EM(机器学习之最大期望(EM)算法,讲得不错)迭代以求最优解。此外,FA通常用于$m<<n$的庆幸
心路历程:首先,我去推了一下EM,发现自己之前学的时候,由于是在GMM求解的时候需要的,所以并没有很仔细地推导,所以就再去推导了一次推了我一页草稿纸。其次,没有找到:$\mu_{x_1|x_2} = \mu_1 + \Sigma_{12} \Sigma_{22}^{-1} (x_2 - \mu_2)$ 以及 $\Sigma_{1|2} = \Sigma_{11} - \Sigma_{12} \Sigma_{22}^{-1} \Sigma_{21}$ 的公式名称,如果看官知晓其名称,望告知不才,感激不尽。最后,还是忘记了矩阵求导,又去查了一下,而我也尚未进行公式回带和化简整合。自闭了,一大堆
疑问:简书作者在开头提到:由于存在隐变量,同时不能由MLE得到close form。(close form:即闭式解,通俗解释就是$\nabla f(x) = 0$的$x$表达式),这里不理解为何没有闭式解,目前推的结果(MLE式子),大概猜测是因为$m<<n$的缘故,这样带来的结果就是$\left| \Sigma \right| = 0$(其实本身$\left| \Sigma \right|$是不等于0的,但是由于$m<<n$,所以它等于0,其实就是由于样本数量不足,或者说难以得到如此高维并且充足的样本)。显然,$\left| \Sigma \right| = 0$会在后续中遇到诸多麻烦,最容易想的就是$\Sigma$是不可逆的,这显然很难进行接下来的计算,虽然我算的不多,但是$\Sigma^{-1}$几乎都是需要的。然而,可以引入伪逆,所以肯定还有我没有想到的原因,或者说伪逆会带来较差的表现等等。
备注:由于博客园写推导公式较为麻烦,所以没有在博客上进行推导,不过建议看官如果并未学习过上述知识,还是手推几次以便加强理解和记忆(当然也有一些少年仅仅看就能得到很好理解,并且运用巧妙)。比如在EM算法中,求解lower_bound之前,分子分母同乘一个量以便之后用Jensen不等式化简(orz)等等(好像其他的操作就比较平凡了)。最近闲来无事的时候,发现很多学习过的算法,特别是需要一定数学式子或者思维来求解的(我竟然想去求LCM解烤鸡??),似乎都忘了需要求解的表达式(嘴上讲讲天花乱坠,手里推推苦思冥想),虽然求解过程都不难,但是对于我来说,其中一些技巧还是需要理解的有些计算量也是大啊。
Factor_Analysis的更多相关文章
- zoj Simple Equation 数论
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5176 AX+BY = XY => (X-B)*(Y-A)= ...
- Python机器学习笔记 使用scikit-learn工具进行PCA降维
之前总结过关于PCA的知识:深入学习主成分分析(PCA)算法原理.这里打算再写一篇笔记,总结一下如何使用scikit-learn工具来进行PCA降维. 在数据处理中,经常会遇到特征维度比样本数量多得多 ...
- OtterTune源码解析
为了方便后面对ottertune进行魔(hu)改(gao),需要先搞清楚它的源码结构和pipeline OtterTune分为两大部分: server side: 包括一个MySQL数据库(用于存储调 ...
随机推荐
- redo log和bin log
讲redolog和binlog之前,先要讲一下一条mysql语句的执行过程. 1.client的写请求到达连接器,连接器负责管理连接.验证权限: 2.然后是分析器,负责复习语法,如果这条语句有执行过, ...
- 解决 React-Native: Android project not found. Maybe run react-native android first?
在终端运行命令react-native run-android时报错Android project not found. Maybe run react-native android first? 解 ...
- Visual Studio(Year)编辑器调试在IIS发布的Web程序出现错误的解决
如下图所示:
- github看项目-浏览器插件
浏览器插件,使用浏览器看github项目 原文:浏览 GitHub 太卡了?教你两招!
- 为LPC1549 LPCXpresso评估板开发基于mbed的项目
本文将主要介绍如何使用Visual Studio和VisualGDB为LPC1549 LPCXpresso开发板创建一个使用mbed框架的基础项目. LPC1549 LPCXpresso开发板载一个L ...
- 【Java】Eclipse+环境安装及新建Project
安装Eclipse 1.进入ecilpse官方下载地址:https://www.eclipse.org/downloads/?FEATURED_STORY 2.点击红色箭头指向的Download Pa ...
- js 面向对象之属性描述符
上回介绍了面向对象之构造器属性.这次介绍下属性描述符 遍历对象属性 let person = {name: "lisi"} for (key in person) { consol ...
- Composer的安装以及替换为国内镜像
Composer的安装以及使用国内镜像 Composer 学习网址 Composer官网 https://getcomposer.org/ Composer中文网 http://www.phpcomp ...
- html 实现动态在线预览word、excel、pdf等文件(方便快捷)
https://blog.csdn.net/superKM/article/details/81013304 太方便了 <iframe src='https://view.officeapps. ...
- 基于pg_qualstats和hypopg的自动索引调优
pg-qualstats的安装和配置 1.安装pg-qualstats -pg-qualstats 2.将pg_qualstats和pg_stat_statements添加到shared_preloa ...