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

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

Бесполезно начинать с нуля и изобретать велосипед - этим заполнятся толстые книги. Но я по крайней мере предполагаю, что у вас есть базовые представления о предварительной линейной алгебре и статистике. Кроме того, не продолжайте, пока не прочтете Часть 1.

Вы уже закатали рукава?

Этаж №1 - Внутренний (точечный) продукт

Точечное произведение - это длина этого сегмента красной линии. Вот и все.

Но самые простые вещи обычно имеют самые серьезные последствия. Вы можете быть удивлены, когда я скажу вам, что все, что мы делаем после этого, можно интерпретировать в терминах скалярного произведения. Одна из причин этого заключается в том, что скалярное произведение может можно рассматривать по-разному:

  • Это длина проекции вектора (или точки) a, на линию, определяемую единичным вектором б.
  • Это ближайшее расстояние до a по линии, определенной параметром b.
  • Это «количество» или компонент вектора a, содержащийся в направлении b.
  • Это показатель того, насколько близко a к b (с точки зрения угла).

Даже его расчет обманчиво прост: если a = (1,2), b = (0,8, 0,6 ), то эту операцию можно выполнить с помощью умножения матриц:

Точечный продукт на стероидах

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

Затем мы снова можем использовать умножение матриц для получения проекции каждой длины, соответствующей каждому вектору, на единичный вектор b:

Где p - длины проекций для каждой точки (вектора).

Этаж №2 - Внешний продукт

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

Чтобы найти этот вектор, w, мы просто масштабируем единичный вектор b на длина проекции (= скалярное произведение a и b):

Внешний продукт на стероидах

Теперь посмотрите, что происходит, когда мы вводим стероиды, как мы это делали с скалярным произведением, то есть когда у нас есть несколько векторов:

Мы хотим найти w 1, w 2, w 3, w 4. Помните, что это векторы, представляющие длины проекций каждой точки на единичный вектор b:

Каким бы сложным это ни казалось, все, что он делает, - это последовательно масштабирует единичный вектор b с каждой длиной проекции (p 1, p 2, p 3 и p 4), и сохраните эти масштабированные векторы построчно в матрице W .

Теперь мы можем определить внешнее произведение между вектором p, представляющим длину проекций, и вектором b, единичный вектор, на который мы спроецировали, как:

Это дает нам «векторы проекций» по одному в каждой строке.

Этаж № 3 - Переверни циновку и будь кошкой

Когда вы застряли, спросите своего кота. Если он наклоняет голову набок, как на картинке выше, значит, он хочет вам что-то сказать:

«Измените свою точку зрения, и вы откроете для себя много интересного».

Или «Мяу». Как бы то ни было, давайте посмотрим, как мы можем это сделать. Предположим, у нас есть следующий крошечный набор данных о температуре погоды, состоящий из 3 примеров (дни) и 2 характеристик (города), с его матричным представлением и двухмерным графиком рассеяния:

Это не особо вдохновляет. Но если мы наклоним голову и посмотрим на матрицу, как на нашу кошку:

мы приходим к совершенно иной интерпретации нашего набора данных. Теперь наша матрица имеет 2 точки и 3 измерения. Это выглядит так:

Очень важно полностью понять, что это означает:

  • В новой матрице дни (примеры) обозначены осями, а города (объекты) - точками. У старого они были наоборот.
  • Каждая строка в новой матрице - это отдельная точка в трехмерном пространстве.
  • Первая строка содержит x -координаты каждого примера (дня), по одной в каждом столбце. Это означает, что координаты x, y и z первой точки являются значениями x -координата Дня 1, Дня 2 и Дня 3 в старой матрице, соответственно. Точно так же во второй строке есть y.
  • Если у нас больше трех дней (примеры), для новой матрицы потребуется четырехмерный график. Однако по-прежнему будет только две точки, и векторы, представляющие их, будут определять одну плоскость, которую мы можем легко нарисовать на бумаге:

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

Этаж 4 - необъятный новый мир

Теперь мы можем исследовать огромный новый мир двойного пространства. Чтобы лучше понять это, мы должны увидеть связь между двумя мирами:

Утверждение №1: дисперсия набора данных в направлении x - это скалярное произведение вектора x с собой. То же самое для y.

Утверждение №2: ковариация набора данных - это скалярное произведение двух векторов.

Ого.

Эти утверждения нуждаются в серьезном обосновании.

Этаж №5 - Свежий взгляд

Давайте договоримся о том, что облегчит нашу жизнь: все наборы данных, с которыми мы будем иметь дело, ориентированы на среднее значение. Это означает, что мы вычитаем среднее значение каждого объекта из каждой точки, так что набор данных будет центрирован в начале координат. Это никак не меняет структуру наших данных, но упрощает вычисления.

1. Разница

В двойном пространстве компоненты вектора x являются x -координатами каждого примера, то есть Vx = (x1, x2, x3). Аналогичным образом Vy = (y1, y2, y3). Помните, что отклонение по x - это средний квадрат отклонения координат x от их среднего значения. Но поскольку среднее значение равно нулю, получится:

Но это в точности скалярное произведение вектора x на себя или, что то же самое, его квадрат длины:

Я намеренно проигнорировал множитель 1/3, чтобы упростить задачу, поскольку сейчас нас интересуют только отношения количеств.

2. Ковариация

Помните из Части 1, что мы интерпретировали ковариацию как меру того, насколько точно одна переменная может быть предсказана на основе другой. Чтобы выразить это количественно, мы предполагаем простейшую связь: y является некоторым кратным x или y = mx (линия, проходящая через начало координат). Чем точнее наши переменные демонстрируют эту взаимосвязь, тем больше ковариация и наоборот.

Если вы внимательно посмотрите на анимацию над утверждением № 2, то обнаружите, что чем больше данные отклоняются от линии, тем больше угол между двумя векторами и следовательно, тем меньше скалярное произведение. Таким образом, скалярное произведение - очень естественная мера ковариации.

Небольшое наблюдение заставит вас понять, что это имеет смысл. Помните, что Vx = (x1, x2, x3) и Vy = (y1, y2, y3). Если данные соответствуют линейной зависимости (y = 2x), то Vy = (2 * x 1, 2 * x 2, 2 * x 3) = 2 * Vx. То есть векторы являются скалярными, кратными друг другу, они коллинеарны, а скалярное произведение является максимальным.

Теперь мы можем формализовать это утверждение, определив:

3. Ковариационная матрица

Дисперсия и ковариация, являющиеся просто скалярными произведениями, могут быть сведены в единую матрицу:

4. Обобщение

Распространить эту идею на более чем 3 точки в наборе данных несложно. Для представления примеров нам понадобится четырехмерный график, но по-прежнему будет только два вектора для двух функций, x и y, и они будут определять 2D-плоскость, которую можно легко нарисовать, и выполнять скалярное произведение. Те же идеи останутся в силе.

Кирпичный дом

На данный момент наши полы сделаны из кирпича. В кирпичном доме жить нельзя? Нет, нам нужно закончить. И нам нужна крыша, на которой можно стоять, чтобы увидеть общую картину того, как мы можем объединить эти идеи в основу для решения PCA.

Именно этим мы и займемся в Части 3.