1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng machine learning vào phân tích và dự đoán trong lĩnh vực chăm sóc sức khỏe

87 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Machine Learning Vào Phân Tích Và Dự Đoán Trong Lĩnh Vực Chăm Sóc Sức Khỏe
Tác giả Trần Minh Thư
Người hướng dẫn PGS. TS Nguyễn Gia Như
Trường học Trường Đại Học Duy Tân
Chuyên ngành Khoa học máy tính
Thể loại luận văn thạc sĩ
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 87
Dung lượng 2,66 MB

Nội dung

Số hiệuTran g 1.1 Độ chính xác của thuật toán Boosting trên các tập dữ liệu 151.2 Information Gain theo từng thuộc tính 24 2.3 Phương pháp điều trị dựa trên nguy cơ phân tầng 523.1 Kết q

Trang 1

TRẦN MINH THƯ

ỨNG DỤNG MACHINE LEARNING VÀO PHÂN TÍCH VÀ DỰ ĐOÁN TRONG LĨNH VỰC CHĂM SÓC SỨC KHỎE

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

ĐÀ NẴNG – 2023

Trang 2

TRẦN MINH THƯ

ỨNG DỤNG MACHINE LEARNING VÀO PHÂN TÍCH VÀ DỰ ĐOÁN TRONG LĨNH VỰC CHĂM SÓC SỨC KHỎE

Chuyên ngành: Khoa học máy tính

Mã số: 8480101

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: PGS TS Nguyễn Gia Như

ĐÀ NẴNG – 2023

Trang 3

LỜI CẢM ƠN

Tôi xin được bày tỏ lòng biết ơn chân thành và sâu sắc nhất tới PGS.TSNguyễn Gia Như đã tận tâm hướng dẫn và giúp đỡ trong suốt quá trình thựchiện luận văn này Tôi cũng xin cảm ơn đến các thầy cô ở khoa sau đại họcTrường Đại học Duy Tân và các Thầy cô ở các Trường, Viện khác đã thamgia giảng dạy tôi trong quá trình học Cao học tại trường Đại học Duy Tân

Cuối cùng , tôi xin gởi lời cảm ơn sâu sắc đến những người thân tronggia đình, lãnh đạo cơ quan nơi tôi công tác, bạn bè và đồng nghiệp đã tạo điềukiện và hỗ trợ tôi trong quá trình học tập

Đà Nẵng, ngày tháng năm 2023

Người thực hiện

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan những nội dung trong luận văn này là do tôi thựchiện dưới sự hướng dẫn trực tiếp của PGS, TS Nguyễn Gia Như Các tài liệutham khảo dùng trong luận văn điều được trích dẫn rõ ràng và trung thực Mọisao chép không hợp lệ, vi phạm quy chế đào tạo tôi xin chịu hoàn toàn tráchnhiệm

Học viên thực hiện

Trần Minh Thư

Trang 5

MỤC LỤC

LỜI CẢM ƠN i

LỜI CAM ĐOAN ii

DANH MỤC VIẾT TẮT ix

DANH MỤC CÁC BẢNG x

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ xi

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Tìm hiểu một số hệ thống ứng dụng học máy trong chẩn đoán bệnh 3

3 Mục đích, đối tượng, phạm vi nghiên cứu 4

4 Phương pháp nghiên cứu 5

5 Bố cục của luận văn 5

Chương 1 TỔNG QUAN 7

1.1 Tổng quan về machine learning 7

1.1.1 Định nghĩa 7

1.1.2 Phân loại các phương pháp học trong Machine Learning 8

1.1.3 Học có giám sát – Supervised learning 9

1.1.4 Học không giám sát – Unsupervised learning 9

1.1.5 Học bán giám sát – Semi-Supervised learning 10

1.1.6 Học củng cố – Reinforcement learning 11

1.2 Ứng dụng machine learning trong lĩnh vực y tế 14

1.2.1 Các nghiên cứu liên quan 14

1.2.2 Những thách thức 16

1.3 Phương pháp học máy áp dụng trong bài toán 19

1.3.1 Cây quyết định – Decision tree 19

1.3.2 Khái niệm 19

Trang 6

1.3.3 Phân lớp bằng thuật toán ID3 22

1.3.4 Các bước: 23

1.3.5 Ví dụ tập dữ liệu: 24

1.3.6 Kết luận: 26

1.3.7 Xây dựng cây quyết định 28

1.3.8 Cách phân chia mẫu 28

1.3.9 Vấn đề quá phù hợp với dữ liệu (overfitting) 33

1.3.10 Ưu điểm của cây quyết định 33

Chương 2 CHẨN ĐOÁN MỘT SỐ BỆNH DỰA TRÊN HỌC MÁY 34

2.1 Giới thiệu bài toán 34

2.2 Giải thuật rừng ngẫu nhiên 38

2.2.1 Lịch sử nghiên cứu 38

2.2.2 Bootstrap và Bagging 39

2.2.3 Out of bag 41

2.2.4 Rừng ngẫu nhiên hoạt động như thế nào? 41

2.3 Phương pháp máy vector hỗ trợ - Support Vector Machine 43

2.4 Một số thông tin về ba loại bệnh được sử dụng trong bài toán 44

2.4.1 Bệnh đái tháo đường 44

2.4.2 Mô tả quy trình tổng thể ứng dụng học máy dự đoán bệnh ĐTĐ thai nghén 47

2.4.3 Bệnh tăng huyết áp 50

2.4.4 Bệnh hen phế quản 54

Chương 3 CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ 55

3.1 Cài đặt thử nghiệm 55

3.1.1 Tiền xử lý dữ liệu 55

3.1.2 Trích chọn đặc trưng 57

3.1.3 Huấn luyện 59

Trang 7

3.1.4 Phân chia dữ liệu 59

3.1.5 Huấn luyện mô hình 60

3.1.6 Kiểm thử và kết quả 61

3.1.7 Kiểm thử với mô hình phân lớp SVM 67

3.2 Nhận xét 68

KẾT LUẬN 69

4.1 Đánh giá 69

4.2 Hướng phát triển 69

TÀI LIỆU THAM KHẢO

QUYẾT ĐỊNH GIAO ĐỀ TÀI (Bản sao)

Trang 8

DANH MỤC VIẾT TẮT

ĐTĐ Đái tháo đường

THA Tăng huyết áp

Trang 9

Số hiệu

Tran g

1.1 Độ chính xác của thuật toán Boosting trên các tập dữ liệu 151.2 Information Gain theo từng thuộc tính 24

2.3 Phương pháp điều trị dựa trên nguy cơ phân tầng 523.1 Kết quả chạy giải thuật phân lớp rừng ngẫu nhiên 603.2 Kết quả chạy giải thuật phân lớp SVM 68

DANH MỤC CÁC HÌNH V

Trang 10

Số hiệu

Tran g

1.1 Quá trình này là chuỗi khép kín, vận hành và chuyển hóaliên tục 9

1.3 Học bán giám sát (Semi - Suppervised learning) 12 1.4 Các chương trình “Alpha” của Google DeepMind lànhững ví dụ tiêu biểu của Reinforcement Learning 13 1.5 Một ví dụ về mô hình hoạt động Decision tree 22

3.3 Bảng dữ liệu được mã hóa trong mô hình RF 62 3.4 Confusion matrix without normalization 64

Trang 11

MỞ ĐẦU

1 Lý do chọn đề tài

- Theo Bộ Y tế, Nhà nước đã có nhiều chính sách và tạo ra những thayđổi tích cực để tăng số lượng, chất lượng nguồn nhân lực y tế, nhưng trênthực tế, ngành y tế, nhất là y tế ở vùng sâu vùng xã vẫn còn gặp nhiều khókhăn trong phát triển cả về nhân lực, vật lực dẫn đến những hạn chế trongchăm sóc sức khỏe của người dân, cụ thể vùng dân tộc thiểu số và miền núi ,vùng sâu vùng xa của khu vực Miền Trung-Tây Nguyên tỉ lệ này còn yếu vàthiếu như ở tỉnh Quảng Nam, tại 3 bệnh viện đa khoa tuyến tỉnh, tổng số BS

là 398, tỷ lệ BS chuyên khoa II (4%) và BS chuyên khoa I (34,7%) đều đạtthấp, so với mục tiêu phát triển nhân lực đến năm 2020 là, đối với các bệnhviện đa khoa tuyến tỉnh có ít nhất 20% BS chuyên khoa II và ít nhất 50% BSchuyên khoa I trở lên theo quyết định của Bộ Y tế

Như vậy, so với các quy định của Bộ Y tế về chuyên môn hiện hành,nhân lực y tế toàn ngành còn bất cập về cơ cấu, chưa đạt 0,2 BS/giường bệnh.Đối với khu vực miền núi, tỷ lệ bác sỹ còn thấp hơn nữa và trình độ chuyênmôn của bác sĩ cũng còn nhiều hạn chế

- Những năm qua trên thế giới, lĩnh vực y tế đã đạt được những thành tựuđột phá nhờ ứng dụng công nghệ thông tin, đặc biệt là ứng dụng trí tuệ nhân tạo,machine learning trong chẩn đoán và điều trị Và thị trường trí tuệ nhân tạo(AI) trong lĩnh vực y khoa trên thế giới có thể lên đến 12 tỉ USD vào năm

2025 với tỉ lệ tăng trưởng 6%/năm Nhiều công ty coog nghệ đã ráo riết chạyđua chiếm thị phần

Tháng 7-2017, Viện nghiên cứu Rockefeller ở New York đã công bốcông trình nghiên cứu chứng minh trí tuệ nhân tạo (AI) phân tích ung thư nãonhanh hơn nhà di truyền học đỉnh cao gấp 1.000 lần Chính vì vậy, SergeyBrin (người đồng sáng lập Google) tiên đoán quyền lực y học trong tương lai

Trang 12

sẽ nằm trong tay các nhà sáng chế biết sử dụng AI cho công cụ củamình Hiện nay, Google và IBM là hai tên tuổi lớn trong lĩnh vực kỹ thuật sốđầu tư nhiều nhất cho y tế Google đã thực hiện dự án DeepMind Health vớitham vọng sử dụng AI phân tích bệnh án và hỗ trợ chẩn đoán Tháng 7-2016,Công ty trí tuệ nhân tạo DeepMind ở Anh (Google mua lại công ty này vàonăm 2014) thông báo đã ký hợp đồng với hệ thống y tế công của Anh (NHS)

và bệnh viện mắt Moorfields ở London về phát triển AI phát hiện các bệnh vềmắt

Trong hai năm qua, DeepMind đã sử dụng phương pháp deep learning(phương pháp dạy cho máy) để lập thuật toán có khả năng nhận biết bệnhmắt Thuật toán được nạp hàng ngàn bản quét võng mạc ba chiều do bệnhviện mắt Moorfields cung cấp Thuật toán sẽ học cách phân tích dữ liệu đểphát hiện ba bệnh mắt quan trọng gồm bệnh cườm nước (glaucoma), bệnhthoái hóa điểm vàng do tuổi tác và bệnh lý võng mạc do tiểu đường

Kết quả nghiên cứu dự kiến sẽ được công bố vào năm tới Giai đoạnthử nghiệm lâm sàng sẽ được tiến hành trong vài năm nữa

Công ty DeepMind cũng đã thiết lập ứng dụng Streams dành cho cácbác sĩ Bác sĩ sử dụng ứng dụng này sẽ tự động nhận được bệnh án, như vậygiảm thời gian chờ đợi của người khám bệnh và giảm thủ tục rườm rà

Tiến tới chẩn đoán bệnh ung thư

Trong giai đoạn tới, Công ty DeepMind dự kiến sẽ sử dụng AI để chẩnđoán các bệnh ung thư Công ty đã hợp tác với Bệnh viện trường đại họcLondon (UCLH) phân tích các bản phim X quang và hợp tác với trung tâm y

tế thuộc Đại học Hoàng gia London phân tích các bản phim nhũ ảnh Trongkhi đó, giữa tháng 2-2018, Công ty Verily (chi nhánh của Alphabet Inc ở Mỹ,công ty mẹ của Google), đã công bố công trình nghiên cứu về thiết bị sử dụng

AI phân tích ảnh chụp võng mạc mắt, từ đó có thể chẩn đoán nguy cơ mắc

Trang 13

bệnh tim mạch Kết quả thử nghiệm trên 284.335 người cho thấy tỉ lệ thànhcông đạt 70% Khó khăn cần giải quyết là vấn đề đạo đức nghề nghiệp Nămngoái, Ủy ban Bảo vệ dữ liệu Anh đánh giá NHS đã phạm luật khi đồng ý choCông ty DeepMind tiếp cận bệnh án của 1,6 triệu bệnh nhân để thiết lập ứngdụng Streams Đúng ra theo luật, DeepMind phải được từng cá nhân bệnhnhân đồng ý Sau khi bị phản đối, DeepMind mới thành lập một bộ phậnnghiên cứu về hậu quả đạo đức nghề nghiệp và xã hội của trí thông minh nhântạo.

- Mới đây, tháng 10/2020, tại Hà Nội, Cục Công nghệ thông tin – Bộ Y

tế đã chức hội thảo “ứng dụng trí tuệ nhân tạo trong khám, chữa bệnh” Tronghội thảo có nhắc đến việc ứng dụng trí tuệ nhân tạo trong nội soi tiêu hóa, ứngdụng trí tuệ nhân tạo trong điều trị ung thư cũng được được quan tâm triểnkhai Bệnh viện Đa khoa tỉnh Phú Thọ, Bệnh viện K và bệnh viện Ung Bướu

TP Hồ Chí Minh đã ứng dụng phần mềm trí tuệ nhân tạo IBM Watson forOncology (IBM WFO), Mỹ, để hỗ trợ đưa ra phác đồ điều trị ung thư

Trang 14

IBM Watson for Oncology (WFO) là hệ trí tuệ nhân tạo (AI) chuyênbiệt, chỉ nhằm cung cấp các giải pháp cho bệnh ung thư Hiện nay, công nghệIBM WFO đã được ứng dụng trên 80 bệnh viện và các cơ sở y tế tại 13 quốcgia trên thế giới, hệ thống giúp ích rất nhiều cho công việc của bác sĩ Hệthống đưa ra các khuyến nghị điều trị rất phù hợp với từng trường hợpbệnh Quan trọng hơn cả là đưa ra các bằng chứng là các nghiên cứu rất có giátrị, giúp các bác sĩ lựa chọn được phác đồ điều trị phù hợp nhất cho ngườibệnh, còn người bệnh củng cố niềm tin vào phác đồ điều trị của mình Ngoài

ra, qua sử dụng các bác sĩ cũng cập nhật được kiến thức mới nhất cho mìnhthông qua các bằng chứng y khoa IBM WFO không thay thế được bác sĩ mà

đó là ứng dụng công nghệ thông tin hỗ trợ các bác sĩ, hội đồng chuyên môntrong lựa chọn quyết định phác đồ điều trị tối ưu nhất cho người bệnh

2 Tìm hiểu một số hệ thống ứng dụng học máy trong chẩn đoán bệnh

- Trước tiên phải kể đến máy tính hỗ trợ chẩn đoán Chẩn đoán là một

công việc nhằm xác định được một bệnh dựa trên các dấu hiệu và triệu trứng[16] Nó mang tính chủ quan và phụ thuộc nhiều vào kinh nghiệm của ngườiquan sát và thời gian nghiên cứu Nguyên tắc của máy tính hỗ trợ chẩn đoán là

hỗ trợ các chuyên gia y tế, được huấn luyện bằng kinh nghiệm của nhiều chuyêngia, hệ thống chẩn đoán dựa trên nền tảng học máy cho phép cải thiện tínhkhách quan và do đó tăng độ tin cậy của chẩn đoán

Trang 15

Hình 1.1: Hệ hỗ trợ chẩn đoán

Hệ thống học bao gồm hai giai đoạn: (1) phát hiện các bất thường sau

đó gán nhãn cho chúng, và (2) phân loại thành lành tính hoặc ác tính [16]

- Những năm gần đây, các nước lớn trên thế giới có các nghiên cứu và thửnghiệm các ứng dụng trí thông minh để được sử dung vào chuẩn đoán và điều trịbệnh

3 Mục đích, đối tượng, phạm vi nghiên cứu

Mục đích:

- Nghiên cứu về Machine learning và việc ứng dụng Machine learning

trong các lĩnh vực của đời sống, đặc biệt trong lĩnh vực y tế

- Nghiên cứu các thuật toán trong học máy và ứng dụng nó nhằm hỗ trợbác sĩ trong chẩn đoán một số bệnh ở người

Đối tượng nghiên cứu:

- Machine learning, các phương pháp học có giám sát

- Kỹ thuật phân lớp

Phạm vi nghiên cứu:

- Cây quyết định (Decision tree)

- Rừng ngẫu nhiên (Random forest)

Trang 16

- Máy vector hỗ trợ (Support Vector Machine)

- Dữ liệu nghiên cứu: được thu thập tại bệnh viện C thành phố Đà Nẵng,bao gồm hơn 700 bệnh án của ba bệnh: bệnh Đái tháo đường, bệnh Tăng huyết

áp và bệnh Hen phế quản

4 Phương pháp nghiên cứu

+ Có nghiên cứu lý thuyết và nghiên cứu thực nghiệm: - Nghiên cứu lýthuyết là nghiên cứu các tài liệu liên quan đến học máy, học có giám sát, phânlớp dữ liệu, cây quyết định, rừng ngẫu nhiên, máy vector hỗ trợ; tìm hiểu vềnguyên nhân, triệu chứng, quy trình chẩn đoán một số bệnh; nghiên cứu và thiết

kế mô hình phân lớp với Random forest

- Nghiên cứu thực nghiệm (empirical research) là một loại phương phápnghiên cứu sử dụng bằng chứng có thể kiểm chứng để đi đến kết quả nghiêncứu Nói cách khác, loại nghiên cứu này chỉ dựa vào bằng chứng thu đượcthông qua các phương pháp thu thập dữ liệu khoa học hoặc quan sát, trongluận văn này là thực thi kỹ thuật phân lớp Random forest (RF) trên dữ liệu bệnh áncủa ba bệnh trên nhằm chẩn đoán các bệnh đó Đồng hành với kỹ thuật phân lớpRandom forest, với chính bộ dữ liệu trên, luận văn còn thử nghiệm kỹ thuật SVM(Support Vector Machine) sau đó so sánh kết quả của hai kỹ thuật này để tìm ra kỹthuật tối ưu hơn

5 Bố cục của luận văn

Ngoài phần mở đầu và kết luận: Nội dung chính của luận văn được chiathành 3 chương:

+ Chương 1: Trình bày tổng quan cơ sở lý thuyết về học máy và việcứng dụng học máy trong chẩn đoán bệnh, tổng quan về machine learning, ứngdụng machine learning trong lĩnh vực y tế Mô tả bài toán và trình bàyphương pháp giải quyết bài toán

+ Chương 2: Giới thiệu bài toán, phương pháp học máy áp dụng trong

Trang 17

bài toán, giải thuật rừng ngẫu nhiên, phương pháp máy vector hỗ trợ - SupportVector Machine, một số thông tin về ba loại bệnh được sử dụng trong bài toán

+ Chương 3: Cài đặt thử nghiệm và đánh giá

Cài đặt thử nghiệm, nhận xét, kết luận và hướng phát triển

Trang 18

Chương 1 TỔNG QUAN 1.1 Tổng quan về machine learning

Quá trình “tự học” của Machine Learning: Về tổng thể thì quá trìnhnày sẽ đi từ xác định vấn đề, rà soát các phương án có sẵn từ bộ dữ liệu đầuvào để trả ra kết quả tương thích Sau mỗi lần xử lý, machine learning có khảnăng đánh giá và đúc kết kinh nghiệm để làm “giàu” thêm bộ dữ liệu được lậptrình ban đầu [19]

Trang 19

Hình 1.1 Quá trình này là chuỗi khép kín, vận hành và chuyển hóa liên tục

Trí tuệ nhân tạo hay AI (Artificial Intelligence) là ngành thuộc lĩnh vựckhoa học công nghệ máy tính AI hoạt động dựa trên cơ chế mô phỏng suynghĩ, nhận thức của con người và đưa vào bộ não của các thiết bị, hệ thống

Từ đó hệ thống sẽ có được trí thông minh như con người, biết dựa vào từngtình huống mà có cách xử lý khác nhau Một vài ứng dụng của AI như: y tá

ảo, trợ lý ảo, tư vấn viên ảo, robot làm việc nhà, robot công nghiệp, …Theo

sự phân tích của các nhà khoa học, chỉ trong vòng 6-8 năm nữa trí tuệ nhântạo sẽ hoàn thiện về mọi mặt Và đặc biệt hơn, trong vòng 50 năm nữa AI sẽthay thế hoàn toàn nguồn lao động con người trong một vài công việc như:công nghiệp nặng, hóa chất, dây chuyền sản xuất, … Sự tiện nghi sẽ đi đôivới thách thức cho con người, chúng ta cần phải đổi mới, hoàn thiện hơn đểcạnh tranh với lực lượng robot

- Machine learning (ML) hay máy học là một nhánh của trí tuệ nhân tạo(AI), nó là một lĩnh vực nghiên cứu cho phép máy tính có khả năng cải thiệnchính bản thân chúng dựa trên dữ liệu mẫu (training data) hoặc dựa vào kinhnghiệm (những gì đã được học) Machine learning có thể tự dự đoán hoặc đưa

ra quyết định mà không cần được lập trình cụ thể

Bài toán machine learning thường được chia làm hai loại là dự đoán(prediction) và phân loại (classification) Các bài toán dự đoán như dự đoángiá nhà, giá xe, chẩn đoán bệnh… Các bài toán phân loại như nhận diện chữviết tay, nhận diện đồ vật…

1.1 2 Phân loại các phương pháp học trong Machine Learning

- Các thuật toán dựa trên phương pháp học trong machine learning baogồm: Học có giám sát (Supervised learning), học không giám sát (Unsupervised

Trang 20

learning), học bán giám sát (Semi-Supervised learning) và Học tăng cường(reinforcement learning)

1.1.3 Học có giám sát – Supervised learning

Supervised Learning (Học có giám sát) là một nhóm thuật toán sử dụng

dữ liệu được gán nhãn nhằm mô hình hóa mối quan hệ giữa biến đầu vào (x)

và biến đầu ra (y) Hai nhóm bài toán cơ bản trong học có giám sát làclassification (phân loại) và regression (hồi quy), trong đó biến đầu ra của bàitoán phân loại có các giá trị rời rạc trong khi biến đầu ra của bài toán hồi quy

có các giá trị liên tục Với Supervised Learning, bên cạnh xây dựng các môhình mạnh, việc thu thập và gán nhãn dữ liệu tốt và hợp lý cũng đóng vai tròthen chốt để giải quyết các bài toán trong thực tế Một số phương pháp được

sử dụng trong Supervised machine learning bao gồm: logistic regression,neural networks, linear regression, naive bayes, random forest, và supportvector machine (SVM) [20]

- Có hai bài toán chính trong học có giám sát là phân lớp(Classification) và hồi quy (Regression)

1.1.4 Học không giám sát – Unsupervised learning

Unsupervised Learning (Học không giám sát) là một nhóm thuật toán

sử dụng dữ liệu không có nhãn Các thuật toán theo cách tiếp cận này hướngđến việc mô hình hóa được cấu trúc hay thông tin ẩn trong dữ liệu Hay nóicách khác, sử dụng các phương pháp này thiên về việc mô tả tính chất hay đặctính của dữ liệu Thông thường, các thuật toán này dựa trên những thông tinsau:

Mối quan hệ tương tự (similarity) giữa các ví dụ (được gọi là instance)trong dữ liệu như trong các thuật toán clustering (phân cụm)

Trang 21

Xác suất đồng xuất hiện của các đối tượng như trong Associationmining

Các phép biến đổi ma trận để trích xuất các đặc trưng như PCA, SVD.Các thuật toán khác được sử dụng trong học tập không giám sát baogồm: k-means clustering, neural networks, và probabilistic clusteringmethods

dụ như mua hàng hóa nào, nghe nhạc gì hoặc đọc tin tức gì Hệ thống khuyếnnghị có thể sử dụng các kỹ thuật AI như học máy để hiểu được sở thích củangười dùng, nhờ vậy đưa ra những dự đoán và khuyến nghị những sản phẩm/dịch vụ/nội dung mà người dùng có thể quan tâm (hàng hoá, phim, sách,

Trang 22

video, tin tức, bài hát, khách sạn, khoá học, y tế v.v.) chúng ta dựa vào nhữngquy luật đó để tạo ra một hệ thống gợi ý (Recommendation System) phục vụnhu cầu của khách hàng.

1.1.5 Học bán giám sát – Semi-Supervised learning

Học tập bán giám sát là sự kết hợp giữa học tập có giám sát và khônggiám sát Trong quá trình đào tạo, nó sử dụng một tập dữ liệu có nhãn nhỏhơn học có giám sát để hướng dẫn phân loại, trích xuất tính năng từ một tập

dữ liệu lớn hơn, không được gắn nhãn

Học bán giám sát có thể giải quyết vấn đề trong trường hợp không có

đủ dữ liệu được gắn nhãn cho thuật toán học có giám sát

Hình 1.3: Học bán giám sát (Semi - Suppervised learning)

1.1.6 Học củng cố – Reinforcement learning

- Là các bài toán giúp cho một hệ thống tự động xác định hành vi dựatrên hoàn cảnh để đạt được lợi ích cao nhất Nó chủ yếu được áp dụng vàoGame Theory, các thuật toán cần xác định nước đi tiếp theo để đạt được điểm

số cao nhất

Trang 23

Hình 1.4: Các chương trình “Alpha” của Google DeepMind là những ví dụ

tiêu biểu của Reinforcement Learning

Các thuật toán phổ biến của machine learning

Linear Regression – Hồi quy tuyến tính là một trong những thuật toánđược coi là phổ biến, cơ bản nhất và được sử dụng thường xuyên nhất trongMachine Learning Hồi quy tuyến tính là một phương trình với biến đầu vào

là (x), biến đầu ra là (y)

Khi thực hiện phân tích thuật toán, máy học sẽ tìm điểm chung giữa haibiến số: biến số (x) ở tên trực hoành (biến độc lập/ biến dự đoán) và biến số(y) trên trục tung (biến phụ thuộc/ biến kết quả) Và sau đó một phương trìnhđường thẳng hồi quy được vẽ ra, và phương trình này có thể dự đoán được (y)sau khi đã biết (x)

Phương trình thuật toán hồi quy tuyến tính với biến số (x) và (y)Thuật

toán hồi quy tuyến tính đã được nghiên cứu và pháp triển hơn 200 năm Ưuđiểm của nó là có khả năng loại bỏ những biến số tương tự nhau và các yếu tốkhông liên quan đến dữ liệu Logistic Regression (Hồi quy logistic)

Logistic Regression (Hồi quy logistic) là một thuật toán trong thống kêđược Machine Learning mượn để thực hiện Hồi quy logistic dùng kỹ thuậtphân tích và cho ra mối quan hệ của hai yếu tố, hai dữ liệu rời rạc Từ mối

Trang 24

quan hệ vừa tìm được, máy học có thể dự đoán dữ liệu đầu ra từ dữ liệu đãbiết trước.

Thuật toán Hồi quy logistic có thể được ứng dụng, hỗ trợ trong chămsóc sức khỏe Khi bác sĩ muốn chuẩn đoán tỉ lệ phần trăm mắc các bệnh củabệnh nhân do tác động của tiểu sử bệnh của người nhà hoặc các bộ gen, từ đó

sẽ có các phương pháp phòng ngừa hay điều trị kịp thời

Thuật toán Decision Tree là kỹ thuật thuộc phương pháp học máy cógiám sát Thuật toán này thường được sử dụng để phân loại các vấn đề, các

dữ liệu cho trước từ đó cho ra các kết quả dự đoán

Thuật toán với cấu trúc hình cây này sẽ được thiết lập từ trên xuốngdưới, giống như một đồ thị của các quyết định khác nhau và các kết quả cóthể của nó Thuật toán này đưa ra nhằm mục đích đạt được những kết quả tốtnhất thông qua phân tích, đánh giá các quyết định và kế hoạch kèm theo

SVM cũng là một thuật toán thuộc phương pháp giám sát, với chứcnăng chính là nhận dữ liệu đầu vào và phân loại dữ liệu thành hai lớp khácnhau Kỹ thuật này có thể hoạt động tốt trong môi trường dữ liệu khổng lồ,phân tích và đưa ra kết quả vượt trội Bên cạnh đó, dung lượng bộ nhớ màthuật toán SVM sử dụng tương đối ít so với các thuật toán khác

Thuật toán này được ứng dụng trong các mô hình chuẩn đoán bệnh.Dựa vào những chỉ số xét nghiệm mà thuật toán có thể dự đoán các bệnh nhưmáy nhiễm mỡ, gan, …; hoặc các mô hình phát hiện gian lận trong thi cử,…

Trong học máy, thuật toán Naive Bayes dùng để phân loại có xác suấtcác dữ liệu dựa trên việc áp dụng định lý Bayes và giả định độc lập giữa cáchàm (Naive)

Naive Bayes là kỹ thuật được áp dụng trong các công nghệ nhận diệnkhuôn mặt, hoặc bộ lọc trong hộp email, …

Trang 25

Thuật toán K-Nearest Neighbors (KNN) có thể được dùng với cả haimục đích phân loại và hồi quy Trong ngành khoa học máy tính, đây làphương pháp tiện dụng, mang lại nhiều hiệu quả.

Thuật toán này hoạt động theo quá trình phân loại những dữ liệu mớidựa trên việc tìm kiếm, phân tích những điểm tương đồng của dữ liệu mới nàyvới kho dữ liệu cũ

Thuật toán K-Means được sử dụng nhiều trong Machine Learning, vớichức năng chính là phân chia các dữ liệu đầu vào cho trước thành các cụmtách biệt mà trong đó mỗi cụm sẽ có những tính chất giống nhau

Thuật toán này được áp dụng cho những công việc cần phân loại haychia nhóm Ví dụ một ngân hàng muốn chia nhỏ các đối tượng khách hàngcủa họ dựa trên mức độ tần suất và số lượng dịch vụ khách hàng sử dụng để

có những chế độ ưu đãi khác nhau, khi đó họ có thể dùng thuật toán K-Meansnhư một công cụ hỗ trợ công việc đắc lực

Một tập hợp các thuật toán Decision Tree sẽ tạo thành Thuật toánRandom Forest Nói cách khác, thuật toán này sử dụng nhiều mô hình câyquyết định (Decision Tree) để có thể phân loại, hồi quy dữ liệu Kỹ thuật này

sử dụng dự đoán của nhiều cây quyết định rồi đưa ra kết quả cuối cùng vớitính chính xác cao hơn và ổn định hơn

Thuật toán Dimensionality Reduction hay dimension reduction (có thểdịch sang tiếng Việt là giảm chiều, giảm kích thước dữ liệu) là một thuật toánquan trọng trong Machine Learning Với chức năng làm giảm các chiều của

dữ liệu, từ chiều cao đến chiều thấp nhưng vẫn giữ nguyên được một số đặctính của dữ liệu, thuật toán sẽ làm tăng đáng kể hiệu suất và tính dễ dùng của

hệ thống

Phương pháp này được áp dụng nhiều đối với Big data, khi một khốilượng lớn dữ liệu vượt quá giới hạn xử lý của hệ thống Nhờ có thuật toán

Trang 26

này, hệ thống vẫn sẽ ra kết quả tương đối chính xác với các dữ liệu đã đượcrút gọn.

Cả Thuật toán Gradient Boosting và AdaBoosting (Adaptive Boboosting) đều là những thuật toán có kả năng sử dụng tập hợp các thuật toányếu hơn từ đó cải thiện và tăng hiệu xuất cho hệ thống Machine Learning

1.2 Ứng dụng machine learning trong lĩnh vực y tế

1.2.1 Các nghiên cứu liên quan

Một phương pháp phân lớp bệnh đái tháo đường sử dụng các kỹ thuật

học máy, đó là kết hợp kỹ thuật khai phá dữ liệu Multi layer Perceptron và kỹ thuật phân lớp Bayesian Net Bộ dữ liệu sử dụng là Pima Indian Diabetes Data

set có 8 thuộc tính và 768 mẫu thử nghiệm Phương pháp này cho kết quả khátốt với độ chính xác (Accuracy) đạt tỷ lệ 81,89% [8]

