Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Цель статьи — оказание поддержки начинающим датасайнтистам. В keçən məqaləmizdə мы на пальцах разобрали три способа решения уравнения линейной регрессии: аналитическое решение, градиентный спуск, стохастический градиентный спуск. Тогда для аналитического решения мы применили формулу Xətti reqressiya tənliyini matris formasına keçiririk.. В этой статье, как следует из заголовка, мы обоснуем применение данной формулы или другими словами, самостоятельно ее выведем.

Почему имеет смысл уделить повышенное внимание к формуле Xətti reqressiya tənliyini matris formasına keçiririk.?

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

Например, на курсах по машинному обучению от Яндекса, когда слушателей знакомят с регуляризацией, то предлагают воспользоваться функциями из библиотеки sklearn, при этом ни слова не упоминается о матричном представлении алгоритма. Именно в этот момент у некоторых слушателей может появится желание разобраться в этом вопросе подробнее — написать код без использования готовых функций. А для этого, надо сначала представить уравнение с регуляризатором в матричном виде. Данная статья, как раз, позволит желающим овладеть такими умениями. Приступим.

Исходные условия

Целевые показатели

У нас имеется ряд значений целевого показателя. Например, целевым показателем может быть цена на какой-либо актив: нефть, золото, пшеница, доллар и т.д. При этом, под рядом значений целевого показателя мы понимаем количество наблюдений. Такими наблюдениями могут быть, например, ежемесячные цены на нефть за год, то есть у нас будет 12 значений целевого показателя. Начнем вводить обозначения. Обозначим каждое значение целевого показателя как Xətti reqressiya tənliyini matris formasına keçiririk.. Всего мы имеем Xətti reqressiya tənliyini matris formasına keçiririk. наблюдений, а значит можно представить наши наблюдения как Xətti reqressiya tənliyini matris formasına keçiririk..

Регрессоры

Будем считать, что существуют факторы, которые в определенной степени объясняют значения целевого показателя. Например, на курс пары доллар/рубль сильное влияние оказывает цена на нефть, ставка ФРС и др. Такие факторы называются регрессорами. При этом, каждому значению целевого показателя должно соответствовать значение регрессора, то есть, если у нас имеется 12 целевых показателей за каждый месяц в 2018 году, то и значений регрессоров у нас тоже должно быть 12 за тот же период. Обозначим значения каждого регрессора через Xətti reqressiya tənliyini matris formasına keçiririk.. Пусть в нашем случае имеется Xətti reqressiya tənliyini matris formasına keçiririk. регрессоров (т.е. Xətti reqressiya tənliyini matris formasına keçiririk. факторов, которые оказывают влияние на значения целевого показателя). Значит наши регрессоры можно представить следующим образом: для 1-го регрессора (например, цена на нефть): Xətti reqressiya tənliyini matris formasına keçiririk., для 2-го регрессора (например, ставка ФРС): Xətti reqressiya tənliyini matris formasına keçiririk., для «Xətti reqressiya tənliyini matris formasına keçiririk.-го» регрессора: Xətti reqressiya tənliyini matris formasına keçiririk.

Зависимость целевых показателей от регрессоров

Предположим, что зависимость целевого показателя Xətti reqressiya tənliyini matris formasına keçiririk. от регрессоров «Xətti reqressiya tənliyini matris formasına keçiririk.-го» наблюдения может быть выражена через уравнение линейной регрессии вида:

Xətti reqressiya tənliyini matris formasına keçiririk.

, burada Xətti reqressiya tənliyini matris formasına keçiririk. — «Xətti reqressiya tənliyini matris formasına keçiririk.-ое» значение регрессора от 1 до Xətti reqressiya tənliyini matris formasına keçiririk.,

Xətti reqressiya tənliyini matris formasına keçiririk. — количество регрессоров от 1 до Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk. — угловые коэффициенты, которые представляют величину, на которую изменится расчетный целевой показатель в среднем при изменении регрессора.

Другими словами, мы для каждого (за исключением Xətti reqressiya tənliyini matris formasına keçiririk.) регрессора определяем «свой» коэффициент Xətti reqressiya tənliyini matris formasına keçiririk., затем перемножаем коэффициенты на значения регрессоров «Xətti reqressiya tənliyini matris formasına keçiririk.-го» наблюдения, в результате получаем некое приближение «Xətti reqressiya tənliyini matris formasına keçiririk.-го» целевого показателя.

Следовательно, нам нужно подобрать такие коэффициенты Xətti reqressiya tənliyini matris formasına keçiririk., при которых значения нашей апроксимирующей функции Xətti reqressiya tənliyini matris formasına keçiririk. будут расположены максимально близко к значениям целевых показателей.

Оценка качества апроксиммирующей функции

Будем определять оценку качества апроксимирующей функции методом наименьших квадратов. Функция оценки качества в таком случае примет следующий вид:

Xətti reqressiya tənliyini matris formasına keçiririk.

Нам требуется подобрать такие значения коэффициентов $w$, при которых значение Xətti reqressiya tənliyini matris formasına keçiririk. будет наименьшим.

Переводим уравнение в матричный вид

Векторное представление

Для начала, чтобы облегчить себе жизнь, следует обратить внимание на уравнение линейной регрессии и заметить, что первый коэффициент Xətti reqressiya tənliyini matris formasına keçiririk. не умножается ни на один регрессор. При этом, когда мы переведем данные в матричный вид, вышеобозначенное обстоятельство будет серьезно осложнять расчеты. В этой связи предлагается ввести еще один регрессор для первого коэффициента Xətti reqressiya tənliyini matris formasına keçiririk. и приравнять его единице. Вернее, каждое «Xətti reqressiya tənliyini matris formasına keçiririk.-ое» значение этого регрессора приравнять единице — ведь при умножении на единицу у нас с точки зрения результата вычислений ничего не изменится, а с точки зрения правил произведения матриц, существенно сократятся наши мучения.

Теперь, на некоторое время, с целью упрощения материала, предположим, что у нас только одно «Xətti reqressiya tənliyini matris formasına keçiririk.-ое» наблюдение. Тогда, представим значения регрессоров «Xətti reqressiya tənliyini matris formasına keçiririk.-ого» наблюдения в качестве вектора Xətti reqressiya tənliyini matris formasına keçiririk.. Вектор Xətti reqressiya tənliyini matris formasına keçiririk. имеет размерность Xətti reqressiya tənliyini matris formasına keçiririk., то есть Xətti reqressiya tənliyini matris formasına keçiririk. строк и 1 столбец:

Xətti reqressiya tənliyini matris formasına keçiririk.

Искомые коэффициенты представим в виде вектора Xətti reqressiya tənliyini matris formasına keçiririk., имеющего размерность Xətti reqressiya tənliyini matris formasına keçiririk.:

Xətti reqressiya tənliyini matris formasına keçiririk.

Уравнение линейной регрессии для «Xətti reqressiya tənliyini matris formasına keçiririk.-го» наблюдения примет вид:

Xətti reqressiya tənliyini matris formasına keçiririk.

Функция оценки качества линейной модели примет вид:

Xətti reqressiya tənliyini matris formasına keçiririk.

Обратим внимание, что в соответствии с правилами умножения матриц, нам потребовалось транспонировать вектор Xətti reqressiya tənliyini matris formasına keçiririk..

Матричное представление

В результате умножения векторов, мы получим число: Xətti reqressiya tənliyini matris formasına keçiririk., что и следовало ожидать. Это число и есть приближение «Xətti reqressiya tənliyini matris formasına keçiririk.-го» целевого показателя. Но нам-то нужно приближение не одного значения целевого показателя, а всех. Для этого запишем все «Xətti reqressiya tənliyini matris formasına keçiririk.-ые» регрессоры в формате матрицы Xətti reqressiya tənliyini matris formasına keçiririk.. Полученная матрица имеет размерность Xətti reqressiya tənliyini matris formasına keçiririk.:

Xətti reqressiya tənliyini matris formasına keçiririk.

Теперь уравнение линейной регрессии примет вид:

Xətti reqressiya tənliyini matris formasına keçiririk.

Обозначим значения целевых показателей (все Xətti reqressiya tənliyini matris formasına keçiririk.) за вектор Xətti reqressiya tənliyini matris formasına keçiririk. размерностью Xətti reqressiya tənliyini matris formasına keçiririk.:

Xətti reqressiya tənliyini matris formasına keçiririk.

Теперь мы можем записать в матричном формате уравнение оценки качества линейной модели:

Xətti reqressiya tənliyini matris formasına keçiririk.

Собственно, из этой формулы далее получают известную нам формулу Xətti reqressiya tənliyini matris formasına keçiririk.

Как это делается? Раскрываются скобки, проводится дифференцирование, преобразуются полученные выражения и т.д., и именно этим мы сейчас и займемся.

Матричные преобразования

Раскроем скобки

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Подготовим уравнение для дифференцирования

Для этого проведем некоторые преобразования. В последующих расчетах нам будет удобнее, если вектор Xətti reqressiya tənliyini matris formasına keçiririk. будет представлен в начале каждого произведения в уравнении.

Преобразование 1

Xətti reqressiya tənliyini matris formasına keçiririk.

Как это получилось? Для ответа на этот вопрос достаточно посмотреть на размеры умножаемых матриц и увидеть, что на выходе мы получаем число или иначе Xətti reqressiya tənliyini matris formasına keçiririk..

Запишем размеры матричных выражений.

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Преобразование 2

Xətti reqressiya tənliyini matris formasına keçiririk.

Распишем аналогично преобразованию 1

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

На выходе получаем уравнение, которое нам предстоит продифференцировать:
Xətti reqressiya tənliyini matris formasına keçiririk.

Дифференцируем функцию оценки качества модели

Продифференцируем по вектору Xətti reqressiya tənliyini matris formasına keçiririk.:

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Вопросов почему Xətti reqressiya tənliyini matris formasına keçiririk. быть не должно, а вот операции по определению производных в двух других выражениях мы разберем подробнее.

Дифференцирование 1

Раскроем дифференцирование: Xətti reqressiya tənliyini matris formasına keçiririk.

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

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk. Xətti reqressiya tənliyini matris formasına keçiririk.

Обозначим произведение матриц Xətti reqressiya tənliyini matris formasına keçiririk. через матрицу Xətti reqressiya tənliyini matris formasına keçiririk.. Матрица Xətti reqressiya tənliyini matris formasına keçiririk. квадратная и более того, она симметричная. Эти свойства нам пригодятся далее, запомним их. Матрица Xətti reqressiya tənliyini matris formasına keçiririk. имеет размерность Xətti reqressiya tənliyini matris formasına keçiririk.:

Xətti reqressiya tənliyini matris formasına keçiririk.

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

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Однако, замысловатое выражение у нас получилось! На самом деле мы получили число — скаляр. И теперь, уже по-настоящему, переходим к дифференцированию. Необходимо найти производную полученного выражения по каждому коэффициенту Xətti reqressiya tənliyini matris formasına keçiririk. и получить на выходе вектор размерности Xətti reqressiya tənliyini matris formasına keçiririk.. На всякий случай распишу процедуры по действиям:

1) продифференцируем по Xətti reqressiya tənliyini matris formasına keçiririk., получим: Xətti reqressiya tənliyini matris formasına keçiririk.

2) продифференцируем по Xətti reqressiya tənliyini matris formasına keçiririk., получим: Xətti reqressiya tənliyini matris formasına keçiririk.

3) продифференцируем по Xətti reqressiya tənliyini matris formasına keçiririk., получим: Xətti reqressiya tənliyini matris formasına keçiririk.

На выходе — обещанный вектор размером Xətti reqressiya tənliyini matris formasına keçiririk.:

Xətti reqressiya tənliyini matris formasına keçiririk.

Если присмотреться к вектору повнимательнее, то можно заметить, что левые и соответствующие правые элементы вектора можно сгруппировать таким образом, что в итоге из представленного вектора можно выделить вектор Xətti reqressiya tənliyini matris formasına keçiririk. размера Xətti reqressiya tənliyini matris formasına keçiririk.environment: dev Xətti reqressiya tənliyini matris formasına keçiririk. (левый элемент верхней строчки вектора) Xətti reqressiya tənliyini matris formasına keçiririk. (правый элемент верхней строчки вектора) можно представить как Xətti reqressiya tənliyini matris formasına keçiririk., və Xətti reqressiya tənliyini matris formasına keçiririk. — как Xətti reqressiya tənliyini matris formasına keçiririk. и т.д. по каждой строчке. Сгруппируем:

Xətti reqressiya tənliyini matris formasına keçiririk.

Вынесем вектор Xətti reqressiya tənliyini matris formasına keçiririk. и на выходе получим:

Xətti reqressiya tənliyini matris formasına keçiririk.

Теперь, присмотримся к получившейся матрице. Матрица представляет собой сумму двух матриц Xətti reqressiya tənliyini matris formasına keçiririk.:

Xətti reqressiya tənliyini matris formasına keçiririk.

Вспомним, что несколько ранее, мы отметили одно важное свойство матрицы Xətti reqressiya tənliyini matris formasına keçiririk. — она симметричная. Исходя из этого свойства, мы можем с уверенностью заявить, что выражение Xətti reqressiya tənliyini matris formasına keçiririk. равняется Xətti reqressiya tənliyini matris formasına keçiririk.. Это легко проверить, раскрыв поэлементно произведение матриц Xətti reqressiya tənliyini matris formasına keçiririk.. Мы не будем делать этого здесь, желающие могут провести проверку самостоятельно.

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

Xətti reqressiya tənliyini matris formasına keçiririk.

Итак, с первым дифференцированием мы справились. Переходим ко второму выражению.

Дифференцирование 2

Xətti reqressiya tənliyini matris formasına keçiririk.

Пойдем по протоптанной дорожке. Она будет намного короче предыдущей, так что не уходите далеко от экрана.

Раскроем поэлементно вектора и матрицу:

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

На время уберем из расчетов двойку — она большой роли не играет, потом вернем ее на место. Перемножим вектора на матрицу. В первую очередь умножим матрицу Xətti reqressiya tənliyini matris formasına keçiririk. на вектор Xətti reqressiya tənliyini matris formasına keçiririk., здесь у нас нет никаких ограничений. Получим вектор размера Xətti reqressiya tənliyini matris formasına keçiririk.:

Xətti reqressiya tənliyini matris formasına keçiririk.

Выполним следующее действие — умножим вектор Xətti reqressiya tənliyini matris formasına keçiririk. на полученный вектор. На выходе нас будет ждать число:

Xətti reqressiya tənliyini matris formasına keçiririk.

Его то мы и продифференцируем. На выходе получим вектор размерности Xətti reqressiya tənliyini matris formasına keçiririk.:

Xətti reqressiya tənliyini matris formasına keçiririk.

Что-то напоминает? Все верно! Это произведение матрицы Xətti reqressiya tənliyini matris formasına keçiririk. на вектор Xətti reqressiya tənliyini matris formasına keçiririk..

Таким образом, второе дифференцирование успешно завершено.

Nəticə olaraq

Теперь мы знаем, как получилось равенство Xətti reqressiya tənliyini matris formasına keçiririk..

Напоследок опишем быстрый путь преобразований основных формул.

Оценим качество модели в соответствии с методом наименьших квадратов:
Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Дифференцируем полученное выражение:
Xətti reqressiya tənliyini matris formasına keçiririk. Xətti reqressiya tənliyini matris formasına keçiririk.

Xətti reqressiya tənliyini matris formasına keçiririk.

Edebiyat

Интернет источники:

1) habr.com/ru/post/278513
2) habr.com/ru/company/ods/blog/322076
3) habr.com/ru/post/307004
4) nabatchikov.com/blog/view/matrix_der

Учебники, сборники задач:

1) Конспект лекций по высшей математике: полный курс / Д.Т. Письменный – 4-е изд. – М.: Айрис-пресс, 2006
2) Прикладной регрессионный анализ / Н. Дрейпер, Г. Смит – 2-е изд. – М.: Финансы и статистика, 1986 (перевод с английского)
3) Задачи на решение матричных уравнений:
function-x.ru/matrix_equations.html
mathprofi.ru/deistviya_s_matricami.html


Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster