Hồi quy logistic được huấn luyện bằng quy trình tương tự như mô hình hồi quy tuyến tính, với 2 điểm khác biệt chính:
- Các mô hình hồi quy logistic sử dụng Log Loss làm hàm tổn thất thay vì squared loss (tổn thất bình phương).
- Việc áp dụng điều chỉnh là rất quan trọng để ngăn chặn tình trạng khớp quá mức.
Các phần sau đây sẽ thảo luận chi tiết hơn về hai yếu tố cần cân nhắc này.
Tổn thất logistic
Trong mô-đun Hồi quy tuyến tính, bạn đã sử dụng mất mát bình phương (còn gọi là mất mát L2) làm hàm mất mát. Mất mát bình phương hoạt động hiệu quả đối với mô hình tuyến tính, trong đó tốc độ thay đổi của các giá trị đầu ra là hằng số. Ví dụ: với mô hình tuyến tính $y' = b + 3x_1$, mỗi khi bạn tăng giá trị đầu vào $x_1$ thêm 1, giá trị đầu ra $y'$ sẽ tăng thêm 3.
Tuy nhiên, tốc độ thay đổi của mô hình hồi quy logistic không phải là hằng số. Như bạn đã thấy trong phần Tính toán xác suất, đường cong sigmoid có dạng chữ s chứ không phải dạng tuyến tính. Khi giá trị log-odds ($z$) gần bằng 0, mức tăng nhỏ trong $z$ sẽ dẫn đến những thay đổi lớn hơn nhiều đối với $y$ so với khi $z$ là một số dương hoặc âm lớn. Bảng sau đây cho thấy đầu ra của hàm sigmoid cho các giá trị đầu vào từ 5 đến 10, cũng như độ chính xác tương ứng cần thiết để nắm bắt sự khác biệt trong kết quả.
input | đầu ra logistic | số chữ số thập phân bắt buộc |
---|---|---|
5 | 0,993 | 3 |
6 | 0,997 | 3 |
7 | 0,999 | 3 |
8 | 0,9997 | 4 |
9 | 0,9999 | 4 |
10 | 0,99998 | 5 |
Nếu sử dụng tổn thất bình phương để tính toán lỗi cho hàm sigmoid, khi đầu ra ngày càng gần 0
và 1
, bạn sẽ cần nhiều bộ nhớ hơn để duy trì độ chính xác cần thiết để theo dõi các giá trị này.
Thay vào đó, hàm tổn thất cho hồi quy logistic là Tổn thất nhật ký. Phương trình Mất mát nhật ký trả về lôgarit của độ lớn thay đổi, thay vì chỉ khoảng cách từ dữ liệu đến dự đoán. Log Loss được tính như sau:
$\text{Log Loss} = -\frac{1}{N}\sum_{i=1}^{N} y_i\log(y_i') + (1 - y_i)\log(1 - y_i')$
trong đó:
- \(N\) là số lượng ví dụ được gắn nhãn trong tập dữ liệu
- \(i\) là chỉ mục của một ví dụ trong tập dữ liệu (ví dụ: \((x_3, y_3)\) là ví dụ thứ ba trong tập dữ liệu)
- \(y_i\) là nhãn cho ví dụ thứ \(i\). Vì đây là hồi quy logistic,nên \(y_i\) phải là 0 hoặc 1.
- \(y_i'\) là dự đoán của mô hình cho ví dụ thứ \(i\)(nằm trong khoảng từ 0 đến 1), dựa trên tập hợp các đối tượng trong \(x_i\).
Điều chỉnh trong hồi quy logistic
Điều chỉnh là một cơ chế phạt độ phức tạp của mô hình trong quá trình huấn luyện, có vai trò cực kỳ quan trọng trong việc lập mô hình hồi quy logistic. Nếu không có quy tắc hoá, bản chất tiệm cận của hồi quy logistic sẽ tiếp tục giảm tổn thất xuống 0 trong trường hợp mô hình có số lượng lớn các đặc điểm. Do đó, hầu hết các mô hình hồi quy logistic đều sử dụng một trong hai chiến lược sau để giảm độ phức tạp của mô hình: