Trước khi giới thiệu về Softmax Regression, chúng ta cần lưu ý lại một vài điểm chính của mô hình Linear Regression.
Hôm nay mình xin giới thiệu về Series bài học về Deep Learning. Trong Series này, mình sẽ bắt đầu từ các viên gạch tạo nên Deep Learning như Logistic Regression, Softmax Regression, cho đến các mô hình đang được sử dụng rộng rãi như bây giờ là Transformer hay các Large Language Model,.. Đồng thời mình cũng xin nói trước là bài viết sẽ thiên về cách giải thích các công thức, các khái niệm không phải một cách quá toán học, mà sẽ thông qua các ví dụ, các cách giải thích có thể hơi ví von một xíu.
Hôm nay mình xin giới thiệu về Series bài học về Deep Learning. Trong Series này, mình sẽ bắt đầu từ các viên gạch tạo nên Deep Learning như Logistic Regression, Softmax Regression, cho đến các mô hình đang được sử dụng rộng rãi như bây giờ là Transformer hay các Large Language Model,.. Đồng thời mình cũng xin nói trước là bài viết sẽ thiên về cách giải thích các công thức, các khái niệm không phải một cách quá toán học, mà sẽ thông qua các ví dụ, các cách giải thích có thể hơi ví von một xíu.
1. Nhắc lại về Linear Regression và Logistic Regression
Trước khi giới thiệu về Softmax Regression, chúng ta cần lưu ý lại một vài điểm chính của mô hình Linear Regression:
Hình 1 - Linear Regression
Giả sử chúng ta có tập dataset về giá nhà sau đây:
Hình 2 - Dữ liệu giá nhà
Về mặt lý thuyết, chúng ta cần tìm một đường thẳng có thể đi qua toàn bộ cặp dữ liệu (area, price) ở trên, và sau quá trình huấn luyện chúng ta có được một mô hình Linear Regression ứng với bộ dữ liệu ở trên như sau:
Hình 3 - Linear Regression với dữ liệu giá nhà
Trường hợp khác, chúng ta vẫn sử dụng mô hình Linear Regression ở trên nhưng cho bài toán phân loại 2 lớp (Binary Classification) trên tập dữ liệu hoa Iris như sau:
Hình 4 - Bộ dữ liệu Iris
Mô hình Linear Regression ứng với data ở trên:
Hình 5 - Mô hình Linear Regression cho bộ dữ liệu Iris
Rõ ràng chúng ta thấy rằng rất khó để tìm được một đường thẳng phù hợp với dữ liệu ở trên, và nếu sử dụng Linear Regression cho bài toán ở trên thì chúng ta cần phải xác định một ngưỡng (ví dụ đầu ra trên 0.5 thì phân loại vào lớp 1, và đầu ra dưới 0.5 thì phân loại sẽ vào lớp 0 ). Và cách khắc phục nhược điểm này của mô hình Linear Regression là motivation cho thuật toán Logistic Regression.
Motivation của Logistic Regression: đối với bài toán phân loại nhị phân đối với Logistic Regression, mô hình sẽ không cố gắng dự đoán một con số liên tục như giá nhà, giá cổ phiếu, diện tích,..sau đó đặt một ngưỡng để xác định đầu ra mà nó sẽ dự đoán giá trị xác suất cho từng lớp. Các bạn nhìn vào các thành phần của một mô hình Logistic Regression sau đây:
Hình 6 - Logistic Regression
Ở bước đầu tiên, sau khi chúng ta tính toán đầu ra của mô hình, chúng ta sẽ có thêm một bước đó là đưa đầu ra đó vào hàm Sigmoid để chuyển đổi nó sang một dạng giá trị xác suất. Minh hoạ mô hình Logistic Regression cho bài toán Binary Classification:
Hình 7 – Mô hình Logistic Regression với bài toán Binary Classification
Như vậy ta đã hiểu được ý tưởng chính của thuật toán Logistic Regression. Nhưng ở đây ta lại có một vấn đề nữa là, như hình minh hoạ ở trên, ta thấy được rằng mô hình chỉ cố gắng dự đoán giá trị xác suất của lớp có nhãn thực tế là 1), chứ mô hình không thực sự đưa ra dự đoán cho lớp có có label là 0 mà sẽ lấy tổng xác suất (có giá trị là 1) trừ đi giá trị P(y=1|x). Và một lần nữa, nhược điểm này của mô hình Logistic Regression chính là motivation của mô hình Softmax Regression.
2. Softmax Regression:
Trước khi giới thiệu về Softmax Regression, chúng ta cần lưu ý lại một vài điểm chính của mô hình Linear Regression.
Để giải quyết vấn đề ở trên, giải pháp của chúng ta là sẽ có thêm một node z vào mô hình để thực hiện dự đoán cho trường hợp đầu vào với nhãn là 0.
Hình 8 – Mô hình Softmax Regression cho bài toán Binary Classification
Vậy là chúng ta đã có được mô hình Softmax Regression cho bài toán phân loại 2 lớp, vậy với bài toán phân loại trên 2 lớp các bạn sẽ làm thế nào. Tương tự chúng ta sẽ thêm vào số z tương ứng với số lượng class muốn dự đoán. Chúng ta sẽ minh hoạ thông qua bộ dữ liệu Iris với 4 features và 3 lớp như sau:
Hình 9 - Dữ liệu Iris với phân loại 3 lớp
Bây giờ chúng ta sẽ xây dựng mô hình Softmax Regression ứng với bộ dữ liệu trên:
Hình 10 - Mô hình Softmax Regression với 4 features và 3 lớp
Như vậy, chúng ta đã hiểu được về cách xây dựng mô hình Softmax Regression cho bài toán phân loại đa lớp. Bài viết sau mình sẽ cho các bạn giải thích cho các bạn về các tính chất của hàm Softmax và chứng minh một thành phần rất quan trọng để đánh giá mô hình trong quá trình học là Loss function.
Bài viết được thực hiện bởi: