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

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

flyfish

定义1
对于一个给定的线性变换A,它的特征向量v,经过这个线性变换之后,得到的新向量仍然与原来的v保持在同一条直线上,但其长度或方向也许会改变。即, Av=λv A v = λ v
λ λ 为标量,即特征向量的长度在该线性变换下缩放的比例,称 λ λ 为其特征值。
TensorFlow - 特征值与特征向量(Eigenvalues and eigenvectors)_第1张图片
定义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+2j v = − 1 i + 2 j
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)

你可能感兴趣的:(深度学习,TensorFlow)