Hồi quy logistic: Tính xác suất bằng hàm sigmoid

Nhiều vấn đề yêu cầu kết quả là một ước tính xác suất. Hồi quy logistic là một cơ chế cực kỳ hiệu quả để tính toán xác suất. Trên thực tế, bạn có thể sử dụng xác suất được trả về theo một trong hai cách sau:

  • Được áp dụng "nguyên trạng". Ví dụ: nếu một mô hình dự đoán thư rác lấy email làm dữ liệu đầu vào và xuất ra giá trị 0.932, thì điều này ngụ ý rằng có 93.2% xác suất email đó là thư rác.

  • Được chuyển đổi thành một danh mục nhị phân, chẳng hạn như True hoặc False, Spam hoặc Not Spam.

Mô-đun này tập trung vào việc sử dụng nguyên trạng kết quả của mô hình hồi quy logistic. Trong mô-đun Phân loại, bạn sẽ tìm hiểu cách chuyển đổi kết quả này thành một danh mục nhị phân.

Hàm sigmoid

Bạn có thể thắc mắc về cách mô hình hồi quy logistic đảm bảo đầu ra của mô hình này biểu thị một xác suất, luôn xuất ra một giá trị từ 0 đến 1. Thật tình cờ, có một nhóm hàm được gọi là hàm logistic mà đầu ra có những đặc điểm tương tự. Hàm logistic chuẩn, còn được gọi là hàm sigmoid (sigmoid có nghĩa là "hình chữ s"), có công thức:

\[f(x) = \frac{1}{1 + e^{-x}}\]

trong đó:

  • f(x) là đầu ra của hàm sigmoid.
  • esố Euler: một hằng số toán học ≈ 2,71828.
  • x là giá trị đầu vào của hàm sigmoid.

Hình 1 cho thấy biểu đồ tương ứng của hàm sigmoid.

Đường cong sigmoid (hình chữ s) được vẽ trên mặt phẳng toạ độ Descartes, có tâm ở gốc toạ độ.
Hình 1. Đồ thị của hàm sigmoid. Đường cong tiến đến 0 khi giá trị x giảm xuống vô cực âm và 1 khi giá trị x tăng lên vô cực.

Khi đầu vào x tăng lên, đầu ra của hàm sigmoid sẽ tiến gần đến 1 nhưng không bao giờ đạt đến 1. Tương tự, khi đầu vào giảm, đầu ra của hàm sigmoid sẽ tiến gần đến 0 nhưng không bao giờ đạt đến giá trị này.

Nhấp vào đây để tìm hiểu sâu hơn về toán học đằng sau hàm sigmoid

Bảng dưới đây cho thấy các giá trị đầu ra của hàm sigmoid cho các giá trị đầu vào trong phạm vi từ –7 đến 7. Lưu ý tốc độ tiếp cận 0 của hàm sigmoid đối với các giá trị đầu vào âm giảm và tốc độ tiếp cận 1 của hàm sigmoid đối với các giá trị đầu vào dương tăng.

Tuy nhiên, dù giá trị đầu vào lớn hay nhỏ đến đâu, đầu ra sẽ luôn lớn hơn 0 và nhỏ hơn 1.

Đầu vào Đầu ra của hàm sigmoid
-7 0,001
-6 0,002
-5 0,007
-4 0,018
-3 0,047
-2 0,119
-1 0,269
0 0,5
1 0,731
2 0,881
3 0,952
4 0,982
5 0,993
6 0,997
7 0,999

Biến đổi đầu ra tuyến tính bằng hàm sigmoid

Phương trình sau đây biểu thị thành phần tuyến tính của mô hình hồi quy logistic:

\[z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\]

trong đó:

  • z là đầu ra của phương trình tuyến tính, còn được gọi là tỷ lệ cược theo logarit.
  • b là độ lệch.
  • Các giá trị w là trọng số đã học của mô hình.
  • Các giá trị x là giá trị của đối tượng cho một ví dụ cụ thể.

