Hồi quy logistic (Logistic Regression – LR) là một trong những công cụ phân tích quan trọng và được sử dụng phổ biến trong nhiều ứng dụng, và phương pháp được trình bày chi tiết trong phần trước chỉ dùng được trong phân loại hai lớp (Binary Classfication), với nhãn đầu ra nhận một trong hai giá trị: Bài 4.1: Phân loại với hồi quy Logistic
Trong phần này, chúng ta sẽ xem xét cách mở rộng hồi quy logistic cho phân loại đa lớp, tức là khi nhãn đầu ra có thể nhận một trong nhiều (hơn hai) giá trị. Các trường hợp phân loại đa lớp rất thường gặp trên thực tế, ví dụ một bài báo có thể phân vào một trong các loại: chính trị, xã hội, thể thao, văn hóa, giáo dục, giải trí.
Trên Hình 1 là ví dụ minh họa cho phân loại hai lớp và ba lớp. Để đơn giản cho việc minh họa bằng, các ví dụ trong hình này được biểu diễn bằng vectơ hai đặc trưng.
Hình 1. Phân loại hai lớp (trái) và đa lớp (phải) [1].
Để áp dụng hồi quy logistic cho phân loại đa lớp, chúng ta có thể áp dụng một trong hai cách làm sau: (1) Sử dụng kết hợp nhiều mô hình hồi quy logistic; (2) Sử dụng mô hình hồi quy logistic đa thức.
1. Kết hợp nhiều mô hình hồi quy logistic
Cách đơn giản nhất để thực hiện phân loại đa lớp là kết hợp nhiều mô hình hồi quy logistic thông thường, tức là mô hình phân loại hai lớp, để tạo ra mô hình đa lớp theo sơ đồ một chọi tất cả (one vs. all).
Hình 2. Kết hợp nhiều mô hình hai lớp theo sơ đồ một chọi tất cả (one vs all) [1].
Giả sử cho bài toán phân loại với k lớp, ứng với nhãn phân loại là 1, 2, …k. Ta sẽ xây dựng k mô hình hồi quy logistic như sau. Từ bộ dữ liệu huấn luyện, ta tạo ra k bộ dữ liệu cho k bài toán phân loại hai lớp như minh họa trên hình 4.
- Bộ dữ liệu thứ 1: các ví dụ với nhãn 1 (hình tam giác trong hình minh họa) được chọn làm nhãn dương (1), tất cả ví dụ còn lại làm nhãn âm (0). Dùng bộ dữ liệu này huấn luyện mô hình h(1)( x) để dự đoán lớp
- Bộ dữ liệu thứ 2: các ví dụ với nhãn 2 (hình tròn trong hình minh họa) được chọn làm nhãn dương (1) , tất cả ví dụ còn lại làm nhãn âm (0). Dùng bộ dữ liệu này huấn luyện mô hình h(2)(x) để dự đoán lớp
- Bộ dữ liệu thứ k: các ví dụ với nhãn k được chọn làm nhãn dương (1) , tất cả ví dụ còn lại làm nhãn âm (0). Dùng bộ dữ liệu này huấn luyện mô hình h(k)(x) để dự đoán lớp k.
Như vậy, ta có xác suất một ví dụ nhận nhãn bằng i, i = 1, 2,…k là: P(y=i | x) = h(i)(x). Với mỗi ví dụ mới x*, nhãn phân loại là nhãn có giá trị xác suất lớn nhất:
\(\mathrm{y}=\underset{i}{argmax}\: \mathrm{P}\left(\mathrm{y}=\mathrm{i} \mid x^{*}\right)=\underset{i}{argmax}\: h^{(i)}\left(x^{*}\right)\) (1)
2. Mô hình hồi quy logistic đa thức
Hồi quy logistic đa thức (multinomial logistic regression) còn được gọi là softmax regression, hay trong tài liệu NLP cũ hơn, đôi khi bạn sẽ thấy cái tên maxent classifier). Trong hồi quy logistic đa thức, chúng ta muốn gắn nhãn mỗi quan sát với một lớp c trong tập K các lớp khác nhau, và chúng ta cũng giả định rằng một quan sát chỉ thuộc một và chỉ một lớp (đôi khi được gọi là phân loại cứng – một quan sát không thể có trong nhiều lớp). Ta sử dụng biểu diễn sau: đầu ra y cho mỗi đầu vào x sẽ là một vectơ có độ dài K. Nếu lớp c là lớp đúng, chúng ta sẽ đặt \( y_{c}=1 \) và đặt tất cả các phần tử khác của y là 0, tức là \( y_{c}=1 \text { và } y_{j}=0, \forall \mathrm{j} \neq \mathrm{c} \). Một vectơ y như vậy, với một giá trị = 1 và các giá trị khác = 0 được gọi là một one-hot-vectơ. Nhiệm vụ của bộ phân lớp bây giờ trở thành cung cấp một vectơ dự đoán . Đối với mỗi lớp k, giá trị của k được ước lượng bởi xác suất \( P\left(\widehat{\boldsymbol{y}}_{\boldsymbol{k}}=1 \mid \mathbf{x}\right) \) .
Để tính \( P\left(\widehat{\boldsymbol{y}}_{\boldsymbol{k}}=1 \mid \mathbf{x}\right) \) hàm softmax nhận vectơ z = [z1 , z2 , …, zK ] của K tùy ý giá trị và bản đồ chúng đến một xác suất phân phối với mỗi giá trị trong các phạm vi (0,1), và tổng của tất cả các các giá trị bằng 1. Đối với vectơ z có chiều K, softmax được định nghĩa là:
\( softmax\left(\mathbf{z}_{i}\right)=\frac{\exp \left(\mathbf{z}_{i}\right)}{\sum_{j=1}^{K} \exp \left(\mathbf{z}_{j}\right)}, 1 \leq i \leq K \) (2)
Phần mẫu số được sử dụng để chuẩn hóa tất cả các giá trị thành xác suất. Vì vậy, ví dụ cho một vectơ z = [0.6, 1.1, −1.5, 1.2, 3.2, −1.1] thì kết quả (làm tròn) của softmax(z) là [0.055, 0,090, 0.006, 0.099, 0.74, 0.010].
Giống như hàm kích hoạt sigmoid, đầu vào của hàm softmax sẽ là tích giữa vectơ tham số w và vectơ đầu vào x cộng với bias term b. Điểm khác biệt ở đây là cần các vectơ weights wk và bias bk riêng biệt cho mỗi lớp k. Theo cách này có thể xây dựng công thức tính vectơ xác suất đầu ra như sau.
\( \hat{y}=softmax(\boldsymbol{W} \boldsymbol{x}+\boldsymbol{b}) \) (3)
, trong đó là ma trận có kích thước [K x f] với K là số lớp đầu ra, và f là số đặc trưng đầu vào. Sự khác biệt giữa hồi quy logistic nhị phân và hồi quy logistic đa thức được thể hiện trong hình 3 dưới đây.
Hình 3. Sự khác biệt giữa hồi quy logistic nhị phân và hồi quy logistic đa thức [2].
3. Ứng dụng hồi quy logistic trong bài toán phân loại cảm xúc văn bản
Giả sử chúng ta cần phân loại cảm xúc nhị phân trên văn bản đánh giá phim và muốn biết nên chỉ định lớp cảm xúc tích cực (1) hoặc tiêu cực (0) cho một bài đánh giá. Bộ dữ liệu được thử nghiệm là một tập nhỏ của bộ dữ liệu IMDB, trong đó bao gồm 2000 mẫu. Phân bổ nhãn trên tập là đồng đều với 1000 mẫu được đánh nhãn là tích cực (1) và 1000 mẫu được đánh nhãn là tiêu cực (0).
Hình 4 minh họa các bước chính cần thực hiện đối với toán phân loại cảm xúc văn bản. Nhận dữ liệu đầu vào là một bài đánh giá, bước 1 hệ thống cần tiến hành tiền xử lý dữ liệu để loại bỏ bớt những dữ liệu trùng lặp, những từ thông dụng thường xuất hiện trong hầu hết các đánh giá (ví dụ các stopwords), hay loại bỏ những ký tự đặc biệt, ký tự số. Tiền xử lý dữ liệu có thể bao gồm nhiều bước tùy thuộc vào dữ liệu và tình huống. Bước 2 các kỹ thuật trích chọn đặc trưng văn bản sẽ được sử dụng để biểu diễn dữ liệu văn bản đầu vào dưới dạng một vectơ . Đến bước 3, một mô hình học máy đóng vai trò là bộ phân lớp để đưa ra kết quả dự đoán nhãn cho dữ liệu đầu vào là tích cực hay tiêu cực.
Hình 4. Tổng quan về các bước thực hiện đối với bài toán phân loại cảm xúc văn bản.
Các thực nghiệm được tiến hành cụ thể như sau. Đối với dữ liệu đầu vào, NCS áp dụng kỹ thuật 5-fold cross validation để đánh giá các kết quả đạt được từ các mô hình một cách khách quan và toàn diện. Theo đó thực nghiệm sẽ chạy 5 lần khác nhau, mỗi lần chạy thì bộ dữ liệu được chia thành 5 phần, 4 phần dành cho tập đào tạo và 1 phần dành cho tập kiểm thử. Kết quả đánh giá cuối cùng là trung bình cộng của 5 lần chạy. Đối với bước feature extraction, kỹ thuật TF-IDF được sử dụng để biểu diễn từng dữ liệu đầu vào thành dạng vectơ số. Các bộ phân lớp khác nhau được sử dụng để so sánh và đánh giá, bao gồm: Naïve Bayes [2], hồi quy logistic, và một mô hình kinh điển khác là mô hình SVM với nhân tuyến tính – Linear SVC [3].
Thực nghiệm kiểm tra độ chính xác của mô hình trên bộ dữ liệu kiểm thử trong từng lần chạy có thể được quan sát trong Hình 5. Sau đó các kết quả trung bình được tính toán và được tóm tắt lại trong BẢNG 1.
Hình 5. Độ chính xác đo được trong từng lần chạy của 3 mô hình.
BẢNG 1. KẾT QUẢ THỰC NGHIỆM SO SÁNH GIỮA 3 MÔ HÌNH HỌC MÁY
Mô hình | Độ chính xác trung bình (%) | Thời gian đào tạo trung bình (ms) | Thời gian dự đoán trung bình (ms) |
Linear SVC | 87.85 | 69.27 | 0.76 |
Naïve Bayes | 81.45 | 7.27 | 1.68 |
Hồi quy logistic | 85.55 | 115.1 | 2.45 |
Chi tiết về kết quả dự đoán của mô hình hồi quy logistic trong 1 lần chạy trên tập dữ liệu kiểm thử được thể hiện trong Ma trận đánh giá (confusion matrix) ở Hình 6.
Hình 6. Ma trận đánh giá kết quả dự đoán của mô hình hồi quy logistic.
Đánh giá:
Hồi quy logistic là phương pháp phân loại theo nguyên tắc xác suất có độ chính xác tương đối cao, mặc dù chưa phải là mô hình đem tới kết quả tốt nhất khi so sánh với mô hình Linear SVC trong các thực nghiệm. Một nhược điểm của phương pháp này là thời gian huấn luyện lâu hơn so với một số phương pháp phân loại khác (ví dụ Naïve Bayes, Linear SVC), đặc biệt là trong trường hợp sử dụng nhiều mô hình hồi quy logistic để giải quyết bài toán phân loại đa lớp. Ngoài ra, phương pháp hồi quy logistic cũng đòi hỏi lựa chọn thuộc tính đầu vào phù hợp. Trong trường hợp các đặc trưng có quan hệ tỷ lệ tuyến tính với nhau, độ chính xác khi phân loại sẽ bị ảnh hưởng.
Trong hai bài viết 4.1, và 4.2, chúng ta đã cùng nhau khám phá và tìm hiểu về thuật toán hồi quy logistic – một công cụ đắc lực trong lĩnh vực học máy. Hành trình khám phá của chúng ta không dừng lại ở đó. Trong bài viết sắp tới, tôi sẽ đưa các bạn đến với một chủ đề vô cùng hấp dẫn và quan trọng – mạng nơ-ron nhân tạo. Đây chính là nền tảng và tiền đề cho những nghiên cứu sâu hơn về học sâu (deep learning) sau này. Hãy cùng chờ đón và sẵn sàng đón nhận những kiến thức mới mẻ, thú vị trong bài viết tiếp theo nhé!
TÀI LIỆU THAM KHẢO
[1] Từ Minh Phương. (2010). Bài giảng Nhập Môn Trí Tuệ Nhân Tạo. Học viện Công nghệ Bưu chính viễn thông.
[2] Eiselt, H., & Sandblom, C. (2010). Linear programming and its applications. Berlin: Springer.
[3] Boser, Bernhard E.; Guyon, Isabelle M.; Vapnik, Vladimir N. (1992). A training algorithm for optimal margin classifiers. Proceedings of the fifth annual workshop on Computational learning theory – COLT ’92. p. 144. CiteSeerX 10.1.1.21.3818. doi:10.1145/130385.130401. ISBN 978-0897914970. S2CID 207165665.
Các bài trong cùng chủ đề:
Bài 3: Mô hình hồi quy tuyến tính
Bài 4.1: Phân loại với hồi quy Logistic
Bài 4.2: Hồi quy Logistic cho phân loại đa lớp và Ứng dụng phân loại cảm xúc văn bản
Bài 5.1. Một ứng dụng của học không giám sát
Bài 5.2. Thuật toán K-Means và Ứng dụng phân cụm khách hàng
Khi nào thì mới đến các bài viết về học máy k giám sát với học máy tăng cường ạ? Em thấy chủ đề đó có vẻ sẽ thú vị hơn vì k có nhãn trước, mà làm nào để máy tự cho ra kết quả đầu ra có ích :))))))
Cảm ơn em, hy vọng là em đã tìm được những thông tin hữu ích từ bài viết trên.
Hiện thời tôi đang ưu tiên một số nội dung học có giám sát trước. Nhưng với câu hỏi của em, bài viết sau tôi sẽ cung cấp cho em một ứng dụng của học không giám sát để giúp em hiểu được bài toán này.
Chủ đề học không giám sát hiện nay cũng đang nhận được nhiều sự quan tâm, nhưng cách tiếp cận về học không giám sát những năm gần đây có nhiều sự thay đổi, mà khó trong một vài bài viết bộc bạch hết được. Do đó, nếu em quan tâm, khuyến khích em có thể kết nối với CLB AI của trường để trao đổi và nhận được thêm những hỗ trợ.
Pingback: [ML] Bài 4.1: Phân loại với hồi quy Logistic - Greenwich Vietnam
Pingback: [ML] Bài 3: Mô hình Hồi quy tuyến tính - Nền tảng cho phân tích dữ liệu và học máy - Greenwich Vietnam
Pingback: [ML] Bài 1: Học AI bắt đầu từ đâu? - Greenwich Vietnam
Pingback: [ML] Bài 2: Giới thiệu về Học máy - Greenwich Vietnam