Softmax Regression – Mô hình phân loại nhiều lớp



1. Giới thiệu

Trong các bài toán phân loại, khi đầu ra không chỉ có hai lớp (nhị phân) mà có nhiều hơn hai lớp, mô hình Logistic Regression thông thường không còn phù hợp. Ta cần mở rộng mô hình sang dạng có thể phân loại đầu vào vào một trong nhiều nhãn đầu ra. Softmax Regression, còn được gọi là Multinomial Logistic Regression, là phương pháp cơ bản và hiệu quả nhất cho phân loại nhiều lớp.

Ví dụ của các bài toán phân loại nhiều lớp:

  • Phân loại loài hoa trong tập dữ liệu Iris (3 lớp)
  • Phân loại chữ số viết tay (0 đến 9)
  • Nhận diện cảm xúc (tích cực, tiêu cực, trung tính)

2. Ý tưởng mô hình

Thay vì đưa đầu vào vào một hàm tuyến tính duy nhất như Logistic Regression nhị phân, Softmax Regression xây dựng một hàm tuyến tính riêng cho mỗi lớp.

Giả sử đầu vào x là một vector đặc trưng có d chiều. Ta sẽ xây dựng K hàm tuyến tính tương ứng với K lớp:

z_k = w_k . x + b_k    (với k = 0 đến K-1)

Trong đó:

  • w_k là vector trọng số của lớp k
  • b_k là hệ số chệch (bias) của lớp k
  • z_k là điểm số (score) chưa chuẩn hóa cho lớp k

Sau khi tính được toàn bộ các z_k, ta chuyển chúng thành xác suất bằng cách dùng hàm Softmax:

softmax(z_k) = exp(z_k) / (sum_j exp(z_j))

Toàn bộ đầu ra là một vector xác suất y_hat có K phần tử, mỗi phần tử là xác suất mẫu thuộc về lớp tương ứng.


3. Dự đoán nhãn lớp

Sau khi tính được vector xác suất đầu ra y_hat = [p_0, p_1, …, p_{K-1}], ta chọn lớp có xác suất cao nhất làm dự đoán:

y_pred = argmax(y_hat)

4. Hàm mất mát: Categorical Cross-Entropy

Để huấn luyện mô hình, ta dùng hàm mất mát cross-entropy:

Loss = -log(p_{y_true})

Trong đó p_{y_true} là xác suất mô hình dự đoán cho đúng lớp của mẫu. Tổng thể trên toàn bộ tập dữ liệu:

Loss_total = -(1/n) * sum_i log(p_{y_i})

Đây là một hàm lồi (convex) nếu không dùng regularization và có thể tối ưu hóa hiệu quả bằng các phương pháp như gradient descent.


5. Mối quan hệ với Logistic Regression

Logistic Regression là một trường hợp đặc biệt của Softmax Regression khi số lớp K = 2.

  • Với K = 2, softmax trở thành sigmoid.
  • Hàm mất mát cross-entropy trong nhị phân là trường hợp đặc biệt của categorical cross-entropy.
  • Các bước tối ưu và học trọng số giống nhau về bản chất.

6. Cài đặt bằng Scikit-Learn

Ví dụ: Phân loại chữ số viết tay trong tập dữ liệu MNIST

from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report

digits = load_digits()
X = digits.data
y = digits.target  # nhãn từ 0 đến 9

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

model = LogisticRegression(multi_class='multinomial', solver='lbfgs', max_iter=1000)
model.fit(X_train, y_train)

y_pred = model.predict(X_test)
print(classification_report(y_test, y_pred))

7. Đặc điểm của mô hình Softmax Regression

Thuộc tínhMô tả
Loại mô hìnhPhân loại nhiều lớp (multiclass classification)
Đầu raVector xác suất có tổng bằng 1
Cách đưa ra dự đoánChọn lớp có xác suất cao nhất
Hàm mất mátCategorical cross-entropy
Khả năng giải thíchCao, thông qua trọng số w_k của từng lớp
Tối ưu hóaGradient Descent hoặc biến thể như L-BFGS
Tốc độ huấn luyệnNhanh, ổn định trên tập nhỏ và vừa
Ứng dụng phổ biếnNLP, nhận dạng ảnh, phân tích văn bản

8. Bài tập thực hành

  1. Sử dụng tập dữ liệu Iris (3 lớp), huấn luyện Softmax Regression để phân loại loài hoa.
  2. Trực quan hoá trọng số của từng lớp dưới dạng biểu đồ hoặc heatmap.
  3. Dùng tập dữ liệu MNIST, huấn luyện và đánh giá độ chính xác mô hình.
  4. Phân tích ma trận nhầm lẫn để xác định lớp nào mô hình hay nhầm lẫn nhất.

9. Tổng kết

Softmax Regression là mô hình cơ bản và hiệu quả cho bài toán phân loại nhiều lớp. Mặc dù là một mô hình tuyến tính, nó đóng vai trò nền tảng cho nhiều mô hình hiện đại hơn như mạng nơ-ron nhân tạo (ANN), phân loại chuỗi văn bản (text classification), và mô hình ngôn ngữ. Việc nắm chắc mô hình này không chỉ giúp xử lý các bài toán cơ bản mà còn là nền móng để học các mô hình học sâu phức tạp hơn sau này.