Phan Thị Thu Hồng và các cộng sự (2015) đã đề xuất phương pháp lấymẫu mới nhằm khắc phục nhược điểm của phương pháp RF truyền thống đốivới dữ liệu có số chiều lớn Phương pháp lấy mẫu này loại bỏ những thuộc tínhkhông liên quan tới bệnh (thuộc tính nhiễu), các thuộc tính còn lại được táchthành hai tập (tập thuộc tính ảnh hưởng mạnh và tập thuộc tính ảnh hưởng yếutới thuộc tính phụ thuộc), và cuối cùng các thuộc tính sẽ chọn ngẫu nhiên vàđộc lập với nhau để xây dựng cây quyết định [11]

Kết quả trên bộ dữ liệu thực nghiệm (dữ liệu SNP trên toàn bộ hệ gen)cho thấy phương pháp này cho độ chính xác vượt trội hơn hẳn so với phươngpháp RF truyền thống với độ chính xác đạt 90,07%

Kathleen H Miao và cộng sự (2016) đề xuất một giải thuật học máy quầnthể sử dụng thuật toán Boosting (còn gọi là AdaBoost) để chẩn đoán bệnhmạch vành tim – một căn bệnh là nguyên nhân hàng đầu dẫn đến tử vong của cảnam và nữ trên toàn cầu Thuật toán adaBoost xây dựng các bộ phân lớp yếu vàtrong quá trình huấn luyện thuật toán sẽ cập nhật lại trọng số để chuẩn bị cho

Trang 27

việc xây dựng các bộ phân lớp yếu tiếp theo và kết hợp các bộ phân lớp yếu này

để tạo ra một bộ phân lớp mạnh [12]

Nghiên cứu được thực nghiệm trên bốn tập dữ liệu Cleveland ClinicFoundation (CCF), Hungarian Institute of Cardiology (HIC), Long BeachMedical Center (LBMC) và University Hospital in Switzerland (SUH) và cho kếtquả dự đoán rất cao trên tập dữ liệu huấn luyện và tập dữ liệu kiểm thử, cụ thể:

Bảng 1.1: Độ chính xác của thuật toán Boosting trên các tập dữ liệu [12]

Data set

Accuracy Training data set Testing data set

mô hình máy học vector (Support Vector Machine) [15]

Kết quả của mô hình mới cho độ chính xác tốt nhất so với hai mô hìnhtruyền thống trên cả 10 tập dữ liệu (1: 100%; 2: 100%; 3: 75%; 4: 100%;5:100%; 6: 91.67%; 7: 95.24%; 8: 100%; 9: 100%; 10: 100%) [15]

1.2.2 Những thách thức

- Học máy (Machine learning) được ứng dụng trong nhiều lĩnh vực khácnhau Trong lĩnh vực y tế, việc ứng dụng học máy còn khá mới mẻ, có khánhiều thách thức khi ứng dụng học máy để giải quyết các vấn đề trong y tế, cóthể thấy như là:

o Dữ liệu chất lượng kém

Trang 28

Dữ liệu là yếu tố quan trọng nhất trong machine learning và nếu dữ liệu

có chất lượng kém thì mô hình sẽ không đạt được kết quả tốt Thách thức nàybao gồm việc thu thập dữ liệu chính xác, đầy đủ và đảm bảo tính khả dụngcho machine learning

Giải pháp: Kiểm tra và loại bỏ dữ liệu nhiễu và dữ liệu bị thiếu Hoặcthu thập thêm dữ liệu từ các nguồn khác nhau để đảm bảo đầy đủ và đa dạng

o Vấn đề về bảo mật và riêng tư

Vấn đề về bảo mật và riêng tư của dữ liệu là một trong những tháchthức lớn nhất đối với machine learning Các mô hình machine learning có thểphát hiện ra các kết luận rò rỉ thông tin riêng tư [16]

Giải pháp: Sử dụng các phương pháp kiểm soát truy cập để đảm bảorằng chỉ những người được phép mới có thể truy cập vào dữ liệu Hay cácphương pháp mã hóa dữ liệu để giữ cho dữ liệu được bảo mật và không thểtruy cập trái phép

o Khả năng diễn giải

Khả năng diễn giải của các mô hình machine learning là một thách thứcquan trọng Đặc biệt, trong các ứng dụng như y tế và tài chính, khi các quyếtđịnh của mô hình có thể ảnh hưởng đến cuộc sống và tài sản của con người

Giải pháp: Sử dụng các thuật toán đơn giản và dễ hiểu để xây dựng các

mô hình Machine learning

o Hiệu suất và độ chính xác

Trang 29

Độ chính xác và hiệu suất của mô hình là một thách thức liên quan đếnnhiều yếu tố như kiến trúc của mô hình, thuật toán, tập dữ liệu và quy trìnhhuấn luyện.

Giải pháp: Sử dụng các phương pháp tăng cường (boosting) để cải thiện

độ chính xác của mô hình Machine learning Tăng cường quy trình kiểm tra

và xác minh để đảm bảo rằng mô hình Machine learning được đánh giá mộtcách chính xác và có thể đưa ra dự đoán chính xác

o Điều chỉnh tham số

Điều chỉnh tham số của mô hình là một quá trình quan trọng để tối ưuhóa hiệu suất của mô hình Tuy nhiên, việc điều chỉnh tham số có thể rất phứctạp và tốn nhiều thời gian

Giải pháp: Tăng cường việc kiểm tra và đánh giá mô hình Machinelearning để đảm bảo rằng các giá trị tối ưu được tìm thấy cho các tham số làchính xác và đáng tin cậy

o Overfitting và underfitting

Overfitting và underfitting là hai vấn đề cơ bản trong machine learning.Overfitting xảy ra khi mô hình quá phức tạp và không thể tổng quát hóa chocác dữ liệu mới Underfitting xảy ra khi mô hình quá đơn giản để tìm ra cácmẫu quan trọng trong dữ liệu

Giải pháp: Tăng cường quy trình kiểm tra và xác minh để đảm bảo rằng

mô hình Machine learning được đánh giá một cách chính xác và có thể đưa ra

dự đoán chính xác

o Khả năng tiếp cận

Một trong những thách thức lớn trong khả năng tiếp cận của Machinelearning (Học máy) là độ phức tạp của các mô hình Các mô hình Machinelearning thường được xây dựng dựa trên các thuật toán và công nghệ phức

Trang 30

tạp, và việc triển khai và sử dụng chúng yêu cầu kiến thức chuyên môn về lậptrình, toán học và thống kê Do đó, việc tìm kiếm và thuê được các chuyên gia

có kinh nghiệm và kiến thức trong lĩnh vực này là một thách thức lớn đối vớicác doanh nghiệp và tổ chức

