展开全部
某人在学 machine learning, 让我解释里面一个叫 PCA 的东西/技巧,问题是这样的:给定[公式]中[公式]个数据点,我们希望 “降低维数” 同时 “不丢失太多信息”,所以希望找[公式]个方向,沿着这些方向做了正交投影以后,数据的维数降成[公式]维——不丢失太多信息这个条件,在这个问题上指的是,希望每个点到其投影的距离之平方和(也就是[公式])极小,从而受到的改变也最小。
做法其实是现成的,所有的[公式]放在一起构成一个矩阵[公式]. [公式]是个[公式]矩阵,显然是半正定的。对它做奇异值分解,取特征值最小的[公式]个特征向量,沿着他们投影(也就是把对应于他们的分量扔掉),就得到了我们需要的投影。
有些 machine learning 的教材把这个叫做黑魔法了(参见题图,来自这里,注意那个教程里的[公式]其实是我这里的[公式])——其实这个是挺简单的线性代数,我来试着解释解释。
第一反应是,这不就是个最小二乘法嘛:然而具体解释起来的时候发觉和最小二乘法还是有点区别,稍微转化一下的话,其实就是前面提到的那个线性代数问题。(把投影[公式]写成[公式]的形式即可)。
为啥[公式]的定义不依赖于标准正交基的选取呢?
我写的时候觉得挺显然的,但是有人不知道怎么证。其实不难,有人已经看出来了,把[公式]写成一个矩阵[公式]的话,[公式]其实就是[公式]——这里[公式](读作 “trace”, 矩阵的迹)是方阵对角线的元素之和,也是一个方阵全部特征值之和。[公式]有个很好的特性,就是只要两个乘积[公式]和[公式]都有定义,则[公式],现在换一组子空间的标准正交基的话无非把[公式]变成了[公式],这里[公式]是一个[公式]的正交矩阵,所以数值是不变的。
扯淡时间
下面开始扯淡——首先[公式]是个奇怪的函数,但是这个问题的线性代数味道还是很浓的,所以如果问[公式]是个什么东西的话,从[公式]这个角度来看,可以硬说它是个定义在某个内积空间上的 “二次型”,而[公式]这整个 data, 定义了那个内积空间中的一个单位向量——关键是,它是哪个空间上的二次型,说完了这个问题就终结了:一个二次型在单位向量上的的最小值就是定义该二次型的(对称)矩阵最小的特征值。
所以,重述一下问题的关键:找一个新的线性空间,这个空间上带着内积,一组正交的单位向量[公式]对应于那个线性空间中的一个单位向量,而[公式] 是那个线性空间上的一个二次型。
说到这里聪明的人可能已经猜到是哪个线性空间了,后知后觉的可以从这个点出发去思考,比如[公式]对应于单位向量的话,[公式]按说就应该对应于一个长度为 3 的向量(因为放进二次型以后数值变成了 9 倍),[公式]应该对应于是个长度为[公式]的向量,所以这东西好像跟[公式]的行列式有点关系?[公式]中[公式]个向量的 “行列式” 该怎么定义呢?[公式]中[公式]个向量的 “行列式” 就是我们说的新的线性空间中的向量。
做法其实是现成的,所有的[公式]放在一起构成一个矩阵[公式]. [公式]是个[公式]矩阵,显然是半正定的。对它做奇异值分解,取特征值最小的[公式]个特征向量,沿着他们投影(也就是把对应于他们的分量扔掉),就得到了我们需要的投影。
有些 machine learning 的教材把这个叫做黑魔法了(参见题图,来自这里,注意那个教程里的[公式]其实是我这里的[公式])——其实这个是挺简单的线性代数,我来试着解释解释。
第一反应是,这不就是个最小二乘法嘛:然而具体解释起来的时候发觉和最小二乘法还是有点区别,稍微转化一下的话,其实就是前面提到的那个线性代数问题。(把投影[公式]写成[公式]的形式即可)。
为啥[公式]的定义不依赖于标准正交基的选取呢?
我写的时候觉得挺显然的,但是有人不知道怎么证。其实不难,有人已经看出来了,把[公式]写成一个矩阵[公式]的话,[公式]其实就是[公式]——这里[公式](读作 “trace”, 矩阵的迹)是方阵对角线的元素之和,也是一个方阵全部特征值之和。[公式]有个很好的特性,就是只要两个乘积[公式]和[公式]都有定义,则[公式],现在换一组子空间的标准正交基的话无非把[公式]变成了[公式],这里[公式]是一个[公式]的正交矩阵,所以数值是不变的。
扯淡时间
下面开始扯淡——首先[公式]是个奇怪的函数,但是这个问题的线性代数味道还是很浓的,所以如果问[公式]是个什么东西的话,从[公式]这个角度来看,可以硬说它是个定义在某个内积空间上的 “二次型”,而[公式]这整个 data, 定义了那个内积空间中的一个单位向量——关键是,它是哪个空间上的二次型,说完了这个问题就终结了:一个二次型在单位向量上的的最小值就是定义该二次型的(对称)矩阵最小的特征值。
所以,重述一下问题的关键:找一个新的线性空间,这个空间上带着内积,一组正交的单位向量[公式]对应于那个线性空间中的一个单位向量,而[公式] 是那个线性空间上的一个二次型。
说到这里聪明的人可能已经猜到是哪个线性空间了,后知后觉的可以从这个点出发去思考,比如[公式]对应于单位向量的话,[公式]按说就应该对应于一个长度为 3 的向量(因为放进二次型以后数值变成了 9 倍),[公式]应该对应于是个长度为[公式]的向量,所以这东西好像跟[公式]的行列式有点关系?[公式]中[公式]个向量的 “行列式” 该怎么定义呢?[公式]中[公式]个向量的 “行列式” 就是我们说的新的线性空间中的向量。
展开全部
这是一本锻炼你的意志力的,还有你对数学的坚定力度的课程。
作为一本大学教材,让学习者如此后怕,是该考
虑一下教材问题了。如今已经毕业多年,没想到
最近在知乎上看到一篇文章《《线性代数》(同
济版)--教科书中的耻辱柱》,点赞量快突破五
千。对于这篇文章,大家有时间可以读一下,看
看是不是同意作者的观点。
线性代数真的很重要,这是很多工程技术人员走
上工作岗位的最大感受。好多算法都用到线性代
数的知识,就比如现在非常热门的深度学习,它
的底层实现方式用到好多线性代数方面的知识。
如果底层基础打不好,不明白其中的原理,算法
实现方式真的很难理解,更不可能去创新了。好
的教材才能起到事半功倍的效果。
目前这本教材已更新了好几版,每次更新的内容
看起来也是无关紧要,如果有下次版本更新,还
是希望制定教材的老师们听取一下广大学生的建
议。
很多同学吐槽这本教材结构不合理、内容抽象
(甚至让抽象的东西变得更抽象),整本学下来
很难有什么收获,还可能会丧失对于数学学习的
兴趣。
作为一本大学教材,让学习者如此后怕,是该考
虑一下教材问题了。如今已经毕业多年,没想到
最近在知乎上看到一篇文章《《线性代数》(同
济版)--教科书中的耻辱柱》,点赞量快突破五
千。对于这篇文章,大家有时间可以读一下,看
看是不是同意作者的观点。
线性代数真的很重要,这是很多工程技术人员走
上工作岗位的最大感受。好多算法都用到线性代
数的知识,就比如现在非常热门的深度学习,它
的底层实现方式用到好多线性代数方面的知识。
如果底层基础打不好,不明白其中的原理,算法
实现方式真的很难理解,更不可能去创新了。好
的教材才能起到事半功倍的效果。
目前这本教材已更新了好几版,每次更新的内容
看起来也是无关紧要,如果有下次版本更新,还
是希望制定教材的老师们听取一下广大学生的建
议。
很多同学吐槽这本教材结构不合理、内容抽象
(甚至让抽象的东西变得更抽象),整本学下来
很难有什么收获,还可能会丧失对于数学学习的
兴趣。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询