收藏本站

人工智能培训机构,上海涛德,算法工程师,数据科学家高端培训机构-上海涛德

查看: 70|回复: 0

机器学习技术:矩阵运算中的特征值与特征向量

[复制链接]

43

主题

0

好友

657

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2018-4-9 15:01:27 |显示全部楼层
矩阵运算中的特征值与特征向量
对于一个矩阵A我们求出其特征值c,和特征向量x。其实表示了我们的矩阵的数据对应的方向(特征向量),和在这个方向的大小。

例如:
Ax=cx:A为矩阵,c为特征值,x为特征向量。 其实表示矩阵A的一个特性就是这个矩阵可以把向量x拉长(或缩短)c倍。

矩阵A乘以x表示,对向量x进行一次转换(旋转或拉伸)(是一种线性转换),而该转换的效果等于常数c乘以向量x(即只进行拉伸)。

我们通常求特征值和特征向量即为求出该矩阵能使哪些向量(特征向量)发生拉伸,使其发生拉伸的程度如何(特征值大小)。这样做的意义在于,看清一个矩阵在那些方面能产生最大的效果(power),其实就这个方向的方差最大,并根据所产生的每个特征向量进行分类讨论与研究,一般我们只研究特征值最大的那几个。

例如一个10维度(10列)的矩阵,我们可以找出其中特征值最大的两个向量。再通过其他的一些数学上的处理用它来近似代替原始矩阵,从而完成降低维度的处理, PCA,SVD等多种降维算法就利用到了这种方式。

R语言采用eigen函数计算特征值和特征向量。
例如 A矩阵是由(2,2)和 (1,1)构成,显然这两个点的方向都在 平面直角坐标的45度角上,特征向量也应该是45度角。



> A=matrix(c(2,2,1,1),nrow=2)
> A
     [,1] [,2]
[1,]    2    1
[2,]    2    1
> eigen(A)
$values
[1] 3 0

$vectors
          [,1]       [,2]
[1,] 0.7071068 -0.4472136
[2,] 0.7071068  0.8944272

可以看到特征值最大的为3,另一个是0表示,原始矩阵数据主要的方向(特征向量)为 (0.70,0.70) 。第二个特征向量由于特征值是0,没有用到。
您需要登录后才可以回帖 登录 | 立即注册

<点击:上海涛德Oracle OCM认证及BI商业智能课程>|人工智能培训-上海涛德 ( 沪ICP备14006824号 )|网站地图   My title page contents

GMT+8, 2018-4-27 03:04 , Processed in 0.229406 second(s), 22 queries , Gzip On.

回顶部