Как работает логистическая регрессия

Промежуточная регрессия в R

Richie Cotton

Data Evangelist at DataCamp

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

sum((y_pred - y_actual) ^ 2)

y_actual всегда равно 0 или 1.

y_pred находится между 0 и 1.

Существует метрика лучше суммы квадратов.

Промежуточная регрессия в R

Правдоподобие

    y_pred * y_actual
Промежуточная регрессия в R

Правдоподобие

    y_pred * y_actual + (1 - y_pred) * (1 - y_actual)
Промежуточная регрессия в 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
Промежуточная регрессия в R

Логарифмическое правдоподобие

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

Оба выражения дают одинаковый результат.

Промежуточная регрессия в R

Отрицательное логарифмическое правдоподобие

Максимизация логарифмического правдоподобия равнозначна минимизации его отрицательного значения.

-sum(log_likelihoods)
Промежуточная регрессия в R

Алгоритм логистической регрессии

calc_neg_log_likelihood <- function(coeffs) {

intercept <- coeffs[1] slope <- coeffs[2]
# More calculation!
}
optim(
  par = ???,
  fn = ???
)
Промежуточная регрессия в R

Давайте потренируемся!

Промежуточная регрессия в R

Preparing Video For Download...