Як працює логістична регресія

Середній рівень Regression у R

Richie Cotton

Data Evangelist at DataCamp

Сума квадратів не підходить

sum((y_pred - y_actual) ^ 2)

y_actual завжди 0 або 1.

y_pred між 0 та 1.

Є краща метрика, ніж сума квадратів.

Середній рівень Regression у R

Правдоподібність

    y_pred * y_actual
Середній рівень Regression у R

Правдоподібність

    y_pred * y_actual + (1 - y_pred) * (1 - y_actual)
Середній рівень Regression у R

Правдоподібність

sum(y_pred * y_actual + (1 - y_pred) * (1 - y_actual))

Коли y_actual = 1

y_pred * 1 + (1 - y_pred) * (1 - 1) = y_pred

Коли y_actual = 0

y_pred * 0 + (1 - y_pred) * (1 - 0) = 1 - y_pred
Середній рівень Regression у R

Лог-правдоподібність

  • Обчислення правдоподібності додає багато дуже малих чисел, що дає числову похибку.
  • Лог-правдоподібність легше обчислювати.
log(y_pred) * y_actual + log(1 - y_pred) * (1 - y_actual)

Обидві формули дають однакову відповідь.

Середній рівень Regression у R

Від'ємна лог-правдоподібність

Максимізація лог-правдоподібності дорівнює мінімізації від'ємної лог-правдоподібності.

-sum(log_likelihoods)
Середній рівень Regression у R

Алгоритм логістичної регресії

calc_neg_log_likelihood <- function(coeffs) {

intercept <- coeffs[1] slope <- coeffs[2]
# More calculation!
}
optim(
  par = ???,
  fn = ???
)
Середній рівень Regression у R

Давайте потренуємось!

Середній рівень Regression у R

Preparing Video For Download...