Giải pháp: Thúc đẩy các chương trình đào tạo và giáo dục về Machinelearning để tăng cường khả năng tiếp cận của cộng đồng người dùng và nhàphát triển

o Triển khai

Mặc dù điều này nghe có vẻ thú vị, nhưng nhiều chuyên gia máy họcphải vật lộn với việc triển khai đúng các dự án của họ Đôi khi, những ngườilàm việc với ML gặp khó khăn trong việc hiểu các vấn đề kinh doanh

Giải pháp: Tăng tốc độ triển khai: Sử dụng các kĩ thuật tối ưu để giảmthiểu thời gian triển khai và tăng tốc độ dự đoán Tự động hóa quá trình triểnkhai: Sử dụng các công cụ tự động hóa để tạo ra các ứng dụng triển khai MLnhanh chóng và hiệu quả

o Dữ liệu đào tạo video

Thách thức trong dữ liệu đào tạo video của Machine learning là khókhăn trong việc xử lý và phân tích dữ liệu video do khối lượng lớn, đa dạng

và phức tạp, đặc biệt trong việc trích xuất thông tin và tạo ra các đặc trưng từ

dữ liệu video Ngoài ra, việc đánh giá hiệu quả của các thuật toán Machinelearning cũng đòi hỏi sự chính xác cao trong quá trình gán nhãn dữ liệu

1.3 Phương pháp học máy áp dụng trong bài toán

- Luận văn dùng phương pháp phân lớp rừng ngẫu nhiên (RandomForest) cho bài toán phân loại bệnh Giải thuật rừng ngẫu nhiên cho độ chínhxác cao so với các giải thuật phân lớp tốt nhất hiện nay bao gồm Boosting vàSVM (Support Vector Machine), cộng với thời gian huấn luyện mô hình nhanh,

Trang 31

khả năng chịu nhiễu tốt và không bị “học vẹt” Thêm vào đó, luận văn còn sửdụng phương pháp máy vector hỗ trợ nhằm kiểm chứng lại kết quả và đối chiếuvới mô hình rừng ngẫu nhiên về độ chính xác.

- Thành phần chính tạo nên rừng ngẫu nhiên chính là cây quyết định, luậnvăn sẽ trình bày một số kiến thức cơ bản về cây quyết định làm nền tảng để tìmhiểu về rừng ngẫu nhiên

1.3.1 Cây quyết định – Decision tree

1.3.2 Khái niệm

- Trong học máy có nhiều mô hình phân lớp đã được các nhà khoa học

đề xuất như giải thuật di truyền, mạng noron, thống kê tuyến tính, cây quyếtđịnh Trong đó, cây quyết định được sử dụng phổ biến và rất thích hợp chokhai phá dữ liệu (data mining) nói chung và phân lớp dữ liệu nói riêng bởi đây làmột công cụ mạnh và thường cho kết quả chính xác cao hơn so với các phươngpháp khác

Cây quyết định bắt trước mức độ suy nghĩ của con người nên nó đơn giản để hiểu và thấy được tính logic từ dữ liệu

Trang 32

Hình 1.5: Một ví dụ về mô hình hoạt động Decision tree

Cây quyết định là một trong những mô hình có khả năng diễn giải cao và cóthể thực hiện cả nhiệm vụ phân loại và hồi quy Như tên cho thấy Cây quyếtđịnh là mô hình cấu trúc giống cây giống như cây lộn ngược Tại thời điểmnày, có thể có một câu hỏi như chúng ta đã có các mô hình học máy cổ điểnnhư hồi quy tuyến tính và hồi quy logistic để thực hiện các nhiệm vụ hồi quy

và phân loại trong trường hợp như vậy thì sự cần thiết của một mô hình khácnhư Cây quyết định là gì Câu trả lời cho câu hỏi này là để thực hiện các môhình tuyến tính cổ điển, chúng ta cần đảm bảo rằng dữ liệu được sử dụng đểđào tạo mô hình không có tất cả các bất thường như giá trị bị thiếu, các giá trịngoại lệ cần được xử lý, đa cộng tuyến cần được giải quyết Toàn bộ quá trìnhtiền xử lý dữ liệu cần được thực hiện trước đó Trong khi trong Cây quyếtđịnh, chúng ta không cần phải thực hiện bất kỳ loại xử lý trước dữ liệu nào

Trang 33

trước đó Cây Quyết định đủ mạnh để xử lý tất cả các loại vấn đề như vậy để

đi đến quyết định Ngoài ra, Cây quyết định có khả năng xử lý dữ liệu phituyến mà các mô hình tuyến tính cổ điển không xử lý được Do đó Cây quyếtđịnh đủ đa dạng để thực hiện cả nhiệm vụ hồi quy và phân loại Toàn bộnhững ưu và nhược điểm liên quan đến Cây quyết định

Hình 1.6: Học bằng cây quyết định

Có một vài thuật toán để tạo một cây quyết định, chúng ta sẽ nói về 2 trong số chúng:

CART (Classification and Regression Trees) → dùng Gini

Index(Classification) để kiểm tra

ID3 (Iterative Dichotomiser 3) → dùng Entropy function và

Information gain để kiểm tra

1.3.3 Phân lớp bằng thuật toán ID3

- Ý tưởng:

Trang 34

Trong ID3, chúng ta cần xác định thứ tự của thuộc tính cần được xemxét tại mỗi bước Với các bài toán có nhiều thuộc tính và mỗi thuộc tính cónhiều giá trị khác nhau, việc tìm được nghiệm tối ưu thường là không khả thi.Thay vào đó, một phương pháp đơn giản thường được sử dụng là tại mỗibước, một thuộc tính tốt nhất sẽ được chọn ra dựa trên một tiêu chuẩn nào đó(chúng ta sẽ bàn sớm) Với mỗi thuộc tính được chọn, ta chia dữ liệu vàocác child node tương ứng với các giá trị của thuộc tính đó rồi tiếp tục áp dụngphương pháp này cho mỗi child node Việc chọn ra thuộc tính tốt nhất ở mỗi

bước như thế này được gọi là cách chọn greedy (tham lam) Cách chọn này có

thể không phải là tối ưu, nhưng trực giác cho chúng ta thấy rằng cách làm này

sẽ gần với cách làm tối ưu Ngoài ra, cách làm này khiến cho bài toán cần giảiquyết trở nên đơn giản hơn

Sau mỗi câu hỏi, dữ liệu được phân chia vào từng child node tương ứngvới các câu trả lời cho câu hỏi đó Câu hỏi ở đây chính là một thuộc tính, câutrả lời chính là giá trị của thuộc tính đó Để đánh giá chất lượng của một cáchphân chia, chúng ta cần đi tìm một phép đo

