=============================================================================

EM FOR FACTOR ANALYSIS

=============================================================================

通过cs229学习笔记3 (EM alogrithm,Mixture of Gaussians revisited & Factor analysis )最后的推导

我们得到了factor analysis model的似然公式:

下面将通过EM算法最大化似然函数:

E-step:

我们知道

通过之前多元高斯分布的条件概率我们可以得到

再将u和Sigma 带回到多元高斯分布的公式里,得到:

M-step:

这里我们需要maximize的部分是:(其中的∫……d(z(i))相当于离散数据中的求和符号)

因为p(x(i),z(i))=p( x(i) | z(i) )*p(z(i)) ,所以上式可以化作:(用log函数的性质)

将Qi(z(i))看作是z(i)的概率密度函数,那么积分符号和Qi合起来就是期望的表达式,即上式为:

应为p(z(i))和Qi(z(i))是由已经固定了的高斯分布决定的,所以中括号内的后两项与我们关心的三个参数无关,可以直接省略。

再因为factor analysis的定义,,所以p(x(i) | z(i))=N(μ+∧z,Ψ),这是多元高斯分布的性质,详细请参看多元高斯分布

所以上式等于:

再用log的性质将公式化简,然后直接使用最大似然估计,就可以得到M-step的参数更新公式了:

提醒一句:Ψ是对角矩阵

========================================================================================

Principal components analysis (PCA)

========================================================================================

这是一个用于降维的算法,先前在coursera上也提到过,至于有什么用处,我们先给出具体的算法吧

在执行PCA之前一般需要将各个参数scalling,使它们的量级相同

大概就是求出平均值,减去平均值,求出方差,除以方差,这样所有参数都在相同的scale上了

然后找到一个响亮,使得所有样例投影到该向量上的距离最短

也就是说:我们需要使下式最大化:

括号内的内容是x(i)映射在u向量上的大小,得到u之后选取前k个u就可以将x降维到k维。

注意u是与红色线相垂直的向量,所以最大化上式也就是最小化点到直线的垂直距离

展示图片是2D-1D,蓝色为原数据点,红色为映射点。可以看出这种方法对数据是有影响的,但是只要在限定范围内,这种影响是可以接受的。

PCA的应用:

1.visualization

将数据降低到2D或者3D使其可视化

2.compression

压缩数据

3.Learning

在learning的过程中可能因为维度过高使其速度变慢,可以用PCA加速,而且实际效果不错

4.anomaly detection

判断异常,看新点距离子空间是否很大

5.matching/distance calculation

计算两个样例的距离时不一定是用欧氏距离,而是使用低维中得距离,这样更符合实际,特别是在图像识别中

实例:

下面是一些人脸图片:

上面的图片维度可能较高,比如说100*100,经过PCA之后,可能只是25*25,甚至更低,但仍然很好地捕捉了人脸的形状

在使用pca之后,

注意:上面每张图片是单独的一个ui的表示,可以看出还是不错地捕捉了人脸的形状

上面这张图是经过PCA降维后再还原为原维度的图片,可以发现图片虽然有失真,但是失得不多,还是很好的展示了原图像

