机器学习 cs229学习笔记4 EM for factor analysis PCA(Principal comp
=============================================================================
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相关推荐
- python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)
[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...
- 机器学习入门学习笔记:(4.2)SVM的核函数和软间隔
前言 之前讲了有关基本的SVM的数学模型(机器学习入门学习笔记:(4.1)SVM算法).这次主要介绍介绍svm的核函数.软间隔等概念,并进行详细的数学推导.这里仅将自己的笔记记录下来,以便以后复习查看 ...
- 机器学习入门学习笔记:(3.2)ID3决策树程序实现
前言 之前的博客中介绍了决策树算法的原理并进行了数学推导(机器学习入门学习笔记:(3.1)决策树算法).决策树的原理相对简单,决策树算法有:ID3,C4.5,CART等算法.接下来将对ID3决策树算法 ...
- 机器学习入门学习笔记:(2.3)对数几率回归推导
理论推导 在以前的博客(机器学习入门学习笔记:(2.1)线性回归理论推导 )中推导了单元线性回归和多元线性回归的模型. 将线性回归模型简写为:y=ωTx+by = \omega^Tx+b: ...
- 机器学习入门学习笔记:(2.2)线性回归python程序实现
上一篇博客中,推导了线性回归的公式,这次试着编程来实现它.(机器学习入门学习笔记:(2.1)线性回归理论推导 ) 我们求解线性回归的思路有两个:一个是直接套用上一篇博客最后推导出来的公式:另一 ...
- 吴恩达《机器学习》学习笔记十四——应用机器学习的建议实现一个机器学习模型的改进
吴恩达<机器学习>学习笔记十四--应用机器学习的建议实现一个机器学习模型的改进 一.任务介绍 二.代码实现 1.准备数据 2.代价函数 3.梯度计算 4.带有正则化的代价函数和梯度计算 5 ...
- 吴恩达《机器学习》学习笔记十二——机器学习系统
吴恩达<机器学习>学习笔记十二--机器学习系统 一.设计机器学习系统的思想 1.快速实现+绘制学习曲线--寻找重点优化的方向 2.误差分析 3.数值估计 二.偏斜类问题(类别不均衡) 三. ...
- 吴恩达《机器学习》学习笔记十一——应用机器学习的建议
吴恩达<机器学习>学习笔记十一--应用机器学习的建议 一.训练完模型后下一步要做什么 二.评估算法与模型选择 1.训练集与测试集 2.训练/测试步骤 3.模型选择 4.数据集新的划分--验 ...
- 吴恩达《机器学习》学习笔记十一——神经网络代码
吴恩达<机器学习>学习笔记十一--神经网络代码 数据准备 神经网络结构与代价函数· 初始化设置 反向传播算法 训练网络与验证 课程链接:https://www.bilibili.com/v ...
最新文章
- linux下free源码,linux命令free源码解读:Procps free.c
- Python开发游戏的正确姿势,看这篇就够了
- Cortex-A9 UART
- php能力模型,ThinkPHP5--基础篇(模型)
- mysql分表组件_利用Sharding-Jdbc组件实现分表
- 计算机组成原理的实验节拍,一种计算机组成原理的实验装置
- 一表理清如何正确选择可视化图表,掌握后再也不怕用错图表
- 快排 递归与非递归实现 优化
- 基于周志华西瓜数据集的决策树算法及准确率测试
- 一键解决word文档样式格式问题
- html5怎么查看路由器状态,怎么查看普联路由器的运行状态?
- OS_PV操作_4.过独木桥问题
- 计算机网络(重点简单概括)
- 四分位数的应用——基于收入实例的箱体图与离群值规则
- Vue源码中的对象相等比较
- 计算机桌面有扫描图标如何开始扫,win7系统怎么添加扫描仪快捷方式-win7扫描仪快捷方式,win7扫描程序在哪...
- python常用的镜像
- python怎么退出执行/退出程序语句
- Java小白入门总结
- 图文计算机培训的课程PPT,制作图文并茂的文科课件
热门文章
- 《长春教育学院学报​》教育学报征稿
- 李宏毅nlp学习笔记06:Text Style Transfer
- unity 贴图合并_地形系统挣扎录——从Blender到Unity
- 【STM32F103】PB3和PB4不能按照设置输出相应的电平问题
- 计算机计算潮流的方法,3.电潮流手工计算方法,计算机潮流算法.pdf
- vue3 seo prerender-spa-plugin swiper6 vue-router4 build 打包空白 图片压缩
- dlink des3828 交换机
- 存款到期自动转存后的利率该如何计算?
- win10间歇性闪屏_如何解决Win10系统频繁闪屏刷新问题?
- Windows与VMware共享文件夹(实测有效)