【数海科普】如何理解矩阵特征值?

 

点击上方“数海领航”可订阅哦!领小航小海,外面体育文化节办的这么热闹,你也不要总宅在宿舍里啦~出来运动运动吧...

点击上方“数海领航”可订阅哦!
领小航



小海,外面体育文化节办的这么热闹,你也不要总宅在宿舍里啦~出来运动运动吧~

宅?那你可就错啦~我是在研究数学知识呢~

数小海
领小航



(﹁"﹁)真的吗?嗯?

当然啦~不信的话我就给你看看我这次带来的干货

数小海
如何理解矩阵特征值?

最优化问题与数据挖掘



从线性空间的角度看,在一个定义了内积的线性空间里,对一个N阶对称方阵进行特征分解,就是产生了该空间的N个标准正交基,然后把矩阵投影到这N个基上。N个特征向量就是N个标准正交基,而特征值的模则代表矩阵在每个基上的投影长度。

特征值越大,说明矩阵在对应的特征向量上的方差越大,功率越大,信息量越多


应用到最优化中,意思就是对于R的二次型,自变量在这个方向上变化的时候,对函数值的影响最大,也就是该方向上的方向导数最大。

应用到数据挖掘中,意思就是最大特征值对应的特征向量方向上包含最多的信息量,如果某几个特征值很小,说明这几个方向信息量很小,可以用来降维,也就是删除小特征值对应方向的数据,只保留大特征值方向对应的数据,这样做以后数据量减小,但有用信息量变化不大。
下面是实际应用内容哦~


二次型最优化问题

这是二次型,其中R是已知的二阶矩阵,R=[1,0.5;0.5,1],x是二维列向量,x=[x1;x2],求y的最小值。


求解很简单,讲一下这个问题与特征值的关系。

对R特征分解,特征向量是[-0.7071;0.7071]和[0.7071;0.7071],对应的特征值分别是0.5和1.5。

然后把y的等高线图画一下




从图中看,函数值变化最快的方向,也就是曲面最陡峭的方向,归一化以后是[0.7071;0.7071],嗯哼,这恰好是矩阵R的一个特征值,而且它对应的特征向量是最大的。因为这个问题是二阶的,只有两个特征向量,所以另一个特征向量方向就是曲面最平滑的方向。这一点在分析最优化算法收敛性能的时候需要用到。

二阶问题比较直观,当R阶数升高时,也是一样的道理。


数据降维



机器学习中的分类问题,给出178个葡萄酒样本,每个样本含有13个参数,比如酒精度、酸度、镁含量等,这些样本属于3个不同种类的葡萄酒。任务是提取3种葡萄酒的特征,以便下一次给出一个新的葡萄酒样本的时候,能根据已有数据判断出新样本是哪一种葡萄酒。
由于排版问题,问题具体内容我们以网址的形式提供给大家

问题详细描述:

UCI Machine Learning Repository: Wine Data Set

训练样本数据:http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data
data

原数据有13维,但这之中含有冗余,减少数据量最直接的方法就是降维。

做法:把数据集赋给一个178行13列的矩阵R,它的协方差矩阵



data

C是13行13列的矩阵,对C进行特征分解,对角化



data

其中U是特征向量组成的矩阵,D是特征之组成的对角矩阵,并按由大到小排列。然后,令



data

就实现了数据集在特征向量这组正交基上的投影。嗯,重点来了,R’中的数据列是按照对应特征值的大小排列的,后面的列对应小特征值,去掉以后对整个数据集的影响比较小。比如,现在我们直接去掉后面的7列,只保留前6列,就完成了降维。这个降维方法叫PCA(Principal Component Analysis)。

下面看结果:

这是不降维时候的分类错误率
这是降维以后的分类错误率
结论:降维以后分类错误率与不降维的方法相差无几,但需要处理的数据量减小了一半(不降维需要处理13维,降维后只需要处理6维)。


怎么样,这算是干货吧!

数小海
领小航



嗯......的确

你没在听我说话啊,干嘛呢你?

数小海
领小航



搞定啦~我帮你报了体育文化节项目~hhh

。。。那你呢

数小海
领小航



我当然和你一起啦 ✪υ✪


    关注 数海领航


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册