logo

Лінійна регресія в машинному навчанні

Машинне навчання це галузь штучного інтелекту, яка зосереджена на розробці алгоритмів і статистичних моделей, які можуть навчатися з даних і робити прогнози на основі даних. Лінійна регресія також є типом алгоритму машинного навчання, точніше a контрольований алгоритм машинного навчання який навчається з позначених наборів даних і відображає точки даних на найбільш оптимізовані лінійні функції. які можна використовувати для прогнозування нових наборів даних.

Перш за все, ми повинні знати, що таке керовані алгоритми машинного навчання. Це тип машинного навчання, де алгоритм вивчає дані з мітками. Дані з мітками означають набір даних, відповідне цільове значення якого вже відомо. Контрольоване навчання має два типи:



  • Класифікація : прогнозує клас набору даних на основі незалежної вхідної змінної. Клас - це категоричні або дискретні значення. як зображення тварини це кішка чи собака?
  • регресія : прогнозує безперервні вихідні змінні на основі незалежної вхідної змінної. наприклад прогнозування цін на житло на основі різних параметрів, таких як вік будинку, відстань від головної дороги, розташування, площа тощо.

Тут ми обговоримо один із найпростіших типів регресії, тобто Лінійна регресія.

Зміст

Що таке лінійна регресія?

Лінійна регресія є різновидом кероване машинне навчання алгоритм, який обчислює лінійний зв’язок між залежною змінною та однією чи декількома незалежними ознаками шляхом підгонки лінійного рівняння до даних спостереження.



Якщо є лише одна незалежна ознака, вона називається Проста лінійна регресія , а коли є більше ніж одна функція, вона називається Множинна лінійна регресія .

Подібним чином, коли є лише одна залежна змінна, вона враховується Однофакторна лінійна регресія , тоді як коли є більше однієї залежної змінної, це відомо як Багатофакторна регресія .

Чому лінійна регресія важлива?

Можливість інтерпретації лінійної регресії є помітною перевагою. Рівняння моделі надає чіткі коефіцієнти, які з’ясовують вплив кожної незалежної змінної на залежну змінну, сприяючи глибшому розумінню основної динаміки. Її простота є перевагою, оскільки лінійна регресія є прозорою, легкою для впровадження та служить основоположною концепцією для більш складних алгоритмів.



Лінійна регресія — це не просто інструмент прогнозування; він є основою для різноманітних передових моделей. Такі методи, як регулярізація та опорні векторні машини, черпають натхнення з лінійної регресії, розширюючи її корисність. Крім того, лінійна регресія є наріжним каменем у перевірці припущень, що дозволяє дослідникам перевіряти ключові припущення щодо даних.

Типи лінійної регресії

Існує два основних типи лінійної регресії:

Проста лінійна регресія

Це найпростіша форма лінійної регресії, яка включає лише одну незалежну змінну та одну залежну змінну. Рівняння простої лінійної регресії таке:
y=eta_{0}+eta_{1}X
де:

  • Y є залежною змінною
  • X є незалежною змінною
  • β0 — точка перетину
  • β1 – нахил

Множинна лінійна регресія

Це стосується більш ніж однієї незалежної змінної та однієї залежної змінної. Рівняння множинної лінійної регресії виглядає так:
y=eta_{0}+eta_{1}X+eta_{2}X+………eta_{n}X
де:

  • Y є залежною змінною
  • X1, X2, …, Xp — незалежні змінні
  • β0 — точка перетину
  • β1, β2, …, βn – нахили

Мета алгоритму – знайти найкраща лінія Fit рівняння, яке може передбачати значення на основі незалежних змінних.

У регресії присутній набір записів зі значеннями X і Y, і ці значення використовуються для вивчення функції, тому, якщо ви хочете передбачити Y на основі невідомого X, можна використовувати цю вивчену функцію. У регресії ми маємо знайти значення Y, тому потрібна функція, яка передбачає безперервний Y у випадку регресії з урахуванням X як незалежних ознак.

Яка найкраща лінія Fit?

Нашою основною метою під час використання лінійної регресії є визначення найкращої лінії, що означає, що похибка між прогнозованими та фактичними значеннями повинна бути мінімальною. У найкращій лінії буде найменша помилка.

Найкраще рівняння Fit Line забезпечує пряму лінію, яка представляє зв’язок між залежною та незалежною змінними. Нахил лінії вказує на те, наскільки залежна змінна змінюється на зміну одиниці незалежної змінної (змінних).

Лінійна регресія в машинному навчанні

Лінійна регресія


Тут Y називається залежною або цільовою змінною, а X — незалежною змінною, також відомою як предиктор Y. Існує багато типів функцій або модулів, які можна використовувати для регресії. Лінійна функція є найпростішим типом функції. Тут X може бути однією ознакою або декількома ознаками, що представляють проблему.

Лінійна регресія виконує завдання прогнозування значення залежної змінної (y) на основі заданої незалежної змінної (x)). Звідси й назва — лінійна регресія. На малюнку вище X (вхід) — досвід роботи, а Y (вихід) — зарплата людини. Лінія регресії найкраще підходить для нашої моделі.

Ми використовуємо функцію вартості для обчислення найкращих значень, щоб отримати найкращу відповідну лінію, оскільки різні значення ваг або коефіцієнта ліній призводять до різних ліній регресії.

Функція гіпотези в лінійній регресії

Як ми припустили раніше, нашою незалежною характеристикою є досвід, тобто X і відповідна зарплата Y є залежною змінною. Припустімо, що між X і Y існує лінійна залежність, тоді зарплату можна передбачити за допомогою:

hat{Y} = heta_1 + heta_2X

АБО

hat{y}_i = heta_1 + heta_2x_i

тут,

  • y_i epsilon Y ;; (i= 1,2, cdots , n) є мітками до даних (навчання під контролем)
  • x_i epsilon X ;; (i= 1,2, cdots , n) є вхідними незалежними навчальними даними (однофакторна – одна вхідна змінна (параметр))
  • hat{y_i} epsilon hat{Y} ;; (i= 1,2, cdots , n) є прогнозованими значеннями.

Модель отримує найкращу лінію підгонки регресії шляхом знаходження найкращого θ1і θ2значення.

  • i 1 : перехопити
  • i 2 : коефіцієнт х

Як тільки ми знайдемо найкращий θ1і θ2значення, ми отримуємо найкращу лінію. Отже, коли ми нарешті використовуємо нашу модель для прогнозування, вона передбачить значення y для вхідного значення x.

Як оновити θ 1 і θ 2 значення, щоб отримати найкращу лінію?

Щоб досягти найкращої лінії регресії, модель має на меті передбачити цільове значенняhat{Y} така, що різниця помилок між прогнозованим значеннямhat{Y} і справжнє значення Y є мінімальним. Отже, дуже важливо оновити θ1і θ2значення, щоб досягти найкращого значення, яке мінімізує похибку між прогнозованим значенням y (пред) і справжнім значенням y (y).

minimizefrac{1}{n}sum_{i=1}^{n}(hat{y_i}-y_i)^2

Функція вартості для лінійної регресії

The функція витрат або функція втрат є не що інше, як помилка або різниця між прогнозованим значеннямhat{Y} і справжнє значення Y.

У лінійній регресії Середня квадратична помилка (MSE) використовується функція вартості, яка обчислює середнє квадратів помилок між прогнозованими значеннямиhat{y}_i і фактичні значення{y}_i . Мета полягає в тому, щоб визначити оптимальні значення для перехоплення heta_1 і коефіцієнт вхідної ознаки heta_2 надання найкращої лінії для заданих точок даних. Лінійне рівняння, що виражає цю залежність, єhat{y}_i = heta_1 + heta_2x_i .

Функцію MSE можна обчислити як:

ext{Cost function}(J) = frac{1}{n}sum_{n}^{i}(hat{y_i}-y_i)^2

Використовуючи функцію MSE, ітераційний процес градієнтного спуску застосовується для оновлення значень heta_1 & heta_2 . Це гарантує, що значення MSE збігається з глобальними мінімумами, вказуючи на найточнішу відповідність лінії лінійної регресії набору даних.

Цей процес передбачає безперервне коригування параметрів ( heta_1) і ( heta_2) на основі градієнтів, обчислених за MSE. Кінцевим результатом є лінія лінійної регресії, яка мінімізує загальний квадрат різниці між прогнозованими та фактичними значеннями, забезпечуючи оптимальне представлення основного зв’язку в даних.

Градієнтний спуск для лінійної регресії

Лінійну регресійну модель можна навчити за допомогою алгоритму оптимізації градієнтний спуск шляхом ітеративної зміни параметрів моделі для зменшення середня квадратична помилка (MSE) моделі на навчальному наборі даних. Щоб оновити θ1і θ2значення, щоб зменшити функцію Cost (мінімізуючи значення RMSE) і досягти найкращої відповідності лінії, модель використовує Gradient Descent. Ідея полягає в тому, щоб почати з випадкового θ1і θ2значення, а потім ітеративно оновлювати значення, досягаючи мінімальних витрат.

Градієнт — це не що інше, як похідна, яка визначає вплив на виходи функції з невеликою варіацією вхідних даних.

Розділимо функцію витрат (J) відносно heta_1

