Я работал над задачей, которая требовала от меня вычисления Eigenfaces . Для вычисления собственных граней требуется вычислить собственных значений и собственных векторов .
Я вычислил собственные значения и собственные векторы, используя восьмерку numpy. Я думаю, что я понимаю, что такое собственные векторы. Это векторы, которые не меняют положение при преобразовании изображения из одной геометрии / плоскости в другую. В том, что они могут однозначно идентифицировать изображение. Собственные значения соответствуют каждому собственному вектору, который представляет скалярные изменения, которые претерпел собственный вектор.
Что я не понимаю, так это утверждение из документации 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 собственных векторов объясняют наилучшую дисперсию. Но я не мог понять, что это значит.