BỘ GIÁO DỤC VÀ ĐÀO TAO
TRƯỜNG ĐẠI HỌC QUY NHƠN
TRẦN XUÂN VIỆT
ỨNG DỤNG THUẬT TOÁN HỌC MÁY XGBOOST
VÀO DỰ ĐOÁN NGUY CƠ BỊ BỆNH NÁM MÁ
LUẬN VĂN THẠC SĨ KHOA HỌC DỮ LIỆU ỨNG DỤNG
Bình Định – Năm 2022
BỘ GIÁO DỤC VÀ ĐÀO TAO
TRƯỜNG ĐẠI HỌC QUY NHƠN
TRẦN XUÂN VIỆT
ỨNG DỤNG THUẬT TOÁN HỌC MÁY XGBOOST
VÀO DỰ ĐOÁN NGUY CƠ BỊ BỆNH NÁM MÁ
Chuyên ngành: Khoa học dữ liệu ứng dụng
Mã số: 8904648
Người hướng dẫn: TS. HỒ VĂN LÂM
LỜI CAM ĐOAN
Tơi xin cam đoan đây là cơng trình nghiên cứu và thực hiện luận văn
thực sự của riêng tôi, dưới sự hướng dẫn của TS. Hồ Văn Lâm. Mọi tham khảo
từ các nguồn tài liệu, cơng trình nghiên cứu liên quan trong nước và quốc tế
đều được trích dẫn một cách rõ ràng trong luận văn. Mọi sao chép không hợp
lệ hay vi phạm quy chế tôi xin hoàn toàn chịu trách nhiệm và chịu mọi kỷ luật
của trường Đại học Quy Nhơn.
Bình Định, ngày
tháng
năm 2022
Học viên
Trần Xuân Việt
LỜI CẢM ƠN
Trong q trình thực hiện và hồn thiện luận văn này, tôi xin gửi lời cảm
ơn chân thành nhất đến các thầy cơ trong Khoa Tốn – Thống kê và Khoa công
nghệ thông tin trường Đại học Quy Nhơn cũng như các thầy thính giảng ở các
trường, các viện ở Thành phố Hồ Chính Minh đã cung cấp cho tôi những kiến
thức quý báu trong suốt 2 năm học vừa qua. Đặc biệt, tôi xin gửi lời cảm ơn
sâu sắc nhất tới TS. Hồ Văn Lâm đã dành nhiều thời gian vô cùng quý báu để
định hướng và hướng dẫn tơi tận tình cũng như tạo điều kiện thuận lợi để tơi có
thể hồn thành tốt nhất luận văn của mình.
Tơi xin chân thành cảm ơn!
Học viên thực hiện
Trần Xuân Việt
DANH MỤC MỘT SỐ TỪ VIẾT TẮT
AI:
Artificial Intelligence
AUC:
Area Under The Curve
ECG:
Điện tâm đồ
GBM:
Gradient Boosting Machine
ML:
Machine Learning
RF:
Ramdon forest
ROC:
Receiver Operating Characteristics
XGBoost:
Extreme Gradient Boost
MỤC LỤC
TRANG PHỤ BÌA
LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC
DANH MỤC BẢNG BIỂU
DANH MỤC HÌNH VẼi
MỞ ĐẦU .......................................................................................................... 1
CHƯƠNG 1: TỔNG QUAN TÀI LIỆU ......................................................................6
1.1 Tổng quan về AI ................................................................................. 6
1.1.1 Giới thiệu về AI, học máy, học sâu ............................................. 6
1.1.2 Ứng dụng trí tuệ nhân tạo trong y khoa ..................................... 6
1.1.3 Ứng dụng AI trong chẩn đoán nám má và các tổn thương da lành tính ........ 7
1.1.4 Một số nghiên cứu khác .............................................................. 8
1.2 Ensemble learning (học tập theo nhóm) ............................................. 9
1.3 Khái niệm cây quyết định (decision tree) ......................................... 11
1.3.1 Cây quyết định .......................................................................... 11
1.3.2 Thuật toán cây quyết định......................................................... 11
1.3.3 Ưu điểm của cây quyết định ..................................................... 12
1.3.4 Một số thuật toán cây quyết định .............................................. 13
1.4 Thuật toán xgboost ............................................................................ 14
1.4.1 Giới thiệu XGBoost ................................................................... 15
1.4.2 Phương pháp XGBoost tối ưu hóa hệ thống ............................. 16
1.4.3 Các đặc trưng của XGBoost ..................................................... 19
1.4.4 Tốc độ thực thi XGBoost ........................................................... 20
1.4.5 Hiệu suất mơ hình XGBoost ..................................................... 20
1.4.6 Thuật toán XGBoost.................................................................. 22
1.4.7 Ưu điểm của thuật toán. ........................................................... 22
1.4.8 Ứng dụng của thuật toán trong các lĩnh vực. ........................... 23
1.5 Đánh giá mơ hình .............................................................................. 23
1.5.1 Độ đo dùng trong phân loại...................................................... 23
1.5.2 Đường cong ROC và AUC........................................................ 25
1.5.3 Đánh giá mơ hình bằng kiểm tra chéo. .................................... 26
1.6 Tổng quan về bệnh nám má .............................................................. 28
1.6.1 Giới thiệu: ................................................................................. 28
1.6.2 Dịch tễ học: ............................................................................... 28
1.6.3 Sinh bệnh học ............................................................................ 29
1.6.4 Triệu chứng lâm sàng ............................................................... 29
1.6.5 Phân loại nám má ..................................................................... 29
CHƯƠNG 2: BÀI TOÁN DỰ ĐOÁN NGUY CƠ BỆNH NÁM MÁ VÀ GIẢI
PHÁP THỰC HIỆN .......................................................................................................31
2.1 Phát biểu bài tốn .............................................................................. 31
2.2 Các bước phân tích dữ liệu và ứng dụng .......................................... 31
2.3 Hiểu bài toán (business understanding) ............................................ 32
2.3.1 Đặt vấn đề:................................................................................ 32
2.3.2 Mục tiêu: ................................................................................... 32
2.3.3 Giải pháp thực hiện: ................................................................. 32
2.4 Hiểu dữ liệu (data understanding) .................................................... 33
2.5 Chuẩn bị dữ liệu ................................................................................ 43
CHƯƠNG 3: TÌM HIỂU THUẬT TỐN XGBOOST VÀ XÂY DỰNG MƠ
HÌNH HỌC MÁY DỰ BÁO CHO BÀI TỐN DỰ ĐỐN NGUY CƠ BỆNH
NÁM MÁ ........................................................................................................ 49
3.1 Tìm hiểu thuật tốn xgboost ............................................................. 49
3.1.1 Thuật toán XGBOOST .............................................................. 49
3.1.2 Cài đặt thư viện XGBoost ......................................................... 49
3.1.3 Chuẩn bị dữ liệu ....................................................................... 49
3.1.4 Huấn luyện XGBoost model đơn giản ...................................... 50
3.1.5 Các phương pháp đánh giá XGBoost model ............................ 50
3.1.6 Trực quan hóa Xgboost model .................................................. 52
3.1.7 Lưu và sử dụng XGBoost model bằng thư viện pickle ............. 54
3.1.8 Lựa chọn features cho XGBoost model .................................... 55
3.1.9 Cấu hình Early_Stopping cho XGBoost model ........................ 58
3.1.10Cấu hình Multithreading cho XGBoost model ......................... 61
3.1.11Điều chỉnh tham số của thuật toán XGBoost ........................... 62
3.1.12 Triển khai thực hiện sử dụng Grid Search để tối ưu hóa thơng số
XGBoost............................................................................................... 65
3.2 Thực nghiệm mơ hình ....................................................................... 65
3.3 Đánh giá mơ hình .............................................................................. 66
3.4 Phát triển ứng dụng dự đoán nguy cơ bệnh nám má......................... 72
KẾT LUẬN VÀ KIẾN NGHỊ ......................................................................................76
MỘT SỐ HẠN CHẾ CỦA ĐỀ TÀI NGHIÊN CỨU ..............................................78
DANH MỤC CƠNG TRÌNH KHOA HỌC ĐÃ CƠNG BỐ CỦA TÁC GIẢ..79
TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ (BẢN SAO)
DANH MỤC BẢNG, BIỂU
Bảng 2.1 Bảng kiểu dữ liệu của thuộc tính ..................................................... 43
DANH MỤC BIỂU ĐỒ
Biểu đồ 2.1 Tỷ lệ nám má ............................................................................... 37
Biểu đồ 2.2 Phân bố nám má theo tuổi ........................................................... 37
Biểu đồ 2.3 Phân bố theo độ tuổi .................................................................... 38
Biểu đồ 2.4 Phân bổ nghề nghiệp với nám má ............................................... 38
Biểu đồ 2.5 Liên quan giữa tiền sử bệnh mạn tính của đối tượng với tỷ lệ nám
má .................................................................................................................... 39
Biểu đồ 2.6 Phân bố theo thành phần kinh tế gia đình ................................... 39
Biểu đồ 2.7 Tiền sử mang thai với nám má .................................................... 40
Biểu đồ 2.8 Tỷ lệ nám má với tiền sử dụng mỹ phẩm .................................... 40
Biểu đồ 2.9 Biểu đồ tương quan giữa các biến số .......................................... 41
Biểu đồ 2.10 Phân bố nám má và không nám má ........................................... 47
Biểu đồ 2.11 Biểu đồ phân bổ tần số của biến ................................................ 47
Biểu đồ 2.12 Ma Trận tương quan giữa các biến số ....................................... 48
Biểu đồ 3.1 Trực quan mơ hình XGBoost theo chiều dọc .............................. 53
Biểu đồ 3.2 Biểu đồ trực quan mơ hình XGBoost .......................................... 54
Biểu đồ 3.3 Thứ tự tầm quan trọng của các biến ............................................ 56
Biểu đồ 3.4 Sắp thứ tự các importance scores ................................................ 57
Biểu đồ 3.5 Biểu đồ ROC-AUC đối với mơ hình ........................................... 66
Biểu đồ 3.6 Biểu đồ Precission-Recall............................................................ 67
Biểu đồ 3.7 Xếp hạng các biến số ảnh hưởng ................................................. 68
Biểu đồ 3.8 Xếp hạng các biến quan trọng ..................................................... 70
DANH MỤC HÌNH VẼ
Hình 1.1 Bức tranh tổng thể Ensemble Learning............................................ 10
Hình 1.2 Sự phát triển của thuật tốn XGBoost từ cây quyết định ................ 15
Hình 1.3 Phương pháp XGBoost tối ưu hóa thuật tốn GBM tiêu chuẩn ...... 16
Hình 1.4 XGBoost so với Các thuật toán ML khác sử dụng Bộ dữ liệu
Make_Classification của SKLearn (20 thuộc tính, 1 triệu dịng) ................... 18
Hình 1.5 Kết quả so sánh hiệu suất của XGBoost so với các thuật toán cây quyết
định khác. ........................................................................................................ 20
Hình 1.6 Mơ hình dự đốn sử dụng Gradient Boosting .................................. 21
Hình 1.7 Bảng mơ tả ma trận nhầm lẫn .......................................................... 24
Hình 1.8 Ví dụ về đường cong ROC và AUC ................................................ 26
Hình 3.1 Cấu hình Early_stopping .................................................................. 58
Hình 3.2 Đồ thị thể hiện Logloss và error của mỗi epoch .............................. 60
Hình 3.3. Ma trận nhầm lẫn của dữ liệu test ................................................... 67
Hình 3.4 Sơ đồ cây quyết định của XGboost. ................................................. 69
Hình 3.5 Nhập thơng tin bệnh nhân ................................................................ 73
Hình 3.6 Nhập thơng tin chẩn đốn ................................................................ 73
Hình 3.7 Kết quả dự đốn của mơ hình .......................................................... 74
Hình 3.8 Thơng tin bệnh nhân để truy vấn và cập nhập chẩn đốn thực tế .... 74
Hình 3.9 Cập nhập kết quả chẩn đoán cho bệnh nhân .................................... 75
1
0 MỞ ĐẦU
1. LÝ DO CHỌN ĐỀ TÀI
Học máy hay máy học là một lĩnh vực trong ngành Trí tuệ nhân tạo, là
kỹ thuật giúp cho máy tính có thể tự học mà không cần phải cài đặt các luật
quyết định. Thường một chương trình máy tính cần các quy tắc, luật lệ để có
thể thực thi được một tác vụ nào đó nhưng với học máy, các máy tính có thể tự
động thực thi tác vụ khi nhận dữ liệu đầu vào, hay nói cách khác máy tính có
được cảm quan và suy nghĩ được như con người cũng có một cách tiếp cận
khác về học máy là phương pháp vẽ các đường thể hiện mối quan hệ của tập
dữ liệu [14]. Từ các kiến thức chuyên gia của Bác sỹ, các nghiên cứu về bệnh
Nám má từ thông tin cộng đồng của người dân chúng tôi sử dụng một số mơ
hình phân tích dữ liệu để chỉ ra các mối tương quan trong dữ liệu về bệnh Nám má.
Với phương pháp phân tích dữ liệu, hiển thị dữ liệu sẽ giúp các chuyên
gia cũng như người dân dễ dàng nhìn thấy tầm quan trọng của các thơng tin
hằng ngày của người dân ảnh hưởng đến việc bị bệnh Nám má hay khơng? Từ
kết quả phân tích mơ tả này, để máy tính có thể hỗ trợ cho việc dự đoán nguy
cơ bị bệnh nám má của một người chúng tơi tiến hành xây dựng một mơ hình
học máy có giám sát với dữ liệu đầu vào là kiến thức chuyên gia bác sỹ da liễu
chuyên ngành nám má kết hợp với thông tin cộng đồng của người cần dự đốn.
Mơ hình học máy được xây dựng dựa trên một thuật tốn học máy được đánh
giá có nhiều ưu điểm XGBOOTS [22].
Vì thế, mục đích của luận văn là tìm hiểu “Ứng dụng thuật tốn học
máy xgboost vào dự đoán nguy cơ bị bệnh nám má”.
Trong Luận văn này chúng tơi trình bày các tất cả các bước của một quy
trình dự đốn bệnh nám má, ba bước đầu tiên: Hiểu nghiệp vụ (Business
Understanding): xác định mục tiêu và yêu cầu của bài toán; Hiểu dữ liệu (Data
2
Understanding): thu thập và làm quen với dữ liệu thô ban đầu, đưa ra đánh giá
về chất lượng của dữ liệu. Chuẩn bị dữ liệu (Data Preparation): xây dựng được
bộ dữ liệu cuối cùng, “đủ tiêu chuẩn” để cho chạy mơ hình và phân tích; đã
được thực hiện và được xem như là dữ liệu đầu vào của luận văn này. Bước thứ
4 mơ hình hố (Modelling): Lựa chọn và áp dụng các kỹ thuật cùng phương
pháp phù hợp, sau đó xây dựng mơ hình phân tích dữ liệu. Trong luận văn này
chúng tơi đã xây dựng mơ hình học máy từ thuật toán XGBOOTS cho việc dự
đoán một người có nguy cơ bị bệnh nám má hay khơng?
Việc điều chỉnh các tham số để tối ưu hóa mơ hình cũng được thực hiện
trong bước này thơng qua phân tích một số thuộc tính của mơ hình như các biến
dữ liệu ảnh hưởng đến mơ hình dự đốn, các tham số của thuật tốn XGBoost,
cấu hình điểm dừng sớm cho thuật tốn XGBoost. Sang Bước 5 chúng tơi tiếp
cận một số cách đánh giá mơ hình (Evaluation) như ma trận nhầm lẫn, biểu đồ
ROC-AUC, biểu đồ Precission-Recall để đánh giá kết quả thu được từ mơ hình,
đánh giá mơ hình đã đáp ứng được mục tiêu đã đề ra hay chưa, phân tích các
chỉ số đạt được của mơ hình và đưa quyết định về việc sử dụng kết quả phân
tích vào thực tế. Bước cuối cùng triển khai giải pháp (Deployment) trong luận
văn này chúng tôi đưa ra cách triển khai đã được thực hiện tại Bệnh viện PhongDa liễu Trung ương Quy Hịa, mơ hình học máy được sử dụng vào một ứng
dụng web giúp người dùng có thể tự dự đoán khả năng bị bệnh nám má sau khi
chấp nhận cung cấp một số thông tin khảo sát [24].
Với thực trạng đó, luận văn có mục tiêu nghiên cứu, thử nghiệm ứng dụng
thuật toán XGBOOTS để xây dựng mơ hình học máy dự đốn nguy cơ bệnh
nám má.
Mục tiêu này sẽ được tiến hành với những nội dung chính gồm:
- Tìm hiểu tổng quan về thuật tốn XGBOOTS, các thuật tốn nhị
phân, ra quyết định nói chung và thuật tốn XGBOOTS nói riêng.
3
- Một số lý thuyết toán học cơ bản, các kỹ thuật chính liên quan tới
thơng số, thuật tốn tối ưu cho thuật toán XGBOOTS và cũng như
tiềm năng ứng dụng thực tiễn sẽ được nghiên cứu trong luận văn này.
- Đề xuất giải pháp ứng dụng của thuật toán XGBOOST trong việc dự
đoán nguy cơ nám má ở bệnh nhân tại Bệnh viện Phong - Da liễu
Trung ương Quy Hòa.
- Xây dựng hệ thống thử nghiệm với hệ thống dự đoán nguy cơ nám má.
2. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
- Dữ liệu thông tin cá nhân bệnh nhân nám má.
Phương pháp nghiên cứu
a) Phương pháp nghiên cứu lý luận: Thu thập, đọc hiểu, phân tích
thơng tin, dữ liệu từ các giáo trình, sách, các bài báo liên quan đến thuật toán
cây quyết định, Ensemble Learning, Bagging, XGboost.
b) Phương pháp nghiên cứu thực tiễn:
- Nghiên cứu lý thuyết: Đọc tài liệu, các bài báo, để tìm hiểu kế thừa, tổng
hợp những nghiên cứu của các tác giả đi trước trong lĩnh vực nghiên cứu.
- Nghiên cứu độc lập, tăng cường trao đổi khoa học với các nhóm nghiên
cứu quan tâm cùng vấn đề.
- Tham gia hội nghị, hội thảo khoa học trong nước.
- Cùng nhóm nghiên cứu khoa học tham gia viết bài báo khoa học ở hội
nghị khoa học trong nước, nước ngồi.
- Tìm hiểu các vấn đề liên quan đến dữ liệu bệnh nhân nám má, các y văn
để tường minh, giải thích dữ liệu của thuật toán XGboost.
3. CẤU TRÚC LUẬN VĂN:
Luận văn này được chia thành ba chương như sau:
Chương 1: Tổng quan tài liệu
4
Đưa ra cái nhìn tổng quan về AI, thuật tốn ra cây quyết định nhị phân,
thuật toán XGBOOST và Phương pháp đánh gia mơ hình, thơng tin tổng quan
về bệnh nám má.
Chương 2. Bài toán dự đoán nguy cơ bệnh nám má và giải pháp thực hiện
Trong chương này, luận văn trình bày về bài tốn dự đốn nguy cơ bệnh
nám má và các kỹ thuật chính sử dụng thuật toán XGBOOST:
Hiểu nghiệp vụ (Business Understanding): xác định mục tiêu và yêu cầu
của bài toán;
Hiểu dữ liệu (Data Understanding): thu thập và làm quen với dữ liệu thô
ban đầu, đưa ra đánh giá về chất lượng của dữ liệu.
Chuẩn bị dữ liệu (Data Preparation): xây dựng được bộ dữ liệu cuối cùng,
“đủ tiêu chuẩn” để cho chạy mơ hình và phân tích.
Chương 3. TÌM HIỂU THUẬT TỐN XGBOOST VÀ XÂY DỰNG
MƠ HÌNH HỌC MÁY DỰ BÁO CHO BÀI TỐN DỰ ĐỐN NGUY CƠ
BỆNH NÁM MÁ
Tìm hiểu thuật tốn XGBoost, cài đặt thư viện XGBoost, huấn luyện mơ
hình, phương pháp đánh giá, trực quan hóa. Bên cạnh đó tìm hiểu về lựa chọn
cái đặc trưng quan trọng, cấu hình điểm dừng sớm cho thuật tốn XGBoost, và
tìm hiểu tùy chỉnh một số tham số của thuật toán XGBoost.
Thực nghiệm xây dựng mơ hình và đánh giá mơ hình của thuật tốn
XGBoost dựa trên bộ dữ liệu bệnh nhân nám má.
Trong luận văn này chúng tôi đưa ra cách triển khai được thực hiện tại
Bệnh viện Phong - Da liễu Trung ương Quy Hịa, mơ hình học máy được sử
dụng vào một ứng dụng web giúp người dùng có thể tự dự đoán khả năng bị
bệnh nám má sau khi chấp nhận cung cấp một số thông tin khảo sát.
Phần kết luận nêu những đóng góp của luận văn.
Kiến nghị một số hiệu quả khi ứng dụng vào thực tế
Tiếp theo là một số hạn chế của luận văn nghiên cứu.
5
Danh mục cơng trình khoa học đã cơng bố của tác giả
Cuối cùng là danh mục tài liệu tham khảo.
4. ĐĨNG GĨP CỦA LUẬN VĂN
Đóng góp chính của luận văn được trình bày trong chương 2, chương 3.
6
1
CHƯƠNG 1: TỔNG QUAN TÀI LIỆU
1.1 TỔNG QUAN VỀ AI
1.1.1 Giới thiệu về AI, học máy, học sâu
Thuật ngữ “Trí tuệ nhân tạo” (AI: Artificial Intelligence) lần đầu tiên
được John McCarthy đặt ra cho một hội nghị về chủ đề này được tổ chức tại
Dartmouth vào năm 1956 với tên gọi “khoa học và kỹ thuật chế tạo máy thơng
minh”[23].
Trí tuệ nhân tạo (AI: Artificial Intelligence) có thể được định nghĩa như
một ngành của khoa học máy tính liên quan đến việc tự động hóa các hành vi
thơng minh. AI là một bộ phận của khoa học máy tính và do đó nó phải được
đặt trên những nguyên lý, lý thuyết vững chắc, có khả năng ứng dụng được của
lĩnh vực này. Những nguyên lý này bao gồm các cấu trúc dữ liệu dùng cho biểu
diễn tri thức, các thuật tốn cần thiết để áp dụng những tri thức đó, cùng các
ngơn ngữ và kỹ thuật lập trình dùng cho việc cài đặt chúng.[26]
Trí tuệ nhân tạo là một lĩnh vực khoa học máy tính quan trọng nhằm tạo
ra những cỗ máy phức tạp với các đặc điểm của trí thơng minh con người.Chúng
ta có thể coi khái niệm này là “Trí tuệ nhân tạo chung”, có những cỗ máy có
thể suy nghĩ và lập luận, thậm chí có thể nhìn và nghe như con người [18].
Tuy nhiên, những gì có thể đạt được tại thời điểm này thuộc khái niệm
“AI thu hẹp”, nơi các công nghệ tồn tại để thực hiện các nhiệm vụ cụ thể tương
đương hoặc tốt hơn khả năng của con người [18]. Trí thơng minh như vậy có
được từ các kỹ thuật AI được gọi là học máy và học sâu đã cải thiện hiệu suất
trong các lĩnh vực như phân loại hình ảnh, phân tích văn bản, giọng nói và nhận
dạng khn mặt với một loạt các ứng dụng đầy hứa hẹn như xe tự hành, xử lý
ngôn ngữ tự nhiên trong y học.
1.1.2 Ứng dụng trí tuệ nhân tạo trong y khoa
Trí tuệ nhân tạo mang lại một số lợi thế so với phân tích truyền thống và
các kỹ thuật ra quyết định lâm sàng. Các thuật tốn học máy có thể trở nên
7
chính xác và chính xác hơn khi chúng tương tác với dữ liệu huấn luyện lớn
chứa đựng nhiều thông tin chính xác, cho phép con người có được những hiểu
biết sâu sắc chưa từng có về chẩn đốn, quy trình chăm sóc, khả năng thay đổi
điều trị và kết quả của bệnh nhân.
Học máy (Machine Learning) là một lĩnh vực nghiên cứu của trí tuệ nhân
tạo. Phần lớn các nghiên cứu thực hiện thuật toán học máy trong da liễu tập
trung vào việc phân loại tổn thương da cho nhiều loại bệnh, bao gồm u ác tính,
ung thư da khơng phải u hắc tố, bệnh vẩy nến, viêm da dị ứng, nấm móng, bệnh
trứng cá đỏ và các chứng tăng sắc tố da lành tính, trong đó có nám má. Những
nghiên cứu này chủ yếu dựa vào CNN để nhận dạng và phân loại hình ảnh. [8],
[25].
Phân loại bệnh rung nhĩ dùng XGBOOST và học sâu. Rung nhĩ (hay
rung tâm nhĩ, atrial fibrillation) là một trong những bệnh rối loạn nhịp tim
thường gặp. Rung nhĩ có nguy cơ dẫn đến suy tim, đột quỵ, và các biến chứng
tim mạch nguy hiểm khác. Người bị bệnh thường phải đến bệnh viện khám
định kỳ để theo dõi nhịp tim bằng hệ thống máy đo điện tâm đồ (ECG), tốn
kém nhiều thời gian và chi phí. Nghiên cứu mở ra một hướng phát triển mới
cho bài tốn phân loại tín hiệu ECG khi thực hiện phân loại trên các đoạn tín
hiệu ngắn, đồng thời mang đến một giải pháp ứng dụng các mô hình học sâu
khi bài tốn gặp những hạn chế về mặt dữ liệu [6].
1.1.3 Ứng dụng AI trong chẩn đoán nám má và các tổn thương da lành tính
Một nghiên cứu “Phát triển và xác nhận hai mơ hình trí tuệ nhân tạo để
chẩn đoán các tổn thương da sắc tố, lành tính” do nhóm tác giả Yin Yang và cs
tại Trung Quốc công bố tháng 5 năm 2020 cho thấy: Mơ hình chẩn đốn tổn
thương da sắc tố, lành tính dựa trên mạng nơ ron tích chập có hiệu suất tổng
thể cao hơn một chút so với các chuyên gia về da liễu. Trong nghiên cứu này,
hai mạng nơ ron tích chập được sử dụng để nhận dạng các bệnh da sắc tố đồng
thời thiết lập một mơ hình chẩn đốn bệnh. Vì sự phân bố của các tổn thương
8
trong hình ảnh huấn luyện ban đầu là rất phức tạp, nhóm nghiên cứu đã cắt hình
ảnh xung quanh các tổn thương, huấn luyện mạng nơ ron trên các hình ảnh tổn
thương được trích xuất đồng thời kết hợp các kết quả xác minh của bức tranh
tổng thể và hình ảnh trích xuất để đánh giá hiệu suất của mơ hình trong xác
định hình ảnh viêm da tăng sắc tố. Cuối cùng, nhóm nghiên cứu đánh giá hiệu
suất nhận dạng hình ảnh của hai mạng nơ-ron tích chập và mạng hội tụ trong
bộ thử nghiệm thông qua so sánh giữa mạng hội tụ và đánh giá của các bác sĩ.
Kết quả cho thấy AUC của DenseNet-96 cho bức tranh tổng thể là 0,98, trong
khi AUC của ResNet-152 là 0,96; do đó, nhóm nghiên cứu kết luận rằng
DenseNet-96 hoạt động tốt hơn ResNet-152. Từ AUC, mạng hội tụ có hiệu suất
tốt nhất. Mơ hình mạng hội tụ đạt được hiệu suất phân loại tồn diện tương
đương với mơ hình của các bác sĩ. [26].
1.1.4 Một số nghiên cứu khác
Ngày 15/10/2020 tại Hà Nội, ứng dụng đầu tiên ứng dụng AI trong chẩn
đốn bệnh da liễu DeepClinics được giới thiệu ra cơng chúng. DeepClinics là
một dự án phát triển và ứng dụng công nghệ tin học (IT - Information
Technology) và đặc biệt là trí tuệ nhân tạo (AI - artificial intelligence) và máy
học (ML - machine learning) vào việc tạo ra một hệ thống khám, chẩn đốn
bệnh và chăm sóc sức khoẻ thế hệ mới. Ứng dụng DeepClinics để chẩn đoán
sơ bộ vết thương và một số bệnh da thường gặp như: bệnh trứng cá; nám má;
bệnh bạch biến; thủy đậu... Dựa trên kết quả đó, bác sĩ sẽ tư vấn trực tiếp tình
trạng tổn thương, mức độ bệnh mà hệ thống đưa ra và tư vấn bổ sung phác đồ
điều trị trên cơ sở những nội dung mà hệ thống DeepClinics đưa ra. Hồ sơ của
người tham gia trải nghiệm mô hình DeepClinics cũng sẽ được hệ thống lưu lại
như một loại hồ sơ điện tử để người dùng có thể theo dõi trong quá trình sử
dụng [8].
Tháng 8 năm 2020 cơng ty VinBrain thuộc Tập đồn Vingroup và Cục
CNTT, Bộ Y tế đã thực hiện nghiên cứu thành công ứng dụng trí tuệ nhân tạo
9
để sử dụng hình ảnh X-Quang phổi trong việc hỗ trợ chẩn đoán COVID-19 tại
Việt Nam. Nghiên cứu cũng đã tích hợp thêm chức năng hỗ trợ đánh giá tiên
lượng bệnh nhân nhiễm virus SARS-CoV-2 giúp điều trị bệnh nhân hiệu quả hơn.
1.2 ENSEMBLE LEARNING (HỌC TẬP THEO NHÓM)
Giả sử chúng ta có một bài tốn phân loại sản phẩm sử dụng ML. Đội của bạn
chia thành 3 nhóm, mỗi nhóm sử dụng một thuật tốn khác nhau để train model
trên tập train set. Sau đó đánh giá độ chính xác trên tập validation set:
•
Nhóm 1: Sử dụng thuật tốn Linear Regression.
•
Nhóm 2: Sử dụng thuật tốn k-Nearest Neighbour.
•
•
Nhóm 3: Sử dụng thuật tốn Decision Tree.
Độ chính xác của mỗi nhóm lần lượt là 70%, 67% và 76%. Điều này hồn
tồn dễ hiểu bởi vì 3 models làm việc theo những các khác nhau. Ví
dụ, Linear Regression cố gắng tìm ra mối quan hệ tuyến tính giữa các điểm
dữ liệu, trong khi Decision Tree thì lại dựa vào mỗi quan hệ phi tuyến để liên
kết dữ liệu.
Có cách nào kết hợp kết quả cả 3 models để tạo ra kết quả cuối cùng hay khơng?
Hình 1.1. Các phương pháp kết hợp nhiều mơ hình
Câu hỏi này là tiền đề cho một phương pháp, một họ các thuật toán hoạt
động rất hiệu quả trong các bài tốn ML.
Đó là Ensemble Learning hay Ensemble Models.
Hình dưới đây thể hiện bức tranh tổng quát về Ensemble Learning.
10
Hình 1.1 Bức tranh tổng thể Ensemble Learning
11
1.3 KHÁI NIỆM CÂY QUYẾT ĐỊNH (DECISION TREE)
1.3.1 Cây quyết định
Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được
dùng để phân lớp các đối tượng dựa vào dãy các luật. Các thuộc tính của đối
tượng có thể thuộc các kiểu dữ liệu khác nhau như Nhị phân (Binary), Định
danh (Nominal), Thứ tự (Ordinal), Số lượng (Quantitative) trong khi đó thuộc
tính phân lớp phải có kiểu dữ liệu là Binary hoặc Ordinal.
Tóm lại, cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp
(classes) của nó, cây quyết định sẽ sinh ra các luật để dự đoán lớp của các dữ
liệu chưa biết.
1.3.2 Thuật toán cây quyết định
Trong lĩnh vực máy học, cây quyết định là một kiểu mơ hình dự báo
(predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng
tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng. Mỗi một nút trong
(internal node) tương ứng với một biến; đường nối giữa nó với nút con của nó
thể hiện một giá trị cụ thể cho biến đó. Mỗi nút lá đại diện cho giá trị dự đoán
của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường
đi từ nút gốc tới nút lá đó. Kỹ thuật học máy dùng trong cây quyết định được
gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định.
Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai
phá dữ liệu. Khi đó, cây quyết định mơ tả một cấu trúc cây, trong đó, các lá đại
diện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn
tới phân loại đó [17]. Một cây quyết định có thể được học bằng cách chia tập
hợp nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính [17]. Q
trình này được lặp lại một cách đệ quy cho mỗi tập con dẫn xuất. Quá trình đệ
quy hồn thành khi khơng thể tiếp tục thực hiện việc chia tách được nữa, hay
khi một phân loại đơn có thể áp dụng cho từng phần tử của tập con dẫn xuất.
12
Một bộ phân loại rừng ngẫu nhiên (Random Forest) sử dụng một số cây quyết
định để có thể cải thiện tỉ lệ phân loại.
Cây quyết định cũng là một phương tiện có tính mơ tả dành cho việc tính
tốn các xác suất có điều kiện.
Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật tốn
học và tính tốn nhằm hỗ trợ việc mơ tả, phân loại và tổng quát hóa một tập dữ
liệu cho trước.
Dữ liệu được cho dưới dạng các bản ghi có dạng:
(x, y) = (x1, x2, x3..., xk, y)
Biến phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu,
phân loại hay tổng qt hóa. x1, x2, x3... là các biến sẽ giúp ta thực hiện cơng
việc đó
Thuật tốn cây quyết định là thuật tốn học có giám sát (supervised learning),
có thể giải quyết cả bài tốn hồi quy (regression) và phân loại (classification).
1.3.3 Ưu điểm của cây quyết định
So với các phương pháp khai phá dữ liệu khác, cây quyết định là phương
pháp có một số ưu điểm:
- Cây quyết định dễ hiểu. Người ta có thể hiểu mơ hình cây quyết định
sau khi được giải thích ngắn.
- Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc không
cần thiết. Các kỹ thuật khác thường địi hỏi chuẩn hóa dữ liệu, cần tạo
các biến phụ (dummy variable) và loại bỏ các giá trị rỗng.
- Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ liệu
có giá trị là tên thể loại. Các kỹ thuật khác thường chuyên để phân tích
các bộ dữ liệu chỉ gồm một loại biến. Chẳng hạn, các luật quan hệ chỉ có
thể dùng cho các biến tên, trong khi mạng nơ-ron chỉ có thể dùng cho
các biến có giá trị bằng số.
13
- Cây quyết định là một mơ hình hộp trắng. Nếu có thể quan sát một
tình huống cho trước trong một mơ hình, thì có thể dễ dàng giải thích
điều kiện đó bằng logic Boolean. Mạng nơ-ron là một ví dụ về mơ hình
hộp đen, do lời giải thích cho kết quả quá phức tạp để có thể hiểu được.
- Có thể thẩm định một mơ hình bằng các kiểm tra thống kê. Điều này làm
cho ta có thể tin tưởng vào mơ hình.
- Cây quyết định có thể xử lý tốt một lượng dữ liệu lớn trong thời gian
ngắn. Có thể dùng máy tính cá nhân để phân tích các lượng dữ liệu lớn
trong một thời gian đủ ngắn để cho phép các nhà chiến lược đưa ra quyết
định dựa trên phân tích của cây quyết định.
1.3.4 Một số thuật tốn cây quyết định
Có một vài thuật tốn để tạo một cây quyết định:
1. CART (Classification and Regression Trees) → dùng Gini
Index(Classification) để kiểm tra.
2. ID3 (Iterative Dichotomiser 3) → dùng Entropy function và
Information gain để kiểm tra.
3. Thuật tóan C4.5 – Quilan đưa ra thuật tốn C4.5 (năm 1993) để
khắc phục hạn chế trong ID3.
4. Bagging: Xây dựng một lượng lớn các model (thường là cùng loại)
trên những tập mẫu con khác nhau từ tập bộ dữ liệu huấn luyện
(random sample trong 1 dataset để tạo 1 dataset mới). Những mơ
hình này sẽ được huấn luyện độc lập và song song với nhau nhưng
đầu ra của chúng sẽ được trung bình cộng để cho ra kết quả cuối
cùng.
5. Random Forest: Thuật toán random forest là một trong những
thuật tốn máy học phổ biến, có khả năng ứng dụng trong các lớp
bài toán hồi quy và phân loại. Tư tưởng của thuật toán là sẽ tạo ra
một khu rừng với nhiều cây quyết định (decision tree). Nói chung,
14
nếu càng có nhiều cây quyết định thì các dự đốn sẽ càng chắc chắn,
và do đó độ chính xác của mơ hình càng cao. Mỗi một cây quyết
định trong mơ hình sẽ có các node. Các node thể hiện câu hỏi là
node hình chữ nhật, cịn các node thể hiện kết quả là các node hình
trịn. Các câu hỏi trong mơ hình cây quyết định là các câu hỏi dưới
dạng nhị phân(đúng hoặc sai). Khi bộ dữ liệu huấn luyện được đưa
vào thì các cây quyết định sẽ đưa ra kết quả phân loại, dựa trên các
bộ câu hỏi nhị phân. Kết quả phân loại của thuật toán random forest
sẽ dựa trên số lượng phiếu bầu (vote) lớn nhất từ các cây quyết định
này. Thuật tốn random forest có ưu điểm là có khả năng phân loại
với độ chính xác cao ngay cả với các bộ dữ liệu bị thiếu, có khả
năng tính tốn với dữ liệu đầu vào lớn, đa chiều [5].
6. Boosting: Xây dựng một lượng lớn các mơ hình (thường là cùng
loại). Mỗi mơ hình sau sẽ học cách sửa những tập lỗi của mơ hình
trước (dữ liệu mà mơ hình trước dự đốn sai) -> tạo thành một chuỗi
các mơ hình mà mơ hình sau sẽ tốt hơn mơ hình trước bởi trọng số
được cập nhập qua mỗi mơ hình (cụ thể ở đây là trọng số của những
dữ liệu dự đốn đúng sẽ khơng đổi, cịn trọng số của những dữ liệu
dự đốn sai sẽ được tăng thêm). Chúng ta sẽ lấy kết quả của mơ
hình cuối cùng trong chuỗi mơ hình này làm kết quả trả về (vì mơ
hình sau sẽ tốt hơn mơ hình trước nên tương tự kết quả sau cũng sẽ
tốt hơn kết quả trước).
7. Gradient Boosting: sử dụng thuật tốn giảm độ dốc để giảm thiểu
lỗi của các mơ hình tuần tự.
8. Xgboost: Thuật tốn Gradient Boosting được tối ưu hóa thơng qua
xử lý các giá trị bị thiếu và chính quy hóa để giảm thiểu các mức
sai lệch của mơ hình.
1.4
THUẬT TỐN XGBOOST
15
1.4.1 Giới thiệu XGBoost
XGBoost là một thuật toán Học máy tổng hợp dựa trên cây quyết định
sử dụng khung tăng cường độ dốc. Trong các bài toán dự đoán liên quan đến
dữ liệu phi cấu trúc (hình ảnh, văn bản, v.v.), mạng nơ-ron nhân tạo có xu
hướng hoạt động tốt hơn tất cả các thuật tốn mơ hình học máy khác. Tuy nhiên,
khi nói đến dữ liệu dạng bảng có cấu trúc vừa và nhỏ, các thuật toán dựa trên
cây quyết định được coi là tốt nhất hiện nay. Biểu đồ bên dưới để biết sự phát
triển của các thuật tốn dựa trên cây qua các năm.
Hình 1.2 Sự phát triển của thuật toán XGBoost từ cây quyết định
Thuật toán XGBoost được phát triển từ một dự án nghiên cứu tại Đại học
Washington. Tianqi Chen và Carlos Guestrin đã trình bày bài báo của họ tại
Hội nghị SIGKDD vào năm 2016 và khiến thế giới Machine Learning bùng nổ.
Kể từ khi được giới thiệu, thuật tốn này khơng chỉ được ghi nhận là đã chiến
thắng nhiều cuộc thi trên Kaggle mà còn là động lực cho một số ứng dụng tiên
tiến trong ngành. Do đó, có một cộng đồng mạnh mẽ gồm các nhà khoa học dữ
liệu đóng góp cho các dự án mã nguồn mở XGBoost với ~ 350 cộng tác viên
và ~ 3.600 cam kết trên GitHub. Thuật tốn cho thấy sự khác biệt của nó bởi
các yếu tố sau: