Ридж срещу Ласо Регресия: Как да ги поддържам прави

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

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

Започнете с това, което знаете

Регресът на гребен и ласо са „модификации“ на линейната регресия с най-малки квадратчета. В OLS множествена линейна регресия нашата функция на разходите е:

Ако горното няма смисъл за вас, това може да е, защото нямате фона на линейна алгебра и векторна нотация. Това може да е добре, стига да сте запознати с функцията за разходи за OLS, може да сте в състояние поне да следвате интуицията по-долу. Нашите y-стойности са във вектора y, x-стойностите са в матрицата X, а нашите коефициенти на линейна регресия са във вектора β.

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

Въпрос какво знаете

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

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

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

Функцията на разходите за гребен

Функцията разходи за гребен добавя L2 нормата на β като своя наказателен срок, което е просто фантастичен начин да кажем, че „добавяме всички коефициенти в квадрат“. Това не е съвсем правилно, защото искаме да имаме някакъв контрол над това колко L2 нормата на β ще повлияе на нашия модел, така че се умножаваме по настройка на параметъра λ.

Когато λ е значително по-голям, сумата на квадратните грешки в нашата разходна функция става незначителна. Тъй като търсим да сведем до минимум горната функция, това принуждава β до 0. Така че виждаме, че с увеличаване на λ стойностите в β намаляват. Това е поведението, което искахме, защото намалява дисперсията. Можете просто да помислите за изчисляване на дисперсията с по-малки коефициенти, за да видите защо това е така.

Функцията на цената на Lasso

Функцията на разходите за ласо, от друга страна, използва L1 нормата на β като своя наказателен срок. Нормата L1 на β е сумата от абсолютните стойности на нашите коефициенти.

По същия начин, тъй като λ получава значително голям, β е принуден да е 0. Но това, което е важно да се отбележи за функцията на разходите за ласо, е, че тъй като използваме абсолютната стойност, вместо квадратът на нашите коефициенти, могат да бъдат коефициентите на по-малко важни характеристики присвоена стойност 0. Това е особено полезно за избор на функции.

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

Област на ограничение на Ласо в синьо (вляво), хребет (вдясно)

Област на ограничение на Ласо в синьо (вляво), хребет (вдясно)

Поставянето му заедно

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

Лично аз обичам да си представям ласо, което дърпа числата до нула в числова линия. Това ми напомня, че регресията на ласо може да доведе до нула на коефициентите на модела. Тъй като нормата L1 създава областта на ограничение, която прави това възможно, ние знаем, че Ласо използва нормата L1 като своя наказателен срок. Ако си спомняте, че ласо и гребен използват нормите L1 и L2 като наказателни термини, следва, че гребенът използва нормата L2.

Да се ​​надяваме, че това може да помогне на някой, който се затруднява да поддържа правилно тези два метода на регресия.