您的位置:首页 > 产品设计 > UI/UE

TensorFlow - 特征值与特征向量(Eigenvalues and eigenvectors)

2018-01-31 15:10 1841 查看
TensorFlow - 特征值与特征向量(Eigenvalues and eigenvectors)

flyfish

定义1

对于一个给定的线性变换A,它的特征向量v,经过这个线性变换之后,得到的新向量仍然与原来的v保持在同一条直线上,但其长度或方向也许会改变。即, Av=λvAv=λv

λλ为标量,即特征向量的长度在该线性变换下缩放的比例,称λλ为其特征值。



定义2

设 A 是数域 P 上线性空间 V 的一个线性变换,如果对于数域 P 中一数 λ0λ0 ,存在一个非零向量 ξξ,使得Aξ=λ0ξAξ=λ0ξ,那么 λ0λ0称为 A 的一个特征值,而ξξ称为 A 的属于特征值 λ0λ0 的一个特征向量.

从几何上来看,特征向量的方向经过线性变换后,保持在同一

条直线上,这时或者方向不变(λ0>0)(λ0>0),或者方向相反(λ0<0)(λ0<0),至

于 λ0=0λ0=0 时,特征向量就被线性变换变成 0.

线性变换的解释

linear transformation

变换就是函数

linear function

vector input 经过transformation 得到vector ouput

变换让向量从1个地方移动到另一个地方

变换作用于空间,空间中的向量,平面中的向量如果画成网格,线与线的相交处都是一个点,所有的点组成了向量

变换过程就像这些点都是相同的动作在跳着舞

lines remian lines 直接依然是直线

origin remain fixed 原点保持固定

矩形变成了平行四边形

Grid line remain parallel and evenly space

线性变换是原点不变,并使网络线保持平行且等距分布的变换。

v=−1i+2jv=−1i+2j

transform v = -1 (transform i) + 2(transform j)

这意味着,对于一个线性变换,

我们只需要跟踪基向量在变换前后的变化,

就可以掌握整个空间(即全部向量)的变化。

我们将线性变换后的基向量坐标按列组合起来,可以拼接成一个矩阵。

线性变换的全部信息便都包含在这个矩阵当中了。

看到矩阵的时候,可以将它解读为对空间的某种线性变换,这是深刻理解矩阵乘法、行列式、基变换,以及特征值等概念的重要基础。

TensorFlow的计算方法

import tensorflow as tf
sess = tf.Session()
A = tf.truncated_normal([3, 3])
eigenvalues, eigenvectors = sess.run(tf.self_adjoint_eig(A))
print(eigenvalues)
print(eigenvectors)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  特征值 特征向量