Trước hết, thế nào là một phép phân chia tốt? Bằng trực giác, một phépphân chia là tốt nhất nếu dữ liệu trong mỗi child node hoàn toàn thuộc vàomột class–khi đó child node này có thể được coi là một leaf node, tức takhông cần phân chia thêm nữa Nếu dữ liệu trong các child node vẫn lẫn vàonhau theo tỉ lệ lớn, ta coi rằng phép phân chia đó chưa thực sự tốt Từ nhận

xét này, ta cần có một hàm số đo độ tinh khiết (purity), hoặc độ vẩn đục (impurity) của một phép phân chia Hàm số này sẽ cho giá trị thấp nhất nếu dữ liệu trong mỗi child node nằm trong cùng một class (tinh khiết nhất),

và cho giá trị cao nếu mỗi child node có chứa dữ liệu thuộc nhiều class khácnhau

Trang 35

Một hàm số có các đặc điểm này và được dùng nhiều trong lý thuyết

thông tin là hàm entropy.

1.3.4 Các bước:

ID3_algorithm(Training_Set, Class_Labels, Attributes)

Tạo nút Root của cây quyết định

If tất cả các ví dụ của Training_Set thuộc cùng lớp c

Return Cây quyết định có nút Root được gắn với (có nhãn) lớp c

Thuộc tính kiểm tra cho nút Root ← A

For each Giá trị có thể v của thuộc tính A

Bổ sung một nhánh cây mới dưới nút Root, tương ứng với trường hợp:

Else Gắn vào nhánh cây mới vừa tạo một cây con sinh ra bởi

ID3_algorithm(Training_Setv, Class_Labels, {Attributes A})

Return Root

2 Giao diện chính của chương trình Demo gồm 4 phần:

o Phần 1: Bảng lưu dữ liệu training (Data Training)

o Phần 2: Ghi ra các bước giải của thuật toán (Solutions)

o Phần 3: Vẽ cây minh họa cho thuật toán (Decision Tree)

Trang 36

o Phần 4: Các chức năng của chương trình (Control).

Có 4 button với các chức năng như sau:

- Load Data: Đưa dữ liệu training vào chương trình

- ID3 – Alg: Chạy giải thuật ID3

- Reset: Khởi động, chạy lại chương trình

- About: Thông tin về chương trình

3 Các bước chạy chương trình:

- Đầu tiên, nạp dữ liệu vào chương trình bằng button Load Data

Dữ liệu được đưa lên bảng Data Training (Phần 1)

- Sau đó, nhấn button ID3 – Alg để chạy giải thuật

Các bước giải sẽ được hiện ra ở phần 2 (Solutions)

Cây được vẽ ra ở phần 3 (Decision Tree)

1.3.5 Ví dụ tập dữ liệu:

Bảng 1.2: Information Gain theo từng thuộc tính.

Trang 37

Bảng 1.3: Phân phối theo giá trị

Hình 1.7: Dựng cây với nốt là thuộc tính Age

Trang 38

Hình 1.8: Tiếp tục tính Information Gain cho những thuộc tính còn lại

1.3.6 Kết luận:

Ưu điểm

- Mô hình dễ hiểu và dễ giải thích

- Cần ít dữ liệu để huẩn luyện

- Có thể xử lý tốt với dữ liệu dạng số (rời rạc và liên tục) và dữ liệu hạng mục

- Mô hình dạng white box rõ ràng

- Xây dựng nhanh

- Phân lớp nhanh

Nhược điểm

- Không đảm bảo xây dựng được cây tối ưu

- Có thể overfitting (tạo ra những cây quá khớp với dữ liệu huấn luyện hay quá phức tạp)

- Thường ưu tiên thuộc tính có nhiều giá trị (khắc phục bằng các sử dụng Gain Ratio)

Ứng dụng

- Xử lý tốt dữ liệu dạng bảng biếu với số thuộc tính không quá lớn

Trang 39

Mediu

Heigh

Tall shor

Tall shor

o Nhánh: mang giá trị của thuộc tính

- Ví dụ: Để xác định một người là CAO hay THẤP, người ta bắt đầu từGIỚI TÍNH của họ

o Nếu giới tính là NỮ và chiều cao nhỏ hơn 1.3m thì được coi là thấp,ngược lại chiều cao từ 1.3m - dưới 1.6m thì được coi là trung bình, còn lại đượccoi là cao

o Nếu giới tính là NAM và chiều cao nhỏ hơn 1.5m thì được coi là thấp,ngược lại chiều cao từ 1.5m - dưới 1.8m thì được coi là trung bình, còn lại đượccoi là cao

Sơ đồ bên dưới là một dạng cây quyết định

Trang 40

Hình 1.9: Ví dụ về cây quyết định khác

1.3.7 Xây dựng cây quyết định

Quá trình xây dựng cây quyết định gồm hai giai đoạn:

Giai đoạn 1: Phát triển cây quyết định bằng phương pháp đệ quy:

- Xác định nút gốc

- Kiểm tra giá trị thuộc tính

- Xác định thuộc tính cho tiêu chuẩn tốt nhất (có độ đo tốt nhất) đượcdùng để phân chia các mẫu (đệ quy)

- Lặp lại cho đến khi gặp điều kiện dừng

Giai đoạn 2: Cắt tỉa bớt các cành nhánh trên cây quyết định nhằm loại bỏcác nhánh không ổn định hoặc các nhánh cá biệt, tăng độ tập trung của cây,nâng cao độ chính xác

Thuật toán xây dựng cây quyết định

- Ý tưởng chung của thuật toán như sau:

1 Ở nút hiện tại, nếu tất cả các đối tượng huấn luyện đều thuộc vào mộtlớp nào đó thì đó chính là nút lá có tên là nhãn lớp chung của các đối tượng.Ngược lại, sử dụng một độ đo, chọn thuộc tính phân chia tốt nhất tập mẫu huấnluyện có tại nút

2 Tạo các nút con của nút hiện tại bằng số các giá trị khác nhau củathuộc tính được chọn, gán cho mỗi nhánh từ nút cha đến nút con một giá trị củathuộc tính rồi phân chia các đối tượng huấn luyện vào các nút con tương ứng

3 Nút con M được gọi là thuần nhất và trở thành nút lá nếu tất cả cácmẫu tại đó đều thuộc vào cùng một lớp

4 Lặp lại các bước 1 - 2 đối với mỗi nút con chưa thuần nhất

1.3.8 Cách phân chia mẫu

- Tiêu chuẩn phân chia: tạo ra các nhóm sao cho một lớp chiếm ưu thế

Ngày đăng: 17/03/2024, 23:01

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w