PCA 为什么归入无监督学习的范畴?

2022-02-12 09:54:09 +08:00
 huzhikuizainali
我看李航的《统计学习方法》第二版,将 PCA 归入无监督学习的范畴。请教一下,PCA 的“学习结果”是什么?

比如线性回归学习结果是,你输入一个房子的位置,面积,房龄,房间数等信息,他能算出房屋参考售价。这是模型通过“学习”掌握的技能。他的学习成果是那个线性方程的一组系数

那么 pca 通过学习,掌握了什么技能呢?我感觉他只是把数据降维了。没学会什么技能啊。他的学习成果并不是任何函数。他给出了以最大方差为前提的新空间的基底,以及原数据在新空间的坐标。


从另一个角度对比:

回归模型,只要在房价不出现大的波动的前提下,训练好的模型在你给出一个新数据的(房子的位置,面积,房龄,房间数等信息)的参考报价。这个报价还是根据原来的线性方程组算出来的。

PCA 呢,你给一个 mxn 图片降维后,得到一组新空间的基底。你再给一个 mxn 的新图片降维,又会生成一组新空间的基底。假设我们都保留 95%的方差,这两组基底的数量可能不同吧?两组基底的第一主成分向量方向也可能不同吧?第一主成分保留的方差百分比也不同吧?所以好像也没有什么比较固定的训练成果保留下来啊。
1432 次点击
所在节点    机器学习
4 条回复
daweii
2022-02-12 11:47:05 +08:00
降维也是一种学习。举个例子,学生的成绩有语文,数学,长跑,跳高。本来衡量学生成绩有四个数据,如果用 pca 降到两维的话,就被压缩成了智力和体育两维。如此以后,对于新的学生,我们可以通过 pca 预测学生的智力与体育成绩,从而更直观地评价学生。
huzhikuizainali
2022-02-12 14:05:42 +08:00
@daweii 对于新的学生,我们可以通过 pca 预测学生的智力与体育成绩,从而更直观地评价学生。---------通过你举得例子,我觉得 PCA 只完成了工作的前半部分“压缩”的任务。在“预测”部分我没有看出 PCA 出力。可否再启发一下我?
daweii
2022-02-12 19:36:53 +08:00
我知道你问的是什么了。我忘了看问题的后半部分了。

> PCA 呢,你给一个 mxn 图片降维后,得到一组新空间的基底。你再给一个 mxn 的新图片降维,又会生成一组新空间的基底。假设我们都保留 95%的方差,这两组基底的数量可能不同吧?两组基底的第一主成分向量方向也可能不同吧?第一主成分保留的方差百分比也不同吧?所以好像也没有什么比较固定的训练成果保留下来啊。

说实话没看懂你说的基底是什么。你所说的 [生成一组新空间的基底] 是什么意思?
打个比方有一组二维数据里面三个点(-2,-2 ),( 0,0 ),( 2,2 )。
这个很明显的 X=Y, 画出来就是一条对角线。 我们可以用这一条对角线来描述这组数据。这个就是 PCA 学到的东西。
比如说新来了一个点( 1,1 ),它离原点的距离是 1.414 ,所以我们把它映射到这条新的坐标轴后,可以用 1.414 代替这个数据。尽管训练数据里没有这点。

```python
import numpy as np
from sklearn.decomposition import PCA
X = np.array([[-2, -2], [0, 0], [2, 2]])
pca = PCA(n_components=1)
pca.fit(X)
data = [[1,1]]
pca.transform(data).round(3)
# output array([[1.414]])
```
ALLROBOT
2022-03-16 14:22:42 +08:00
吴恩达机器学习课程有涉及 PCA ,楼主可以去看看 [[中英字幕]吴恩达机器学习系列课程-哔哩哔哩] https://b23.tv/MQJ3gHm ,课程位置位于 14-7

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/833353

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX