Phân cụm mờ và ứng dụng phân loại bệnh

83 2 0
Phân cụm mờ và ứng dụng phân loại bệnh

Đ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

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG HỒNG THỊ TÂN PHÂN CỤM MỜ VÀ ỨNG DỤNG PHÂN LOẠI BỆNH LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2016 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG HỒNG THỊ TÂN PHÂN CỤM MỜ VÀ ỨNG DỤNG PHÂN LOẠI BỆNH Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 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 ĐOÀN VĂN BAN Thái Nguyên - 2016 i LỜI CẢM ƠN Tơi xin chân thành cảm ơn tồn thể q thầy cô Khoa Sau Đại Học Trường Đại học công nghệ thông tin truyền thông người hết lòng dạy dỗ truyền đạt kiến thức quý báu cho suốt thời gian học tập Tôi xin gửi lời cảm ơn sâu sắc đến Thầy PGS-TS Đồn Văn Ban người giúp đỡ tơi suốt thời gian thực đề tài Thầy định hướng, tạo điều kiện thuận lợi tận tình hướng dẫn để tơi hồn thành đề tài Tôi xin gửi lời cảm ơn chân thành đến gia đình, bạn bè ln nguồn động viên to lớn, giúp đỡ tơi suốt q trình tơi thực đề tài Tác giả Hồng Thị Tân ii LỜI CAM ĐOAN Tôi xin cam đoan : - Những nội dung luận văn thực hướng dẫn trực tiếp Thầy Đoàn Văn Ban - Mọi tham khảo dùng luận văn trích dẫn rõ ràng trung thực - Mọi chép không hợp lệ, vi phạm quy chế đào tạo hay gian trá, tơi xin chịu hồn toàn trách nhiệm - Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tác giả Hoàng Thị Tân iii MỤC LỤC TRANG PHỤ BÌA LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii DANH MỤC CÁC BẢNG vi DANH MỤC CÁC HÌNH VẼ .vii MỞ ĐẦU Chương PHÂN CỤM DỮ LIỆU 1.1 Khái niệm mục tiêu phân cụm liệu 1.1.1 Khái niệm 1.1.2 Mục tiêu 1.2 Các kiểu liệu độ đo phân loại liệu 1.2.1 Phân loại liệu 1.2.2 Độ đo phân cụm liệu 1.3 Các yêu cầu phân cụm 10 1.4 Một số ứng dụng phân cụm liệu 12 1.5 Một số kỹ thuật tiếp cận phân cụm liệu 13 1.5.1 Phương pháp phân cụm phân hoạch 13 1.5.2 Phương pháp phân cụm liệu phân cấp 14 1.5.3 Phương pháp phân cụm dựa mật độ 15 1.5.4 Phương pháp phân cụm dựa lưới 15 1.5.5 Phương pháp phân cụm dựa mơ hình 16 1.5.6 Phương pháp phân cụm có liệu ràng buộc 17 1.6 Một số thuật toán phân cụm liệu 18 1.6.1 Thuật toán phân cụm phân hoạch - Thuật toán k-means 18 1.6.2 Thuật toán phân cụm phân cấp – Thuật toán CURE 20 1.6.3 Thuật toán phân cụm dựa mật độ - Thuật toán DBSCAN 22 1.6.4 Thuật toán phân cụm dựa lưới - Thuật toán STING 26 1.6.5 Thuật toán phân cụm dựa mơ hình - Thuật tốn EM 28 1.6.6 Thuật tốn phân cụm có liệu ràng buộc 29 iv 1.7 Kết luận chương 30 Chương PHÂN CỤM DỮ LIỆU MỜ 31 2.1 Phân cụm mờ 31 2.1.1 Giới thiệu phân cụm mờ 31 2.1.2 Các thuật toán phân cụm mờ 32 2.2 Thuật toán FCM (Fuzzy C-means) 32 2.2.1 Hàm mục tiêu 32 2.2.2 Thuật toán 35 2.3 Thuật toán εFCM (ε- Insensitive Fuzzy C-means) 39 2.3.1 Hàm mục tiêu 39 2.3.2 Thuật toán 40 2.4 Thuật toán FCM-Cải tiến 41 2.5 Kết luận chương 48 Chương ỨNG DỤNG PHÂN LOẠI BỆNH 50 3.1 Thu thập biểu diễn tri thức 50 3.1.1 Giới thiệu toán phân loại bệnh 50 3.1.2 Xây dựng quy trình lập luận phân loại bệnh 50 3.1.3 Thu thập triệu chứng 52 3.1.4 Biểu diễn tri thức môi trường mờ 56 3.2 Phương pháp suy diễn mờ 57 3.2.1 Cơ chế suy diễn mờ 57 3.2.2 Xác định độ phụ thuộc dựa tập mờ đa điều kiện 58 3.3 Xây dựng ứng dụng 59 3.3.1 Phân tích yêu cầu 59 3.3.2 Thiết kế sở liệu 60 3.3.3 Xây dựng chương trình 61 3.3.4 Đánh giá thực nghiệm 67 3.4 Kết luận chương 70 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71 TÀI LIỆU THAM KHẢO 72 v DANH MỤC CÁC TỪ VIẾT TẮT FCM Fuzzy C-means εFCM ε- Insensitive Fuzzy C-means CSDL DBSCAN Cơ sở Dữ liệu Density Based Spatial Clustering of Applications with Noise STRING STatistical INformation Grid EM Expectation-Maximization CURE Clustering Using REpresentatives PAM Partitioning Around Medois CLARA Clustering LARge Application BIRCH OPTICS Thuật toán c-means mờ Balanced Iterative Reducing and Clustering using Hierarchies Ordering Points To Identify the Clustering Structure vi DANH MỤC CÁC BẢNG Số hiệu Tên Bảng Trang Bảng 1.1 Bảng thuộc tính nhị phân 10 Bảng 3.1 Nhóm bệnh 53 Bảng 3.2 Vị trí, vùng đau 54 Bảng 3.3 Hướng lan đau 54 Bảng 3.4 Triệu chứng đau 54 Bảng 3.5 Triệu chứng phụ 55 Bảng 3.6 Tính chất đau 55 Bảng 3.7 Thời điểm xuất đau 55 Bảng 3.8 Vùng mờ hóa để đánh giá mức độ triệu chứng 58 Bảng 3.9 Bảng lưu trữ thông tin Bệnh 60 Bảng 3.10 Bảng lưu trữ thông tin triệu chứng 60 Bảng 3.11 Bảng quan hệ Triệu chứng Bệnh 60 Bảng 3.12 Ví dụ nhóm triệu chứng vào nhóm bệnh 69 Bảng 3.13 Độ phụ thuộc triệu chứng 69 vii DANH MỤC CÁC HÌNH VẼ Số hiệu Tên Hình vẽ Trang Hình 1.1 Các chiến lược phân cụm liệu 14 Hình 1.2 Cấu trúc phân cấp 16 Hình 1.3 Các cách mà cụm đưa 17 Hình 1.4 Các thiết lập để xác định ranh giới cụm ban đầu 18 Hình 1.5 Tính tốn trọng tâm cụm 18 Hình 1.6 Khái qt thuật tốn CURE 20 Hình 1.7 Các cụm liệu khám phá CURE 21 Hình 1.8 Hình dạng cụm khám phá thuật toán DBSCAN 23 Hình 1.9 Ba tầng liên tiếp cấu trúc string 26 Hình 2.1 Mơ tập liệu đơn chiều 37 Hình 2.2 Hàm thuộc với trọng tâm cụm A k-means 37 Hình 2.3 Hàm thuộc với trọng tâm cụm A FCM 38 Hình 2.4 Các cụm khám phá thuật toán FCM 39 Hình 3.1 Mơ hình Diagram CSDL hệ thống 61 Hình 3.2 Thêm triệu chứng 64 Hình 3.3 Xố triệu chứng 64 Hình 3.4 Thêm bệnh 65 Hình 3.5 Xố bệnh 65 Hình 3.6 Mối quan hệ triệu chứng bệnh 66 Hình 3.7 Chuẩn đốn bệnh 66 Hình 3.8 Vùng Mờ hố 67 MỞ ĐẦU Lý chọn đề tài Sự phát triển công nghệ thông tin việc ứng dụng công nghệ thông tin lĩnh vực đời sống, kinh tế, xã hội nhiều năm qua đồng nghĩa với lượng liệu quan thu thập lưu trữ ngày tích lũy nhiều lên Các cơng nghệ lưu trữ phục hồi liệu phát triển cách nhanh chóng sở liệu quan, doanh nghiệp ngày nhiều thông tin tiềm ẩn phong phú đa dạng Mặt khác, môi trường cạnh tranh, người ta ngày cần có nhiều thơng tin với tốc độ nhanh để trợ giúp việc định ngày có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa khối lượng liệu khổng lồ có Để thuận tiện cho việc tra cứu thơng tin người ta thường phân cụm liệu lại với Phân cụm liệu kỹ thuật khai phá liệu, nhằm tìm kiếm, phát cụm, mẫu liệu tự nhiên tiềm ẩn, quan tâm tập liệu lớn, từ cung cấp thơng tin, tri thức hữu ích cho việc định Phương pháp phân cụm liệu phân tập liệu ban đầu thành cụm liệu có tính chất hay có tính chất gần giống đối tượng liệu thuộc cụm liệu, phương pháp phù hợp với việc khám phá cụm có mật độ cao rời nhau, với đường biên cụm xác định tốt Tuy nhiên, thực tế, cụm liệu lại chồng chéo lên nhau, nghĩa số đối tượng liệu thuộc nhiều cụm khác nhau, mơ hình khơng mơ tả liệu thực Chính người ta áp dụng lý thuyết tập mờ phân cụm liệu để giải cho trường hợp Cách thức kết hợp gọi phân cụm mờ Phân cụm mờ phương pháp phân cụm liệu mà cho phép điểm liệu thuộc hai nhiều cụm thông qua bậc thành viên Chính lý mà em chọn đề tài “Phân cụm mờ Ứng dụng phân loại bệnh ” làm đề tài cho luận văn tốt nghiệp thạc sĩ 60 3.3.2 Thiết kế sở liệu Thiết kế sở liệu với bảng liệu sau: a Benh: Lưu trữ thông tin nhóm bệnh Bảng 3.9 Bảng lưu trữ thông tin Bệnh STT Tên trường Mô tả Mabenh Mã bệnh Tenbenh Tên bệnh Mota Mô tả thông tin bệnh b Trieuchung: Lưu trữ thông tin triệu chứng xảy Bảng 3.10 Bảng lưu trữ thông tin triệu chứng STT Tên trường Mô tả Matrieuchung Mã triệu chứng Tentrieuchung Tên triệu chứng Mota Mô tả triệu chứng c Trieuchungbenh: Lưu trữ thông tin triệu chứng cho nhóm bệnh Có thể xem luật bệnh với mức độ bệnh khác Bảng 3.8 Bảng quan hệ Triệu chứng Bệnh STT Tên trường Mô tả Mabenh Mã bệnh Matrieuchung Mã triệu chứng Mucdo Mức độ bệnh (khả mắc triệu chứng cao hay thấp), tính theo % 61 Mơ hình sở liệu hệ thống Phân loại bệnh: Hình 3.1 Mơ hình Relationship CSDL hệ thống 3.3.3 Xây dựng chương trình Chương trình gồm có chức như: - Thêm triệu chứng - Xoá triệu chứng - Thêm bệnh - Xoá bệnh - Mối quan hệ triệu chứng bệnh - Chẩn đoán bệnh - Vùng mờ hoá  Thuật toán public void ThuatToanFCM() { DocListBenh(); DocListTrieuChung(); 62 double[] x = new double[numTrieuChung]; double[,] u = new double[numBenh, numTrieuChung]; Tinh_U(u); double[] v = new double[numBenh]; for (int i = 0; i < numBenh; i++) { double tongux = 0; double tongu = 0; for (int k = 0; k < numTrieuChung; k++) { tongux += u[i, k] * x[k]; tongu += u[i, k]; } v[i] = tongux / tongu; } double d, temp, m = 2; temp = 0; double[] I = new double[numBenh]; for (int k = 0; k < numTrieuChung; k++) { for (int i = 0; i < numBenh; i++) { d = Math.Abs(x[k] - v[i]); if (d == 0) I[i] = i; } if (I != null) { for (int i = 0; i < numBenh; i++) { for (int j = 0; j < numBenh; j++) { 63 temp += Math.Pow(Convert.ToDouble(Math.Abs (x[k] - v[i]) / Math.Abs(x[k] v[j])), Convert.ToDouble(2 / (m 1))); } u[i, k] = Convert.ToDouble(1 / temp); } } else { for (int i = 0; i < numBenh; i++) { Boolean check = false; for (int t = 0; t < I.Length; t++) { if (i == t) { check = true; break; } } if (!check) u[i, k] = 0; else u[i, k] = 0; } } } } 64  Chương trình  Thêm triệu chứng Hình 3.2 Thêm triệu chứng  Xóa triệu chứng Hình 3.3 Xố triệu chứng 65  Thêm bệnh Hình 3.4 Thêm bệnh  Xóa bệnh Hình 3.5 Xoá bệnh 66  Mối quan hệ triệu chứng - bệnh Hình 3.6 Mối quan hệ triệu chứng - bệnh  Chẩn đốn bệnh Hình 3.7 Chẩn đốn bệnh 67  Vùng mờ hóa Hình 3.8 Vùng mờ hóa 3.3.4 Đánh giá thực nghiệm Chương trình ứng dụng thực nghiệm phân loại bệnh mang lại số kết như: - Giao diện thân thiện, dễ sử dụng cho người dùng - Cập nhật thông tin đầu vào, hỗ trợ cho việc phân loại nhóm bệnh - Phân loại bệnh dựa suy luận thông tin không chắn bác sĩ, chuyên gia y khoa - Mờ hóa thơng tin sử dụng thuật tốn phân cụm FCM để gom nhóm triệu chứng bệnh có triệu chứng  Ví dụ cụ thể: Giả sử ta có luật cho nhóm bệnh: Bệnh 1: Bệnh viêm phế quản cấp tính gồm triệu chứng: - Sốt nhẹ (TC1) 68 - Người mệt (TC2) - Ho khan (TC3) - Rát cổ (TC4) - Đau ngực (TC5) - Đau vùng sau ức (TC6) - Ho có đờm số lượng đờm tăng lên (TC7) Bệnh 2: Bệnh viêm phế quản mạn tính gồm triệu chứng: - Sốt nhẹ (TC1) - Rát cổ (TC4) - Đau ngực (TC5) - Ho có đờm (TC7) - Khó thở gắng sức (TC8) - Đờm nhầy (TC9) Giả sử bệnh nhân P có triệu chứng : - Đơi Sốt nhẹ (TC1) - Thường thường Ho khan (TC3) - Luôn Rát cổ (TC4) - Hiếm Đau ngực (TC5) - Thường thường Ho đờm số lượng đờm tăng lên (TC7) Ta nhận thấy triệu chứng mà bệnh nhân mắc phải có triệu chứng thuộc nhóm bệnh mà tần suất mắc bệnh đôi khi, thường thường hay Như để phân loại xem triệu chứng thuộc nhóm bệnh ta cần phải dựa vào mức độ mắc bệnh triệu chứng Giả sử ta có loại triệu chứng A, B, C, D, E ứng với triệu chứng bệnh nhân, loại triệu chứng biểu diễn khả mức độ mắc phải bệnh khác Mục đích ta nhóm lại triệu chứng cho vào nhóm bệnh ứng với nhóm bệnh P1 P2 dựa vào mức độ chúng 69 Bảng 3.12 Ví dụ nhóm triệu chứng vào nhóm bệnh Khả mắc phải Khả mắc phải bệnh (tính theo %) bệnh (tính theo %) A Sốt nhẹ (TC1) 20 60 B Ho khan (TC3) 80 25 C Đau ngực (TC5) 65 30 D Rát cổ (TC4) 10 10 E Ho đờm số lượng đờm 10 70 Triệu chứng tăng lên (TC7) Dựa vào triệu chứng khả mắc bệnh ta có ma trận U0:  0.2 0.8 0.65 0.1 0.1 U   0.6 0.25 0.3 0.1 0.7  Mỗi cột ma trận U0 đối tượng triệu chứng (cột thứ tương ứng với triệu chứng A, cột thứ tương ứng với triệu chứng B, …) Hàng thứ ma trận biểu diễn khả mắc bệnh thứ Hàng thứ ma trận biểu diễn khả mắc bệnh thứ Sau nhóm triệu chứng nhóm bệnh thuật tốn FCM ta thu ma trận U1 sau: 0.014 0.961 0.893 0.381 0.014  U  0.986 0.039 0.107 0.619 0.986 Và bảng ước lượng độ phụ thuộc triệu chứng: Bảng 3.13 Độ phụ thuộc triệu chứng Triệu chứng Khả mắc phải Khả mắc phải bệnh (Viêm phế bệnh (Viêm phế quản cấp tính) (%) quản mạn tính) (%) 70 A Sốt nhẹ (TC1) 01.4 98.6 B Ho khan (TC3) 96.1 03.9 C Đau ngực (TC5) 89.3 10.7 D Rát cổ (TC4) 38.1 61.9 E Ho đờm số lượng đờm 01.4 98.6 tăng lên (TC7) Vậy, nhìn vào bảng 3.13 ta thấy triệu chứng bệnh nhân có khả thuộc vào nhóm bệnh thứ cao 3.4 Kết luận chương Việc xác định bệnh giúp có biện pháp chữa trị kịp thời xác Để chẩn đốn bệnh nhân bị bệnh cần phải thu thập đầy đủ triệu chứng mà bệnh nhân mắc phải dựa vào kinh nghiệm suy luận, chẩn đoán bác sĩ Những suy luận bác sĩ thể tập liệu mờ, tập mờ tần suất, mức độ mắc bệnh triệu chứng Để thu thập tri thức vấn đề chữa bệnh ta cần phải có cơng cụ hỗ trợ việc thu thập xử lý thông tin để phân loại bệnh Trong chương trình bày thông tin liên quan việc phân loại bệnh : - Giới thiệu toán phân loại xây dựng quy trình lập luận để phân loại nhóm bệnh - Thu thập triệu chứng nhóm bệnh tương ứng - Biểu diễn tri thức môi trường mờ - Trình bày chế suy diễn xác định độ phụ thuộc dựa tập mờ - Phân tích, thiết kế, xây dựng chương trình phân loại bệnh dựa vào thuật toán FCM 71 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Trong q trình tìm hiểu hồn thành luận văn tốt nghiệp với đề tài “Phân cụm mờ ứng dụng phân loại bệnh”, Em nhận thấy đề tài đạt kết sau đây: Về lý thuyết - Trình bày kỹ thuật thuật toán phân cụm liệu phổ biến - Giới thiệu thuật toán phân cụm liệu mờ: Thuật toán FCM, thuật toán εFCM, thuật toán FCM cải tiến Về ứng dụng - Cài đặt thử nghiệm thuật toán phân cụm mờ phân loại bệnh - Xây dựng chế suy diễn độ phụ thuộc để phân loại bệnh - Cập nhật thông tin đầu vào dễ dàng, thuận tiện - Đã cài đặt chương trình nhỏ với thuật toán ứng dụng FCM - Cơ sở liệu luận văn phản ánh số trường hợp thực tế xảy q trình chẩn đốn bệnh - Chương trình chẩn đốn số bệnh hơ hấp thường gặp Hướng phát triển - Mở rộng phạm vi phân loại triệu chứng nhiều nhóm bệnh với sở liệu lớn đầy đủ - Nâng cấp hệ trợ giúp khơng phân loại bệnh mà cịn đưa cách chẩn đoán với cách thức điều trị bệnh tương ứng - Nâng cao tốc độ thực cách xây dựng thuật toán cải tiến hơn, tối ưu - Tiếp tục nghiên cứu, đề xuất cải tiến số kỹ thuật phân cụm liệu phân cụm mờ, … nhằm nâng cao hiệu suất khai phá liệu tập tin CSDL lớn, phân tán - Xây dựng hệ trợ giúp phân loại bệnh chạy môi trường mạng Internet 72 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Bùi Cơng Cường Nguyễn Dỗn Phước, “Hệ mờ, mạng nơron ứng dụng”, Nhà xuất Khoa học Kỹ thuật, 2001 [2] Nguyễn Văn Chức (chuc1803@gmail.com), “Thuật toán K-Means với toán phân cụm liệu”, http://bis.net.vn/forums/t/374.aspx [3] Hoàng Xuân Huấn Nguyễn Thị Xuân Hương, “Một mở rộng tuật toán phân cụm k-Means cho liệu hỗn hợp”, Tạp chí Tin học Điều khiển học, T.22, S.3 (2006), 267-274 Tiếng Anh [4] James C Bezdek, “Pattern Recognition with fuzzy Objective Function Algorithms”, New York, Plenum, 1981 [5] James C Bezdek, Robert Ehrlich William Full, “The Fuzzy c-Means Clustering Algorithm”, Computers & Geosciences Vol 10, No 2-3, pp 191203, 1984, © 1984 Pergamon Press Ltd [6] James C Bezdek, Robert L Cannon and Jitendra V Dave, “Efficient Implementation of the Fuzzy c-Means Clusteng Algornthms”, Ieee Transactions On Pattern Analysis and Machine Intelligence, VOL Pami-8, No 2, March 1986 [7] P.J Flynn, A.K Jain and M.N Murty, “Data Clustering: A Review”, Michigan State University, Indian Institute of Science, The Ohio State University, ACM Computing Surveys, Vol 31, No 3, September 1999 [8] Md Ehsanul Karim, Feng Yun, Sri Phani Venkata Siva Krishna Madani, “Fuzzy Clustering Analysis”, Thesis for the degree Master of Science in Mathematical Modelling and Simulation, April 2010 [9] Daniel T Larose, “Discovering Knowledge in Data: An Introduction to Data Mining”, ISBN 0-471-66657-2 Copyright ©2005 by John Wiley & Sons, Inc [10] Jacek M Leski, “An ε-Insensitivity Fuzzy C-means Clustering”, Viện Điện tử, Trường đại học công nghệ Silesian, 2003 73 [11] Donald Wunsch, Rui Xu, “Survey of clustering algorithms”, Fellow, IEEE, IEEE TRANSACTIONS ON NEURAL NETWORKS, VOL 16, NO 3, MAY 2005 [12] S Guha, R Rastogi, and K Shim, “CURE: An ef cient clustering algorithm for large databases” in Proc ACM SIGMOD Int Conf Management of Data, 1998, pp 73–84 ... thuật phân cụm liệu mờ: Giới thiệu phân cụm mờ trình bày thuật tốn phân cụm mờ Chương Bài toán ứng dụng phân loại bệnh: Áp dụng thuật toán phân cụm mờ FCM để xây dựng chương trình Phân loại bệnh 3... việc phân cụm liệu mờ 31 Chương PHÂN CỤM DỮ LIỆU MỜ 2.1 Phân cụm mờ 2.1.1 Giới thiệu phân cụm mờ Hiện gặp nhiều ứng dụng toán phân cụm Ví dụ ngành bưu điện, hàng ngày bưu điện phải phân loại. .. thuyết phân cụm mờ kỹ thuật phân cụm mờ - Áp dụng thuật toán phân cụm mờ xây dựng ứng dụng phân loại bệnh Đối tượng phạm vi nghiên cứu Đề tài tập trung sâu nghiên cứu cách xây dựng hệ thống phân cụm

Ngày đăng: 16/03/2023, 10:35

Tài liệu cùng người dùng

Tài liệu liên quan