我正在处理一个任务,要求我计算特征。要计算本特征,需要计算特征值和特征向量。
我使用Numpy的Eigh函数计算了特征值和特征向量。我想我了解什么是特征向量。当图像从一个几何/平面转换为另一个几何形状/平面时,它们是不会改变位置的向量。因为他们能够唯一地识别图像。特征值对应于代表特征向量发生的标量变化的每个特征向量。
我不明白的是Numpy文档中的陈述,该声明说:
该函数按升序返回特征值,每个函数都根据其多重性重复。
订购这是什么?文档指的是什么订单?
例如:
arr = np.random.uniform(size=(3,3,3))
eigen_val, eigen_vec = np.linalg.eigh(arr)
从我上述运行中返回的特征向量看起来像:
array([[[ 0.73988841, 0.42234431, -0.52363195],
[ 0.00792645, -0.78378814, -0.62097771],
[-0.67268292, 0.45530367, -0.58326346]],
[[-0.57948585, 0.3848149 , -0.7184105 ],
[-0.32564468, -0.91740718, -0.22873479],
[ 0.74709551, -0.10139798, -0.6569374 ]],
[[-0.77375832, 0.50124139, -0.38736951],
[-0.12305613, -0.7187746 , -0.68426622],
[ 0.62141392, 0.48178849, -0.61783865]]])
我从这里的订购可以解释什么?
整个上下文是在PCA期间计算特征向量,我读到顶级k特征向量解释了最佳方差。但是我不明白这是什么意思。
它们是按照文档解释的,按eigenvalue幅度按升序排序:
:print(eigen_val)
array([[-0.65484945, 0.53345853, 1.2783374 ],
[-0.54451155, 0.23566298, 1.32844171],
[-0.11539487, 0.49887717, 1.55005921]])
首先列出了最小幅度的特征值,最后列出了最大的特征值。每个特征值都有一个相应的特征向量,因此在订购特征值后,固定特征向量的顺序。