机器学习 cs229学习笔记4 EM for factor analysis PCA(Principal comp相关推荐

  1. python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)

    [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...

  2. 机器学习入门学习笔记:(4.2)SVM的核函数和软间隔

    前言 之前讲了有关基本的SVM的数学模型(机器学习入门学习笔记:(4.1)SVM算法).这次主要介绍介绍svm的核函数.软间隔等概念,并进行详细的数学推导.这里仅将自己的笔记记录下来,以便以后复习查看 ...

  3. 机器学习入门学习笔记:(3.2)ID3决策树程序实现

    前言 之前的博客中介绍了决策树算法的原理并进行了数学推导(机器学习入门学习笔记:(3.1)决策树算法).决策树的原理相对简单,决策树算法有:ID3,C4.5,CART等算法.接下来将对ID3决策树算法 ...

  4. 机器学习入门学习笔记:(2.3)对数几率回归推导

    理论推导   在以前的博客(机器学习入门学习笔记:(2.1)线性回归理论推导 )中推导了单元线性回归和多元线性回归的模型.   将线性回归模型简写为:y=ωTx+by = \omega^Tx+b:   ...

  5. 机器学习入门学习笔记:(2.2)线性回归python程序实现

      上一篇博客中,推导了线性回归的公式,这次试着编程来实现它.(机器学习入门学习笔记:(2.1)线性回归理论推导 )   我们求解线性回归的思路有两个:一个是直接套用上一篇博客最后推导出来的公式:另一 ...

  6. 吴恩达《机器学习》学习笔记十四——应用机器学习的建议实现一个机器学习模型的改进

    吴恩达<机器学习>学习笔记十四--应用机器学习的建议实现一个机器学习模型的改进 一.任务介绍 二.代码实现 1.准备数据 2.代价函数 3.梯度计算 4.带有正则化的代价函数和梯度计算 5 ...

  7. 吴恩达《机器学习》学习笔记十二——机器学习系统

    吴恩达<机器学习>学习笔记十二--机器学习系统 一.设计机器学习系统的思想 1.快速实现+绘制学习曲线--寻找重点优化的方向 2.误差分析 3.数值估计 二.偏斜类问题(类别不均衡) 三. ...

  8. 吴恩达《机器学习》学习笔记十一——应用机器学习的建议

    吴恩达<机器学习>学习笔记十一--应用机器学习的建议 一.训练完模型后下一步要做什么 二.评估算法与模型选择 1.训练集与测试集 2.训练/测试步骤 3.模型选择 4.数据集新的划分--验 ...

  9. 吴恩达《机器学习》学习笔记十一——神经网络代码

    吴恩达<机器学习>学习笔记十一--神经网络代码 数据准备 神经网络结构与代价函数· 初始化设置 反向传播算法 训练网络与验证 课程链接:https://www.bilibili.com/v ...

最新文章

  1. linux下free源码,linux命令free源码解读:Procps free.c
  2. Python开发游戏的正确姿势,看这篇就够了
  3. Cortex-A9 UART
  4. php能力模型,ThinkPHP5--基础篇(模型)
  5. mysql分表组件_利用Sharding-Jdbc组件实现分表
  6. 计算机组成原理的实验节拍,一种计算机组成原理的实验装置
  7. 一表理清如何正确选择可视化图表,掌握后再也不怕用错图表
  8. 快排 递归与非递归实现 优化
  9. 基于周志华西瓜数据集的决策树算法及准确率测试
  10. 一键解决word文档样式格式问题
  11. html5怎么查看路由器状态,怎么查看普联路由器的运行状态?
  12. OS_PV操作_4.过独木桥问题
  13. 计算机网络(重点简单概括)
  14. 四分位数的应用——基于收入实例的箱体图与离群值规则
  15. Vue源码中的对象相等比较
  16. 计算机桌面有扫描图标如何开始扫,win7系统怎么添加扫描仪快捷方式-win7扫描仪快捷方式,win7扫描程序在哪...
  17. python常用的镜像
  18. python怎么退出执行/退出程序语句
  19. Java小白入门总结
  20. 图文计算机培训的课程PPT,制作图文并茂的文科课件

热门文章

  1. 《长春教育学院学报​》教育学报征稿
  2. 李宏毅nlp学习笔记06:Text Style Transfer
  3. unity 贴图合并_地形系统挣扎录——从Blender到Unity
  4. 【STM32F103】PB3和PB4不能按照设置输出相应的电平问题
  5. 计算机计算潮流的方法,3.电潮流手工计算方法,计算机潮流算法.pdf
  6. vue3 seo prerender-spa-plugin swiper6 vue-router4 build 打包空白 图片压缩
  7. dlink des3828 交换机
  8. 存款到期自动转存后的利率该如何计算?
  9. win10间歇性闪屏_如何解决Win10系统频繁闪屏刷新问题?
  10. Windows与VMware共享文件夹(实测有效)