Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

Целта на статията е да предостави подкрепа на начинаещите датасайнтисти. В в предишната статия обяснихме по достъпен начин три метода за решаване на уравнението на линейната регресия: аналитично решение, градиентен спуск и стохастичен градиентен спуск. За аналитичното решение приложихме формулата Представяме уравнението на линейната регресия в матричен вид. В тази статия, както подсказва заглавието, ще обосновем приложението на тази формула или с други думи, сами ще я извлечем.

Защо е важно да обърнем внимание на формулата Представяме уравнението на линейната регресия в матричен вид?

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

Например, в курсовете по машинно обучение на Яндекс, когато слушателите се запознават с регуляризацията, им се предлага да използват функции от библиотеката sklearn, при което не се споменава за матричното представяне на алгоритъма. Точно в този момент някои слушатели може да проявят желание да се задълбочат в този въпрос - да напишат код без използване на готови функции. А за това, първо трябва да представим уравнението с регуляризатора в матричен вид. Тази статия е точно за тези, които искат да овладеят такива умения. Нека да започнем.

Начални условия

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

Имаме редица стойности на целевия показател. Например, целевият показател може да е цената на някакъв актив: нефт, злато, пшеница, долар и т.н. При това, под редица стойности на целевия показател разбираме броя на наблюденията. Такива наблюдения могат да бъдат, например, месечни цени на нефта за една година, т.е. ще имаме 12 стойности на целевия показател. Нека да въведем обозначения. Нека обозначим всяка стойност на целевия показател като Представяме уравнението на линейната регресия в матричен вид. Общо имаме Представяме уравнението на линейната регресия в матричен вид наблюдения, което означава, че можем да представим наблюденията си като Представяме уравнението на линейната регресия в матричен вид.

Регресори

Ще считаме, че съществуват фактори, които в определена степен обясняват стойностите на целевия показател. Например, на курса на двойката долар/рубла силно влияние оказват цената на нефта, ставките на ФРС и други. Такива фактори се наричат регресори. При това, на всяка стойност на целевия показател трябва да отговаря стойност на регресора, тоест, ако имаме 12 целеви показателя за всеки месец през 2018 г., то ще имаме и 12 стойности на регресорите за същия период. Нека обозначим стойностите на всеки регресор чрез Представяме уравнението на линейната регресия в матричен вид. Нека в нашия случай има Представяме уравнението на линейната регресия в матричен вид регресори (т.е. Представяме уравнението на линейната регресия в матричен вид фактори, които оказват влияние на стойностите на целевия показател). Значи нашите регресори могат да се представят по следния начин: за 1-ви регресор (например, цената на нефта): Представяме уравнението на линейната регресия в матричен вид, за 2-ри регресор (например, ставката на ФРС): Представяме уравнението на линейната регресия в матричен вид, за „Представяме уравнението на линейната регресия в матричен вид-ти“ регресор: Представяме уравнението на линейната регресия в матричен вид

Зависимостта на целевите показатели от регресорите

Предположим, че зависимостта на целевия показател Представяме уравнението на линейната регресия в матричен вид от регресорите „Представяме уравнението на линейната регресия в матричен вид-ти“ наблюдение може да бъде изразена чрез уравнение на линейната регресия от вида:

Представяме уравнението на линейната регресия в матричен вид

, където Представяме уравнението на линейната регресия в матричен вид — «Представяме уравнението на линейната регресия в матричен вид-то“ значение на регресора от 1 до Представяме уравнението на линейната регресия в матричен вид,

Представяме уравнението на линейната регресия в матричен вид — броя на регресорите от 1 до Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид — ъгловите коефициенти, които представляват величината, с която средно ще се промени изчисленият целеви показател при промяна на регресора.

С други думи, за всеки (с изключение на Представяме уравнението на линейната регресия в матричен вид) регресор определяме „свой“ коефициент Представяме уравнението на линейната регресия в матричен вид, след това умножаваме коефициентите по стойностите на регресорите „Представяме уравнението на линейната регресия в матричен вид-то“ наблюдение, в резултат получаваме някакво приближение на „Представяме уравнението на линейната регресия в матричен вид-ти“ целеви показател.

Следователно, трябва да подберем такива коефициенти Представяме уравнението на линейната регресия в матричен вид, при които стойностите на нашата апроксимираща функция Представяме уравнението на линейната регресия в матричен вид ще бъдат разположени максимално близо до стойностите на целевите показатели.

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

Ще определим оценката на качеството на апроксимиращата функция с метода на най-малките квадрати. Функцията за оценка на качеството в такъв случай ще приеме следния вид:

Представяме уравнението на линейната регресия в матричен вид

Необходимо е да подберем такива стойности на коефициентите $w$, при които стойността Представяме уравнението на линейната регресия в матричен вид ще бъде най-малката.

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

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

Първо, за да си улесним живота, следва да обърнем внимание на уравнението на линейната регресия и да забележим, че първият коефициент Представяме уравнението на линейната регресия в матричен вид не се умножава с нито един регресор. В същото време, когато преобразуваме данните в матричен вид, горепосоченото обстоятелство ще усложни сериозно изчисленията. В тази връзка се предлага да въведем още един регресор за първия коефициент Представяме уравнението на линейната регресия в матричен вид и да го приравним на единица. По-скоро, всяко "Представяме уравнението на линейната регресия в матричен вид-то" значение на този регресор да се приравни на единица — нали при умножение с единица от гледна точка на резултата от изчисленията нищо няма да се промени, а от гледна точка на правилата за произведение на матрици, значително ще се намалят нашите страдания.

Сега, за кратко време, с цел опростяване на материала, нека предположим, че имаме само едно "Представяме уравнението на линейната регресия в матричен вид-то" наблюдение. Тогава, нека си представим стойностите на регресорите на "Представяме уравнението на линейната регресия в матричен вид-то" наблюдение като вектор Представяме уравнението на линейната регресия в матричен вид. Векторът Представяме уравнението на линейната регресия в матричен вид има размерност Представяме уравнението на линейната регресия в матричен вид, тоест Представяме уравнението на линейната регресия в матричен вид редове и 1 колона:

Представяме уравнението на линейната регресия в матричен вид

Търсените коефициенти да представим във вид на вектор Представяме уравнението на линейната регресия в матричен вид, който има размерност Представяме уравнението на линейната регресия в матричен вид:

Представяме уравнението на линейната регресия в матричен вид

Уравнението на линейната регресия за "Представяме уравнението на линейната регресия в матричен вид-то" наблюдение ще има вида:

Представяме уравнението на линейната регресия в матричен вид

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

Представяме уравнението на линейната регресия в матричен вид

Обърнете внимание, че в съответствие с правилата за умножение на матрици, ни беше необходимо да транспонираме вектора Представяме уравнението на линейната регресия в матричен вид.

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

В резултат на умножение на вектори, ще получим число: Представяме уравнението на линейната регресия в матричен вид, което и заслужаваше да се очаква. Това число е приближаването на "Представяме уравнението на линейната регресия в матричен вид-ия" целеви показател. Но ние трябва да получим приближение не на едно значение на целевия показател, а на всички. За това ще запишем всички "Представяме уравнението на линейната регресия в матричен вид-и" регресори в формат на матрица Представяме уравнението на линейната регресия в матричен вид. Получената матрица има размерност Представяме уравнението на линейната регресия в матричен вид:

Представяме уравнението на линейната регресия в матричен вид

Сега уравнението на линейната регресия ще бъде:

Представяме уравнението на линейната регресия в матричен вид

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

Представяме уравнението на линейната регресия в матричен вид

Сега можем да запишем уравнението за оценка на качеството на линейния модел в матричен формат:

Представяме уравнението на линейната регресия в матричен вид

Всъщност, от тази формула по-нататък получаваме известната ни формула Представяме уравнението на линейната регресия в матричен вид

Как става това? Разкриват се скобите, извършва се диференциране, преобразуват се получените изрази и т.н., и именно с това сега ще се занимаваме.

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

Разкриваме скобите

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

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

За целта ще извършим някои преобразования. В последващите изчисления ни ще бъде по-удобно, ако векторът Представяме уравнението на линейната регресия в матричен вид бъде представен в началото на всяко произведение в уравнението.

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

Представяме уравнението на линейната регресия в матричен вид

Как стана това? За да отговорим на този въпрос, е достатъчно да погледнем размерите на матриците, които множим, и да видим, че на изхода получаваме число или иначе Представяме уравнението на линейната регресия в матричен вид.

Да запишем размерите на матричните изрази.

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

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

Представяме уравнението на линейната регресия в матричен вид

Нека запишем аналогично преобразуване 1

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

На изхода получаваме уравнение, което трябва да диференцираме:
Представяме уравнението на линейната регресия в матричен вид

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

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

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

Въпросите защо Представяме уравнението на линейната регресия в матричен вид няма да има, а операциите по определяне на производните в два други израза ще разгледаме по-подробно.

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

Нека разгърнем диференцирането: Представяме уравнението на линейната регресия в матричен вид

За да определим производната на матрица или вектор, е необходимо да погледнем какво има вътре. Погледнете:

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид Представяме уравнението на линейната регресия в матричен вид

Да обозначим произведението на матриците Представяме уравнението на линейната регресия в матричен вид чрез матрия Представяме уравнението на линейната регресия в матричен вид. Матрицата Представяме уравнението на линейната регресия в матричен вид е квадратна и повече от това, тя е симетрична. Тези свойства ще ни бъдат полезни по-късно, запомнете ги. Матрицата Представяме уравнението на линейната регресия в матричен вид има размерност Представяме уравнението на линейната регресия в матричен вид:

Представяме уравнението на линейната регресия в матричен вид

Сега задачата ни е да умножим правилно векторите с матрицата и да не получим "два пъти по две е пет", затова нека се съсредоточим и да бъдем изключително внимателни.

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

Обаче, получихме сложно изражение! Всъщност получихме число - скаляр. И сега, наистина, преминаваме към диференцирането. Необходимо е да намерим производната на полученото изражение по всеки коефициент Представяме уравнението на линейната регресия в матричен вид и на изхода да получим вектор с размерност Представяме уравнението на линейната регресия в матричен вид. За всеки случай ще опиша процедурите стъпка по стъпка:

1) диференцираме по Представяме уравнението на линейната регресия в матричен вид, получаваме: Представяме уравнението на линейната регресия в матричен вид

2) диференцираме по Представяме уравнението на линейната регресия в матричен вид, получаваме: Представяме уравнението на линейната регресия в матричен вид

3) диференцираме по Представяме уравнението на линейната регресия в матричен вид, получаваме: Представяме уравнението на линейната регресия в матричен вид

На изхода - обещания вектор с размер Представяме уравнението на линейната регресия в матричен вид:

Представяме уравнението на линейната регресия в матричен вид

Ако се вгледате в вектора внимателно, можете да забележите, че левите и съответстващите десни елементи на вектора могат да се групират по такъв начин, че в крайна сметка от представения вектор може да бъде отделен вектор Представяме уравнението на линейната регресия в матричен вид с размер Представяме уравнението на линейната регресия в матричен вид. Например, Представяме уравнението на линейната регресия в матричен вид (левият елемент на горния ред на вектора) Представяме уравнението на линейната регресия в матричен вид (десният елемент на горния ред на вектора) може да се представи като Представяме уравнението на линейната регресия в матричен вид, а Представяме уравнението на линейната регресия в матричен вид - като Представяме уравнението на линейната регресия в матричен вид и т.н. по всеки ред. Нека групираме:

Представяме уравнението на линейната регресия в матричен вид

Извесем вектора Представяме уравнението на линейната регресия в матричен вид и на изхода ще получим:

Представяме уравнението на линейната регресия в матричен вид

Сега, да се вгледаме в получената матрица. Матрицата представлява сумата на две матрици Представяме уравнението на линейната регресия в матричен вид:

Представяме уравнението на линейната регресия в матричен вид

Нека си припомним, че преди малко отбелязахме едно важно свойство на матрицата Представяме уравнението на линейната регресия в матричен вид - тя е симетрична. Въз основа на това свойство, можем с увереност да заявим, че изразът Представяме уравнението на линейната регресия в матричен вид равен на Представяме уравнението на линейната регресия в матричен вид. Това е лесно да се провери, разкривайки поелементно произведението на матриците Представяме уравнението на линейната регресия в матричен вид. Ние няма да го правим тук, който желае, може да направи проверката самостоятелно.

Нека се върнем към нашето изразяване. След преобразуванията, които направихме, то изглежда така, както искахме да го видим:

Представяме уравнението на линейната регресия в матричен вид

И така, справихме се с първото диференциране. Преминаваме към второто изразяване.

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

Представяме уравнението на линейната регресия в матричен вид

Ще тръгнем по утъпкания път. Той ще бъде много по-кратък от предишния, така че не се отдалечавайте далеч от екрана.

Нека да разгледаме по елемент векторите и матрицата:

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

За момента ще премахнем двойката от изчисленията — тя не играе голяма роля, после ще я върнем на място. Умножаваме векторите с матрицата. Първо умножаваме матрицата Представяме уравнението на линейната регресия в матричен вид с вектора Представяме уравнението на линейната регресия в матричен вид, тук нямаме никакви ограничения. Ще получим вектор с размер Представяме уравнението на линейната регресия в матричен вид:

Представяме уравнението на линейната регресия в матричен вид

Нека направим следното действие — да умножим вектора Представяме уравнението на линейната регресия в матричен вид с получения вектор. На изхода ни чака число:

Представяме уравнението на линейната регресия в матричен вид

Това е, което ще диференцираме. На изхода ще получим вектор с размерност Представяме уравнението на линейната регресия в матричен вид:

Представяме уравнението на линейната регресия в матричен вид

Нещо ви напомня ли? Правилно! Това е произведението на матрицата Представяме уравнението на линейната регресия в матричен вид с вектора Представяме уравнението на линейната регресия в матричен вид.

По този начин второто диференциране е успешно завършено.

Вместо заключение

Сега знаем как е получено равенството Представяме уравнението на линейната регресия в матричен вид.

Накрая ще опишем бързия начин за преобразуване на основните формули.

Оценяваме качеството на модела съгласно метода на най-малките квадрати:
Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

Диференцираме полученото изразяване:
Представяме уравнението на линейната регресия в матричен вид Представяме уравнението на линейната регресия в матричен вид

Представяме уравнението на линейната регресия в матричен вид

Литература

Интернет източници:

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


Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster