@dongxi
2017-12-07T20:59:18.000000Z
字数 2741
阅读 1707
机器学习
数理统计
线性代数在机器学习中应用的十分广泛,如果想对机器学习有比较深入的了解的话,我认为必要的数学基础还是需要的,本篇文章就来简单介绍一下应用广泛的特征值和特征向量,顺便为我之后那篇《马氏距离》做一个铺垫。
首先,先简单说一下矩阵乘法的几何意义。矩阵乘法实际上就是对应着一个变换,将一个向量进行旋转伸缩的变换。如果这个矩阵对于某些向量只发生伸缩变换,那么我们就可以将这些向量称为这个矩阵的特征向量,伸缩比例就是特征值。
假设有矩阵 如下,那么它对应的线性变换就如同下图所示:
如果我们说一个向量 是方阵 的特征向量,将一定可以表示成下面的形式:
令 是一个 的方阵,且有 个线性无关的特征向量 。那么, 可以被分解成:
若矩阵可被特征分解并特征值中不含零,则矩阵为非奇异矩阵,且其逆矩阵可以由下式给出:
任意的 实对称矩阵都有 个线性无关的特征向量。并且这些特征向量都可以正交单位化而得到一组正交且模为 的向量。故实对称矩阵可被分解成:
对于空间中的离散点,我们希望降维以后尽可能分散,而这种分散程度在数学是可以采用方程来衡量。假设我们已经把字段的均值全部转化为0了,那么方差可以表示为:
下面简单聊一下奇异值分解,特征值是一个提取矩阵特征很不错的方法,但是这只是对方阵而言,应用面略微有点窄。奇异值分解则是一个能适用于任意一个矩阵的一种分解方法:
PCA本质上是将方差最大的方向作为主要特征,同时让它们在不同正交方向上没有相关性。
同样,PCA也存在一些限制,它解除线性相关,但是对于高阶相关性就没有办法(对于存在高阶相关性的数据,可以考虑Kernel PCA,通过Kernel函数将非线性相关转为线性相关)。另外,PCA假设数据各主特征是分布在正交方向上,如果在非正交方向上存在几个方差较大的方向,PCA的效果就不会十分理想。
最后需要说明的是,PCA是一种无参数技术,也就是说面对同样的数据,结果都一样,所以PCA便于通用实现,但是无法实现一些个性化的需求。