Để thu được dự đoán hồi quy logistic, giá trị z sẽ được truyền đến hàm sigmoid, tạo ra một giá trị (xác suất) từ 0 đến 1:

\[y' = \frac{1}{1 + e^{-z}}\]

trong đó:

  • y' là đầu ra của mô hình hồi quy logistic.
  • esố Euler: một hằng số toán học ≈ 2,71828.
  • z là đầu ra tuyến tính (như được tính trong phương trình trước đó).

Nhấp vào đây để tìm hiểu thêm về tỷ lệ log-odds

Trong phương trình $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$, z được gọi là log-odds vì nếu bạn bắt đầu bằng hàm sigmoid sau (trong đó $y$ là đầu ra của một mô hình hồi quy logistic, biểu thị một xác suất):

$$y = \frac{1}{1 + e^{-z}}$$

Sau đó, giải phương trình để tìm z:

$$ z = \log\left(\frac{y}{1-y}\right) $$

Sau đó, z được xác định là nhật ký của tỷ lệ xác suất của 2 kết quả có thể xảy ra: y1 – y.

Hình 2 minh hoạ cách đầu ra tuyến tính được chuyển đổi thành đầu ra hồi quy logistic bằng các phép tính này.

Bên trái: Đường thẳng có các điểm (-7,5, –10), (-2,5, 0) và (0, 5) được đánh dấu. Bên phải: Đường cong sigmoid với các điểm được chuyển đổi tương ứng (-10, 0,00004), (0, 0,5) và (5, 0,9933) được làm nổi bật.
Hình 2. Bên trái: đồ thị của hàm tuyến tính z = 2x + 5, với 3 điểm được làm nổi bật. Bên phải: Đường cong sigmoid có cùng 3 điểm được đánh dấu sau khi được hàm sigmoid biến đổi.

Trong Hình 2, phương trình tuyến tính trở thành đầu vào cho hàm sigmoid, hàm này uốn đường thẳng thành hình chữ s. Lưu ý rằng phương trình tuyến tính có thể xuất ra các giá trị z rất lớn hoặc rất nhỏ, nhưng đầu ra của hàm sigmoid, y', luôn nằm trong khoảng từ 0 đến 1 (không bao gồm). Ví dụ: hình vuông màu vàng trên biểu đồ bên trái có giá trị z là –10, nhưng hàm sigmoid trong biểu đồ bên phải ánh xạ giá trị –10 đó thành giá trị y' là 0, 00004.

Bài tập: Kiểm tra mức độ hiểu biết của bạn

Một mô hình hồi quy logistic có 3 đặc điểm có độ lệch và trọng số như sau:

\[\begin{align} b &= 1 \\ w_1 &= 2 \\ w_2 &= -1 \\ w_3 &= 5 \end{align} \]

Cho các giá trị đầu vào sau:

\[\begin{align} x_1 &= 0 \\ x_2 &= 10 \\ x_3 &= 2 \end{align} \]

Trả lời 2 câu hỏi sau.

1. Giá trị của z cho các giá trị đầu vào này là bao nhiêu?
–1
0
0,731
1
Chính xác! Phương trình tuyến tính được xác định bằng các trọng số và độ lệch là z = 1 + 2x1 – x2 + 5 x3. Khi bạn đưa các giá trị đầu vào vào phương trình, kết quả sẽ là z = 1 + (2)(0) – (10) + (5)(2) = 1
2. Dự đoán hồi quy logistic cho các giá trị đầu vào này là gì?
0,268
0,5
0,731

Như được tính ở bước 1 ở trên, log-odds cho các giá trị đầu vào là 1. Cắm giá trị đó cho z vào hàm sigmoid:

\(y = \frac{1}{1 + e^{-z}} = \frac{1}{1 + e^{-1}} = \frac{1}{1 + 0.367} = \frac{1}{1.367} = 0.731\)

1
Hãy nhớ rằng đầu ra của hàm sigmoid sẽ luôn lớn hơn 0 và nhỏ hơn 1.