Во-первых, не Е, это зрелище! Такие слова, как «собственные векторы» или «собственные значения», кажутся сложными для понимания, однако они присутствуют повсюду, но чтобы распознать, где они могут быть полезны, вам нужно поработать над интуицией. Видите ли, люди ежедневно создают взрывное количество так называемых «данных». Суть в том, что в конце концов эти данные представляют собой не что иное, как матрицу! которые можно было бы повернуть, чтобы получить понимание.

Самый простой пример: во-первых, стоимость жизни в двух городах различается в двух штатах. Текущая цена бензина в Дели составляет почти рупий. 98,81 за литр, в то время как район Шри-Ганганагар в Раджастане стоит самых дорогих в стране - рупий. 102,70 за литр. В Дели дизельное топливо стоит рупий. 89,18 за литр, в то время как в Шри Ганганагаре это стоит рупий. 95,06 за литр.

Теперь вычислим определитель

который,

Теперь давайте свяжем вышеупомянутые работы с основной идеей этой статьи: собственные значения - это просто корни характеристического многочлена матрицы, где определитель равен нулю. Понятно? Ничего страшного, если вы этого не сделали, мы обязательно поговорим об этом позже.

Давайте познакомимся с терминологией:

~ Все наборы данных имеют переменную ответа, это будет величина, которую вы пытаетесь предсказать. Предположим, мы хотим знать, какими могут быть прогоны после шести оверов в матч по крикету.

~ Затем переменные, которые вы используете для прогнозирования ответа, называются функциями. Здесь все запуски, набранные в предыдущих матчах, выбранные игроки с битой - это все функции.

Казалось бы, повсеместной частью процесса машинного обучения стало либо придумывать значимые функции, либо сокращать количество функций, если их слишком много. Чтобы сделать его пригодным для вычислений и избежать переобучения.

Теперь перейдем к главному - методике, которая очень популярна для сокращения пространства функций, известна как Анализ главных компонентов (PCA). Вот идея: у меня есть большой набор функций (то есть много столбцов), например, n. Я хочу уменьшить количество функций, чтобы сказать d (где d ‹n). Процедура состоит в том, чтобы найти набор функций «d», который лучше всего описывает вариацию в моем наборе данных. Помните, что PCA может применяться только тогда, когда кажется, что функции коррелированы. Чтобы по-настоящему понять PCA, вам необходимо усвоить концепции линейной алгебры, особенно концепции Эйгена!

Чтобы получить интуитивное понимание, я хотел бы, чтобы вы вошли в мир воображения, где вы находитесь в волшебной стране и есть пещера. Вы можете увидеть несколько комнат, вы можете войти в любую комнату по вашему выбору и выйти. Здесь каждая комната способна что-то изменить в вас. Теперь, если какая-либо из комнат делает вас больше или меньше, тогда вы, комната и количество, на которое вы стали высоким или низким, будут иметь особые имена.

Вы - Вектор! Пусть комната будет оператором. Когда вы проходите через комнату (когда оператор воздействует на вектор), если он делает если вы выше или короче (масштабирует вектор), то вектор называется собственным вектором оператора. И насколько это масштабировалось? значение, на которое вы увеличили или уменьшили, называется собственным значением. Помни, ты такой же, только высота меняется!

То есть собственные векторы указывают в одном направлении до и после преобразования.

Хотите необычного объяснения решения проблемы Эйгена?

Сначала вычислите определитель A-λI.

Примечание. Детерминант в основном является мерой фактора, заставляющего матрицу преобразования растягивать область.

Рассмотрим один стандартный квадрат на координатной плоскости с площадью четыре квадратных единицы. Новая площадь составляет шестнадцать квадратных единиц, когда пространство растягивается матрицей преобразования. Определитель матрицы равен четырем, поскольку площадь масштабируется в четыре раза.

Во-вторых, найдите корни этого многочлена, решив det (A-λI) = 0. Тогда n корней будут n собственными значениями A.

Площадь квадрата после преобразования сжимается до нуля, требуя, чтобы определитель был эквивалентен 0, подразумевая, что два вектора, определяющие положения осей, находятся на одной линии. Собственное значение - это коэффициент, на который оно растягивается (т. Е. Определитель).

В-третьих, для каждого собственного значения λ решите (A-λI) x = 0, чтобы найти собственный вектор x.

Пора принять красную таблетку, скажем, при обсуждении того, как образование и бедность влияют на уровень преступности. Что, если я не хочу иметь дело с обеими функциями. Ах! Я могу использовать PCA, чтобы сократить свой набор данных до одной функции (кстати, две функции ничего не значат, когда дело доходит до работы с реальными наборами данных, но здесь это сделано для простоты). Возможно, низкий уровень образования коррелирует с бедностью, поэтому обе переменные не нужны, и я могу использовать одну комбинацию из двух.

Вы можете подумать, можем ли мы использовать информацию, хранящуюся в этих переменных, и извлечь меньший набор переменных (функций или столбцов) для обучения моделей и выполнения прогнозов, обеспечивая при этом сохранение большей части информации, содержащейся в исходной переменной.

Ответ: Абсолютно Да! Более того, это приведет к более простой и эффективной с вычислительной точки зрения модели, и именно здесь собственное значение и собственный вектор входят в картину.

Другой подходящий пример: при работе со многими столбцами и строками данных типичный аналитик данных может подумать, коррелирует ли первая функция каким-либо образом со второй? или повысится стоимость первого или второго? На этом этапе он / она захочет свести данные к чему-то более реалистичному, используя разложение по сингулярным значениям в линейной алгебре. Поступая так, можно будет смотреть на новые данные с другой точки зрения и можно будет исключить ненужные данные. SVD полностью основан на собственных значениях и матрице.

При работе над уменьшением размерности в математическом смысле, если вы поместите свои данные в матрицу, окажется, что

лучшие новые функции, комбинация старой функции, которая фиксирует наибольшее количество вариаций исходного набора данных, будут собственными векторами ATA (мы обозначаем транспонирование матрицы A через AT), а на самом деле те, у которых наибольшее собственное значение, несут большая вариативность (так называемые главные компоненты). Собственное значение в нашем сценарии дает потерю, поскольку уменьшение размеров приводит к потере информации. Таким образом, собственный вектор наибольшего собственного значения является наиболее важным, и его следует сохранять, если вы хотите минимизировать «потери».

Доказательство этого довольно элегантное, определенно ищите его для большей ясности.

Детские шаги навстречу - Реализация с использованием Python:

Внимание! Здесь я использовал eig, который работает для общих матриц с использованием более медленного алгоритма. Однако есть восемь, которые гарантируют сортировку собственных значений с использованием более быстрого алгоритма, используя тот факт, что матрица является симметричной, хотя он не проверяет, действительно ли матрица симметрична.

Интеллектуальная карта:

Проверка фактов:

Другой известный пример - запатентованный Google алгоритм ранжирования страниц. Самый большой собственный вектор графика - это то, как ранжируются страницы! Так что да, есть много реальных примеров этих концепций.

Подводя итоги…

Эта статья направлена ​​на то, чтобы склонить людей, работающих с данными или интересующихся концепциями, лежащими в основе Эйгена. Надеюсь, я смог ответить на вопрос «В чем суть поиска собственных векторов?».

Основные ссылки:

Программирование на Python и численные методы - руководство для инженеров и ученых

Жемчужина матрицы: глубокое погружение в собственные значения и собственные векторы

Ура!