Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác DANH MỤC CÁC THUẬT NGỮ STT | Từ viết tắt Cụm từ tiếng anh Diễn giải 1 HPs Hyperparameters Các siêu tham số 2 CV Cross Validati
Trang 1
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
BAI TAP LON
XAY DUNG MO HINH PHAN LOAI TIN NHAN RAC
NGANH: KHOA HOC MAY TINH CHUYỂN NGÀNH: TRÍ TUỆ NHÂN TAO VA KHOA HOC DU LIEU
HOC PHAN: HOC MAY CO BAN
NHOM SINH VIEN THUC HIEN NGUYEN TRUONG PHUC - 12421036 DAO THI NGOC ANH - 10121747
MÃ LỚP: 12421TN GIẢNG VIÊN HƯỚNG DẪN: TS NGUYÊN VĂN HẬU
HUNG YEN — 2024
Trang 2Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
NHẬN XÉT
Nhận xét của giảng viên hướng dẫn:
GIẢNG VIÊN HƯỚNG DẪN
(Ký và ghi rõ họ tên)
Trang 3Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
LỜI CAM ĐOAN
Chúng em xin cam đoan sản phâm của bài tập lớn “Xây dựng hệ thống phân loại tin nhắn rác” là kết quá thực hiện của nhóm sinh viên gồm Nguyễn Trường Phuc va Dao Thi Ngọc Ánh dưới sự hướng dẫn của TS Nguyễn Văn Hậu
Những phần sử dụng tài liệu tham khảo trong bài tập lớn này đã được nêu rõ trong phân tài liệu tham khảo Các kết quá trình bày trong bài tập lớn và chương trình xây dựng được hoàn toàn là kết quả do chúng em thực hiện
Nếu vi phạm lời cam đoan này, chúng em xin chịu hoàn toàn trách nhiệm trước Khoa
và nhà trường
Hưng Yên, ngày 17 tháng 0Ì năm 2024 Thay mặt nhóm sinh viên
Nguyễn Trường Phúc
Trang 4Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
nhóm em có thể hoàn thành đề tài này tốt nhất có thé
Mặc dù đã cô gắng hết sức, song vẫn còn nhiều hạn chế và thiếu sót nên trong quá trình thực hiện bài tập lớn này không tránh khỏi những lỗi, sai sót Chúng em hy vọng sẽ nhận được nhiều những ý kiến, góp ý, đánh giá quý báu từ các thây, các cô về kết quả của
đề tài đê em cải thiện, khắc phục những hạn chế, yếu điểm đó trong những đề tài sắp tới
Nhóm em xin chan thành cảm ơn!
Trang 5Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
MỤC LỤC
P000 444 LỜI CAM ĐOAN ch TH TH HH HH TH TH HT ng 3 LỜI CẢM ƠN tt HH1 HT HH HT HH TH T1 HH nh ràg DANH MỤC CÁC THUẬT NGỮ 5 + THTHHHH HH H1 HH TH Hà 1à Hàng 7 DANH MỤC CÁC BẢNG - c1 1H HT HH gà rà 10
DANH MỤC CÁC HÌNH VẼ, DO THI vo ccsesesessessevsesesessevevevevecesesessevevavesesssessavevavesesssssavavevevesesesevavanes 12 0:00/9)i6510019)61907090A/12 5y 08a .,ÔỎ 14
1.1 Lý do lựa chọn TP ceceececcescecseceecsceescaceeecevsssaevaccevsuvessacaesavseservaneeesaseesauvarsavsaseevneersanereeneas 14
1.2 Mục tiêu của để tải c- HT HH1 111.1011101 Hee 14
1.3 Giới hạn và phạm vi của để tài St St ST HH H1 H11 TH TH HH TH Hưệt 14 1.3.1 Giới hạn nghiên cứu của đỀ lỒÏ ST Tt TH HH HH TH HH TH HH HH 14
1.3.2 Pham Í LG h—A—.T , HẤĂHẬ 15
Tố ao na 15
CHUONG 2: CO SG LY THUYET c2 S+ + E11 g1 1 17
2.1 Khải niệm học máy ch ng TK ĐK 17
2.2 Các kỹ thuật khai tiền xử lý dữ liệu SG 2 St 3E 3E SE TH HH HH T1 TH 17
2.2.2 Xue ly 0 6a cố n.ố.ố.ố.ố.ố.ố 18
2.2.3 Loại bỏ nhiỄM té tỲ TH HT KH 1T 1 HH 11H11 He 19
bốc cố iổ san e6 .A 20
PC / acc ổn cốc cố .ố.ốốe 21 P6 an cố .ốốe 22
2.2.7 Chuẩn hoá CHuỖI -.sccct>ETthkHTHTHHHTHHHHHHHHH HH1H111n1 rn 23
Pu nan ố.ố.ốốố.ốốe 23 P.16 n ố ố.Ắ 24 P0 Nên ga cố ố.ốốốốố.ố.ốốeốe 24 2.3 Các thuật toán học THáy cà HH TT TH HT KT BE kg 25 2.3.1 Logistic REQVESSION nố ố ốe 25 2.3.2 SHDDOFI VeCIOT ÀÁCHỈH SH Họ Họ ĐH Đy 27
Pa nh e 30
2.5 Cải thiện hiệu suất mô hình + + 2+ + EkEEEEkEE1E7X 21.11711111 1.11111111111111 c1 35
2.9.1 Tinh chinh siéu tham s6 (hyperparameters ÍHHÍHB) à.QQ TH Tnhh 36 2.5.2 Kiém dinh chéo (cross validation) ccccscscscssssssssvsvsvssssssssssssvsvevescassesssavsssvesacsesesevanaenseseaessesnenenseas 41
Trang 6Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
2.5.3 Tĩnh chỉnh ngưỡng quyết định (Threshold HHHÍHg) con TT TH TT TH HH TH HH re, 42
CHƯƠNG 3: XÂY DỰNG MÔ HÌNH HỌC MÁY : 55c 22222 tre 44
3.1 Thu thap dit H6U ng << -‹44344 44 EVAYy ii v00) (00 000ì:)jEađdđdađdidiiii 45
kia an › ' 50
3.2.2 Xe by div |Ì:|Ằ c(aac ddđdđiddda - 51 3.2.3 LG SACH iP TIGU cece ccc cece cece ccccccccecccceecuecececcueuceceuucecseceeucceeeeeuceeeeeeueeceueeeuaeeueeeeaseeeeesgueeenseaaass 52
3.3 Xay dung m6 hinh hoc may - Ăn TT TH HH HH TH tr 55 3.3.1 Xdy dung m6 hinh Logistic Regression occeccccccccscccecceceeeeeeeneee ce eeecae asst eee aaee eee eaeeeaeeeenaaaeeens 56 3.3.2 Xây đựng mô hình ŠÏÍMÍ ST HT TH HH HH HH 69
3 Huong phat tridm Cita dé tai eee 76
TÀI LIỆU THAM KHẢO 5c 6 + th H1 g1 HH HH TH ke 78
Trang 7Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
DANH MỤC CÁC THUẬT NGỮ
STT | Từ viết tắt Cụm từ tiếng anh Diễn giải
1 HPs Hyperparameters Các siêu tham số
2 CV Cross Validation Kiém dinh chéo
4 Tram Tập dữ liệu huấn luyện
5 Val Validation Tập dữ liệu kiêm định
6 Test Tập dữ liệu kiêm tra
9 EDA Explore Data Analysis | Kham pha phân tích dữ liệu
10 Missing value Dữ liệu khuyết thiểu
14 Sample Mẫu dữ liệu
16 RE Regular Expression Biểu thức chính quy
Trang 8
Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
26 TF-IDF Term Frequency-Inverse Tan số ky han-Tan suat tai liéu
Document Frequency nghich dao
27 Logistic Regression M6 hinh héi quy Logistic
30 TP False Positive Dy doan duong sai
31 FN False Negative Dự đoán âm sai
33 Acc Accuracy D6 chinh xac
36 CM Confusion Matrix Ma tran nhằm lẫn
39 Context understanding | Hiểu ngữ cảnh
Trang 9
Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
Trang 10
Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
DANH MỤC CÁC BẢNG
Bang 1.1: Các phương pháp tIẾP CẬN ST St ST HH TH HH HH ho 16
Hinh 2.1: Hinh anh mau cia Confusion Matrix cho bài toán phân loại nhị phân 30
Hình 2.2: Biểu đồ trực quan hoá mẫu thang độ đo đánh giá AUC-ROC 33
Hình 2.3: Mô phỏng quá trình tìm ra bộ siêu tham số bằng Grid Search 37
Hình 2.4: Mô phỏng quá trình tìm kiếm bộ siêu tham số bằng Random Search 38
Hình 2 5: Mô phỏng tìm kiếm bộ siêu tham số bằng Bayesian Qptimizdtion 39
Hình 2.6: Minh hoạ phương pháp kiểm định CHÉO Tnhh trinh ru 4I Hình 2.7: Minh hoạ phương pháp tinh chỉnh ngưỡng quVết định co cccseteeererrrea 42 Hình 2.8: Biểu đồ pairplot cho phân phối của cặp 3 đặc trưng với nhaM .oe- 47 Bang 3.1: So sánh hiệu suất phân lớp cua Logistic Regression với siêu tham số mặc định ¬ an 56 Bảng 3 2: So sánh hiệu suất phân lớp của Logistic Regression với siêu tham số tốt nhất ¬ an 59 Bang 3.3: So sánh hiệu suất phân lóp của Logistic Regression sau Cross-validation 61
Bảng 3.4: Hiệu suất phan lop cia Logistic Regression véi CV, best hyperparams trén 4271/8121" 62
Bảng 3.5: Hiệu suất của LR với siêu tham số mặc định và tỉnh chỉnh ngưỡng 64
Bảng 3.6: Hiệu suất của LR với siêu tham số tốt nhất và tỉnh chỉnh ngưỠng 65
Bảng 3.7: Hiệu suất của LR với siêu tham số tốt nhất và tỉnh chỉnh ngưỠng 66
Bảng 3.8: Biểu đồ trực quan hoá threshold tốt nhất cho trường hợp (****) c 67 Bảng 3.9: Bảng tóm tắt hiệu suất của mô hình LR dưới 8 trường hợp huấn luyện 68
Bảng 3.10: Hiệu suất phân lớp của SVM trén tap train và test với siêu tham số mặc định ¬ an 69 Bảng 3.11 Hiệu suất mô hình SVM với siêu tham số tốt nhất trên tập traìn, test 71
Bảng 3.12: Hiệu suất phân lớp của SVM trén tap train và test voi cross validation 71
Bảng 3.13: Hiệu suất phân lớp của SVM voi CV, best hyperparams trén train vd test 72
Bang 3.14: Bang tom tat hiéu suất của mô hình SVM dưới 4 trường hợp huấn luyện 72
Trang 11Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác Bảng 3.15: Tổng hợp kết quả huấn luyện mô hình theo các trường hợp
Trang 12Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
DANH MỤC CÁC HÌNH VẼ, ĐỎ THỊ
Hình 2.1: Hình ảnh mẫu của Confusion Matrix cho bài toán phân loại nhị phân 30
Hình 2.2: Biểu đồ trực quan hoá mẫu thang độ đo đánh giá AUC-ROC 33
Hình 2.3: Mô phỏng quá trình tìm ra bộ siêu tham số bằng Grid Search 37
Hình 2.4: Mô phỏng quá trình tìm kiếm bộ siêu tham số bằng Random Search 38
Hình 2 5: Mô phỏng tìm kiếm bộ siêu tham số bằng Bayesian Optimization 39
Hình 2.6: Minh hoạ phương pháp kiểm định CHÉO Tnhh trinh ru 4I Hình 2.7: Minh hoạ phương pháp tinh chỉnh ngưỡng quVết định co cccseteeererrrea 42 Hình 2.8: Biểu đồ pairplot cho phân phối của cặp 3 đặc trưng với nhaM .oe- 47 Hình 3.1: Dũ liệu CÓ fFOHB (ÍGÍQSGÍ SH KT TK KHE Kkkk 45 Hình 3.2: Quan sát tông quan về dữ liệu trên tập dữ LiỆM ác cntstnnitrtsererekrrrrxed 45 Hình 3 3 Số lượng bản ghi theo nhãn trong training SCt ceccccccccscscsvscsscesscscscsesssevscsssesssesees 46 Hình 3.4: Wordcloud va barplot trực quan các từ phố biến trong các tin spa 48
Hình 3.5: Wordcloud va barplot trực quan các từ phô biến trong các tỉ" non-spa1n 49
Hình 3.6: Chọn lọc đặc trưng, đổi tên đặc trưng, chuyển nhãn sang dạng giá trị số 30
Hình 3.7: Xử lý dữ liệu khHẾt thiẾM - chinh HH HH Hàng rưết 51 Hinh 3.8: Quan sdt COC MGU tring ÌẶp, ch TT HH TH HH HH HH HH rệt 31 Tình 3.9: Quan sát số lượng bản ghi trùng lặp theo các nhÃn ccccccccecceseteirrrersrre 32 Hình 3.10: Quan sát ngầu nhiên nội dung một Đài (ỈH chinh niệu 33 Hình 3.1]: Định nghĩa hàm làm sach dit li@u text Ả on nhe kkkế 53 Hình 3 12: Chia tập đữ liệu huấn huyện gốc thanh cdc téip dit LGU icc e eee 55 Hình 3 13: Vectorization, ƒedture eXIFqCHIOH VỚI TH) FỈ Là net 55 Hình 3 14: CM của Logistic Regression với siêu tham số mặc định trên tập train và test k< TT KT KT KĐT TK T9 E19 KT KĐT kkp 56 Hình 3.15: Đánh giá mô hình LR với siêu tham số mặc định trên CAD ÍCSÍ ằĂằiiise 57 Hinh 3.16: CM cua Logistic Regression v0i siéu tham số tốt nhất trên tập train, fest 59
Hình 3 17: Dánh giá mô hình LR với siêu tham số tốt nhất trên tập f6SE .- ecc: 60 Hình 3.18: CM cua Logistic Regression sau cross-validation trên tập trai, fesf 61
Trang 13Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
Hình 3.19: Đánh giá mô hình LNÑ sau CV trén FẬP Í©SÍ kh hhhhhhhokg 61 Hinh 3.20: CM cua Logistic Regression sau CV va hyperparams tuning trén tdp train, test
Hình 3.21: Đánh giá mô hình LR với siêu tham số tốt nhất cùng CV trên tập test 63 Hình 3.22: Biêu đô trực quan hoá threshold tốt nhất cho trường hợp () -eccecccee 64 Hình 3.23: Biêu đô trực quan hoá threshold tốt nhất cho trường hợp (**) ececccca 65 Hình 3 24: Biểu đồ trực quan hoá threshold tốt nhất cho trường hợp (***) cce 66 Hình 3.25: Biêu đô trực quan hoá threshold tốt nhất cho trường hợp (****) co 67 Hình 3.26: Hiệu suất phân lớp của Logistic Regression theo các trường hợp 69 Hình 3.27: Hiệu suất phân lớp của SVM theo các trường HỢP àẳ sec cekeceserkerexeerea 73 Hình 3 28: Tổng hợp đánh giá của 3 mô hình tỐt nhất ch rrtrsererrkerreerrrea 74
Trang 14Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
CHUONG 1: TONG QUAN VE DE TAI
1.1 Lý do lựa chọn đề tài
Trong môi trường số hóa ngày nay, việc quản lý và lọc thông tin trở nên ngày càng khó khăn, đặc biệt là khi đổi mặt với làn sóng thông tin không mong muốn, như tin nhắn rác hay spam Đề giải quyết vấn đề này, chúng em đã quyết định chọn đề tài "Xây dựng hệ thống phân loại tin nhắn rác" Mục tiêu của dự án này là xây dựng một hệ thông thông minh
và hiệu quả, có khả năng phát hiện và đưa ra cảnh báo cho những tin nhắn không mong muốn từ luồng thông tin chính sử dụng các mô hình học máy
Với sự gia tăng nhanh chóng của giao tiếp điện tử và số lượng lớn tin nhắn được gửi
đi hàng ngày, việc áp dụng các phương pháp và thuật toán học máy để phân loại tin nhắn rác không chỉ giúp tiết kiệm thời gian và công sức của người dùng mà còn làm cho trải nghiệm trực tuyến trở nên sạch sẽ và hiệu quả hơn Đồng thời, việc xây dựng hệ thông này
sẽ đóng góp vào việc tạo ra môi trường truyền thông trực tuyến an toàn và thuận lợi, góp phân nâng cao trải nghiệm sử dụng của cộng đồng mạng
Thông qua việc nghiên cứu và triển khai các phương pháp học máy hiện đại, nhóm chúng em hy vọng đề tài này sẽ không chỉ mang lại những kết quả tích cực trong việc loại
bỏ tin nhắn rác mà còn là một đóng góp hữu ích trong lĩnh vực quản lý thông tin và bảo vệ người dùng trước những rủi ro mạng lưới ngày càng phức tạp
1⁄2 Mục tiêu của đề tài
Mục tiêu của đề tài là ứng dụng các ký thuật trong xử lý ngôn ngữ tự nhiên (NLP)
và các mô hình học máy để xây dựng hệ thông phân loại tin nhắn rác Sản phẩm cuối cùng
sẽ là một trang website phân loại tin nhắn rác
1.3 - Giới hạn và phạm vi của đề tài
1.3.1 Giới hạn nghiên cứu của đề tài
Trang 15Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
Đối tượng nghiên cứu của đề tài: các mô hình học máy, các kỹ thuật tiền xử lý dữ liệu, một vài kỹ thuật xử lý ngôn ngữ tự nhiên, các kỹ thuật triển khai ứng dụng trên nền website
1.3.2 Pham vì nghiên cứu của đề tài
Cac d6 do danh gia mé hinh: Accuracy, Precision, Recall, Fl-score, AUC-ROC.,
Kỹ thuật cái thiện hiệu suất mô hình: hyperparameters tuning, cross validation, threshold tuning
Ky thuat trién khai ung dung trén nén website: APIs, frameworks web,
Trang 16
Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
Cơ sở lý thuyết Tìm hiểu các mô hình, các
kỹ thuật tiền xử lý dữ liệu,
các kỹ thuật xử lý ngôn ngữ
tự nhiên, quy trình phát triển
mô hình học máy
Nắm được quy trình cụ thê
khi bắt đầu xây dựng một đề
Nham giúp người thực hiệnh dự án nắm được đẻ tài cần phải thực hiện những gì
và làm như thế nào dựa trên
những yêu cầu của đề tài, giúp người thực hiện đề tài
có thể thực hiện đầy đủ các yêu cầu được đưa ra mà không bị bỏ sót các chức
năng
Triên khai dứng dụng Triên khai ứng dụng sau khi
xây dựng xong mô hình Việc triên khai và chạy thử
giúp phát hiện kịp thời các lỗi có thể có trong website trước khi đưa ra sản phân hoàn chỉnh
Bảng 1.1: Các phương pháp tiếp cận
Trang 17Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Khái niệm học máy
Hoc may (Machine Learning) la một lĩnh vực của trí tuệ nhân tạo (AI) tập trung vào việc phát triển các thuật toán và mô hình có khả năng học từ dữ liệu và cung cấp các dự
đoán và quyết định dựa trên học hỏi đó Điều đặc biệt về học máy là khả năng tự cập nhật
và cải thiện hiệu suất sau mỗi lần huấn luyện
Học máy chủ yếu được chia thành ba loại chính:
1 Học máy có giám sát (Supervised learning): Trong loại này, mô hình được huấn
luyện trên một tập dữ liệu đã được gán nhãn Mô hình học từ các cặp đầu vảo - ra để tạo ra một bản đỗ hàm từ đầu vào đến đầu ra Mục tiêu cuối củng là học được một
quy tắc tông quát từ dữ liệu huấn luyện đề có thê đưa ra dự đoán chính xác trên dữ liệu mới chưa từng thấy
2 Học máy không gidm sat (Unsupervised learning): Ngược lạt, trong học máy không
giám sát, mô hình được huấn luyện trên dữ liệu không có nhãn Mục tiêu là tìm ra các mẫu, cấu trúc hoặc phân cụm tự nhiên trong dữ liệu mà không cần biết trước
3 Học máy bán giám sát (Semi-supervised learning): Loại này kết hợp cả hai phương pháp là học có giảm sát và học không giám sát, sử dụng cả đữ liệu có nhãn và dữ
liệu không có nhãn đề huấn luyện mô hình
Học máy có ứng dụng rộng rãi trong nhiều lĩnh vực như nhận diện hình ảnh, xử lý ngôn ngữ tự nhiên, dự báo thị trường tài chính, y học, xe tự lái, và nhiều lĩnh vực khác Đặc biệt, việc sử dụng học máy đê tạo ra các hệ thông phân loại, dự đoán đã trở thành một ứng dụng phố biến và hữu ích trong thế giới công nghệ ngày nay
2.2 Các kỹ thuật khai tiền xử lý dữ liệu
2.2.1 Xử lý dữ liệu khuyết thiếu
Xử lý đữ liệu khuyết thiêu /7/andling missing daia) là quá trình đôi phó với các giá trị thiếu trong tập dữ liệu Dữ liệu có thê bị khuyết thiếu do nhiều lý do, chẳng hạn như lỗi
thu thập, mắt mát ngẫu nhiên, hoặc không có thông tin nào được ghi lại cho một số quan
sát cụ thê Quá trình xử lý dữ liệu khuyết thiếu nhằm điền vào những giá trị đó hoặc loại bỏ
Trang 18Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
chúng một cách hợp lý để đảm bảo tính chính xác và độ tin cậy của phân tích dữ liệu hoặc
mô hình máy học Có nhiều hướng xử lý dữ liệu khuyết thiếu, tuỳ thuộc vào bài toán cụ
thê, chúng ta sẽ xử lý dữ liệu khuyết thiếu theo hướng khác nhau
1 Điền giá tri trung binh (Mean imputation): Sit dung gia tri trung bình của cột dé điền
vào các ô dữ liệu bi thiéu
._ Điền giá trị trung vị (Median imputation): Sử dụng giá trị trung vị của cột đề điền vào các ô dữ liệu bị thiếu Điều này thường được ưa chuộng hơn giá trị trung bình khi dit liéu co outliers
Dién gid tri mode (Mode imputation): Sw dung gia tri mode (gia trị xuất hiện nhiều nhất) của cét dé điền vào các ô dữ liệu bị thiếu, đặc biệt hữu ích cho biến phân loại Xóa dit ligu (Dropping missing data): Loai bd cac hang hoac cét chứa dữ liệu bị
thiếu Tùy thuộc vào tình huống, điều này có thê dẫn đến mất mát thông tin quan
trọng
Sw dung mé hinh dw dodn (mputation using predictive models): Su dung cac m6
hinh (GAN) dé dy doan gia tri bi thiếu dựa trên các giá trị khác trong tập dữ liệu
._ Sử dụng kỹ thuật chuỗi thời gian (Time series impufation): Đôi với đữ liệu chuỗi
thời gian, có thể sử dụng các kỹ thuật như nội suy tuyến tính hoặc mô hình chuỗi
thời gian đề điền giá trị bị thiếu
Lựa chọn phương pháp xử lý dữ liệu khuyết thiếu phụ thuộc vảo tính chất của đữ liệu, bài toán Trong nhiều trường hợp cụ thẻ, chúng ta kết hợp nhiều phương pháp có thể mang
lại kết quả tốt nhất
2.2.2 Xử lÿ dữ liệu trùng lặp
Xử lý dữ liệu trùng lặp là quá trình nhận điện và giải quyết sự xuất hiện lặp lại của
các quan sát hoặc mẫu đữ liệu trong tập dữ liệu Dữ liệu trùng lặp có thể xuất hiện từ nhiều
nguồn khác nhau, ví dụ như quá trình thu thập dữ liệu, gộp dữ liệu từ nhiều nguồn, hoặc
các quy trình xử lý đữ liệu không chính xác Việc xử lý dữ liệu tring lap quan trong dé dam
Trang 19Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
bảo tính chính xác và đồng nhất của tập dữ liệu Có một vài phương pháp xử lý trùng lặp
đữ liệu:
1 Loại bỏ các dòng trùng lặp: Xóa toàn bộ các hàng dữ liệu mà tất cả các giá trị trong
nó giống nhau với một hàng khác đề đảm bảo rằng mỗi mẫu đữ liệu là duy nhất và
không có sự lặp lại
2 Loại bỏ các cột trùng lặp: Xóa các cột dữ liệu mà giá trị của nó giống nhau với một cột khác nhằm giảm số lượng thông tin trùng lặp và làm cho cấu trúc dữ liệu trở nên thông thoáng hơn
3 Loại bỏ dữ liệu gia mao (Duplicate data removal): Xac định và loại bỏ các ban sao
chính xác của đữ liệu giúp tránh việc tính toán hoặc phân tích dựa trên dữ liệu không cần thiết và giả mạo
4 Phân loại và giữ lại một phiên bản: Phân loại và chỉ giữ lại một phiên bản của các
quan sát có sự trùng lặp với mục đích đảm bảo tính duy nhất của mỗi quan sát và giảm kích thước của tập dữ liệu
Quá trình xử lý dữ liệu trùng lặp đóng vai trò quan trọng trong quá trình tiền xử lý dữ liệu để đảm bảo tính chính xác và cải thiện hiệu suất của các phân tích và mô hình hóa dữ liệu sau này
2.2.3 Loại bỏ nhiễu
Loai bé nhiéu (Noise removal) la qua trinh loại bỏ hoặc giảm thiêu các thành phần nhiễu, thông tin không mong muốn, hoặc ánh hưởng ngẫu nhiên từ dữ liệu đề cải thiện chất lượng và độ tm cậy của dữ liệu Kỹ thuật này được sử dụng rộng rãi trong xử lý tín hiệu,
xử lý hình ảnh, và khoa học đữ liệu để làm sạch dữ liệu và tập trung vào thông tin quan
trọng Có rất nhiều phương pháp đề loại bỏ nhiễu, chúng ta có thể sử dụng một trong các phương pháp phô biến sau cho các bài toán học máy:
1 Loc (Filtering):
Trang 20Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
Loc trung binh (Mean filter): Thue hién viéc thay thé méi pixel trong anh bang gia trị trung bình của các pixel lân cận đề giảm nhiễu
Loc trung vi (Median filter) Sw dụng giá trị trung vị thay vì giá trị trung bình, giúp giảm ảnh hưởng của nhiễu nhiễm vào dữ liệu
._ Kỹ thuật làm mịn (Smoothing Techniques):
Làm mịn theo phân phối Gaussian (Gaussian smoothing) Sir dung hat nhan
Gaussian dé lam min va giam nhiễu trong đữ liệu
Trung binh déng (Moving average): Str dung cira $6 truot dé tính giá trị trung bình
của các điểm dữ liệu gần nhau
._ Loại bỏ giá trị ngoại lệ (Qutlier removal): Phát hiện và loại bỏ giá trị ngoại lệ, những
giá trị không phù hợp hoặc không đại diện cho đữ liệu chính
._ Sứ dụng vào mô hình: Sử dụng mô hình học máy đề dự đoán và loại bỏ nhiễu từ dữ
exfraction thường được sử dụng để trích xuất các đặc trưng đặc biệt từ dữ liệu gốc, giảm
kích thước của đữ liệu và giúp tăng cường khả năng mô hình
Quá trình trích xuất đặc trưng cơ bản bao gồm:
Trang 21Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
1 Chọn đặc trưng (Fedture selection): Lựa chọn một tập con các đặc trưng quan trong
từ tập dữ liệu gốc Điều này có thể được thực hiện dựa trên các phương pháp thong
kê, thông tin, hodc mô hình học máy
2 Trích xuất đặc trưng (Feature extraction): Tạo ra các đặc trưng mới dựa trên thông
tin kết hợp từ các đặc trưng gốc Phương pháp phô biến bao gồm Principal Component Analysis (PCA), Linear Discriminant Analysis (LDA), va t-SNE (t- distributed Stochastic Neighbor Embedding)
Việc trích xuất đặc trưng có thê giúp giảm số chiều của đữ liệu giúp giảm khối lượng
tính toán và có thê cải thiện hiệu suất mô hình trong một số trường hợp Bên cạnh đó, trích
xuất đặc trưng còn có thê tăng khả năng phân loại, hiệu suất của mô hình và giúp mô hình hiểu rõ hơn về dữ liệu đề tìm ra các đặc trưng quan trọng cũng như giảm nhiễu, cải thiện khả năng tông quát hoá của mô hình
2.2.5 Véc-to hoa dit liéu
Véc-to hoa dir liu (Data vectorization) là quá trình chuyên đối dữ liệu từ dạng
không có cau trúc hoặc không có thử tự thành dạng vector, một dang cầu trúc và có thứ tự,
phủ hợp đề áp dụng các thuật toán máy học hoặc thống kê Trong ngữ cánh của xử lý ngôn ngữ tự nhiên (N7?) và máy học noi chung, data vectorization thường áp dụng cho dữ liệu
văn bản, hình ảnh, hoặc âm thanh để biến chúng thành các vectơ số học có thể được sử
dụng đề huấn luyện mô hình Chúng ta có thê kế đến một số phương pháp data vectorization phô biến như:
1 Mô hình Bag-of-Words (Bolf): Mô hình túi từ biểu diễn một văn bản bằng cách đếm
sô lân xuât hiện của từng từ trong văn bản Môi từ sẽ được gán một chỉ sô và biêu
điện dưới dạng vectơ, với môi phân tử của vectơ là sô lân xuât hiện của từ tương ứng
2 Term Frequency-Inverse Document Frequency (TF-IDF): Két hợp thông tin về tần
suat xuât hiện của môi từ trong một văn ban (Term Frequency) với thông tin về tan
Trang 22Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
suất xuất hiện của từ đó trong tất ca cac van ban (Inverse Document Frequency) Két quả là một vectơ biêu diễn mức độ quan trọng của từ trong văn bản
3 Nhung từ (Word Embeddings): Su dung cac m6 hinh nhung tr nhu Word2Vec,
GloVe, hoac FastText dé biéu diễn từng từ dưới dạng vectơ số học Các vectơ này chứa thông tin về mối quan hệ ngữ nghĩa giữa các từ
4 Mã hoá One-hot (One-Hot Encoding): Biêu diễn mỗi từ hoặc biêu đồ bằng một vectơ
có độ dài bằng số lượng từ hoặc biểu đồ trong từ điển Trong vectơ này, chỉ có một
phần tử bằng 1 tai vị trí của từ hoặc biểu đồ, các phần tử khác bằng 0
5 Véc-to hod anh(Image Vectorization): Sử dụng các mỗ hình nhự Cơnvolutional Neural Networks (CNNs) dé chuyén déi hinh anh thanh vecto sé học
6 Xứ lý tín hiệu âm thanh (Audio Signal Processing): Sử dụng các phương pháp như
Mel-fequency cepstral coefficients (ÄZ“CŒs) để biểu diễn tín hiệu âm thanh dưới
đạng vectơ
Data vectorization là một quá trình vô cùng quan trọng trong máy học nói chung và xử
lý ngôn ngữ tự nhiên nói riêng, vì nó giúp biêu diễn dữ liệu dưới dạng mà các mô hình có
thê hiểu và xử lý được
2.2.6, Lowercasing
Lowercasing la quá trình chuyên đối tất cả các ký tự trong một chuỗi văn bản thành chữ thường (viết thường) Kỹ thuật này thường được áp dụng trong xử lý ngôn ngữ tự nhiên
(NIP) dé đồng nhất việc biểu diễn từ và giảm thiểu sự phân loại của các từ dựa trên kiểu
chữ Ví dụ, khi áp dụng lowercasing cho chuỗi "Hello World", kết qua sé la "hello world” Quá trình này giúp giảm sự phức tạp của đữ liệu và làm cho các từ giống nhau ngay cả khi chúng được viết ở dạng chữ hoa hay chữ thường Lowercasing giúp đồng nhất việc biểu
diễn của từ giúp dữ liệu trở nên đồng nhất và dễ quản lý hơn, giảm thiểu sự phân biệt giữa
từ viết hoa và từ viết thường, giúp mô hình không bị nhằm lẫn khi xử lý văn bản và tăng
tính toán tổng quát của mô hình
Trang 23Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
2.2.7 Chuẩn hoá chuỗi
Chuẩn hóa chuỗi (string normalization) là quá trình biến đổi một chuỗi văn bản thành
dạng chuẩn hoặc định dạng thông nhất đề giảm sự phân biệt không cần thiết trong biểu diễn của các chuỗi tương tự Quá trình này thường bao gồm việc loại bỏ hoặc thay thế các yêu
tố không quan trọng, chuẩn hóa kiêu chữ, loại bỏ khoảng trắng không mong muốn và thực hiện các biên đôi khác đề chuối trở nên dễ so sánh và xử ly Các bước chuân hóa chuối có thê bao gồm:
1 Lowercasing: Chuyên đôi tat cả các ký tự thành chữ thường để đồng nhất kiêu chữ
._ Loại bỏ dấu và ký tự đặc biệt: Loại bỏ hoặc thay thế các dấu và ký tự đặc biệt
không cần thiết, chăng hạn như dấu chấm, dấu phẩy, dâu chấm than, v.v ._ Loại bỏ khoảng trắng đầu và cuối chuối: Loại bỏ các khoảng trắng không mong
muôn ở đầu và cuôi chuối
._ Loại bỏ từ dừng (Stopword Remoyal): Trong xử ly ngôn ngữ tự nhiên, có thể loại
bé tir dimg (stopwords) nhu "the", "and", "is" nêu chúng không cần thiết cho mục tiêu xử lý
Chuan hóa chuỗi thường được thực hiện trước khi xử lý dữ liệu văn bản, tạo điều
kiện thuận lợi cho các tác vụ như phân loại văn bản, phân tích ý kiến, và trích xuất thông
tin từ văn bản
2.2.8 Tokenization
Trang 24Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
Tokemization là quá trình chia một đoạn văn bản thành các đơn vị nhỏ hơn, được gọi
là "token." Một token có thể là một từ, một cụm từ, hoặc thậm chí là một ký tự, phụ thuộc
vào cách tiếp cận cụ thể và mục tiêu của ứng dụng Tokenization là bước quan trọng trong
xử lý ngôn ngữ tự nhiên (MZP) và làm cho việc xử lý văn bản trở nên dễ dàng hơn Các loại token thường được tạo ra trong quá trình tokenization bao gồm: word tokens (token từ), sentence tokens (token cau), character tokens (token ky tự) hoặc subword tokens (token từ con) Tokenization giúp giảm sự phức tạp của văn bản và chuân hóa biểu diễn của từng
phân văn bản Đối với mô hình học máy, việc tokenization giúp chuyên đổi dữ liệu văn bản thành dạng mà mô hình có thê hiểu và xử lý được
2.2.9 Stopwords removal
Stopwords removal là quá trình loại bỏ từ dừng (s/opwordđs) từ một chuỗi văn bản Trong xử lý ngôn ngữ tự nhiên (W7.P), các từ dừng là những từ phố biến và không mang lại nhiều ý nghĩa trong việc phân loại hoặc phân tích văn bản Ví dụ về stopwords bao gồm
"the," "and," "1s," "oÉ" và những từ khác Quá trình loại bỏ stopwords thường được thực
hiện trong các bước tiền xử lý dữ liệu để cái thiện hiệu suất của các mô hình học máy và
tập trung vào các từ quan trọng hơn Khi loại bỏ stopwords khỏi nội dung chúng ta có thê giảm kích thước từ điển, giúp giảm không gian đặc trưng và tăng tốc quá trình huấn luyện
mô hình Bên cạnh đó việc loại bỏ này còn giúp tăng tính toán tổng quát, giảm nhiễu và tập trung vào thông tin quan trọng
2.2.10 Lemmatization
Lemmatization là quá trình chuân hóa một từ về dạng gốc cua no (goi la "Jemma")
để giảm bớt sự biến thái và đồng nhất hóa biểu diễn của các từ tương tự Mục tiêu của lemmatization là chuyên đôi các từ về dạng gốc, giữ lại ý nghĩa cơ bản của từ mà không quan tâm đến các biến thê ngữ pháp, thì, số ít, số nhiều, hay các hình thức khác
Ví dụ về lemmatization:
Trang 25Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
Từ biến thái: "running"
Lemma (dang géc): "run"
Lemmatization thường được thực hiện trong các ứng dụng xử ly ngôn ngữ tự nhiên (NLP) như phân loại văn bản, tìm kiếm thông tin, và xử lý dữ liệu ngôn ngữ Trong một số trường hợp, lemmatization có thê tạo ra kết quả tốt hơn so với việc sử dụng stemmer, một phương pháp khác đề giảm bớt biến thái từ Điều này là do lemmatization thường xem xét ngữ cảnh và ngữ pháp hơn, trong khi stemmer chí đơn giản cắt bớt phần cuối của từ mà không xem xét nhiều về ngữ cánh
Logistic Regression la mét thuật toán học máy thường được sử dụng trong các tác
vụ phân loại, nơi mục tiêu là dự đoán lớp đối với một bộ dữ liệu mới dựa trên các đặc trưng
Mặc dù tên của nó có từ "regression”, nhung Logistic Regression thực sự được sử dụng chủ yếu cho các vấn đề phân loại, không phải là regression Mục tiêu của Logistic Regression
là dự đoán xác suất thuộc về một lớp cụ thê dựa trên các đặc trưng đầu vào
Logistic Regression hoạt động HÌư sau:
1 Biểu diễn dữ liệu: Mỗi mẫu đữ liệu đầu vào được biểu diễn bởi một vector các đặc
trưng có dạng X=|xi.x: xa] Mỗi đặc trưng có một trọng số tương ứng có dạng w=[1,W2, ,.Wal
2 Té hop tuyén tinh: Logistic Regression tinh t6 hop tuyén tinh cia cac dac trung va trọng số bằng công thức: z = wi:xi + wox2 + + Warxn + B, trong do b la độ lệch (bias)
3 Ham Logistic (Sigmoid Function):
Trang 26Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
Kết quả của tổ hợp tuyến tính z sau đó được đưa qua hàm logistic (sigmoid) để chuyền đổi thành xác suất thuộc về lớp 1 (hoặc lép positive): P(y=1) =1 / (1 + e~*) Céng thire sigmoid la f(z) = 1 / (1+e ~*), trong do e là số Euler
Học tham số:
Trong quá trình huấn luyện, mô hình cần tối ưu hóa các trọng số w và Ð sao cho xác
suất dự đoán của mô hình càng gần với nhãn thực tế nhất có thể
Phương pháp thường được sử dụng là tối ưu hoa ham chi phi (cost function), hàm chi phí dién hinh 1a Cross-Entropy Loss
Quyết định ngưỡng (Thresholding): Dựa trên xác suất dự đoán, có thê áp dụng một
ngưỡng (/hreshoia) đê quyết định lớp cuối cùng Thông thường, nêu ?(y = L) > 0.5
thì dự đoán là lớp 1, ngược lại là lớp 0
._ Đánh giá hiệu suất: Hiệu suất của mô hình Logistic Regression thường được đánh giá bằng các độ đo như độ chính xác (accuraey), độ phủ (recai!), chính xác dương tinh (precision), va F'l-score
Uu diém cia Logistic Regression bao gom:
Logistic Regression là một mô hình đơn giản và dé hiểu, không đòi hỏi nhiều tai
nguyên để triển khai Điều này làm cho nó trở thành một lựa chọn pho biến cho các bài toán phân loại cơ bản
Khi mỗi quan hệ giữa đặc trưng và kết quả là tuyến tính, Logistic Regression co hiéu suất tốt và dự đoán khá chính xác
M6 hinh Logistic Regression cung cấp trọng số cho mỗi đặc trưng, giúp ta hiểu được ảnh hưởng của từng đặc trưng đối với kết quả, làm cho việc giải thích dự đoán trở nên dễ dàng
Logistic Regression thường hoạt động tốt ngay cả khi có một lượng dữ liệu huấn luyện nhỏ
Không như các mô hình khác như Support Vector Machines, Logistic Regression không đòi hỏi đầu vào độ lớn đồng nhất (feature scaling), diéu nay gitp giam buéc
tiền xử lý đữ liệu
Hạn chế của Logistic Regression:
Trang 27Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
Logistic Regression giả định mối quan hệ giữa đặc trưng và kết quả là tuyến tính Nếu mối quan hệ thực sự không tuyến tính, mô hình có thê không hoạt động hiệu quả
Logistic Regression co thé nhạy cảm với dữ liệu nhiéu hoac outliers, co thé anh hưởng đến hiệu suất của nó
Đối với các vấn đề có mỗi quan hệ phức tạp giữa đặc trưng và kết quả, Logistic Regression có thê không đủ mạnh mẽ để biêu diễn mối quan hệ này
Nếu có đặc trưng tương quan cao, mô hình Logistic Regression có thê gặp khó khăn trong việc đối phó với vấn đề đa cộng tuyến (wwlicollinearity)
Khi dữ liệu mất cân đối giữa các lớp (wbalance), độ chính xác của Logistic Regression có thê không phản ánh chính xác mức độ phân loại Cần sử dụng các độ
đo khác như precision, recall, và F1¬score đề đánh giá hiệu suất mô hình
2.3.2 Support Vector Machine
Support Vector Machine (SVM) là một mô hình học máy được sử dụng cho cả các tác vụ phân loại và hồi quy SVM là một thuật toán máy học giúp tìm ra ranh giới quyết định tốt nhất giữa các lớp của dữ liệu Trong trường hợp phân loại nhị phân, SVM tìm ra ranh giới quyết định sao cho khoảng cách từ mỗi điểm dữ liệu đến ranh giới là lớn nhất Đây là một thuật toán máy học có hiệu suất tốt trong các không gian chiều cao, có khả năng
làm việc với dữ liệu phi tuyến tính
SVM hoat dong nhw sau:
1 Chudn bị dữ liệu đầu vào: SVM hoạt động với dữ liệu đã được gán nhãn, trong
do moi di¢m dữ liệu được biêu diễn bởi một vector đặc trưng
2 Xác định ranh giới quyết định (decision boundary): Mục tiêu của SVM là tìm ra
ranh giới quyết định (decision boundary) sao cho khoảng cách từ các điểm dữ
liệu gần nhất đến ranh giới là lớn nhất Ranh giới này thường được xác định bởi
siêu phăng (hyperplane), là một phẳng n-I chiều trong không gian n chiều, với n
là số lượng đặc trưng
Trang 28Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
3 Tối đau hoá khoảng cách margin: Khoảng cách từ một điểm đữ liệu đến siêu
phẳng quyết định được gọi là margin SVM cô gắng tối đa hóa margin, tức là tôi
đa hóa khoảng cách giữa hai lớp
4 Xác định các điểm hồ trợ vector: Các điệm đữ liệu gần nhât và năm trên ranh
giới margin được gọi là các điểm hỗ trợ vector Chúng đóng vai trò quan trọng trong xác định ranh giới và chỉ cần duy nhất một số lượng nhỏ các điểm hỗ trợ vector dé xác định siêu phẳng quyết định
5 Tối ưu hoá ham mat mat (Loss Function): Ham mat mat cha SVM thường liên
quan đến việc tôi thiêu hóa độ lệch của các điểm dữ liệu so với margin Ham mat
mát bao gồm cả phần đo khoảng cách và một thành phần liên quan đến việc đặt ranh giới giữa các lớp Quá trình tối ưu hóa này có thể sử dụng các phương pháp như quy hoạch toàn phương (quadratic programming) để đạt được giá trị tối ưu của các tham sô
6 Ánh xạ với hàm hạt nhân (Kernel): Nêu trong trường hợp đữ liệu không phải là
tuyến tính, ŠVM sử dụng các hạt nhân để ánh xạ dữ liệu vào không gian chiều cao hơn Các hạt nhân pho bién bao gom hat nhan da thirc, hat nhan RBF (Radial
Basis Function), va hat nhan sigmoid
7 Tìm tham số tối wu SVM thường có các tham số như C (điều chỉnh độ linh hoạch)
va hạt nhân Quá trình tìm kiếm tham số tối ưu thường được thực hiện thông qua
các phương pháp tính chỉnh siêu tham số như Grid Search hoặc Bayesian Optim1zation
8 Dua ra quyết định phân lớp: Sau khi mô hình được huấn luyện, nó có thé duoc
sử dụng đề dự đoán lớp của các điểm dữ liệu mới bằng cách kiêm tra xem chúng thuộc về phía nào của ranh giới quyết định
Ưu điểm của của XŒBoost:
- - SVM có hiệu suất tốt khi số lượng đặc trưng lớn, đặc biệt là trong không gian đặc trưng cao
Trang 29Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
- _ SVM có thể xử lý cả dữ liệu rời rạc (categorical) và dữ liệu liên tục (continuous)
- _ Sử dụng kernel giúp SVM làm việc hiệu quả trên dữ liệu không phải tuyến tính, mở
rộng khả năng ánh xạ đữ liệu
- SVM có thể quản lý tốt khi có sự chệch lớn giữa các lớp trong dữ liệu (class imbalance)
- SVM thuong cho hiéu suat tốt khi kích thước dữ liệu không quá lớn
- ŠVM được sử dụng rộng rãi trong nhiều lĩnh vực như nhận dạng chữ viết, xử lý hình
ảnh, dự đoán chuỗi thời gian, và nhiều ứng dụng khác cung cấp sự linh hoạch cao
khi bạn có thể chọn kernel phù hợp với dữ liệu cụ thê của mình
- SVM thuong ôn định và độ tin cậy cao trong việc đưa ra dự đoán, đặc biệt là khi có
một số lượng nhỏ các điểm đữ liệu hỗ trợ quan trong (support vectors)
Nhược điểm của SVM:
-_ SVM có thê đòi hỏi nhiều tài nguyên tính toán, đặc biệt là với dữ liệu lớn Quá trình huấn luyện và dự đoán có thê trở nên chậm khi kích thước dữ liệu tăng
- _ Việc tỉnh chỉnh các siêu tham số của SVM có thê đòi hỏi sự hiểu biết chuyên sâu về
- SVM không cung cấp đầu ra xác suất trực tiếp mà cần thông qua một quá trình
chuyển đổi để có được xác suất dự đoán
- _ SVM có thê không hoạt động tốt trên các tập dữ liệu mắt cân bằng, đặc biệt là khi
tỷ lệ giữa các lớp khác nhau quá chệch
Trang 30Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
- _ SVM có thể tạo ra các đường phân loại phức tạp, làm cho việc hiệu và diễn giải mô hình trở nên khó khăn
có khả năng phản ánh đúng thực tế Trong trường hợp chúng ta thử nghiệm nhiều loại mô hình, đánh giá giúp chọn ra mô hình tốt nhất cho vấn đề cụ thê mà chúng ta đang giải quyết Điều này bao gồm cả việc so sánh hiệu suất giữa các mô hình khác nhau Đánh giá giúp phát hiện và hiểu rõ về các loại lỗi mà mô hình của thê mắc phải Điều này giúp chúng ta
đưa ra các điều chỉnh mô hình đề giảm thiêu lỗi và cải thiện hiệu suất
Đề đánh giá một mô hình phân lớp, chúng ta không thể không nhắc đến ma trận nhần lẫn (Confusion Matrix) Confusion Matrix là một công cụ quan trọng để đánh giá hiệu suất
của mô hình phân loại CM có dạng như sau:
Trang 31Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
1 True Positive (TP): Số lượng mẫu thực tế thuộc lớp dương tính và được mô hình
dự đoán đúng là dương tính
2 True Negative (TN): Số lượng mẫu thực tế thuộc lớp âm tính và được mô hình
dự đoán đúng là âm tính
3 False Positive (FP) (còn gọi là Type I Error): Sô lượng mẫu thực tế thuộc lớp
âm tính, nhưng mô hình dự đoán là dương tính
khả năng dự đoán chính xác cả hai lớp Nếu FP và FN đều thấp, mô hình có khả năng dự
đoán chính xác và không gây ra nhiều sai lầm Tuy nhiên trong trường hợp cặp giá trị FP
và FN đều bằng 0 trên tập tram thì có vẻ là dấu hiệu của việc học quá mức, quá khớp (overftting) Dựa vào CMI, có một số độ đo đánh giá khác được xây dựng từ các đại lượng
có trong CM, cu thé la accuracy, precision, recall, fl-score, AUC-ROC.,
- Accuracy (D6 chinh xac) la mét d6 do danh gia hiéu suat co ban cia mé hinh phan loại Nó đo lường tỷ lệ giữa số lượng dự đoán đúng và tổng số dự đoán của mô hình trên tất cả các mẫu
Số lượng dự đoán đúng Acculacy = ———————————
Tong so dự đoán
Độ chính xác thường được thê hiện dưới dạng phần trăm và giá trị nằm trong khoảng từ 0 đến 1, hoặc có thê được biểu diễn dưới dạng số thập phân từ 0 đến
100% Đối với bài toán phân loại, một độ chính xác cao là một dấu hiệu tích cực về
hiệu suất của mô hình, nhưng nó có thê không phản ánh đúng vấn đề nêu có sự mắt cân băng giữa các lớp trong dữ liệu Đôi với các bải toán co sy mat cân băng, các độ
Trang 32Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
do khac nhu Precision, Recall, va Fl-Score c6 thé cung cap cai nhin chi tiết hơn về
hiệu suất,
Precision (Độ chính xác dương tính) là một độ đo đánh giá hiệu suất của mô hình
phân loại, tập trung vào khả năng của mô hình đưa ra dự đoán dương tính mà thực
sự là đúng Precision được tính bằng cách chia số lượng True Positives (TP) cho tổng số dự đoán dương tính của mô hình:
True Positives
Precision =
True Positives + False Positives
Recall, con dugc goi la Sensitivity hoac True Positive Rate (Ty lé True Positive), la một độ đo quan trọng trong việc đánh giá hiệu suất của mô hình phân loại Recall đo lường khả năng của mô hình trong việc tìm ra tất cả các mẫu thực tế thuộc lớp dương tính Recall duoc tinh bang cách chia số lượng True Positives (TP) cho tổng số lượng thực tế thuộc lớp dương tính (bao gồm ca True Positives va False Negatives):
FI-Score là một độ đo tổng hợp của Precision và Recall, được sử dụng để đánh giá hiệu suất của mô hình phân loại Nó kết hợp cả khả năng của mô hình đưa ra dự đoán chính xác dương tính (Precision) và khả năng của mô hình bắt giữ được tất cả các mẫu dương tính (Recall)
2xPrecisionxRecall
F 1-score = —
Precision+Recall
Trang 33Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
FI-Score thường được ưa chuộng trong các tình huống mà chúng ta muốn đảm bảo cả Precision và Recall đều quan trọng và không muốn chấp nhận sự đánh đôi giữa chúng Điều này đặc biệt quan trọng khi có sự không cân bằng giữa các lớp trong dữ liệu Giá trị F1-Score nằm trong khoảng từ 0 đến 1, và một giá trị cao của FI-Score chỉ ra rằng mô hình có khả năng cân bằng giữa Precision và Recall và đạt
được hiệu suất tốt trên cả hai mặt
- AUC-ROC là một độ đo phố biến được sử dụng đề đánh giá hiệu suất của mô hình
phân loại, đặc biệt là trong trường hợp có hai lớp AUC-ROC đo lường diện tích dudi duong ROC (Receiver Operating Characteristic Curve), giup danh giá khả năng phân biệt giữa các lớp của mô hình AUC-ROC thường được trực quan dưới dang:
Hình 2.2: Biểu đồ trực quan hoá mẫu thang độ đo đánh giá AUC-ROC
- Dựa vảo các giá trị AUC khác nhau chúng ta sẽ có thê có được nhận xét khác nhau
về hiệu suất của mô hình Độ đo AUC-ROC được cầu thành từ 2 thành phần:
33
Trang 34Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
1 Duong ROC (ROC Curve): ROC Curve la biéu dé vé ty lé True Positive Rate
(TPR) trên trục y và tỷ lệ False Positive Rate (FPR) trên trục x cho mọi ngưỡng
quyết định khác nhau Đường ROC thường bắt đầu từ điểm (0, 0) và điểm cuối
cùng la (1, 1)
2 AUC (Area Under the Curve): AUC la dién tich dudi đường RÓC Nó cung cap
một độ đo tông quan về khả năng phân biệt của mô hình Một mô hình với AUC
cao thường có khả năng phân loại tốt hơn giữa các lớp
Trong do: TPR (True Positive Rate) duoc tinh bang cach chia True Positives cho
tong số thực tế Positive:
True Positives
True Positives + False Negatives
FPR (False Positive Rate) duoc tinh bang cach chia False Positives cho tong số thực
chữ "L" hoặc gần với (I, I)
Nếu 0.8 <= AUC-ROC <=0.9: Mô hình có hiệu suất tốt Nó có khả năng phân loại tốt, nhưng không đạt đến mức xuất sắc Đường ROC có dạng hợp lý và đánh bại mô hình dự đoán ngẫu nhiên
Nếu 0.7 <= AUC-ROC <=0.8: Mô hình có hiệu suất trung bình Nó có khả năng
phân loại, nhưng có thê cần cải thiện để đạt được độ chính xác cao hơn
Nếu 0.6 <= AUC-ROC <= 0.7: Mô hình có hiệu suất thấp Nó có thể gặp khó khăn trong việc phân loại và cân xem xét lại
Trang 35Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
- _ Nếu 0.6<= AUC-ROC <=0.5: Mô hình không có khả năng phân loại tốt hơn so với
dự đoán ngẫu nhiên Đường ROC gần với đường chéo và không có khả năng phân loại đúng lớp nào hơn
- AUC-ROC thường được ưa chuộng vì nó không bị ảnh hưởng bởi sự mất cân bằng giữa các lớp và là một phương pháp mạnh mẽ để đánh giá khả năng phân biệt của
mô hình phân loại
Chúng ta sẽ sử dụng các thang độ đo này đề đánh giá xuyên suốt các mô hình chúng ta
huấn luyện
2.5 Cải thiện hiệu suất mô hình
Việc cái thiện hiệu suất của mô hình máy học đem lại những lợi ích quan trọng cho quá trình ứng dụng và đưa ra quyết định Đầu tiên và quan trọng nhất, sự cải thiện này dẫn đến độ chính xác tăng cao, làm tăng tính tin cậy của mô hình trong việc dự đoán và phân loại đữ liệu Điều này không chỉ giúp giảm lỗi trong ứng dụng thực tế mà còn mang lại khả
năng dự đoán tốt hơn trên dữ liệu mới Ngoài ra, một mô hình cải thiện hiệu suất cũng tăng
khả năng dự đoán và linh hoạt trong việc áp dụng cho nhiều bối cảnh và tình huống Điều này tạo ra sự linh hoạt và có thể tái sử dụng mô hình cho nhiều vấn đề khác nhau, giúp tối
ưu hóa nguồn lực và tăng hiệu quả kinh tế
Các mô hình khác nhau có các bộ siêu tham số khác nhau, các siêu tham số này được
xây dựng đề có kết quả tốt nhất cho nhiều bộ dữ liệu Có thể với bộ dữ liệu này cho ra hiệu suất rất tốt nhưng với một bộ dữ liệu khác thì hiệu suất thê hiện lại không được tốt Trong trường hợp mô hình bị overñtting hoặc underftting, chúng ta cần tìm cách để kiêm soát và
cải thiện tình trạng này Quá trình này được gọi là cải thiện hiệu suất mô hình, việc đầu tư
vào cải thiện hiệu suất của mô hình không chỉ mang lại một mô hình có hiệu suất tốt mà
còn giúp đưa ra các quyết định chính xác hơn
Có nhiều phương pháp để cải thiện mô hình, chúng ta có thể kê đến tỉnh chính siêu
tham số (hyperparameters tuning) và kiêm dinh chéo(cross validation) Day 1a 2 phuong pháp phô biến nhất đề cái thiện hiệu suất của mô hình trong hoc may
Trang 36Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
2.5.1 Tinh chinh siéu tham sé (hyperparameters tuning)
Hyperparameter tuning la qua trinh diéu chinh cac siéu tham s6 (hyperparameters) của một mô hình để tôi ưu hóa hiệu suất của nó Các siêu tham số là những tham số không
phải được mô hình học từ dữ liệu mà phải được thiết lập trước quá trình huấn luyện Mỗi
m6 hinh machine learning co cac siêu tham số khác nhau và sự lựa chọn đúng đắn bộ siêu
tham số có thê ảnh hưởng lớn đến khả năng học và dự đoán của mô hình Hyperparameter
tuning thường được thực hiện thông qua việc thử nghiệm các giá trị khác nhau của các siêu
tham số và đánh giá hiệu suất của mô hình với mỗi bộ giá trị Các phương pháp phố biến
đề thực hiện hyperparameter tuning bao gồm:
- Grid Search: Kiém tra tất cả các tổ hợp có thể của các giá trị siêu tham sô
- _ Random Search: Kiểm tra một số tổ hợp ngẫu nhiên của các giá trị siêu tham số
- Bayesian Optimization: Str dung phuong phap téi uu hoa Bayes dé tìm ra giá trị tốt nhất của siêu tham só
Cách truyền thống để thực hiện tỉnh chỉnh siêu tham số là thong qua Grid Search, hay còn được gọi là tìm kiếm siêu tham số Grid Search là một kỹ thuật tĩnh chỉnh siêu tham số bằng cách thử nghiệm toàn bộ các tô hợp có thé của các giá trị siêu tham số đã được định nghĩa trước Kỹ thuật này tạo ra một lưới (grid) của các giá trị siêu tham số và kiểm tra mô hình trên tất cả các tổ hợp khả dụng đề xác định tổ hợp nào mang lại hiệu suất tốt nhất
Ví dụ, một mô hình phân loại SVM mềm thông thường với kernel RBF có ít nhất hai siêu tham số cần được điều chỉnh dé đạt hiệu suất tốt trên dữ liệu mới: một hằng số điều chỉnh regularization C và một siêu tham số kernel y Cả hai tham số đều là liên tục, vì vậy
đề thực hiện tìm kiếm trên lưới, ta chọn một tập hợp hữu hạn các giá trị "hợp lý" cho mỗi
tham số, chăng hạn như
€C € {10,100,1000}
y € {0.1,0.2,0.5,1.0}
Trang 37Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
Tìm kiểm trên lưới sau đó huấn luyện một SVM với mỗi cặp (C, y) trong tích của hai
tập này và đánh giá hiệu suất trên một tập kiểm tra được giữ lại (hoặc thông qua xác thực
chéo nội bộ trên tập huấn luyện, trong trường hợp đó nhiều SVM được huấn luyện cho mỗi
cặp) Cuối củng, thuật toán tìm kiếm trên lưới xuất ra bộ siêu tham số đạt được điểm số cao
nhất trong quá trình huấn luyện
1.0
10 giá trị khác nhau được xem xét, do đó có tong cộng 100 kết hợp khác nhau được đánh
giá và so sánh Dường viễn màu xanh biểu thị các vùng có kết quả tối, trong khi đường
viên màu đỏ hiển thị các vùng có kết quả kém.) Random Search thay thế việc liệt kê toàn bộ các tô hợp bằng cách chọn chúng ngẫu nhiên Phương pháp này có thê được áp dụng đơn giản cho bối cảnh rời rạc được mô tả ở trên, nhưng cũng có thê mở rộng cho không gian giá trị liên tục và kết hợp Một ưu điểm
so voi drid search la random search có thê khám phá nhiêu giá trị hơn so với grid search có
Trang 38Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
thể làm với siêu tham số liên tục Nó có thể vượt trội so với Grid Search, đặc biệt khi chỉ
một sô nhỏ siêu tham sô ảnh hưởng đến hiệu suât cuôi cùng của thuật toán học máy
hàm ánh xạ từ giá trị siêu tham số đến mục tiêu được đánh giá trên một tập kiểm tra Bằng
cách lặp lại việc đánh giá một cầu hình siêu tham số đảm bảo dựa trên mô hình hiện tại và
sau đó cập nhật nó, Bayesian Optimization thu thập các quan sát cung cấp cảng nhiều thông tin cảng tốt về hàm này và đặc biệt là vị trí của giá trị tối ưu Phương pháp này cô gắng cân
bằng giữa việc thăm dò (siêu tham số cho kết quả là không chắc chắn nhất) và khai thác
(siêu tham sô được dự kiên gân với giá trị tôi ưu)
Trang 39Học máy cơ bản — Xây dựng mô hình phân loại tin nhắn rác
phá tiếp theo dựa trên các quan sát trước đó.) Chúng ta có một bảng so sánh các phương pháp tìm kiếm bộ siêu tham số sau:
Tiêu chí Grid Search Random Search Bayesian Optimization
Tìm kiêm ngẫu nhiên
trong không gian siê
tham số
- CO thê hiệu quả hơn
so với Grid Search
Sử dụng mô hình xác suất đê
dự đoán nơi nên thử nghiệm
tiếp theo
- Có thê hiệu quả hơn trong
việc tối ưu hóa không gian lớn