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

Както казва думата линейно, линейната връзка между входните променливи (x) и зависимата изходна променлива (y). По принцип линейният регресионен анализ изпълнява задачата за прогнозиране на изходната променлива чрез моделиране или намиране на връзки между независимите променливи (x). И подходът за намиране на най-добрия изход е чрез приспособяване на предвидената линия към най-подходящата линия. Линейната регресия следва линеен път, да речем:

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

Сега това сумиране на остатъците се повтаря за всички стойности от i=1 до n стойности. Стойността 1/2m, умножена за анулиране на получената константа поради производната на квадратните стойности на остатъците. Цялото това уравнение се нарича Функция на квадратната грешка.

Какво трябва да решим?

Цялата тази функция на квадратна грешка трябва да бъде сведена до минимум чрез коригиране на параметрите θ0 и θ1.

Нека сега вземем пример, при който разглеждаме intercept като нула (θ0=0). Следователно хипотезата е h(x)=θ1(x). Ще намерим функцията на разходите за всяка стойност на x и θ1. Кажете θ1=1,0,5,0. Поддържане на най-подходящата линия на три точки от данни на x и y, (x,y)=(1,1),(2,2),(3,3).

i) При θ1=1, прилагане на h(x)=θ1(x), за x=1,y=1; x=2,y=2;x=3,y=3. Изчисляване на функцията на разходите J(θ1) : 1/2m[(1–1)² +(2–2)² +(3–3)²] =0. Това показва, че предвидената линия върху линията h(x).

ii) При θ1=0,5, прилагане на h(x)=θ1(x), за x=1,y=0,5; x=2,y=1;x=3,y=1,5. Изчисляване на функцията на разходите J(θ1) : 1/2m[(1–0,5)² +(2–1)² +(3–1,5)²] =0,58. Това показва предвидената линия по-ниска от линията h(x) (намален наклон).

iii) При θ1=0, прилагане на h(x)=θ1(x), за x=1,y=0; x=2,y=0;x=3,y=0. Изчисляване на функцията на разходите J(θ1) : 1/2m[(1–0)² +(2–0)² +(3–0)²] =2,3. Това показва, че предвидената линия лежи на оста x с всички 0 стойности на y.

По подобен начин можем да намерим множество x и y стойности и да намерим функцията на разходите. При картографиране на функцията на разходите върху графика получаваме следното:

Тази крива е известна като градиентно спускане. Ако внимателно наблюдаваме тези две графики, виждаме, че на θ1=1 имаме най-добрата линия, която се припокрива с h(x), а също така получаваме глобалните минимуми в тази точка, т.е. θ1=1,J(θ1)=0 . И така, нашата цел е да достигнем глобални минимуми чрез дефиниране на стойностите на θ1. Но това ще отнеме доста време за повторение на всички стойности. За да опростим, вземаме някои стойности и прилагаме теоремата за конвергенция. Този алгоритъм за конвергенция казва, че ще се повтаря до конвергенция и може да се формулира като:

Това ще определи глобалните минимуми чрез стойността на производната и алфа стойността. Нека вземем стойността на J(θ0,θ1)=(2.3,2), тя ще се позиционира в дясната крива на градиентното спускане. За да се изкачи надолу към J(θ0,θ1)=(1,0), той ще се движи в отрицателна посока поради положителния наклон на производната, т.е. θj=θj-λ(+ve). По същия начин, когато вземем точката J(θ0,θ1)=(0,2.3), тя ще бъде от лявата страна, следователно ще има отрицателен наклон. Той ще се движи в положителна посока, т.е. θj=θj-λ(-ve) или θj=θj+λ(+ve). Освен това скоростта на обучение (λ) също има голяма функция върху теормата за конвергенция. Това е скоростта, с която алгоритъмът ще достигне глобалните минимуми. Обикновено приемаме скоростта на обучение като 0,01, това бавно ще се приближи до глобалните минимуми.

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

Показатели за ефективност: Колко добър е нашият модел по отношение на алгоритъма за линейна регресия

i) R-квадрат: 1-(сума от остатъците)/(сума от общата сума).

y^ е предвидената стойност, y- е средната стойност на y

ii) Коригиран R-квадрат: 1- [(1-R²)(N-1)/(N-P-1)]

P е броят на предикторите или характеристиките. N е броят на точките от данни.

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

Някои предположения при анализиране с линейна регресия:

i) Линейност: Точките от данни трябва да бъдат линейно разпределени със средната стойност на Y.

ii) Хомоседимост: Дисперсията на остатъците трябва да бъде еднаква или подобна за всяка стойност на X.

iii) Неколинеарни: Точките от данни не трябва да са колинеарни. Те трябва да са независими едно от друго.

iv) Нормалност: За всяка фиксирана стойност на X изходът или y се разпределят нормално.

Заключение: Надявам се блогът да помогне на учащите да разберат по-добре концепциите за линейна регресия. Също така не забравяйте да разгледате референциите за по-добър обхват.

i)https://www.youtube.com/watch?v=4UJelID_ICw&t=1s&ab_channel=KrishNaik

ii) https://www.geeksforgeeks.org/ml-linear-regression/

iii)https://en.wikipedia.org/wiki/Линейна_регресия

iv)https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html