egin {aligned} {J}’_{ heta_1} &=frac{partial J( heta_1, heta_2)}{partial heta_1} &= frac{partial}{partial heta_1} left[frac{1}{n} left(sum_{i=1}^{n}(hat{y}_i-y_i)^2 ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(frac{partial}{partial heta_1}(hat{y}_i-y_i) ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(frac{partial}{partial heta_1}( heta_1 + heta_2x_i-y_i) ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(1+0-0 ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}(hat{y}_i-y_i) left(2 ight ) ight] &= frac{2}{n}sum_{i=1}^{n}(hat{y}_i-y_i) end {aligned}

Розділимо функцію витрат (J) відносно heta_2

egin {aligned} {J}’_{ heta_2} &=frac{partial J( heta_1, heta_2)}{partial heta_2} &= frac{partial}{partial heta_2} left[frac{1}{n} left(sum_{i=1}^{n}(hat{y}_i-y_i)^2 ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(frac{partial}{partial heta_2}(hat{y}_i-y_i) ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(frac{partial}{partial heta_2}( heta_1 + heta_2x_i-y_i) ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(0+x_i-0 ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}(hat{y}_i-y_i) left(2x_i ight ) ight] &= frac{2}{n}sum_{i=1}^{n}(hat{y}_i-y_i)cdot x_i end {aligned}

Метою лінійної регресії є пошук коефіцієнтів лінійного рівняння, які найкраще відповідають навчальним даним. Переміщаючись у напрямку від’ємного градієнта середньоквадратичної помилки відносно коефіцієнтів, можна змінити коефіцієнти. І відповідне перетинання та коефіцієнт X буде ifalpha це швидкість навчання.

Градієнтний спуск

egin{aligned} heta_1 &= heta_1 – alpha left( {J}’_{ heta_1} ight) &= heta_1 -alpha left( frac{2}{n}sum_{i=1}^{n}(hat{y}_i-y_i) ight) end{aligned} egin{aligned} heta_2 &= heta_2 – alpha left({J}’_{ heta_2} ight) &= heta_2 – alpha left(frac{2}{n}sum_{i=1}^{n}(hat{y}_i-y_i)cdot x_i ight) end{aligned}

Припущення простої лінійної регресії

Лінійна регресія є потужним інструментом для розуміння та прогнозування поведінки змінної, однак вона має відповідати декільком умовам, щоб бути точними та надійними рішеннями.

  1. Лінійність : незалежна та залежна змінні мають лінійний зв’язок одна з одною. Це означає, що зміни в залежній змінній слідують за змінами в незалежній змінній (змінних) лінійним чином. Це означає, що має бути пряма лінія, яку можна провести через точки даних. Якщо залежність не є лінійною, то лінійна регресія не буде точною моделлю.
  2. Незалежність : спостереження в наборі даних не залежать одне від одного. Це означає, що значення залежної змінної для одного спостереження не залежить від значення залежної змінної для іншого спостереження. Якщо спостереження не є незалежними, то лінійна регресія не буде точною моделлю.
  3. Гомоскедастичність : на всіх рівнях незалежної змінної (змінних) дисперсія помилок постійна. Це вказує на те, що кількість незалежної змінної (змінних) не впливає на дисперсію помилок. Якщо дисперсія залишків непостійна, то лінійна регресія не буде точною моделлю.

    Гомоскедастичність у лінійній регресії

  4. Нормальність : Залишки повинні бути нормально розподілені. Це означає, що залишки повинні слідувати кривій у формі дзвона. Якщо залишки розподілені неправильно, то лінійна регресія не буде точною моделлю.

Припущення множинної лінійної регресії

Для множинної лінійної регресії застосовуються всі чотири припущення простої лінійної регресії. Крім цього, нижче ще кілька:

  1. Відсутність мультиколінеарності : немає високої кореляції між незалежними змінними. Це вказує на те, що кореляція між незалежними змінними незначна або відсутня. Мультиколінеарність виникає, коли дві або більше незалежних змінних сильно корельовані одна з одною, що може ускладнити визначення окремого впливу кожної змінної на залежну змінну. Якщо є мультиколінеарність, то множинна лінійна регресія не буде точною моделлю.
  2. Адитивність: Модель припускає, що вплив змін змінної предиктора на змінну відповіді є послідовним незалежно від значень інших змінних. Це припущення передбачає відсутність взаємодії між змінними в їх впливі на залежну змінну.
  3. Вибір функцій: У множинній лінійній регресії важливо ретельно вибирати незалежні змінні, які будуть включені в модель. Включення нерелевантних або надлишкових змінних може призвести до переобладнання та ускладнити інтерпретацію моделі.
  4. Переобладнання: Переобладнання відбувається, коли модель надто точно відповідає навчальним даним, фіксуючи шум або випадкові флуктуації, які не відображають справжнього основного зв’язку між змінними. Це може призвести до низької продуктивності узагальнення нових, невидимих ​​даних.

Мультиколінеарність

Мультиколінеарність це статистичний феномен, який виникає, коли дві або більше незалежних змінних у моделі множинної регресії сильно корельовані, що ускладнює оцінку індивідуальних впливів кожної змінної на залежну змінну.

Виявлення мультиколінеарності включає два методи:

  • Кореляційна матриця: Дослідження кореляційної матриці між незалежними змінними є поширеним способом виявлення мультиколінеарності. Високі кореляції (близькі до 1 або -1) вказують на потенційну мультиколінеарність.
  • VIF (фактор інфляції дисперсії): VIF — це показник, який кількісно визначає, наскільки дисперсія оціненого коефіцієнта регресії збільшується, якщо ваші предиктори корелюють. Високий VIF (зазвичай вище 10) свідчить про мультиколінеарність.

Оцінювальні метрики для лінійної регресії

Різноманітність заходи оцінки можна використовувати для визначення сили будь-якої моделі лінійної регресії. Ці оціночні показники часто дають уявлення про те, наскільки добре модель дає спостережувані результати.

Найпоширеніші вимірювання:

Середня квадратична помилка (MSE)

Середня квадратична помилка (MSE) це оціночна метрика, яка обчислює середнє значення квадратів різниць між фактичними та прогнозованими значеннями для всіх точок даних. Різниця зведена в квадрат, щоб гарантувати, що негативні та позитивні різниці не скасовують одна одну.

MSE = frac{1}{n}sum_{i=1}^{n}left ( y_i – widehat{y_{i}} ight )^2

тут,

  • n – кількість точок даних.
  • іiє фактичним або спостережуваним значенням iтисточка даних.
  • widehat{y_{i}} є прогнозованим значенням iтисточка даних.

MSE — це спосіб кількісної оцінки точності прогнозів моделі. MSE чутливий до викидів, оскільки великі помилки значно впливають на загальну оцінку.

Середня абсолютна похибка (MAE)

Середня абсолютна похибка це показник оцінки, який використовується для розрахунку точності регресійної моделі. MAE вимірює середню абсолютну різницю між прогнозованими та фактичними значеннями.

Математично MAE виражається так:

MAE =frac{1}{n} sum_{i=1}^{n}|Y_i – widehat{Y_i}|

тут,

  • n – кількість спостережень
  • Іiпредставляє фактичні значення.
  • widehat{Y_i} представляє прогнозовані значення

Нижче значення MAE вказує на кращу продуктивність моделі. Він не чутливий до викидів, оскільки ми розглядаємо абсолютні відмінності.

1нф 2нф 3нф

Середньоквадратична помилка (RMSE)

Квадратний корінь із дисперсії залишків дорівнює Середньоквадратична помилка . Він описує, наскільки спостережувані точки даних відповідають очікуваним значенням або абсолютній відповідності моделі даним.


У математичній нотації це можна виразити так:
RMSE=sqrt{frac{RSS}{n}}=sqrtfrac{{{sum_{i=2}^{n}(y^{actual}_{i}}- y_{i}^{predicted})^2}}{n}
Замість того, щоб ділити всю кількість точок даних у моделі на кількість ступенів свободи, потрібно розділити суму квадратів залишків, щоб отримати неупереджену оцінку. Тоді ця цифра називається залишковою стандартною помилкою (RSE).

У математичній нотації це можна виразити так:
RMSE=sqrt{frac{RSS}{n}}=sqrtfrac{{{sum_{i=2}^{n}(y^{actual}_{i}}- y_{i}^{predicted})^2}}{(n-2)}

RSME не такий хороший показник, як R-квадрат. Середньоквадратична помилка може коливатися, коли одиниці змінних змінюються, оскільки її значення залежить від одиниць змінних (це не нормалізована міра).

Коефіцієнт детермінації (R-квадрат)

R-квадрат це статистика, яка вказує, скільки варіацій розроблена модель може пояснити або охопити. Воно завжди знаходиться в діапазоні від 0 до 1. Загалом, чим краще модель відповідає даним, тим більше число R-квадрат.
У математичній нотації це можна виразити так:
R^{2}=1-(^{frac{RSS}{TSS}})

  • Залишкова сума квадратів (RSS): The Сума квадратів залишку для кожної точки даних на графіку або даних відома як сума квадратів залишку або RSS. Це вимірювання різниці між результатом, який спостерігався, і тим, що очікувалося.
    RSS=sum_{i=2}^{n}(y_{i}-b_{0}-b_{1}x_{i})^{2}
  • Загальна сума квадратів (TSS): Сума помилок точок даних від середнього значення змінної відповіді відома як загальна сума квадратів, або TSS.
    TSS= sum_{}^{}(y-overline{y_{i}})^2

R-квадрат метрики – це міра частки дисперсії залежної змінної, яка пояснюється незалежними змінними в моделі.

Скоригована помилка R-квадрат

Скоригований Р2вимірює частку дисперсії залежної змінної, яка пояснюється незалежними змінними в регресійній моделі. Скоригований R-квадрат враховує кількість предикторів у моделі та штрафує модель за включення нерелевантних предикторів, які не роблять значного внеску в пояснення дисперсії залежних змінних.

Математично скоригований R2виражається як:

Adjusted , R^2 = 1 – (frac{(1-R^2).(n-1)}{n-k-1})

тут,

  • n – кількість спостережень
  • k – кількість предикторів у моделі
  • Р2– коефіцієнт детермінації

Скоригований R-квадрат допомагає запобігти переобладнанню. Він карає модель додатковими предикторами, які не роблять значного внеску в пояснення дисперсії залежної змінної.

Реалізація Python лінійної регресії

Імпортуйте необхідні бібліотеки:

Python3 import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib.axes as ax from matplotlib.animation import FuncAnimation>

Завантажте набір даних і розділіть вхідні та цільові змінні

Ось посилання для набору даних: Посилання на набір даних

Python3 url = 'https://media.techcodeview.com data = pd.read_csv(url) data # Drop the missing values data = data.dropna() # training dataset and labels train_input = np.array(data.x[0:500]).reshape(500, 1) train_output = np.array(data.y[0:500]).reshape(500, 1) # valid dataset and labels test_input = np.array(data.x[500:700]).reshape(199, 1) test_output = np.array(data.y[500:700]).reshape(199, 1)>

Побудуйте модель лінійної регресії та побудуйте лінію регресії

Кроки:

  • У прямому розповсюдженні функція лінійної регресії Y=mx+c застосовується шляхом початкового призначення випадкового значення параметра (m & c).
  • Ми написали функцію для знаходження функції витрат, тобто середнього значення
Python3 class LinearRegression: def __init__(self): self.parameters = {} def forward_propagation(self, train_input): m = self.parameters['m'] c = self.parameters['c'] predictions = np.multiply(m, train_input) + c return predictions def cost_function(self, predictions, train_output): cost = np.mean((train_output - predictions) ** 2) return cost def backward_propagation(self, train_input, train_output, predictions): derivatives = {} df = (predictions-train_output) # dm= 2/n * mean of (predictions-actual) * input dm = 2 * np.mean(np.multiply(train_input, df)) # dc = 2/n * mean of (predictions-actual) dc = 2 * np.mean(df) derivatives['dm'] = dm derivatives['dc'] = dc return derivatives def update_parameters(self, derivatives, learning_rate): self.parameters['m'] = self.parameters['m'] - learning_rate * derivatives['dm'] self.parameters['c'] = self.parameters['c'] - learning_rate * derivatives['dc'] def train(self, train_input, train_output, learning_rate, iters): # Initialize random parameters self.parameters['m'] = np.random.uniform(0, 1) * -1 self.parameters['c'] = np.random.uniform(0, 1) * -1 # Initialize loss self.loss = [] # Initialize figure and axis for animation fig, ax = plt.subplots() x_vals = np.linspace(min(train_input), max(train_input), 100) line, = ax.plot(x_vals, self.parameters['m'] * x_vals + self.parameters['c'], color='red', label='Regression Line') ax.scatter(train_input, train_output, marker='o', color='green', label='Training Data') # Set y-axis limits to exclude negative values ax.set_ylim(0, max(train_output) + 1) def update(frame): # Forward propagation predictions = self.forward_propagation(train_input) # Cost function cost = self.cost_function(predictions, train_output) # Back propagation derivatives = self.backward_propagation( train_input, train_output, predictions) # Update parameters self.update_parameters(derivatives, learning_rate) # Update the regression line line.set_ydata(self.parameters['m'] * x_vals + self.parameters['c']) # Append loss and print self.loss.append(cost) print('Iteration = {}, Loss = {}'.format(frame + 1, cost)) return line, # Create animation ani = FuncAnimation(fig, update, frames=iters, interval=200, blit=True) # Save the animation as a video file (e.g., MP4) ani.save('linear_regression_A.webp'false'>Python3 #Приклад використання параметрів linear_reg = LinearRegression(), loss = linear_reg.train(train_input, train_output, 0.0001, 20) Вихід: ітерація = 1, втрата = 9130.407560462196 ітерація = 1, втрата = 1107.1996742908998 Iter ation = 1, Loss = 140,31580932842422 Ітерація = 1, Втрата = 23,795780526084116 Ітерація = 2, Втрата = 9,753848205147605 Ітерація = 3, Втрата = 8,061641745006835 Ітерація = 4, Втрата = 7,8577116490914864 Ітерація = 5, Втрата = 7. 8331350515579015 Ітерація = 6, Втрата = 7,830172502503967 Ітерація = 7, Втрата = 7,829814681591015 Ітерація = 8 , Втрата = 7,829770758846183 Ітерація = 9, Втрата = 7,829764664327399 Ітерація = 10, Втрата = 7,829763128602258 Ітерація = 11, Втрата = 7,829762142342088 Ітерація = 12, Втрата = 7. 829761222379141 Ітерація = 13, Втрата = 7,829760310486438 Ітерація = 14, Втрата = 7,829759399646989 Ітерація = 15, Втрата = 7,829758489015161 Ітерація = 16, Втрата = 7,829757578489033 Ітерація = 17, Втрата = 7,829756668056319 Ітерація = 18, Втрата = 7,829755757715535 Ітерація = 19, Втрата = 7,8 29754847466484 Ітерація = 20, втрата = 7,829753937309139 Лінія лінійної регресіїЛінія лінійної регресії надає цінну інформацію про зв’язок між двома змінними. Він представляє найкращу лінію, яка відображає загальну тенденцію того, як залежна змінна (Y) змінюється у відповідь на варіації незалежної змінної (X). Позитивна лінія лінійної регресії: Позитивна лінія лінійної регресії вказує на прямий зв’язок між незалежною змінною (X) і залежною змінною (Y). Це означає, що зі збільшенням значення X значення Y також зростає. Нахил позитивної лінії лінійної регресії додатний, тобто лінія нахилена вгору зліва направо. Лінія негативної лінійної регресії: лінія негативної лінійної регресії вказує на обернену залежність між незалежною змінною (X) і залежною змінною (Y). Це означає, що зі збільшенням значення X значення Y зменшується. Нахил від’ємної лінії лінійної регресії є від’ємним, тобто лінія нахилена вниз зліва направо. Методи регуляризації для лінійних моделей Регресія ласо (регулярізація L1) Регресія ласо – це техніка, яка використовується для регулярізації моделі лінійної регресії, вона додає штраф член цільової функції лінійної регресії, щоб запобігти переобладнанню. Цільова функція після застосування ласо-регресії така: перший член – це втрата за методом найменших квадратів, що представляє квадрат різниці між прогнозованими та фактичними значеннями. другий член є членом регуляризації L1, він штрафує суму абсолютних значень коефіцієнта регресії θj. Гребнева регресія (регуляризація L2) Гребінна регресія – це техніка лінійної регресії, яка додає член регуляризації до стандартної лінійної цілі. Знову ж таки, мета полягає в тому, щоб запобігти переобладнанню шляхом штрафування за великий коефіцієнт у рівнянні лінійної регресії. Це корисно, коли набір даних має мультиколінеарність, де прогностичні змінні сильно корельовані. Цільова функція після застосування хребтової регресії така: перший член – це втрати за методом найменших квадратів, що представляє квадрат різниці між прогнозованими та фактичними значеннями. другий член є членом регуляризації L1, він штрафує суму квадратів значень коефіцієнта регресії θj. Еластична сітка регресія Еластична сітка регресія – це гібридна методика регуляризації, яка поєднує потужність регулярізації L1 і L2 у ціль лінійної регресії. перший член – це втрата найменших квадратів. другий член - регулярізація L1, а третій - регресія хребта.???? це загальна сила регуляризації. α контролює суміш між регуляризацією L1 і L2. Застосування лінійної регресії. Лінійна регресія використовується в багатьох різних галузях, включаючи фінанси, економіку та психологію, щоб зрозуміти та передбачити поведінку певної змінної. Наприклад, у фінансах лінійна регресія може бути використана для розуміння зв’язку між ціною акцій компанії та її прибутком або для прогнозування майбутньої вартості валюти на основі її минулих показників. Переваги та недоліки лінійної регресіїПереваги лінійної регресіїЛінійна регресія є відносно простим алгоритмом, що робить його легким для розуміння та впровадження. Коефіцієнти моделі лінійної регресії можна інтерпретувати як зміну залежної змінної для зміни незалежної змінної на одну одиницю, що дає змогу зрозуміти взаємозв’язки між змінними. Лінійна регресія ефективна з точки зору обчислень і може ефективно обробляти великі набори даних. Його можна швидко навчити на великих наборах даних, що робить його придатним для додатків у реальному часі. Лінійна регресія є відносно стійкою до викидів порівняно з іншими алгоритмами машинного навчання. Викиди можуть мати менший вплив на загальну продуктивність моделі. Лінійна регресія часто слугує гарною базовою моделлю для порівняння зі складнішими алгоритмами машинного навчання. Лінійна регресія – це добре відомий алгоритм із багатою історією, який широко доступний у різноманітних машинах навчання бібліотеки та пакети програмного забезпечення. Недоліки лінійної регресії. Лінійна регресія передбачає лінійний зв’язок між залежними та незалежними змінними. Якщо зв’язок не лінійний, модель може не працювати належним чином. Лінійна регресія чутлива до мультиколінеарності, яка виникає, коли між незалежними змінними існує висока кореляція. Мультиколінеарність може збільшити дисперсію коефіцієнтів і призвести до нестабільних прогнозів моделі. Лінійна регресія припускає, що ознаки вже мають форму, придатну для моделі. Для перетворення функцій у формат, який може ефективно використовуватися моделлю, може знадобитися розробка функцій. Лінійна регресія чутлива як до переобладнання, так і до недообладнання. Переобладнання відбувається, коли модель вивчає навчальні дані занадто добре і не може узагальнити невидимі дані. Недобірність виникає, коли модель надто проста, щоб охопити базові зв’язки в даних. Лінійна регресія надає обмежену пояснювальну силу для складних зв’язків між змінними. Для глибшого розуміння можуть знадобитися більш просунуті методи машинного навчання. Висновок Лінійна регресія — це фундаментальний алгоритм машинного навчання, який широко використовувався протягом багатьох років завдяки своїй простоті, інтерпретації та ефективності. Це цінний інструмент для розуміння зв’язків між змінними та прогнозування в різноманітних програмах. Однак важливо знати про його обмеження, такі як припущення про лінійність і чутливість до мультиколінеарності. Якщо ці обмеження ретельно розглянути, лінійна регресія може стати потужним інструментом для аналізу даних і прогнозування. Лінійна регресія – поширені запитання (FAQ) Що означає лінійна регресія? Лінійна регресія – це контрольований алгоритм машинного навчання, який передбачає безперервну цільову змінну на основі однієї чи кількох незалежних змінних. Він припускає лінійний зв’язок між залежною та незалежною змінними та використовує лінійне рівняння для моделювання цього зв’язку. Чому ми використовуємо лінійну регресію? Лінійна регресія зазвичай використовується для: прогнозування числових значень на основі вхідних характеристик; прогнозування майбутніх тенденцій на основі історичних даних; визначення кореляції між змінними; розуміння впливу різних факторів на певний результат; як використовувати лінійну регресію? , розуміння коефіцієнтів і створення прогнозів на основі вхідних значень для прийняття обґрунтованих рішень. Чому це називається лінійною регресією? Лінійну регресію названо завдяки використанню лінійного рівняння для моделювання зв’язку між змінними, що представляє пряму лінію, яка відповідає точкам даних. Що таке приклади лінійної регресії? Прогнозування цін на будинки на основі квадратних метрів, оцінка іспитів за години навчання та прогнозування продажів за допомогою витрат на рекламу є прикладами застосування лінійної регресії.>