Giới thiệu
Trong các thuật toán hồi quy, Logistic Regression (hay còn gọi là Logit Regression) là một phương pháp phân loại phổ biến. Thay vì dự đoán các giá trị số như các phương pháp hồi quy tuyến tính, Logistic Regression ước lượng xác suất để một điểm dữ liệu thuộc về một lớp cụ thể. Việc này giúp chúng ta phân loại dữ liệu một cách chính xác và linh hoạt. Trong bài viết này, chúng ta sẽ khám phá về cơ bản của Logistic Regression và cách nó hoạt động.
Phân loại Nhị phân với Logistic Regression
Logistic Regression được sử dụng để phân loại các điểm dữ liệu vào hai lớp khác nhau, ví dụ như dự đoán xem một email có phải là spam hay không. Mô hình Logistic Regression tính tổng các tích trọng số của các đặc trưng đầu vào và sau đó áp dụng hàm sigmoid để ước lượng xác suất. Hàm sigmoid cho ra kết quả nằm trong khoảng từ 0 đến 1, biểu thị xác suất dữ liệu thuộc về lớp 1.
Sau khi đã có xác suất ước lượng $hat p = h_theta(x)$, chúng ta có thể dễ dàng xác định xem điểm dữ liệu thuộc về lớp nào. Nếu xác suất lớn hơn 0.5, mô hình dự đoán điểm dữ liệu đó thuộc về lớp 1, ngược lại, nếu xác suất nhỏ hơn hoặc bằng 0.5, điểm dữ liệu sẽ thuộc về lớp 0. Đây được gọi là phân loại nhị phân.
Hàm chi phí của Logistic Regression
Vì chúng ta đang phân loại dựa trên xác suất, hàm chi phí được tính dựa trên xác suất dự đoán. Mục tiêu của việc huấn luyện mô hình là tìm ra vector tham số θ sao cho mô hình đưa ra xác suất cao cho các điểm dữ liệu thuộc lớp 1, và xác suất thấp cho các điểm dữ liệu thuộc lớp 0. Hàm chi phí cho một điểm dữ liệu x được tính như sau:
![c(theta) = begin{cases}-log(hat p) & text{if } y = 1 -log(1- hat p) & text{if } y = 0 end{cases}]
Hàm chi phí này rất nhạy, tức là nó tăng nhanh khi xác suất tiệm cận 0. Nếu chúng ta dự đoán sai cho điểm dữ liệu thuộc lớp 1 có xác suất nhỏ, chi phí sẽ tăng lên rất cao. Ngược lại, nếu chúng ta dự đoán sai cho điểm dữ liệu thuộc lớp 0 có xác suất nhỏ, chi phí sẽ gần tiến về 0.
Cập nhật tham số của Logistic Regression
Để tìm ra vector tham số θ tối thiểu hóa hàm chi phí, chúng ta có thể sử dụng thuật toán Gradient Descent. Thuật toán này sẽ điều chỉnh các tham số theo hướng giảm dần của độ dốc của hàm chi phí. Đạo hàm riêng của hàm chi phí theo tham số θ được tính như sau:
![frac{delta J(theta) }{delta thetaj}= frac{1}{m}sum{1}^{m}(sigma (theta^Tx^{(i)}) - y^{(i)})x_j^{(i)}]
Chúng ta tính lỗi dự đoán cho mỗi điểm dữ liệu và nhân nó với đặc trưng x thứ j, sau đó tính trung bình trên toàn bộ dữ liệu huấn luyện. Bằng cách thực hiện các bước như vậy cho từng điểm dữ liệu, chúng ta có thể tính toán gradient vector chứa các đạo hàm riêng của tham số θ để thực hiện thuật toán Gradient Descent. Công thức cập nhật tham số θ như sau:
![theta = theta - ηfrac{delta J(theta)}{delta theta}]
Với η là learning rate.
Kết luận
Logistic Regression là một phương pháp phân loại mạnh mẽ và linh hoạt trong Machine Learning. Nhờ khả năng ước lượng xác suất, nó giúp chúng ta dự đoán và phân loại dữ liệu một cách chính xác. Bằng cách sử dụng thuật toán Gradient Descent, chúng ta có thể tối ưu hóa hàm chi phí và tìm ra vector tham số tốt nhất cho mô hình Logistic Regression.
Nguồn tham khảo: Blog Do Minh Hai