邏輯斯迴歸如何運作

R 的迴歸分析中級

Richie Cotton

Data Evangelist at DataCamp

平方和不適用

sum((y_pred - y_actual) ^ 2)

y_actual 總是 01

y_pred 介於 01 之間。

有比平方和更好的衡量方式。

R 的迴歸分析中級

概似度(Likelihood)

    y_pred * y_actual
R 的迴歸分析中級

概似度(Likelihood)

    y_pred * y_actual + (1 - y_pred) * (1 - y_actual)
R 的迴歸分析中級

概似度(Likelihood)

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...