Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия. MSE.. MSE. градиент.. MSE. градиент. линейная регрессия.. MSE. градиент. линейная регрессия. матрица якоби.. MSE. градиент. линейная регрессия. матрица якоби. матричное дифференцирование.. MSE. градиент. линейная регрессия. матрица якоби. матричное дифференцирование. Машинное обучение.. MSE. градиент. линейная регрессия. матрица якоби. матричное дифференцирование. Машинное обучение. среднеквадратичная ошибка.. MSE. градиент. линейная регрессия. матрица якоби. матричное дифференцирование. Машинное обучение. среднеквадратичная ошибка. якобиан.

Всех приветствую.
Я занимаюсь изучением темы машинного обучения и столкнулся с проблемой отсутствия нормальной, понятной информации по той или иной теме. Сегодняшнюю тему я изучал более 4,5 часов — и у меня просто сгорело, ведь нигде в лёгком доступе нет этой простой темы. Я собрал всё до кучи. Надеюсь, я буду последним, кто затупил на этом моменте. Если найдёте ошибки — прошу в комментарии.

Зачем нужно матричное дифференцирование

В обычном математическом анализе функция принимает одно число и возвращает одно число:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 1

Её производная также является числом:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 2

В машинном обучении параметры модели обычно представлены не одним числом, а вектором:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 3

Функция ошибки зависит сразу от всех параметров:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 4

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

Градиент скалярной функции

Рассмотрим функцию:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 5

где x — вектор-столбец:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 7

Произведение x^T x является числом:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 10

Это квадрат евклидовой нормы вектора:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 11

Возьмём частную производную по каждой координате:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 12

Полученные производные объединяются в один вектор:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 13
Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 14

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

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 15

где η — скорость обучения.

Производная линейной скалярной функции

Рассмотрим функцию:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 16

где a и x — векторы одинаковой размерности.
Раскроем скалярное произведение:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 19

Частные производные равны:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 20
Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 21

Простой пример для понимания:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 22
Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 23

Векторная функция и матрица Якоби

Рассмотрим функцию

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 24

где

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 25

Результат умножения матрицы на вектор является другим вектором:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 26

Его можно записать в виде

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 27

Каждая компонента результата зависит от нескольких координат входного вектора. Поэтому необходимо найти производную каждой функции fi по каждой переменной xj . Эти производные объединяются в матрицу:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 30

Эта матрица и есть так называемый якобиан.

Пример вычисления якобиана:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 31
Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 32
Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 33
Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 34

Тогда якобиан равен

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 35

Таким образом

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 36

Матрица A сама описывает, как каждая компонента выходного вектора зависит от каждой компоненты входного вектора.

Связь градиента и якобиана

Если функция принимает вектор и возвращает число,то стандартный якобиан имеет размер 1 × n:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 39

А градиент же принято записывать вектором-столбцом:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 40

Таким обзором видна их связь: градиент равен транспонированному якобиану

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 41

Производная аффинной функции и квадрата нормы(простыми словами зачем были все эти тряски с бубном)

Рассмотрим аффинную функцию

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 42

где b — постоянный вектор. Так как производная константы равна нулю, Jb=0получаем

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 45

Вектор b только сдвигает значения функции, но не влияет на скорость её изменения.

Рассмотрим функцию квадрата нормы

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 47

Результат выражения Ax + b является вектором( поэтому под квадратом понимается квадрат его нормы)
Норма — это математическое понятие, которое обобщает концепцию длины вектора (ну или на людском языке — длина вектора)

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 49

Чтобы упростить вычисления, введём промежуточный вектор

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 50

Тогда функция принимает вид

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 51

Раскроем скалярное произведение:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 52

Каждая компонента вектора r равна

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 54

Теперь найдём производную функции L по одной конкретной координате xk:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 57

Производная суммы равна сумме производных:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 58

Поскольку ri зависит от xk, применяем правило дифференцирования сложной функции:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 61
Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 62
Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 63

При дифференцировании по xk все остальные переменные считаются постоянными. Поэтому

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 65

Подставим это выражение в производную функции L:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 67

Помним что

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 68

И тогда получаем

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 69

Теперь рассмотрим произведение

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 70

Элементы транспонированной матрицы определяются как

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 71

Следовательно, k-я компонента произведения A^T (Ax + b) равна

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 74

Это выражение совпадает с полученной частной производной:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 75

Так как равенство выполняется для каждой координаты xk, все частные производные можно объединить в градиент:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 77

И в результате получаем ту самую сраную формулу ради которой все это делалось

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 78

Транспонированная матрица A^T появляется потому, что при вычислении производной по переменной xk используются элементы

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 81

то есть k-й столбец матрицы A.

Для каждой переменной необходимо скалярно умножить соответствующий столбец матрицы A на вектор Ax + b. Одновременное выполнение этих операций для всех столбцов записывается как раз так

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 86

Встает логичный вопрос, а почему именно эта формула так важна. Для этого рассмотрим пример с любимой линейной регрессией.

Пусть имеется

  1. Матрица признаков Х размером N × d, где N — количество объектов, а d — количество признаков.

  2. Вектор весов модели

    Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 91
  3. Прогнозы линейной модели:

    Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 92
  4. Истинные значения:

    Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 93
  5. Вектор ошибок модели:

    Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 94

Для оценки качества линейной регрессии используем стандартную среднеквадратичную ошибку — MSE:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 95

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

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 96

Сумму квадратов компонентов вектора можно записать через квадрат нормы:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 97

Нужно найти градиент функции MSE по вектору весов w. И вот здесь нам понадобится та самая формула

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 99

И сопоставим её с функцией MSE. В данном случае A=X, x=w, b=−y.Следовательнo

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 101

Однако перед квадратом нормы в функции MSE находится постоянный множитель 1 / N(при дифференцировании его можно просто вынести за знак градиента ) и тогда получим

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 103

Ну и что бы окончательно закрыть эту тему рассмотрим ниже как получить оптимальные веса и почему найденная точка является минимумом

Получение оптимальных весов

Для поиска стационарной точки приравняем градиент к нулю

Стационарная точка — это точка, где градиент равен нулю, а значит, касательная плоскость горизонтальна, это может быть минимум, максимум, седловина или даже плато, так что сама по себе она ничего не гарантирует(

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 104
Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 105
Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 106
Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 107

Это выражение называется нормальным уравнением линейной регрессии. Если матрица X^T X обратима, получаем

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 109

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

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

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 110

И для любого вектора v:

Матричное дифференцирование в машинном обучении: градиент, якобиан и линейная регрессия - 112

Следовательно, матрица X^T X является неотрицательно определённой, а функция L(w) является выпуклой. Поэтому любая стационарная точка данной функции является глобальным минимумом. Если X^T X положительно определена и обратима, минимум является единственным.

Вот и всё. При базовом матане ничего сложного нет. Но нормальной связной инфы нигде нет — разве что для матфизиков где много лишнего.Надеюсь, кому-то поможет. И я не один такой.

Если есть ошибки — поправляйте в комментах.

Автор: Kraps09

Источник