Как можно прочитать из документации np.linalng.norm , эта функция вычисляет L2 Norm
вектора.
Все, что делает этот цикл, - это гарантирует, что каждый eigenvector
длины единицы, поэтому важность каждого собственного вектора для представления данных можно сравнить, используя eigenvalues
.
Собственные векторы охватывают новую основу для вашей проекции, и, как таковые, они имеют длину единицы (как описано в статье),Они не должны были бы быть, но так проще, вы можете думать об этом как о новой оси x y z
в 3D (такая каноническая основа всегда состоит из векторов, содержащих нули во всех измерениях и один в одном месте, x
будет вектором (1, 0, 0)
, y будет (0, 1, 0)
и z (0, 0, 1)
).
Чтобы получить новые направления, содержащие большую часть информации о данных (по крайней мере, по линейной величине, с наибольшей дисперсией) и выполнить уменьшение размерности желаемого размера (скажем, N
), нам придется сравнить их "влияние »на данные.Это то, для чего используются собственные значения, поскольку собственные векторы нельзя сравнивать с единицами, нормированными на один и тот же (единичный) масштаб.