吴恩达机器学习(第十五章)---降维PCA

一、目标

1.数据压缩

在机器学习中,会用到大量数据进行学习训练,当数据量很大,维度高时,对电脑内存的压力会很大,并且学习的速度也会很慢。

2.可视化

我们将一些高维的数据降维到1维,2维,3维的话,就可以进行可视化,将数据以图表的方式展示出来。

二、主成分分析方法

主成分分析方法(Principal Component Analysis (PCA))是目前比较流行的进行降维的算法。

1.主要思想:

找一个向量,使得所有数据点到这个向量的距离(投影误差)最小。

2.线性回归与PCA的区别

  pca                                                                             线性回归

 两者的区别就在于,线性回归是求数据点对其对应在函数上的点之间的误差,是点与点之间的距离;而PCA是求点到直线的距离

三、预处理

在使用PCA之前要先进行预处理-----均值标准化

这个均值化和特征缩放类似,都是为了让所有数据都在一个较小范围内。

\mu_j=\frac{1}{m}\sum_{i=1}^{m}{x_j^i}求得的u是每一个数据的所有特征的平均值,然后x_j=x_j-\mu_j,如果不同的特征之间差的比较大的话,可以将上式改写为x_j=\frac{x_j-\mu_j}{s_j}(s_j是x_j的标准差)

四、PCA计算过程

1.求该矩阵的协方差\Sigma=\frac{1}{m}\sum_{i=1}^{m}{(x^i)(x^i)^T}

2.用[U,S,V]=svd(sigma)对上式结果奇异值分解

3.我们得到的U是n*n的矩阵(n是向量x^i的维度),我们想要降维到k维的向量上,那么就取U的前k列向量。

4.z^i=U_{reduce}^Tx^i   ,U_{reduce}^T为k*n维,求得的z就是最终结果。

注:奇异值分解还在学习中,所以无法给出解释,还是个小菜鸡

五、k的选择

k不能随意选择,否则误差会很大。

1.通常我们用下式进行判断

当其小于0.01的时候我们认为这个k值是可以使用的,当然这个0.01不是绝对的,也可以是0.05,0.1等等,是根据个人而定。x_approx(是z通过压缩重现得到的x的近似值,z_approx=U_reduce*z)

2.也可以使用[U,S,V]=svd(sigma)

   最近开通了一个公众号,里面会分享一些机器学习,深度学习,推荐系统的学习笔记和相关知识,同时也会分享一些面经,感兴趣的小伙伴可以关注一下,十分感谢,比心

1-\frac{\sum_{i=1}^{k}{S_{ii}}}{\sum_{i=1}^{n}{S_{ii}}}\leq 0.01

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值