TÓM TẮT Trong những vấn đề về khai thác dữ liệu hiện đang được nhiều nhà khoa học quan tâm là tìm kiếm tập phổ biến, nhưng đối với nhiều loại cơ sở dữ liệu đặc thù có ngưỡng phổ biến min
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP.HCM
NGUYỄN VŨ MINH DUY
ÁP DỤNG KHAI THÁC TẬP PHỔ BIẾN TỐI ĐẠI ĐỂ PHÁT TRIỂN HỆ HỖ TRỢ QUYẾT ĐỊNH CHẨN
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP.HCM
NGUYỄN VŨ MINH DUY
ÁP DỤNG KHAI THÁC TẬP PHỔ BIẾN TỐI ĐẠI ĐỂ PHÁT TRIỂN HỆ HỖ TRỢ QUYẾT ĐỊNH CHẨN
Trang 3CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
Cán bộ hướng dẫn khoa học : PGS.TS Quản Thành Thơ
Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP HCM
ngày 23 tháng 4 năm 2017
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)
5 TS Nguyễn Thị Thúy Loan Ủy viên, Thư ký
Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được
sửa chữa (nếu có)
Chủ tịch Hội đồng đánh giá LV
TS.Vũ Thanh Hiền
Trang 4NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Nguyễn Vũ Minh Duy Giới tính: Nam
Ngày, tháng, năm sinh: 05/08/1983 Nơi sinh: Đồng tháp
Chuyên ngành: Công nghê thông tin MSHV: 1441860042
I- Tên đề tài:
Áp dụng khai thác tập phổ biến tối đại để phát triển hệ hỗ trợ quyết định chẩn
đoán điều trị
II- Nhiệm vụ và nội dung:
Nghiên cứu cách thức sử dụng triệu chứng hỗ trợ cho bác sĩ ra quyết định chẩn
đoán bệnh Nghiên cứu giải thuật tập phổ biến tối đại trong khai thác dữ liệu Phát
triển hệ thống hỗ trợ ra quyết định chẩn đoán điều trị dựa trên thuật toán khai thác tập
phổ biến tối đại Hiện thực hệ thống thành một phân hệ ứng dụng (mô đun) tích hợp
vào phần mềm quản lý khám bệnh, để hỗ trợ ra quyết định chẩn đoán điều trị trong
quá trình khám chữa bệnh của bác sĩ
III- Ngày giao nhiệm vụ: 23/01/2016
IV- Ngày hoàn thành nhiệm vụ: 30/03/2017
V- Cán bộ hướng dẫn: PGS.TS Quản Thành Thơ
CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH
(Họ tên và chữ ký) (Họ tên và chữ ký)
PGS.TS Quản Thành Thơ
Trang 5LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và sự hướng dẫn khoa học của PGS.TS Quản Thành Thơ Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc
Học viên thực hiện Luận văn
(Ký và ghi rõ họ tên)
Trang 6LỜI CÁM ƠN
Lời đầu tiên, với lòng biết ơn sâu sắc, tôi xin chân thành cảm ơn đến các quý Thầy,
Cô giảng viên đặc biệt là PGS.TS Võ Đình Bảy, quý Thầy Cô ở Phòng Quản Lý Khoa Học- Đào Tạo Sau Đại Học và bạn bè của trường Đại Học Công Nghệ Hutech đã tận tình truyền đạt cho học viên những kiến thức quý báu trong suốt quá trình học tập, nghiên cứu và rèn luyện để tôi hoàn thành tốt khóa học
Tôi xin gửi lời cảm ơn chân thành đến TS Bs Võ Thành Liêm giảng viên Khoa Y học gia đình, trường Đại học y Phạm Ngọc Thạch và nhiều bác sĩ đồng nghiệp Y khoa
đã hướng dẫn tôi thêm kiến thức về chuyên ngành y trong việc chẩn đoán khám chữa bệnh để hoàn thành kết quả nghiên cứu Tôi xin chân thành cảm ơn Ông Nguyễn Duy Nam Tổng Giám đốc Công ty Tin học PowerSoft (PowerSoft.vn) đã tạo điều kiện và cho phép tôi tích hợp phân hệ ứng dụng vào phần mềm quản lý phòng khám của công ty
để đưa vào áp dụng thực tiễn
Bên cạnh đó, tôi rất chân thành cảm ơn PGS.TS Quản Thành Thơ người Thầy đã
đã tận tâm truyền đạt kiến thức, dành nhiều thời gian giảng dạy hướng dẫn tôi trong quá trình nghiên cứu chuyên môn để hoàn thành Luận văn mình một cách tốt nhất
Cuối cùng, tôi xin gửi đến bạn bè, đồng nghiệp đã tạo điều kiện thuận lợi về mọi mặt trong quá trình học tập và nghiên cứu của mình, sự thành công của Luận văn tôi không thể không nhắc đến những người thân trong gia đình luôn luôn chia sẽ, động viên, giúp tôi có động lực vượt qua những thời điểm khó khăn nhất
TP Hồ Chí Minh, ngày 30 tháng 03 năm 2017
(Họ và tên của tác giả Luận văn)
Nguyễn Vũ Minh Duy
Trang 7TÓM TẮT
Trong những vấn đề về khai thác dữ liệu hiện đang được nhiều nhà khoa học quan tâm là tìm kiếm tập phổ biến, nhưng đối với nhiều loại cơ sở dữ liệu đặc thù có ngưỡng phổ biến (minsupp) quá thấp thì có mật độ tập phổ biến quá nhiều hoặc ngược lại ngưỡng phổ biến quá cao thì tập phổ biến quá ít hoặc gần như không có, nên có rất nhiều phương pháp phân tích xem xét vấn đề trên, từ đó các thuật toán tìm tập phổ biến tối đại đã được
đề xuất Hiện nay với nguồn dữ liệu triệu chứng bệnh có mối quan hệ với bệnh lý của bệnh nhân càng phát triển lớn và nhanh,vì hàng năm các bệnh viện phải tổ chức lưu trữ nguồn dữ liệu càng phát triển do số lượng bệnh nhân càng đông hơn Từ đó với nguồn
cơ sở dữ liệu lớn như vậy có nhiều chiến lược, phương pháp để xây dựng hệ hỗ trợ quyết định trong lịnh vực y tế Vấn đề tìm ra các triệu chứng bệnh phổ biến nhất liên quan đến nhiều mặt bệnh nhằm hỗ trợ bác sĩ đưa ra quyết định chẩn đoán bệnh tốt hơn cho bệnh nhân, từ đó học viên đề xuất áp dụng thuật toán tìm ra tập phổ biến tối đại vào bài toán
đề tài Học viên áp dụng thuật toán MAFIA để áp dụng vào mục tiêu đề tài với kỹ thuật sắp xếp tăng dần theo độ hỗ trợ (Dynamic Recording) và nhiều chiến lược tỉa nhánh như PEP, FHUT,HUTMFI nhằm mục đích tìm ra tập phổ biến tối đại triệu chứng bệnh để áp dụng vào hệ hỗ trợ ra quyết định chẩn đoán điều trị cung cấp cho bác sĩ ra quyết định điều trị cho người bệnh
Trang 8ABSTRACT
Looking for frequent itemsets is currently interested by too many scientists, In the issue of data mining is currently interested many scientists are seeking frequent itemstes, but for many type-specific database with common threshold (minsupp) is too low, the set density too much popular or vice versa common threshold set too high, too little common or almost no, so there are many methods of analysis to consider the issue, from which the search algorithm of maximal common practice has proposed Currently the data sources symptoms have a relationship with the patient's pathology grow big and fast, because every year the hospital to organize archive data sources grows as the number of patients from east than From there to the source database so big there are strategies and methods to build decision support systems in the medical field Problem finding out the most common symptoms related to the disease to support many doctors make decisions to better diagnose patients, from which students apply the algorithm proposed finding common practice maximal in math topic Students apply MAFIA algorithm to apply to the target with the technical topics sorted in ascending order of magnitude supports (Dynamic Recording) and pruning strategies such as PEP, FHUT, HUTMFI aims to find common practice maximal symptoms for application in a decision support system diagnosis and treatment give doctors treatment decisions for patients
Trang 9MỤC LỤC
DANH MỤC CÁC BẢNG xi
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Nội dung nghiên cứu 3
3 Mục tiêu nghiên cứu 3
4 Đối tượng nghiên cứu 4
5 Phạm vi nghiên cứu 4
6 Phương pháp nghiên cứu 4
7 Cấu trúc luận văn 5
Chương 01: GIỚI THIỆU TỔNG QUAN 6
1.1 Các khái niệm và định nghĩa 6
1.2 Tổng quan khai thác tập phổ biến và luật kết hợp 10
1.3 Hệ chuyên gia trong lĩnh vực y tế 14
1.4 Kết luận chương 01 17
Chương 02: KHAI THÁC TẬP PHỔ BIẾN TỐI ĐẠI 18
2.1 Tổng quát khai thác tập phổ biến tối đại 18
2.2 Thuật toán tìm kiếm theo chiều rộng Apriori 19
2.3 Thuật toán tìm kiếm theo chiều rộng Max-Miner 24
2.4 Thuật toán tìm kiếm theo chiều sâu GENMAX 27
2.5 Thuật toán tìm kiếm theo chiều sâu FPMAX 31
2.6 Thuật toán tìm kiếm theo chiều sâu MAFIA 36
2.7 Thuật toán mở rộng xMAFIA (Extention MAFIA): 51
2.8 Kết luận chương 02 55
CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ 59
3.1 Môi trường thực nghiệm thuật toán 59
3.2 Kết quả thực nghiệm các giải thuật trên CSDL 62
3.3 Mô đun hệ hỗ trợ ra quyết định chẩn đoán bệnh và CSDL 65
3.3.1 Qui trình khám chữa bệnh cho bệnh nhân đến khám bệnh: 65
3.3.2 Mô đun độc lập hỗ trợ ra quyết định chẩn đoán bệnh: 70
3.3.3 Tích hợp mô đun hỗ trợ ra quyết định chẩn đoán bệnh vào phần mềm quản lý phòng khám: 77
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 81
Trang 101 Kết luận 81
2 Nhận xét ưu điểm và hạn chế 82 TÀI LIỆU THAM KHẢO 84
Trang 11DANH MỤC CÁC TỪ VIẾT TẮT
Ký hiệu và
từ viết tắt Nghĩa tiếng Anh Nghĩa tiếng Việt
DBT Database Transaction Cơ sở dữ liệu giao dịch
Trang 12DANH MỤC CÁC HÌNH VÀ ĐỒ THỊ
hình 1.1 vị trí của kpdl 7
hình 1.2 kiến trúc của hệ thống kpdl 8
hình 1.3 dữ liệu triệu chứng được trích từ phác đồ điều trị và nguồn csdl khám bệnh 15
hình 1.4 dữ liệu triệu chứng và bệnh được mô hình lên dàn 15
hình 2.1 mô hình các loại tập phổ biến 18
hình 2.2 hình các bước chạy thuật toán apriori 21
hình 2.3 tìm kiếm trên cây của max-miner 25
hình 2.4 các bước chạy thuật toán max-miner 25
hình 2.5 các bước chạy thuật toán genmax 28
hình 2.6 biểu diễn csdl dạng bitmap và biểu diễn trên dàn của fp-max 32
hình 2.7 tập csdl được biểu diễn theo fp- tree 32
hình 2.8 hình minh họa việc xây dựng các mfi-tree cho các ví dụ về csdl 35
hình 2.9 hình minh họa giàn tập mục (the itemset lattice) 37
hình 2.10 hình minh họa dàn thể hiện các tập phổ biến 37
hình 2.11 hình biểu diễn cách thức phối hợp các thuật toán của mafia [12] 42
hình 2.12 hình biểu diễn sự tác động của chiến lược rẻ nhánh khi có dùng reordering và không dùng reordering [12] 43
hình 2.13 hình biểu diễn csdl dưới dạng bitmap theo chiều dọc 44
hình 2.14 hình biểu diễn các bước chạy giải thuật dsf 46
Trang 13hình 2.15 hình biểu diễn các bước chạy giải thuật pep 47
hình 2.16 hình biểu diễn các bước chạy giải thuật fhut 48
hình 2.17 hình biểu diễn các bước chạy giải thuật hutmfi 49
hình 2.18 hình biểu diễn các bước chạy giải thuật mafia 50
hình 2.19 hình nhận xét bước chạy giả thuật mafia theo csdl bảng 2.5 52
hình 2.20 hình nhận xét bước chạy giải thuật xdfs 54
hình 2.21 hình các so sánh giải thuật khai thác tập mfi của tác giả g¨osta grahne và jianfei zhu [10] 57
hình 2.22 hình các so sánh phân loại theo csdl của các giải thuật do tác giả g¨osta grahne và jianfei zhu thực hiện [10] 57
hình 3.1 hình ví dụ cấu trúc csdl được tạo ra từ công cụ [16] [17] 59
hình 3.2 hình kết quả thực nghiệm trên tập csdl bảng 2.5 minsupp 0.25 61
hình 3.4 hình kết quả chạy các giải thuật các csdl ở bảng 3.1 64
hình 3.5 hình ví dụ mô hình khám bệnh tại một bệnh viện hoặc phòng khám 65
hình 3.6 hình chụp mô tả csdl triệu chứng liên quan mặt bệnh 68
hình 3.7 hình chụp mô tả csdl các giao dịch bác sĩ khi khám bệnh cho bệnh nhân có các ghi nhận triệu chứng khi khám bệnh đã được mã hoá 69
hình 3.8 hình mô tả mô hình xử lý csdl bệnh và triệu chứng 71
hình 3.9 hình mô tả thao tác thực hiện trên giao diện website 72
hình 3.10 hình kết quả chạy cho ra các bộ mfi từng bệnh của 10 bộ csdl giao dịch bệnh 76
Trang 14hình 3.11 hình mô tả mô hình hoạt động hệ hỗ trợ ra quyết định chẩn đoán bệnh tích hợp phần mềm khám bệnh 78 hình 3.12 hình mô tả các chức năng cơ bản của phần mềm quản lý khám bệnh powersoft tích hợp mô đun hỗ trợ quyết định chẩn đoán điều trị 79 hình 3.13 hình mô tả mô đun hỗ trợ quyết định chẩn đoán điều trị 80
Trang 15DANH MỤC CÁC BẢNG
Bảng 2.1 CSDL giao dịch ví dụ thuật toán Apriori 20
Bảng 2.2 CSDL giao dịch biểu diễn dạng nhị phân ví dụ thuật toán Apriori 21
Bảng 2.3 CSDL giao dịch ví dụ cho thuật toán GENMAX 27
Bảng 2.4 CSDL giao dịch theo chiều dọc của thuật toán GENMAX 30
Bảng 2.4 Bảng tính tập {i}-mẫu điều kiện với từng item phổ biến i 34
Bảng 2.5 ví dụ một cơ sở dữ liệu Giao dịch id với các tập mục 36
Bảng 3.1 mô tả CSDL chạy thực nghiệm 60
Hình 3.3 Hình kết quả thời gian chạy các giải thuật CSDL07 với minsupp 0.7 61
Bảng 3.2 mô tả CSDL bệnh thu thập được từ phần mềm khám chữa bệnh để chạy thực nghiệm mô đun hệ hỗ trợ ra quyết định khám bệnh 70
Trang 16MỞ ĐẦU
1 Lý do chọn đề tài
Với sự phát triển vượt bậc và khả năng ứng dụng công nghệ thông tin đã đem lại nhiều hiệu quả, trong đó lĩnh vực khai thác dữ liệu mang lại hiệu quả thiết thực trong nhiều ngành nghề Khai thác dữ liệu đã giúp người sử dụng thu được những tri thức hữu ích từ những cơ sở dữ liệu, các kho dữ liệu khổng lồ, hoặc những công cụ
hỗ trợ được tạo ra cho người sử dụng ra quyết định từ nguồn dữ liệu được các chuyên gia chuyên ngành xử lý
Các cơ sở dữ liệu trong các đơn vị, các ngành kinh doanh, trong các lĩnh vực chứa đựng nhiều thông tin giá trị, phong phú và đa dạng, từ đó cần phải có những phương pháp nhanh, phù hợp, chính xác, hiệu quả để khai thác được những thông tin
bổ ích Những “tri thức” trích xuất từ nguồn cơ sở dữ liệu trên sẽ là nguồn thông tin
hỗ trợ cho lãnh đạo, người ra quyết định trong việc lên kế hoạch hoạt động hoặc trong việc ra chương trình sản xuất kinh doanh Hoặc trong lĩnh vực cơ sở dữ liệu y tế, sự kết hợp có ý nghĩa của các triệu chứng bệnh có thể cung cấp các thông tin hữu ích cho các bác sĩ chẩn đoán để quyết định hướng điều trị sức khoẻ cho bệnh nhân Trong những vấn đề về khai thác dữ liệu hiện đang được nhiều quan tâm của các nhà nghiên cứu là phát hiện tập phổ biến, nhưng đối với nhiều loại cơ sở dữ liệu
có ngưỡng phổ biến do người dùng xác định quá thấp thì có mật độ tập phổ biến quá nhiều hoặc ngược lại ngưỡng phổ biến quá cao thì tập phổ biến quá ít hoặc không có nên rất khó để phân tích xem xét, việc khám phá tập phổ biến tốt nhất, tập phổ biến tối đại là vấn đề cần quan tâm
Ngày nay, nhiều đơn vị y tế đã và đang ứng dụng công nghệ thông tin vào công tác hỗ trợ chuyên môn, công tác quản lý bệnh viện, quản lý phòng khám ngày càng phát triển kể cả trong nước và ngoài nước Việc tận dùng tri thức từ CSDL khám bệnh
và nguồn tri thức chuyên môn có sự đánh giá và kiểm duyệt của các chuyên gia y tế
để các bác sĩ có thể đưa ra quyết định chẩn đoán điều trị cho bệnh nhân đang là nhu
Trang 17cầu của đơn vị y tế và cũng là bài toán của các nhà khoa học
Nhiều nhà nghiên cứu đã phân tích dữ liệu y tế bằng cách sử dụng phương pháp,
kỹ thuật, công cụ khai thác dữ liệu cho việc tìm kiếm các tập phổ biến, tập luật, các tập nguyên tắc quyết định Tuy nhiên, những số lượng tập phổ biến, tập luật sinh ra thường là lớn, các tập luật này chỉ dẫn ra quyết định trong những điều kiện cụ thể của các tập dữ liệu mô tả, mà không chỉ ra mối quan hệ giữa các tập (các khái niệm, thuộc tính đã chọn) và tầm quan trọng của các tập đã chọn trong việc suy dẫn quyết định Trong khi quá trình bác sĩ chẩn đoán điều trị bệnh có độ phức tạp ở mức độ khác nhau, mỗi bác sĩ cố gắng tiếp cận các khía cạnh khác nhau của thuộc tính sức khoẻ trên từng bệnh nhân như: tầm quan trọng tương đối của các triệu chứng, biểu hiện,
dữ kiện sức khoẻ và mối quan hệ giữa các bệnh của bệnh nhân có biểu hiện, từ đó bác sĩ có thể căn cứ các khía cạnh trên để đưa ra các quyết định điều trị
Vì vậy việc khai thác các tính chất triệu chứng phù hợp, để khám phá mối quan
hệ giữa các triệu chứng của bệnh, các đặc điểm quan trọng nhất ảnh hưởng đến việc
ra quyết định, từ đó bác sĩ đề xuất hướng điều trị tốt hơn, có hiệu quả hơn Do vậy, cần phân tích tầm quan trọng từ nguồn tri thức của các chuyên gia y tế, nguồn tri thức trích rà từ CSDL hỏi khám bệnh thực tế, việc nghiên cứu và áp dụng lĩnh vực khai thác dữ liệu, khai thác tập phổ biến tối đại vào CSDL y tế cụ thể là bộ dữ liệu các triệu chứng chẩn đoán bệnh, để tìm ra các triệu chứng phù hợp nhất để cung cấp thông tin cho bác sĩ quyết định đang thực sự cần thiết hỗ trợ thêm cho sự ra quyết định quả bác sĩ
Hệ thống hệ hỗ trợ ra quyết định chẩn đoán gồm nhiều mô đun và nhiều giai đoạn
để thực hiện, tất cả các mô đun và các giai đoạn thực hiện đều khó và phức tạp Nhưng cốt lõi hơn hết là việc xử lý dữ liệu hiệu quả Vì vậy, tác giả ưu tiên tập trung nghiên cứu các thuật toán tìm các triệu chứng có số lượng phổ biến tối đại từ CSDL triệu chứng liên quan bệnh thu thập được từ đó bác sĩ sẽ được gợi ý các tìm ra tập triệu chứng bệnh có liên quan nhiều mặt bệnh nhất, hỗ trợ khai thác bệnh chứng từ bệnh nhân từ đó đưa ra những câu hỏi bệnh liên quan đến bệnh có thể xảy ra nhằm mục
Trang 18tiêu đưa ra chẩn đoán phù hợp để điều trị cho bệnh nhân
2 Nội dung nghiên cứu
Nghiên cứu các thuật toán cơ bản về khai thác tập phổ biến tối đại trên cờ sở dữ liệu giao dịch
Xây dựng mô đun hệ thống hỗ trợ ra quyết định chẩn đoán điều trị dựa trên CSDL triệu chứng liên quan bệnh, với cơ chế đưa ra các triệu chứng bệnh có liên quan nhiều bệnh nhất để hỗ trợ bác sĩ có thể làm căn cứ ưu tiên để hỏi thăm bệnh các triệu chứng liên quan bệnh, tránh hỏi quá nhiều câu hỏi triệu chứng làm giảm và ảnh hưởng khả năng xác định triệu chứng liên quan bệnh
Về mặt thực tiễn: ứng dụng xử lý tri thức từ phác đồ điều trị, cơ sở dữ liệu triệu chứng liên quan bệnh và cung cấp các gợi ý để bác sĩ làm căn cứ ra quyết định chẩn đoán điều trị cho bệnh nhân mang lại nhiều lợi ích cho bác sĩ, và là kết quả hữu ích cho các sinh viên y khoa tham khảo thực tập
3 Mục tiêu nghiên cứu
Mục tiêu tổng quát: Khảo sát các phương pháp và phân tích thuật toán Đánh
giá thực nghiệm một số thuật toán khai thác tập phổ biến tối đại và đề xuất thuật toán
áp dụng phù hợp
Mục tiêu cụ thể: Đưa ra các bước thực nghiệm cần thiết để đánh giá khách quan
ưu điểm và khuyết điểm của các thuật toán tìm tập phổ biến tối đại Đánh giá thuật toán khai thác cải tiến So sánh hiệu quả thuật toán của tác giả Kiểm tra tính đúng đắn của mã nguồn các thuật toán khai thác tập phổ biến tối đại so với mã giả của các thuật toán đưa ra trong các bài báo Qua đó, đảm bảo môi trường thực nghiệm là hoàn toàn đáng tin cậy để so sánh và đánh giá với các kết quả sau này
Phát triển mô đun hệ thống hỗ trợ ra quyết định chẩn đoán điều trị dựa trên thuật toán khai thác tập phổ biến tối đại đã lựa chọn
Hiện thực hệ thống thành hệ hỗ trợ ra quyết định chẩn đoán điều trị trong ứng
Trang 19dụng quản lý khám chữa bệnh
4 Đối tượng nghiên cứu
Thuật toán về khai thác tập phổ biến tối đại như: Apriori, Max-Miner, GENMAX, FPMAX, MAFIA
Dữ liệu mẫu thực nghiệm thuật toán như: viger.com/spmf/index.php?link=datasets.php
http://www.philippe-fournier-Dữ liệu triệu chứng: từ kho phác đồ điều trị Sở y tế TP.HCM http://pddt.medinet.org.vn được công khai user: dulieupddt, password: 59ntmk , cơ
sở dữ liệu triệu chứng liên quan bệnh http://disease-ontology.org , Danh mục triệu chứng ICPC2 quốc tế đã được Việt hoá từ Hội bác sĩ gia đình Việt Nam, dữ liệu mẫu khám bệnh thực tế của các bệnh từ phần mềm
Nghiên cứu ngôn ngữ C# tích hợp mô đun vào phần mềm quản lý khám bệnh, ngôn ngữ Java thực nghiệm thuật toán
5 Phạm vi nghiên cứu
Có nhiều khó khăn và hạn chế khách quan, nên giai đoạn này tác giả tìm hiểu các thuật toán khai thác tập phổ biến tối đại trên dữ liệu không có biến động, dữ liệu nghiên cứu được lấy từ nguồn dữ liệu nghiên cứu chuẩn và dữ liệu y tế, việc đánh giá chỉ mới đánh giá dựa trên tốc độ xử lý dữ liệu của các thuật toán Việc xử lý dữ liệu theo hướng tập trung (chưa nghiên cứu hướng phân tán) Dữ liệu thực nghiệm được lấy từ nguồn đáng tin cậy
6 Phương pháp nghiên cứu
Tiến hành thu thập và đọc các tài liệu có liên quan đến đề tài
Tìm hiểu các thuật toán hiện có để đánh giá các ưu, nhược điểm của từng thuật toán
Nghiêm cứu thuật toán phù hợp với mô hình ứng dụng phương pháp khắc
Trang 20phục nhược điểm của thuật toán cũ
7 Cấu trúc luận văn
Luận văn gồm có phần mở đầu, kết luận và 03 chương, cụ thể như sau:
Chương 1: Giới thiệu tổng quan
Nghiên cứu, trình bày lý thuyết về khai thác dữ liệu,về luật kết hợp, trình bày hướng tiếp cận bài toán của đề tài
Chương 2: Giới thiệu các thuật toán khai thác tập phổ biến tối đại
Trình bày một số thuật toán cơ bản về khai thác tập phổ biến tối đại như: Apriori, Max-Miner, GENMAX, FPMAX, MAFIA để đánh giá các thuật toán
Đề xuất cách tiếp cận giải quyết bài toán dự trên thuật toán MAFIA có hiệu chỉnh
Chương 3: Cài đặt chương trình, thực nghiệm
Tiến hành chạy thử nghiệm bộ dữ liệu thực nghiệm Từ đó hiển thị trực quan trên biểu đồ kết quả thực nghiệm
Tiến hành xây dựng bộ dữ liệu triệu chứng bệnh từ nguồn dữ liệu nêu trên, thử nghiệm sử dụng công cụ cài đặt thuật toán xMAFIA có cải tiến
Tiến hành xây dựng bộ chức năng hỗ trợ ra quyết định chẩn đoán bệnh từ nguồn
cơ sở dữ liệu triệu chứng cài đặt vào phần mềm quản lý phòng khám
Trang 21Chương 1: GIỚI THIỆU TỔNG QUAN
1.1 Các khái niệm và định nghĩa
Sự phát triển vượt bậc về ứng dụng công nghệ thông tin vào đời sống, các doanh nghiệp, tổ chức đã sử dụng công nghệ thông tin vào công tác quản lý, điều hành hoạt động nên khối lượng thông tin đã tăng trưởng khổng lồ Từ các thập kỷ gần đây các nhà nghiên cứu đã phát triển các công cụ, kỹ thuật, phần mềm mới để hỗ trợ các tiến trình khám phá, phân tích tổng hợp các thông tin từ nguồn dữ liệu, để tìm ra các thông tin về mặt thống kê, các thông tin về quy luật, thông tin tiềm ẩn bên trong dữ liệu, thông tin có thể là cốt lỗi cần thiết có quá trình ra quyết định của nhà quản lý hay nhà ra quyết định
Khai phá dữ liệu (KPDL) [1] là một tiến trình khám phá tri thức tiềm ẩn trong
cơ sở dữ liệu (CSDL), là hàng loạt các tiến trình trích lọc, sản sinh những tri thức hoặc những mẫu dữ liệu tìm ẩn có khả năng hữu ích từ các CSDL lớn hay đặc thù KPDL là tiến trình khái quát các sự kiện rời rạc trong CSDL thành các tri thức mang tính rõ ràng hay khái quát hơn, có tính quy luật hỗ trợ hữu ích cho tiến trình ra quyết định
Có thể tạm chia KPDL thành 02 dạng chính:
KPDL theo hướng kiểm tra: là dạng người dùng đề xuất các giả định, hệ thống kiểm tra tính đúng đắn của các giả định (như: truy vấn thông tin, báo cáo, phân tích thống kê, )
KPDL theo hướng khám phá: là dạng tìm kiếm, khám phá các tri thức tiềm ẩn trong CSDL bằng cách xem xét các giả thiết có khả năng xảy ra phù hợp, hoặc do không gian tìm kiếm quá lớn, nên nhiều heuristic đã được đề xuất nhằm nâng cao hiệu năng của các giải thuật tìm kiếm trong dữ liệu
Ngày nay nhu cầu trở nên cấp thiết hơn khi các nhà ra quyết định không bằng lòng với dữ liệu đơn giản thu được từ các kỹ thuật trước đây, do đó từ các sự kiện
Trang 22rời rạc trong lĩnh vực ứng dụng, phát sinh nhu cầu nắm bắt tri thức, các mối quan hệ giữa chúng, xa hơn nữa là tìm ra các quy luật trong lĩnh vực chuyên sâu KPDL ra đời nhằm đáp ứng nhu cấu cấp thiết trên
Hình 1.1 Vị trí của KPDL
Các kỹ thuật KPDL hiện nay được khái quát một số cách tiếp cận chính như:
o Khai thác tập phổ biến và luật kết hợp
o Khai thác mẫu tuần tự/ theo thời gian
o Phân lớp dữ liệu và dự báo
o Khai thác cụm
o Mô tả khái niệm
Kiến trúc của hệ thống KPDL có thể có các thành phần chính sau:
Trang 23Khai phá text và web: Tóm tắt tài liệu, khôi phục văn bản và tìm kiếm văn bản, phân lớp văn bản và siêu văn bản
Tin sinh học: Tìm kiếm và so sánh thông tin di truyền điển hình hoặc đặc biệt như bộ gen và DNA, các mối quan hệ ngầm giữa một số gen và một số bệnh di truyền, …
Trang 24Tài chính và thị trường chứng khoán: Kiểm tra dữ liệu để trích xuất thông tin
dự đoán cho giá của các loại cổ phiếu - Những ứng dụng khác (Viễn thông, bảo hiểm y tế, thiên văn học, chống khủng bố, thể thao, …)
Khái quát các kỹ thuật khai phá dữ liệu: [1]
Khai thác tập phổ biến và luật kết hợp: là tiến trình khám phá các tập giá trị thuộc tính xuất hiện phổ biến trong các đối tượng dữ liệu Từ tập phổ biến có thể tạo
ra các luật kết hợp giữa các giá trị thuộc tính nhằm phản ánh khả năng xuất hiện đồng thời các giá trị thuộc tính trong tập các đối tượng
Một luật kết hợp X → Y phản ánh sự xuất hiện của tập X dẫn đến sự xuất hiện đồng thời tập Y Luật kết hợp giúp các nhà hoạch định hiểu rõ xu thế bán hàng, tâm
lý khách hàng, từ đó đƣa ra các chiến lược bố trí mặt hàng, kinh doanh, tiếp thị, tồn kho, …
Khai thác mẫu tuần tự: là tiến trình khám phá các mẫu tuần tự phổ biến phản ánh mối quan hệ giữa các biến cố trong các CSDL hướng thời gian Một luật mô tả tuần tự có dạng tiêu biểu X → Y phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện kế tiếp biến cố Y Nhờ mẫu tuần tự, có thể khám phá các xu thế phát triển hành vi của đối tượng
Phân lớp dữ liệu: là tiến trình khám phá các luật phân loại hay đặc trưng cho các tập dữ liệu đã được xếp lớp Tập dữ liệu học bao gồm tập đối tượng đã được xác định lớp sẽ được dùng để tạo mô hình phân lớp dựa trên đặc trưng của đối tượng trong tập
dữ liệu học Các luật phân lớp được sử dụng để xây dựng các bộ phân lớp dữ liệu Phân lớp dữ liệu có vai trò quan trọng trong tiến trình dự báo các khuynh hướng, quy luật phát triển Áp dụng vào tiến trình phân lớp dữ liệu khách hàng trong CSDL có thể xây dựng các luật phân lớp khách hàng
Khai thác cụm: là tiến trình nhận diện các cụm tiềm ẩn trong tập các đối tượng chƣa được xếp lớp Tiến trình khai thác cụm dựa trên mức độ tương tự giữa các đối tượng Các đối tượng được gom cụm sao cho mức độ tương tự giữa các đối tượng
Trang 25trong cùng một cụm là cực đại và mức độ tương tự giữa các đối tượng nằm trong các cụm khác nhau là cực tiểu Các cụm được đặc trưng bằng các tính chất chung của tất
cả các đối tượng gom cụm Do vậy, khảo sát các cụm sẽ giúp khái quát tổng kết nhanh chóng nội dung của khối dữ liệu lớn
Trong đó Khai thác tập phổ biến và luật kết hợp là một trong những phần của quá trình KPDL, l à tiến trình khám phá các tập giá trị thuộc tính xuất hiện phổ biến trong các đối tượng dữ liệu Từ tập phổ biến có thể tạo ra các luật kết hợp giữa các giá trị thuộc tính nhằm phản ánh khả năng xuất hiện đồng thời các giá trị thuộc tính trong tập các đối tượng
Khai phá luật kết hợp được mô tả như sự tương quan của các sự kiện xuất hiện phổ biến một các đồng thời Nhiệm vụ chính của khai phá luật kết hợp là phát hiện ra các tập con cùng xuất hiện trong một khối lượng giao dịch lớn của một cơ sở dữ liệu cho trước Nói cách khác, thuật toán khai phá luật kết hợp cho phép tạo ra các luật
mô tả các sự kiện xảy ra đồng thời (một cách phổ biến) như thế nào Các thuật toán này trải qua 2 pha: pha đầu là đi tìm các sự kiện xảy ra phổ biến, pha hai là tìm luật
Ta sẽ sơ lược lại tổng quan về lĩnh vực khai thác tập phổ biến và luật kết hợp [1]
1.2 Tổng quan khai thác tập phổ biến và luật kết hợp
Định nghĩa
Cho I={I1, I2, , Im} là tập hợp của m tính chất riêng biệt Giả sử D là CSDL, với các bản ghi chứa một tập con T các tính chất (có thể coi như T ⊆ I), các bản ghi đều có chỉ số riêng Một luật kết hợp là một mệnh đề kéo theo có dạng X→Y, trong
đó X, Y ⊆ I, thỏa mãn điều kiện X∩Y=∅ Các tập hợp X và Y được gọi là các tập hợp tính chất (itemset) Tập X gọi là nguyên nhân, tập Y gọi là hệ quả
Kí hiệu I = {i1, i2, …, im} là tập các thuộc tính được gọi là các mục dữ liệu D
là CSDL của tập các giao tác, mỗi giao tác T là một tập mục con của tập mục I, T
I Mỗi giao tác có một định danh duy nhất gọi là TID (Transaction Identification) X={i1, i2,…,ik} I được gọi là một tập mục hay một tập k-mục nếu nó chứa k mục
Trang 26Một giao tác T được gọi là chứa tập mục X chỉ khi X T Mỗi giao tác là một bộ , I
là tập mục
Có 2 độ đo quan trọng đối với luật kết hợp: Độ hỗ trợ (support) và độ tin cậy (confidence), được định nghĩa như phần dưới đây
Định nghĩa: Độ hỗ trợ (support), độ tin cậy (confidence)
Định nghĩa 1.2.1: Độ hỗ trợ của một tập mục X trong cơ sở dữ liệu D là tỉ
số giữa số các giao tác T D có chứa tập X và tổng số giao tác trong D (hay là phần trăm của các giao tác trong D có chứa tập mục X), ký hiệu là support(X) hay Supp(X)
Supp (X)=
|D
|
|}:
{
(1.2.1)
Ta có: 0 ≤ Supp(X)≤ 1 với mọi tập hợp X
Định nghĩa 1.2.2: Độ tin cậy của một luật r =X Y là tỉ số (phần trăm) của
số giao tác trong D chứa X Y với số giao tác trong D có chứa tập mục X Kí hiệu
độ tin cậy của một luật là conf (r) Ta có 0 conf 1
Nhận xét: Độ hỗ trợ và độ tin cậy chính là xác suất sau
Supp(X Y) = P(X Y)
Conf (XY) =P(Y/X) =Supp(X Y)/Supp(X)
Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa là có 50% tổng
số bản ghi chứa X∪Y Như vậy, độ hỗ trợ mang ý nghĩa thống kê của luật
Nói rằng độ tin cậy của một luật là 90%, có nghĩa là có tới 90% số bản ghi chứa
X chứa luôn cả Y Hay nói theo ngôn ngữ xác suất là: “ Xác suất có điều kiện để sảy
ra sự kiện Y đạt 85%” Điều kiện ở đây chính là: “Xảy ra sự kiện X”
Như vậy, độ tin cậy của luật thể hiện sự tương quan (correlation) gữa X và Y
Trang 27Độ tin cậy đo sức nặng của luật, và người ta hầu như chỉ quan tâm đến những luật có
độ tin cậy cao Một luật kết hợp đi tìm các nguyên nhân dẫn tới hỏng hóc của hệ thống tổng đài, hay đề cập đến những mặt hàng thường hay được khách hàng mua kèm với mặt hàng chính mà độ tin cậy thấp sẽ không có ích cho công tác quản lý
Việc khai thác các luật kết hợp từ cơ sở dữ liệu chính là việc tìm tất cả các luật
có độ hỗ trợ và độ tin cậy do người sử dụng xác định trước Các ngưỡng của độ hỗ
trợ (phổ biến)và độ tin cậy được ký hiệu là Minsupp và Minconf
Ví dụ: phân tích giỏ hàng của người mua hàng trong một siêu thị ta được luật kiểu như: 85% khách hàng mua sữa thì cũng mua bánh mì, 30% thì mua cả hai thứ Trong đó: “mua sữa” là tiền đề còn “mua bánh mì ” là kết luận của luật Con số 30%
là độ hỗ trợ của luật còn 80% là độ tin cậy của luật
Nhận thấy rằng tri thức đem lại bởi luật kết hợp dạng trên có sự khác biệt rất nhiều so với những thông tin thu được từ các câu lệnh truy vấn dữ liệu thông thường như SQL Đó là những tri thức, những mối liên hệ chưa biết trước và mang tính dự báo đang tiềm ẩn trong dữ liệu Những tri thức này không đơn giản là kết quả của phép nhóm, tính tổng hay sắp xếp mà là của một quá trình tính toán khá phức tạp
Định nghĩa: Tập hợp
Định nghĩa 1.2.3: Tập hợp X được gọi là tập phổ biến nếu có Supp(X) >=
minsupp, với minsupp là ngưỡng độ hỗ trợ cho trước Kí hiệu các tập này là FI
Tính chất 1.1: Giả sử A,B ⊆ I là hai tập hợp với A⊆B thì supp(A)>=Supp(B)
Như vậy, những bản ghi nào chứa tập hợp B thì cũng chứa tập hợp A
Tính chất 1.2: Giả sử A, B là hai tập hợp, A,B⊆I, nếu B là tập phổ biến và A⊆B
thì A cũng là tập phổ biến
Nếu B là tập phổ biến thì Supp(B)>= minsupp, mọi tập hợp A là con của tập hợp B đều là tập phổ biến trong cơ sở dữ liệu D vì Supp(A) >= Supp(B) (Tính chất 2.1)
Trang 28Tính chất 1.3: Giả sử A, B là hai tập hợp, A⊆B và A là tập hợp không phổ biến
thì B cũng là tập hợp không phổ biến
Định nghĩa 1.2.4: Một tập mục X được gọi là đóng (closed) nếu không có tập
cha nào của X có cùng độ hỗ trợ với nó, tức là không tồn tại một tập mục X’ nào mà X’⊃X và t(X) = t(X’) (với t(x) và t(X’) tương ứng là tập các giao chứa tập mục X và X’) Ký hiệu tập phổ biến đóng là FCI
Định nghĩa 1.2.5: Nếu X là phổ biến và không tập cha nào của X là phổ biến,
ta nói rằng X là một tập phổ biến lớn nhất (maximally frequent itemset) hay còn gọi
là tập phổ biến tối đại Ký hiệu tập tất cả các tập phổ biến lớn nhất là MFI
Ta dễ nhận thấy MFI⊆FCI⊆FI
Khai phá luật kết hợp là công việc phát hiện ra (tìm ra, khám phá, phát hiện) các luật kết hợp thỏa mãn các ngưỡng độ hỗ trợ (σ) và ngưỡng độ tin cậy (α) cho trước Bài toán khai phá luật kết hợp được chia thành hai bài toán nhỏ, hay như người ta thường nói, việc giải bài toán trải qua hai pha:
Pha 1: Tìm tất cả các tập phổ biến (tìm FI) trong CSDL T
Pha 2: Sử dụng tập FI tìm được ở pha 1 để sinh ra các luật tin cậy (interesting rules)
Nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng ta có thể xác định luật AB→CD với tỷ lệ độ tin cậy:
Supp(AB)
(ABCD)
Supp Conf
Nếu Conf >= Minconf thì luật được giữ lại (và thỏa mãn độ hỗ trợ tối thiểu vì ABCD là phổ biến)
Trong thực tế, hầu hết thời gian của quá trình khai thác luật kết hợp là thực hiện
ở pha 1 Nhưng khi có những mẫu rất dài (mẫu chứa nhiều mục) xuất hiện trong dữ liệu, việc sinh ra toàn bộ các tập phổ biến (FI) hay các tập đóng (FCI) là không thực
tế Hơn nữa, có nhiều ứng dụng mà chỉ cần sinh tập phổ biến lớn nhất (MFI) là đủ,
Trang 29như khám phá mẫu tổ hợp trong các ứng dụng sinh học
Có rất nhiều nghiên cứu về các phương pháp sinh tất cả các tập phổ biến và tập phổ biến lớn nhất một cách có hiệu quả Khi các tập phổ biến dài có từ 15 đến 20 hạng mục thì tập FI, thậm chí cả tập FCI trở nên rất lớn và hầu hết các phương pháp truyền thống phải đếm quá nhiều tập mục mới có thể thực hiện được
1.3 Hệ chuyên gia trong lĩnh vực y tế
Về lĩnh vực ứng dụng Y tế có các loại hệ thống chuyên gia phát triển rất nhanh
và đa dạng từ KPDL
Hệ chuyên gia là một chương trình máy tính nhằm dạy cho máy tính biết các hoạt động của một chuyên gia thực thụ Hệ chuyên gia đầu tiên được xây dựng là DENDRAL, xuất hiện vào giữa thập niên 70, sau đó vào năm 1975 hệ chuyên gia MYCIN ra đời đã thành công trong việc áp dụng khoa học trí tuệ nhân tạo vào lĩnh vực Y học, cụ thể là lĩnh vực chẩn đoán và điều trị bệnh nhiễm trùng máu Đây là hệ chuyên gia tương đối lớn, thực hiện ở mức chuyên gia con người, bên cạnh đó còn cung cấp cơ chế giải thích các bước suy luận các mặt bệnh
Và trong các năm gần đây, các nhà khoa học tiếp cận như: Đỗ Văn Thành (2000) một cách tiếp cận ra quyết định trong chẩn đoán lâm sàng [2], Văn Thế Thành, Trần Minh Bảo (2012) xây dựng hệ hỗ trợ ra quyết định chẩn đoán bệnh [3], Tripathy, B K.; Acharjya, D P and Cynthya (2011), A Framework for Intelligent Medical Diagnosis using Rough Set with Formal Concept Analysis [4], hệ hỗ trợ Doctor’s Exam của tác giả Dr Nakamura, Dr Allan H Bruckheim [5] Bs Bảo Phi (2015) phần mềm DAPro 2.1 – phần mềm câu hỏi sổ tay chẩn đoán [6],.…
Việc bác sĩ sử dụng nguồn thông tin từ kiến thức đã được đào tạo, kinh nghiệm
để đưa ra các quyết định chẩn đoán điều trị cho bệnh nhân đó là một công việc quá tải hằng ngày mà bác sĩ phải đối mặt Một thực tế đúng đắn là bác sĩ đưa ra quyết định tại thời điểm thích hợp cung cấp một lợi thế trong chẩn đoán y tế về mặt điều trị
và lợi ích cho sức khoẻ bệnh nhân Tuy nhiên, thách thức thực sự nằm trong chuyển
Trang 30đổi dữ liệu kiến thức và sử dụng kiến thức các chuyên gia đã soạn ra các hướng dẫn, phác đồ điều trị để bác sĩ có thể tận dụng các kiến thức để thực hiện ra quyết định chẩn đoán y tế phù hợp
Phác đồ điều trị: là tài liệu được các chuyên gia y tế biên soạn làm tài liệu mang tính chất hướng dẫn điều trị, tài liệu tham khảo để đào tạo, cũng gần như mang tính chất quyết định hướng dẫn định hướng tiêu chuẩn cho các bác sĩ Phác đồ điều trị được cập nhật và bổ sung theo thời gian phù hợp với tình hình bệnh tật, mô hình bệnh tật và các cập nhật hướng điều trị theo quốc tế
Cụ thể ta xét bài toán các mặt bệnh từ phác đồ điều trị của các chuyên gia có các biểu hiện triệu chứng của bệnh nhân như sau:
Trang 31Nếu bệnh nhân có TC1 (triệu chứng) thì căn cứ CSDL có thể bác sĩ cần xem xét tiếp các bệnh 1,3,5,7 từ đây bác sĩ sẽ hỏi thêm thông tin sức khoẻ, hoặc dữ kiện y tế của bệnh nhân:
Nếu có thêm TC5 thì có thể xem xét bệnh 1 hoặc bệnh 5
Có thêm TC4 thì có xem xét bệnh 7 hoặc bệnh 3, nhưng có thêm TC3 nữa thì bác sĩ có thể nghĩ đến bệnh nhân mắc bệnh 3, từ đây bác sĩ sẽ ra hướng quyết định điều trị cho bệnh nhân, nhưng với nhiều
Dữ liệu triệu chứng liên quan mặt bệnh: được tác giả tập hợp từ các nguồn dữ liệu kho phác đồ điều trị Sở Y tế TP.HCM http://pddt.medinet.org.vn được công khai user: dulieupddt, password: 59ntmk , cơ sở dữ liệu triệu chứng liên quan bệnh http://disease-ontology.org Danh mục triệu chứng ICPC2 quốc tế đã được Việt hoá
từ Hội bác sĩ gia đình Việt Nam, từ đó xử lý và tập hợp lại với dạng dữ liệu triệu chứng có quan hệ với mặt bệnh, và thu thập các dữ liệu hỏi khám triệu chứng của bác
sĩ tại phần mềm quản lý phòng khám
Thách thức đặt ra là làm sao từ cơ sở dữ liệu câu hỏi triệu chứng của các chuyên gia ứng dụng vào công việc để hỗ trợ bác sỹ ra quyết định chẩn đoán điều trị cho bệnh nhân đang rất cần thiết để hỗ trợ bác sĩ ra quyết định
Sử dụng khai thác tập phổ biến tối đại trong ứng dụng trong y tế hệ hỗ trợ quyết định để cung cấp chức năng phân tích tầm quan trọng các thuộc tính triệu chứng sức khoẻ làm sao tìm ra triệu chứng có mối liên hệ nhiều nhất đến các mặt bệnh, các mối quan hệ liên quan từ đó giúp hỗ trợ bác sĩ ra quyết định chẩn đoán điều trị thích hợp cho bệnh nhân
Vì vậy tác giả chọn đề tài “Áp dụng khai thác tập phổ biến tối đại để phát triển
hệ hỗ trợ quyết định chẩn đoán điều trị” nhằm góp phần tạo ra thêm một công cụ giúp các nhà chuyên gia y tế cập nhật bổ sung dữ liệu tri thức và từ nguồn dữ liệu này qua quá trình khai phá để sử dụng từ đó hỗ trợ các bác sỹ thực tế ra các quyết định chẩn đoán phù hợp hơn, bác sĩ có thể chọn những câu hỏi triệu chứng liên quan tới những
Trang 32bệnh liên quan nhất để đưa ra các quyết định phù hợp điều trị cho bệnh nhân
1.4 Kết luận chương 01
Trong chương 01 tác giả đã trình bày các kiến thức tổng quan về KPDL[1], luật kết hợp, các loại tập phổ biến và tính chất, định nghĩa liên quan Trình bày tổng quan
về hệ chuyên gia trong lĩnh vực y tế
Bài toán tìm tập triệu chứng có mối liên hệ giữa các bệnh nhiều nhất có ý nghĩa
to lớn trong thực tế, do vậy việc nghiên cứu các thuật toán tìm tập phổ biến tối đại được rất nhiều nhà nghiên cứu quan tâm Trong chương 02, tác giả sẽ trình bày tổng quan các thuật toán tìm tập phổ biến tối đại để có cơ sở ứng dụng thuật toán vào cơ
sở dữ liệu triệu chứng và bệnh
Trang 33Chương 2: KHAI THÁC TẬP PHỔ BIẾN TỐI ĐẠI
2.1 Tổng quát khai thác tập phổ biến tối đại
Theo tác giả Bayardo – SIGMOD’98 [7]: tập phổ biến tối đại là tập phổ biến và không tồn tại tập nào bao nó là phổ biến.Ví dụ cho M ∈ FS(O,I,R,minsupp), M được gọi là tập phổ biến tối đại nếu không tồn tại S ∈ FS(O,I,R,minsupp), M ≠ S, M ⊂ S
Ký hiệu MS(O,I,R,minsupp) là tập hợp các tập phổ biến tối đại theo ngưỡng minsupp Minsupp có thể nhập bằng một số hoặc số % ví dụ minsupp= 2 trong CSDL có
3 giao dịch thì có nghĩa nếu hạng mục nào 2 xuất hiện lần trong các giao dịch, nghĩa
là 2 chia 3 = 0,66 tương đương 66%, vì trong thực tế số lượng giao dịch trong CDSL rất lớn nên các nhà phát triển thường để người dùng xác định là %, vì người dùng không biết chính xác con số xuất hiện trong các giao dịch
Tập phổ biến tối đại (Maximal frequent Itemsets) thỏa supp(X) ≥ minsupp và
không tồn tại |X’| > |X|, với X’ cũng phổ biến (tập phổ biến tối đại là tập phổ biến và không tồn tại tập nào bao nó là phổ biến)
Ta có mô hình:
MFI⊆FCI⊆FI
Hình 2.1 Mô hình các loại tập phổ biến
Maximal Frequent Itemsets
Closed Frequent Itemsets Frequent
Itemsets
Trang 34Trước khi qua các thuật toán liên quan về tìm tập phổ biến tối đại, chúng ta sẽ xem xét thuật toán cơ bản Apriori tìm tập phổ biến, tập bao phổ biến, tập phổ biến tối đại
2.2 Thuật toán tìm kiếm theo chiều rộng Apriori
Thuật toán Apriori được đề xuất bởi tác giả R Agrawal và R Srikant – 1994 [8] để khai thác các tập item đối với các luật kết hợp kiểu bool Tên của thuật toán dựa trên việc thuật toán sử dụng tri thức trước (prior knowledge) của các thuộc tính tập item phổ biến
Nguyên tắc loại bỏ của Apriori: nếu không phải là tập phổ biến thì tập bao nó cũng không phổ biến
Tính chất Apriori: tất cả các tập con không rỗng của một tập item phổ biến cũng phải là phổ biến
Tính chất Apriori này dựa theo nhận xét sau Theo định nghĩa, nếu một tập item I không thỏa ngưỡng độ phổ biến tối thiểu minsupp, thì I không là phổ biến, do
đó, P(I)< minsupp
Nếu một item A được thêm vào tập item I, thì tập item được tạo thành (ví
dụ, I∪A) không thể xuất hiện phổ biến hơn I Do đó, I∪A cũng không phổ biến; do
đó, P(I∪A) < minsupp
Tính chất này là đặc biệt của các thuộc tính gọi là chống đơn điệu (antimonotone) nghĩa là nếu một tập không thể qua kiểm tra, tất cả các tập cha (superset) của nó cũng sẽ thất bại với sự kiểm tra tương tự Đó gọi là chống đơn điệu là vì thuộc tính này là đơn điệu (monotonic) trong ngữ cảnh của việc thất bại sự kiểm tra
Phương pháp:
Tìm tất cả các tập phổ biến 1- hạng mục (C1)
Trang 35 Tạo các tập ứng viên kích thước k-hạng mục (k – candidate itemset) từ các tập phổ biến có kích thước (k-1)-hạng mục Ví dụ, tạo ứng viên C2 từ tập phổ biến C1
Kiểm tra độ phổ biến của các ứng viên trên CSDL và loại các ứng viên không phổ biến ta được Li(i=1,2,3, ,k)
Dừng khi không tạo được tập phổ biến hay tập ứng viên Lk={}hay Ck={}
Ví dụ: cho CSDL giao dịch như sau
Bảng 2.1 CSDL giao dịch ví dụ thuật toán Apriori
Ta sẽ biến đổi ngưỡng phổ biến minsupp=22% = 2/9
Hoặc biểu diễn CSDL về dạng nhị phân như sau:
Trang 36Bảng 2.2 CSDL giao dịch biểu diễn dạng nhị phân ví dụ thuật toán Apriori
Ta sẽ có các bước chạy thuật toán như sau:
Hình 2.2 Hình các bước chạy thuật toán Apriori
{M1,M2,M5} 2
Trang 37Tìm luật kết hợp dựa trên các tập phổ biến:
Trang 38M1 => M2 conf = 4/6=66.7% M2 => M1 conf = 4/7=57% M1 => M3 conf = 4/6=66.7% M3 => M1 conf = 4/6=66.7% M1 => M5 conf = 2/6=33.3% M5 => M1 conf = 2/2=100%
M2 => M3 conf = 4/7=57% M3 => M2 conf = 4/6=66.7% M2 => M4 conf = 2/7=29% M4 => M2 conf = 2/2=100%
M2 => M5 conf = 2/7=29% M5 => M2 conf = 2/2=100%
Vậy với ngưỡng minconf=70% ta có các luật:
Trang 39Ck: Candidate itemset of size k
Lk : frequent itemset of size k
L1 = {frequent items};
for (k = 1; Lk!=0; k++)
{
C k+1 = candidates generated from Lk;
foreach transaction t in database do
increment the count of all candidates in
C k+1 that are contained in t
L k+1 = candidates in Ck+1 with min_support }
return ∪kLk;
}
Hạn chế của thuật toán Apriori:
Số lượng lớn tập phổ biến được tạo ra làm gia tăng sự phức tạp không gian
Quá nhiều lần duyệt CSDL được yêu cầu vì số lượng lớn tập phổ biến được tạo
Khi số lần duyệt CSDL nhiều làm gia tăng sự phức tạp thời gian khi CSDL gia tăng
2.3 Thuật toán tìm kiếm theo chiều rộng Max-Miner
Thuật toán Max-Miner của tác giả Bayardo [7] là thuật toán khai thác hiệu quả tập phổ biến tối đa, với chiến thuật là phương pháp tìm kiếm theo chiều rộng và nhìn
về phía trước “look ahead” duyệt từ trên xuống, không phải duyệt từ dưới lên Thuật toán có thể xem xét tỉa tất cả các tập con của nó khi xác định bởi độ minsupp của tập phổ biến, phương pháp đếm của Bayardo là tìm kiếm độ hỗ trợ trên cây như ví dụ hình dưới, Max-Miner là tìm kiếm theo chiều rộng (breadth-first search), và chiến lược cắt tỉa tập cha, kỹ thuật sắp xếp tăng dần theo độ hỗ trợ của tập mục (Dynamic Recording)
Trang 40Hình 2.3 Tìm kiếm trên cây của Max-Miner
Ví dụ ta đang duyệt ứng cử viên g với: đầu head là h(g) đại diện cho các tập phổ biến được liệt kê bởi các nút đuôi tail là t(g) được sắp xếp có thứ tự và chứa tất cả các mặt hàng không có trong h(g) mà có có thể xuất hiện ở bất kỳ sub-node nào khác
Hình 2.4 Các bước chạy thuật toán Max-Miner
- Mã giả thuật toán
MAX-MINER (Data-set T)