https://www.imooc.com/article/267351?block_id=tuijian_wz
先看这篇文章。
1.什么是矩阵
一件事情,有多个纬度影响。就像球员卡的各项指标影响一个球员的表现一样。一个指标就是一个维度。
比如一个球员跑的快,那这场比赛里面总体跑动的几率多于总体射门的几率。那这个球员这场表选在整队里应该是最突出的。
而一场比赛射门的几率多余跑动的几率,那么射门能力强的球员这场比赛的表现能力是强于跑的快的球员的。
一个球员有多个纬度,跑动的能力,射门的能力,防守的能力,传球的能力,这些纬度就会构成一个四维的矩阵。(而四维人是看不到的)。
我们先以三维为例,也就是跑动能力,射门能力,传球能力。A球队是一个能力均衡的,在A球队,他们三个能力对于比赛影响的权重是相同的。那就是一个标准的欧式xyz三维坐标系去评估就行。(x跑动,y射门,z传球)
但是如果有一个球队B以跑动能力闻名,而射门能力弱。那把同一个球员放在B对,那B的跑动能力的权重也就会提高,而射门能力的权重也就会下降。那么放在B队的欧式坐标系里,x=2,y=1,z=0.5欧式距离的坐标系。
同一个人能力相同,但是放在不同的坐标体系中能力的体现就不一样了。不同的坐标体系也就是不同的矩阵。
而一个人的能力也就是一个向量集合。
1.特征值分解的作用
将一个矩阵的主要变化方向,按从大到小的的对角线模式排列,这也就是分解出来的特征值。(这样就可以看出哪个纬度的参数对这个矩阵(一件事情的结果)的影响最大)。这样就可以从一个矩阵里获取,哪个纬度对于这个矩阵影响最大。我们有时候只需要获取这个前几个影响最大的纬度(也就是主要变化方向),也就能分析出影响这个事件的主要因素。而其他影响小的纬度就可以抛弃,省去获取和分析的数据的时间。
而这就是特征值分析的作用。分析出主要影响事情的纬度。以后可以用来分析多事件对一个事情的影响,用来做主成分分析,可以分析用户的行为和其他。
正是由于这个性质,SVD可以用于PCA降维,来做数据压缩和去噪。也可以用于推荐算法,将用户和喜好对应的矩阵做特征分解,进而得到隐含的用户需求来做推荐。同时也可以用于NLP中的算法,比如潜在语义索引(LSI)。
特征值分解与奇异值分解SVD
最新推荐文章于 2021-03-29 21:20:39 发布