Logistic regression là gì

Trong các phần trước ta đã tìm hiểu về phương pháp hồi quy tuyến tính để dự đoán đầu ra liên tục, phần này ta sẽ tìm hiểu thêm một thuật toán nữa trong học có giám sát là hồi quy logistic [Logistic Regression] nhằm mục đính phân loại dữ liệu.

Mục lục

  • 1. Định nghĩa
  • 2. Mô hình
  • 3. Ước lượng tham số
    • 3.1. Phương pháp GD
    • 3.2. Phương pháp Newton-Raphson
  • 4. Lập trình
  • 5. Phân loại nhiều nhóm
    • 5.1. Dựa theo phương pháp 2 nhóm
    • 5.2. Dựa theo mô hình xác suất nhiều nhóm
  • 6. Over-fitting
  • 7. Kết luận

1. Định nghĩa

Phương pháp hồi quy logistic là một mô hình hồi quy nhằm dự đoán giá trị đầu ra rời rạc [discrete target variable] $y$ ứng với một véc-tơ đầu vào $\mathbf{x}$. Việc này tương đương với chuyện phân loại các đầu vào $\mathbf{x}$ vào các nhóm $y$ tương ứng.

Ví dụ, xem một bức ảnh có chứa một con mèo hay không. Thì ở đây ta coi đầu ra $y=1$ nếu bước ảnh có một con mèo và $y=0$ nếu bức ảnh không có con mèo nào. Đầu vào $\mathbf{x}$ ở đây sẽ là các pixel một bức ảnh đầu vào.

Classification with 2 groups

Để đơn giản, trước tiên ta sẽ cùng đi tìm hiểu mô hình và cách giải quyết cho bài toán phân loại nhị phân tức là $y=\{0,1\}$. Sau đó ta mở rộng cho trường hợp nhiều nhóm sau.

2. Mô hình

Sử dụng phương pháp thống kê ta có thể coi rằng khả năng một đầu vào $\mathbf{x}$ nằm vào một nhóm $y_0$ là xác suất nhóm $y_0$ khi biết $\mathbf{x}$: $p[y_0|\mathbf{x}]$. Dựa vào công thức xác xuất hậu nghiệm ta có:

$$ \begin{aligned} p[y_0|\mathbf{x}] &= \dfrac{p[\mathbf{x}|y_0]p[y_0]}{p[\mathbf{x}]} \cr\ &= \dfrac{p[\mathbf{x}|y_0]p[y_0]}{p[\mathbf{x}|y_0]p[y_0] + p[\mathbf{x}|y_1]p[y_1]} \end{aligned} $$

Đặt: $$a=\ln\dfrac{p[\mathbf{x}|y_0]p[y_0]}{p[\mathbf{x}|y_1]p[y_1]}$$

Ta có: $$p[y_0|\mathbf{x}]=\dfrac{1}{1+\exp[-a]}=\sigma[a]$$

Hàm $\sigma[a]$ ở đây được gọi là hàm sigmoid [logistic sigmoid function]. Hình dạng chữ S bị chặn 2 đầu của nó rất đặt biệt ở chỗ dạng phân phối đều ra và rất mượt.

Ở đây tôi không chứng minh, nhưng vận dụng thuyết phân phối chuẩn, ta có thể chỉ ra rằng: $$a = \mathbf{w}^{\intercal}\mathbf{x} + w_0$$ Đặt: $\mathbf{x}_0=[1,,1]$, ta có thể viết gọn lại thành: $$a = \mathbf{w}^{\intercal}\mathbf{x}$$

Công thức tính xác suất lúc này: $$p[y_0|\mathbf{x}]=\dfrac{1}{1+\exp[-a]}=\sigma[\mathbf{w}^{\intercal}\mathbf{x}]$$

Trong đó, $\mathbf{x}$ là thuộc tính đầu vào còn $\mathbf{w}$ là trọng số tương ứng.

Lưu ý rằng cũng như phần hồi quy tuyến tính thì $\mathbf{x}$ ở đây không nhất thiết là đầu vào thô của tập dữ liệu mà ta có thể sử dụng các hàm cơ bản $\phi[\mathbf{x}]$ để tạo ra nó. Tuy nhiên, ở đây để cho gọn gàng tôi không viết $\phi[\mathbf{x}]$ như lần trước nữa.

Có công thức tính được xác suất rồi thì ta có thể sử dụng một ngưỡng $\epsilon\in [0,1]$ để quyết định nhóm tương ứng. Cụ thể: $$ \begin{cases} \mathbf{x}\in y_0 &\text{if } p[y_0|\mathbf{x}]\ge\epsilon \cr \mathbf{x}\in y_1 &\text{if } p[y_0|\mathbf{x}]

Chủ Đề