Nghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụngNghiên cứu một số thuật toán học máy và ứng dụng
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG - NGUYÊN THỊ HÒA NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỌC MÁY VÀ ỨNG DỤNG Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2016 Luận văn hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: TS Vũ Văn Thỏa……………………… (Ghi rõ học hàm, học vị) Phản biện 1: TS Phạm Văn Cường…………………………………… Phản biện 2: PGS TS Nguyễn Hải Châu … ………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Công nghệ Bưu Viễn thông Vào lúc: 9h 00 ngày 20 tháng 08 năm 2016 Có thể tìm hiểu luận văn tại: - Thư viện Học viện Công nghệ Bưu Viễn thông MỞ ĐẦU Trong năm gần đây, phát triển vượt bậc công nghệ thông tin làm số lượng giao dịch thông tin mạng Internet tăng cách đáng kể đặc biệt thư viện điện tử, tin tức điện tử… Do mà số lượng văn xuất mạng Internet tăng với tốc độ chóng mặt, tốc độ thay đổi thông tin nhanh chóng Theo thống kê Broder et al (2003) sau tháng 12 tháng lưognj thông tin lại tăng gấp đôi Cùng với phổ cập máy tính mạng internet, thói quen tìm kiếm thông tin qua mạng, đặc biệt qua trang web tìm kiếm tiếng ngày phổ biến Thông qua internet có nhiều hội để tiếp xúc với nguồn thông tin vô lớn Nhưng với nguồn thông tin vô tận đó, phải đối mặt với tải thông tin Đồng thời độ tin cậy xác thông tin chưa cao Đôi để tìm thông tin cần thiết, phải bỏ lượng thời gian lớn, trường hợp chưa rõ thực cần thời gian để tìm kiếm không Với số lượng thông tin đồ sộ vậy, yêu cầu lớn đặt tổ chức tìm kiếm thông tin, liệu có hiệu Giải pháp tác giả đưa xây dựng mô hình dự đoán dựa phương pháp học máy phân loại thông tin cách tự động Xuất phát từ thực tế mục tiêu vậy, tác giả thực đề tài luận văn có tên “Nghiên cứu số thuật toán học máy ứng dụng” để giải vấn đề nêu Nội dung nghiên cứu: - Nghiên cứu số kiến thức tổng quan học máy - Nghiên cứu số thuật toán học máy định, máy véctơ hỗ trợ SVM, mạng nơron nhân tạo - ng dụng thuật toán nghiên cứu để giải toán phân loại cụ thể Qua đó, đánh giá độ xác tính khả thi thuật toán Nội dung luận văn gồm chương: Chương 1: Tổng quan học máy Chương 2: Nghiên cứu số thuật toán học máy Chương 3: ng dụng vào giải toán phân loại Trong đề tài tập trung vào chương nhằm nghiên cứu tìm hiểu để đề xuất ứng dụng giải pháp phù hợp với thực tế Chương - TỔNG QUAN VỀ HỌC MÁY Chương trình bày số kiến thức tổng quan học máy: khái niệm học máy, mô hình học máy, phân loại phương pháp học máy, ứng dụng học máy thực tế 1.1 Một số khái niệm học máy Học máy lĩnh vực trí tuệ nhân tạo liên quan đến việc nghiên cứu xây dựng kĩ thuật cho phép hệ thống "học" tự động từ liệu để giải vấn đề cụ thể[36] Rất khó để định nghĩa cách xác học máy “Học - learn” có ý nghĩa khác lĩnh vực: tâm lý học, giáo dục, trí tuệ nhân tạo,… Một định nghĩa rộng nhất: “học máy cụm từ dùng để khả chương trình máy tính để tăng tính thực thi dựa kinh nghiêm trải qua” “học máy để khả chương trình phát sinh cấu trúc liệu khác với cấu trúc liệu cũ” Hình 1.0.1 Mô hình kim tự tháp: Từ liệu đến tri thức[32] 1.2 Phân loại thuật toán học máy Các thuật toán học máy chia làm loại: học có giám sát, học không giám sát học nửa giám sát[32] 1.2.1 Học có giám sát Đây cách học từ mẫu liệu mà kỹ thuật học máy giúp hệ thống xây dựng cách xác định lớp liệu Hệ thống phải tìm mô tả cho lớp (đặc tính mẫu liệu) Người ta sử dụng luật phân loại hình thành trình học phân lớp để sử dụng dự báo lớp liệu sau 1.2.2 Học không giám sát Đây việc học từ quan sát khám phá Hệ thống khai thác liệu ứng dụng với đối tượng lớp định nghĩa trước, mà để phải tự hệ thống quan sát mẫu nhận mẫu Hệ thống dẫn đến tập lớp, lớp có tập mẫu khám phá tập liệu Học không giám sát gọi học từ quan sát khám phá 1.2.3 Học bán giám sát Học bán giám sát thuật toán học tích hợp từ học giám sát học không giám sát Học bán giám sát sử dụng liệu gán nhãn chưa gán nhãn để huấn luyện - điển hình lượng nhỏ liệu có gán nhãn với lượng lớn liệu chưa gán nhãn 1.3 Ứng dụng học máy Học máy có ứng dụng rộng khắp ngành khoa học sản xuất, đặc biệt ngành cần phân tích khối lượng liệu khổng lồ Dưới số ứng dụng phổ biến học máy 1.3.1 Ứng dụng phân tích dự báo 1.3.2 Ứng dụng tìm kiếm 1.3.3 Ứng dụng phân lớp 1.4 Kết chương Trong chương luận văn khảo sát vấn đề chung học máy Các mô hình học máy ứng dụng nhiều lĩnh vực khác đời sống xã hội lĩnh vực y tế, sinh học, lĩnh vực kinh tế tài chính, quan trị kinh doanh,…Tuy nhiên, đòi hỏi ngày cao thực tiễn, học máy gặp nhiều thách thức lĩnh vực thu hút quan tâm nhà khoa học tổ chức doanh nghiệp Trong chương luận văn trình bày tổng quan học máy mộ số ứng dụng học máy lĩnh vựa Có nhiều mô hình học máy, phương pháp phân lớp ứng dụng rộng rãi thực tế Trong phương pháp phân lớp, kỹ thuật học máy SVM, định, mạng nơ ron thuật toán phân loại ứng dụng rộng rãi, đặc biệt y học tin sinh học Vì vậy, chương luận văn nghiên cứu ba thuật toán định, SVM mạng nơ ron Chương 2: NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỌC MÁY Chương trình bày số thuật toán học máy tiêu biểu, cụ thể thuật toán định, vectơ hỗ trợ SVM mạng nơron nhân tạo 2.1 Cây định Cây định phương pháp học máy tiêu biểu có nhiều ứng dụng phân loại dự đoán Mặc dù độ xác phương pháp không thật cao so với phương pháp nghiên cứu gần đây, học định có nhiều ưu điểm đơn giản, dễ lập trình, cho phép biểu diễn hàm phân loại dạng dễ hiểu, dễ giải thích cho người 2.1.1 Tổng quan định 2.1.1.1 Định nghĩa Cây định cấu trúc định có dạng Cây định nhận đầu vào giá trị thuộc tính mô tả đối tượng hay tình trả giá trị rời rạc Mỗi thuộc tính đầu vào gọi mẫu hay ví dụ, đầu gọi loại hay nhãn phân loại Thuộc tính đầu vào gọi đặc trưng nhận giá trị rời rạc liên tục Để cho đơn giản, trước tiên ta xem xét thuộc tính rời rạc, sau mở rộng cho trường hợp thuộc tính nhận giá trị liên tục Trong trình bày tiếp theo, tập thuộc tính đầu vào cho dạng véc tơ x, nhãn phân loại đầu ký hiệu y, định hàm f(x) trả lại giá trị y Cây định biểu diễn dạng cấu trúc (hình 2.1) 2.1.1.2 Chiến lược xây dựng định 2.1.1.3 Thuận lợi hạn chế mô hình định 2.1.2 Thuật toán ID3 Giải thuật quy nạp định ID3 (gọi tắt ID3) giải thuật học đơn giản tỏ thành công nhiều lĩnh vực ID3 giải thuật hay cách biểu diễn tri thức học nó, tiếp cận việc quản lý tính phức tạp, heuristic dùng cho việc chọn lựa khái niệm ứng viên, tiềm việc xử lý liệu nhiễu ID3 biểu diễn khái niệm dạng định Biểu diễn cho phép xác định phân loại đối tượng cách kiểm tra giá trị số thuộc tính 2.1.2.1 Thuật toán Hàm xây dựng định sau: Function induce_tree(tập_ví_dụ, tập_thuộc_tính) begin if ví dụ tập_ví_dụ nằm lớp then return nút gán nhãn lớp đó; else if tập_thuộc_tính rỗng then return nút gán nhãn tuyển tất lớp tập_ví_dụ else begin chọn thuộc tính P, lấy làm gốc cho tại; xóa P khỏi tập_thuộc_tính; với giá trị V P; begin tạo nhánh gán nhãn V; Đặt vào phân_vùng V ví dụ tập_ví_dụ có giá trị V thuộc tính P; Gọi induce_tree(phân_vùng V , tập_thuộc_tính), gắn kết vào nhánh V ; end; end ; end; 2.1.2.2 Thuộc tính phân loại tốt a Entropy đo tính tập huấn luyện b Lượng thông tin thu đo mức độ giảm entropy mong đợi 2.1.2.3 Tìm kiếm không gian giả thuyết ID3 2.1.2.4 Đánh giá hiệu suất định: 2.1.2.5 Chuyển luật 2.1.3 Thuật toán C4.5 C4.5 mở rộng giải thuật ID3 số khía cạnh sau: Trong việc xây dựng định, chúng liên hệ với tập huấn luyện mà có ghi với giá trị thuộc tính đến việc đánh giá việc thu thập thông tin tỉ số thu thập thông tin, cho thuộc tính việc xem xét ghi mà thuộc tính định nghĩa Trong việc xây dựng định, giải thuật C4.5 giải tốt trường hợp giá trị thuộc tính giá trị thực Trong việc xây dựng đinh, C4.5 giải tốt trường hợp thuộc tính có nhiều giá trị mà giá trị lại Trong việc sử dụng định, phân loại ghi mà có giá trị thuộc tính việc ước lượng kết có khả xảy 2.2 Thuật toán máy véc tơ hỗ trợ SVM 2.2.1 Giới thiệu SVM sử dụng thuật toán học nhằm xây dựng siêu phẳng làm cực tiểu hoá độ phân lớp sai đối tượng liệu Độ phân lớp sai siêu phẳng đặc trưng khoảng cách bé tới siêu phẳng SVM có khả lớn cho ứng dụng thành công toán phân lớp văn 2.2.2 Định Nghĩa 2.2.3 Phương pháp SVM phân lớp nhị phân Xét toán phân lớp nhị phân với tập liệu mẫu huấn luyện T = {(xi, yi), i = 1, 2, …, n, xi Rd}, Trong đó, liệu mẫu xi biểu diễn dạng véc tơ không gian véc tơ Rd Các mẫu dương mẫu xi thuộc lĩnh vực quan tâm gán nhãn yi = +1; mẫu âm mẫu xi không thuộc lĩnh vực quan tâm gán nhãn yi = -1 Khi cần tìm ranh giới để phân tách mẫu thành hai lớp tương ứng +1 -1 Độ xác phân lớp phụ thuộc vào độ lớn khoảng cách điểm liệu gần lớp đến ranh giới phân tách (còn gọi ranh giới định), khoảng cách gọi biên Tùy thuộc vào dạng ranh giới phân tách ta có SVM tuyến tính SVM phi tuyến 2.2.3.1 SVM tuyến tính Trong không gian véc tơ Rd ta xác định ranh giới phân tách hai lớp có dạng siêu phẳng Để rõ tầm quan trọng biên siêu phẳng phân tách (siêu phẳng định) ta xét ví dụ sau (Hình 2.6) Hình 2.1 Tầm quan trọng biên thuật toán SVM Trong hình 2.4, ta nhận thấy rằng, điểm có khoảng cách tới siêu phẳng phân tách lớn điểm A gán A vào lớp +1 mà không sợ có sai sót.Trong đó, với điểm C sát siêu phẳng phân tách dự đoán thuộc lớp +1 C thuộc lớp -1 có thay đổi nhỏ siêu phẳng phân tách Điểm B nằm hai trường hợp này.Như vậy, khoảng cách biên lớn siêu phẳng định tốt độ xác phân loại cao Mục đích SVM tìm siêu phẳng có khoảng cách biên lớn nhất, gọi siêu phẳng tối ưu 12 wkp: trọng số input f(.): hàm hoạt động yk: kết xuất Neural b: thông số ảnh hưởng đến ngưỡng output a Mạng dẫn tiến lớp b Mạng dẫn tiến nhiều lớp 2.3.2.2 Khả ứng dụng mạng nơ-ron nhân tạo 2.3.2.3 Tiến trình học Tiến trình học tiến trình quan trọng người, nhờ học mà não ngày tích luỹ kinh nghiệm để thích nghi với môi trường xử lý tình tốt Mạng neural xây dựng lại cấu trúc não cần phải có khả nhận biết liệu thông qua tiến trình học, với thông số tự mạng thay đổi liên tục thay đổi môi trường mạng neural ghi nhớ giá trị Hình 2.7 Tiến trình học Trong trình học, giá trị đầu vào đưa vào mạng theo dòng chảy mạng tạo thành giá trị đầu Tiếp đến trình so sánh giá trị tạo mạng nơ ron với giá trị mong muốn Nếu hai giá trị giống không thay đổi Tuy nhiên, có sai lệch hai giá trị vượt giá trị sai số mong muốn ngược mạng từ đâu đàu vào để thay đổi số kết nối 13 2.3.2.4 Giải thuật Back – Propagation Thuật toán Back – Propagation sử dụng để điều chỉnh trọng số kết nối cho tổng sai số e nhỏ n E = ∑ (t (xi, w) – y (xi))2 i=1 Trong đó: t (xi, w): giá trị tập mẫu y (xi): giá trị kết xuất mạng Trước tiên, ta xét Neural, Neural có giá trị vào ra, giá trị có trọng số để đánh giá mức độ ảnh hưởng giá trị vào Thuật toán Back – Propagation điều chỉnh trọng số để giá trị ej = Tj – yj nhỏ Trước hết ta phải xác định vị trí neuron Neuron lớp ẩn neuron lớp xuất Ta cần biết ký hiệu: Wij: vector trọng số neuron j số đầu vào i uj: vector giá trị kết xuất neuron lớp j Hình 2.8 Mô hình tính toán neuron 2.3.2.5 Những hạn chế phương pháp lan truyền ngược 2.4 So sánh thuật toán Máy véc tơ hỗ trợ Cây định SVM Ưu điểm Mạng nơ- ron - Tối ưu toàn cục, - Cây định - Có khả mô mô hình chất lượng xử lý thuộc tính tên hàm cực cao, chịu đựng số đầu vào kỳ phức tạp 14 nhiễu - Thể - Mạng nơ-ron nhân - SVM định đủ đa dạng để tạo học từ phương pháp tốt biểu diễn cho liệu huấn (phù hợp) giá trị rời rạc luyện khái quát toán phân loại có không - Cây định có khả tình gian biểu diễn xử lý thuộc tính lớn Các liệu mà gây - Có khả chịu lỗi, đối tượng cần phân lỗi nhiễu liệu loại biểu diễn tập lớn - Cây định có khả thuộc tính xử lý liệu mà có giá trị rỗng Nhược - SVM làm việc - Hầu hết thuật toán - Chỉ xử lý điểm liệu số bắt buộc thuộc với không gian khoảng thích hợp tính mục tiêu phải đầu vào số cho mạng, giá trị rời rạc thực Đối với - Khó xử lý với liệu thuộc tính định - SVM làm việc (thực định danh phân loại) với - Dữ liệu huấn luyện danh (nominal), dẫn đến không lớp Đối với cần chuyển đủ thông tin để toán phân l i giá trị định danh huấn luyện mạng toán phân loại gồm thành giá trị nhiều lớp, cần chuyển số - Độ phức tạp cao - Xử lý liệu kiểu số thành m thành tập toán phân loại gồm lớp, sau giải riêng rẽ toán lớp 2.5 Kết chương Chương trình bày sở lý thuyết số thuật toán học máy thuật toán định, thuật toán SVM, giải thuật mạng nơ-ron nhân tạo Với khả vượt trội 15 thuật toán tính hiệu quả, độ xác, khả xử lý liệu cách linh hoạt, việc sử dụng thuật toán học máy lựa chọn tối ưu việc giải toán phân loại/dự báo số các ngành khoa học, đặc biệt y học lâm sàng Trên sở lý thuyết thuật toán SVM định, chương xây dựng mô hình phân loại tổng quát thử nghiệm tập liệu bệnh dựa kết xét nghiệm hóa nghiệm triệu chứng ban đầu bác sĩ chẩn đoán 16 Chương 3: ỨNG DỤNG GIẢI QUYẾT BÀI TOÁN PHÂN LỚP Chương giới thiệu toán phân loại phương pháp phân loại liệu Trên sở đó, luận văn sử dụng kỹ thuật SVM định để xây dựng mô hình phân loại cho toán cụ thể phân loại bệnh dựa sởvphát triệu chứng lâm sàng kết xét nghiệm, hóa nghiệm 3.1 Bài toán phân lớp 3.1.1 Giới thiệu Bài toán phân loại việc gán nhãn phân loại cho liệu dựa mức độ tương tự tập liệu so với liệu gán nhãn tập huấn luyện Nhiều kỹ thuật máy học khai phá liệu áp dụng vào toán phân loại, chẳng hạn: phương pháp Naive Bayes, định, k–láng giềng gần (KNN), mạng nơron (neural network),… Máy học vectơ hỗ trợ (SVM) giải thuật phân lớp có hiệu cao áp dụng nhiều lĩnh vực khai phá liệu nhận dạng Trong luận văn nghiên cứu thuật toán máy vector hỗ trợ (SVM), áp dụng vào toán phân lớp so sánh hiệu với hiệu giải thuật phân lớp cổ điển, phổ biến định Nghiên cứu SVM với cách lựa chọn đặc trưng phương pháp tách giá trị đơn (SVD) cho kết tốt so với định 3.1.2 Mô tả toán phân lớp Cho tập mẫu phân lớp trước, xây dựng mô hình cho lớp Mục đích gán mẫu vào lớp với độ xác cao Cho sở liệu D={t1 ,t2 ,…,tn } tập lớp C={C1,…,Cm}, phân lớp toán xác định ánh xạ f : D C cho ti gán vào lớp 3.1.3 Phương pháp phân lớp Qui trình phân lớp: Bước 1: xây dựng mô hình phân lớp Mô tả tập lớp xác định trước bao gồm tập huấn luyện (các mẫu/ bộ) dành cho xây dựng mô hình Mỗi mẫu/ thuộc lớp định trước Tìm luật phân lớp, định công thức toán mô tả lớp Dữ liệu huấn luyện gán nhãn Mô hình HUẤN LUYỆN phân lớp 17 Hình 3.1 Giai đoạn xây dựng mô hình Bước 2: Sử dụng mô hình Phân lớp đối tượng chưa biết Xác định độ xác mô hình Tập liệu kiểm tra độc lập với tập liệu - huấn luyện gọi tập kiểm chứng để kiểm định mô hình Độ xác chấp nhận Áp dụng mô hình để phân lớp mẫu chưa xác - định nhãn - Mô hình phân lớp - Dữ liệu kiểm học chứng chưa - Dữ liệu phân lớp gán nhãn Hình 3.2 Giai đoạn phân lớp Độ xác mô hình tập kiểm chứng đưa tỉ lệ phần trăm các tập liệu kiểm tra mô hình phân lớp (so với thực tế) Nếu độ xác mô hình chấp nhận được, mô hình sử dụng để phân lớp liệu tương lai, liệu mà giá trị thuộc tính phân lớp chưa biết 3.1.4 Đánh giá mô hình Ước lượng độ xác phân lớp quan trọng chỗ cho phép dự đoán độ xác kết phân lớp liệu tương lai Độ xác giúp so sánh mô hình phân lớp khác 18 Hình 3.3 Đánh giá độ xác mô hình phần lớp 3.2 Bài toán phân loại bệnh dựa dấu hiệu khám bệnh lâm sàng số xét nghiệm hóa nghiệm 3.2.1 Đặt toán Bài toán đặt là: Cho trước mẫu liệu số bệnh phổ biến triệu chứng lâm sàng bệnh nhân sử dụng phương pháp SVM định xây dựng mô hình phân lớp để xác định mẫu thuộc lớp bệnh có so sánh hiêu hai mô hình phân loại (Hình 3.4) Lớp bệnh Dữ liệu xét nghiệm bệnh nhân Mô hình Lớp bệnh phân lớp Lớp bệnh Lớp bệnh n (…) Hình 3.4 Mô hình toán phân lớp mặt bệnh 3.2.2 Các bước giải toán Phương pháp giải toán theo mô hình hình 3.2 thực với bước sau (Hình 3.5): Bước 1: Thu thập liệu xét nghiệm; Bước 2: Tiền xử lý liệu; Bước 3: Phân chia liệu thành tập liệu huấn luyện tập liệu kiểm chứng; 19 Bước 4: Xây dựng mô hình phân lớp theo SVM định tập huấn luyện; Bước 5: Sử dụng mô hình phân lớp có để phân loại với tập liệu kiểm chứng đánh giá kết mô hình Hình 3.5 Các bước phân lớp mặt bệnh dựa triệu chứng lâm sàng cận lâm sàng 3.2.3 Thu thập liệu nghiên cứu Tiêu chuẩn đặt để lựa chọn mặt bệnh là: - Những mặt bệnh phổ biến điều trị số bệnh viện đa khoa tuyến tỉnh tuyến huyện - Những mặt bệnh không tác động lực thuộc quan cụ thể người (ví dụ: Sốt, nhiễm khuẩn, nhiễm trùng bệnh toàn thân, chấn thương, vết thương bệnh tác động lực nên không lựa chọn) - Có thể xác định bệnh qua triệu chứng lâm sàng vài xét nghiệm liên quan 20 Qua thu thập thông tin tổng hợp lựa chọn 800 bệnh nhân phù hợp tiêu chuẩn lựa chọn với phân bố theo bảng 3.1 sau: Bảng 3.1 Số lượng BN theo nhóm mặt bệnh nghiên cứu Mã nhóm Tên nhóm mặt bệnh Số lượng (n) Nhóm bệnh lý đường hô hấp 248 Nhóm bệnh lý khớp 82 Nhóm bệnh tim mạch 236 Nhóm bệnh lý đái tháo đường 286 TỔNG CỘNG 852 3.2.4 Tiền xử lý liệu Việc tiền xử lý liệu cho trình phân lớp việc làm thiếu có vai trò quan trọng định tới áp dụng hay không mô hình phân lớp Quá trình tiền xử lý liệu giúp cải thiện độ xác, tính hiệu khả mở rộng mô hình phân lớp a Làm liệu: Làm liệu liên quan đến việc xử lý nhiễu (noise) giá trị thiếu (missing value) tập liệu ban đầu b Lựa chọn, rút gọn thuộc tính Lựa chọn thuộc tính (Feature Selection, Feature Extraction) nhiệm vụ quan trọng giai đoạn tiền xử lý liệu triển khai mô hình khai phá liệu Một vấn đề gặp phải tập liệu dùng để xây dựng mô hình phân lớp thường chứa nhiều thông tin không cần thiết (thậm chí gây nhiễu) cho việc xây dựng mô hình làm giảm độ xác mô hình gây khó khăn việc phát tri thức 3.2.5 Bài toán thực nghiệm Ký hiệu tập đặc trưng (các số) xét nghiệm hóa nghiệm F = {f1, f2, , fd} với d = 46 Kết xét nghiệm chẩn đoán bệnh bệnh nhân pi biểu diễn véc tơ không gian Rd: pi = {fi1, fi2, , fi46}, fijR giá trị kết xét nghiệm fj bệnh nhân pi 21 Gọi tập C = {c1, c2, , c4} chứa mã lớp nhóm bệnh cần phân loại tương ứng nhóm bệnh kể Bài toán Đầu vào: - Tập T chứa n mẫu xét nghiệm huấn luyện mô hình hóa thành véc tơ pi(fi1, fi2, , fi46); - Tập F = {f1, f2, , f46} chứa mã số xét nghiệm triệu chứng lâm sàng; - Tập C = {c1, c2, , c4}chứa mã lớp nhóm bệnh cần phân loại; Đầu ra: Bộ phân lớp sử dụng SVM; Bộ phân lớp sử dụng định ID3 Thuật toán sử dụng Để giải toán trên, học viên sử dụng SVM phân lớp đa lớp định để so sánh đánh giá kết 3.3 Thử nghiệm đánh giá kết 3.3.1 Công cụ thực nghiệm Công cụ thực nghiêm: Sử dụng phần mềmWeka version 3.7.12 Weka phần mềm miễn phí học máy viết Java, phát triển University of Wekato Weka coi sưu tập thuật toán học máy dùng phân tích khai phá liệu Các thuật toán xây dựng sẵn việc sử dụng Do Weka thích hợp cho việc thử nghiệm mô hình mà không thời gian để xây dựng chúng Weka có giao diện sử dụng đồ họa trực quan chế độ command line Ngoài thuật toán học máy dự đoán, phân loại, phân cụm, Weka có công cụ để trực quan hóa liệu hữu ích trình nghiên cứu, phân tích 22 Hình 3.6 Giao diện khởi động WEKA 3.3.2 Chuẩn bị liệu Mẫu XN gồm 852 mẫu thuộc 04 nhóm bệnh tiền xử lý Bảng 3.2 Cơ cấu số mẫu HL KC tương ứng TT Tên nhóm mặt bệnh Số lượng Số lượng Số lượng (n) HL KC Nhóm bệnh 850 563 289 Nhóm bệnh lý đường hô hấp 248 177 71 Nhóm bệnh lý khớp 82 50 32 Nhóm bệnh lý tim mạch 236 142 94 Nhóm bệnh lý đái tháo đường 284 185 99 Dữ liệu tách ra, chuyển đổi sang dạng chuẩn csv Weka với 45 thuộc tính gồm 44 thuộc tính số XN triệu chứng lâm sàng với thuộc tính lớp theo bảng 3.4 sau: Bảng 3.3 Cơ cấu tập tin liệu Tên tập tin Nội dung Số thuộc tính Số ghi DL_HL.csv Tập huấn luyện 46 563 23 Tên tập tin Nội dung Số thuộc tính Số ghi DL_KC.csv Tập kiểm chứng 46 289 3.3.3 Thực thực nghiệm Mỗi thuật toán thực liên tiếp lần tập mẫu, lần thực theo quy trình thực từ bước Hình 3.7 Thực phân loại với J48 Classifier SMO Classifier 24 3.3.4 Kết thực nghiệm Kết thử nghiệm: Bảng 3.4 Kết phân lớp theo định J48 Bảng 3.5 Kết phân lớp theo thuật toán SMO Bảng 3.6 Kết đánh giá thuật toán định J48 Bảng 3.7 Kết đánh giá thuật toán định SMO 3.3.5 Phân tích đánh giá kết Qua kết thực nghiệm nhận thấy: 25 Trên bảng 3.8 cho thấy lớp bệnh phân loại với độ tin cậy cao lớp bệnh lý tim mạch với độ nhạy = 93.6,8 %, độ đặc hiệu = 99 % độ xác = 96.3% kết phân loại sử dụng SMO Có lớp bệnh lý đái tháo đường bệnh đường hô hấp có độ tin cậy phân loại thấp hơn, theo độ nhạy, độ đặc hiệu độ xác theo thuật toán SMO J48 lớp bệnh là: 98 % - 98.4% - 98.2% / 98% - 96.3.0% 97.15% bệnh đái tháo đường 97.2 % - 98.2% - 97.7%/97.2% - 97.7%-97.45% bệnh đường hô hấp 3.4 Kết luận chương Trong chương luận văn đưa toán phân loại tổng quát nêu lên phương pháp xây dựng mô hình phân loại Luận văn khảo sát khía cạnh toán phân loại bệnh dựa triệu chứng lâm sàng ban đầu bệnh nhân kết hợp với kết xét nghiệm hóa nghiệm Trên sở liệu thu thập loại bệnh bệnh nhân số bệnh viện hạng hạng 2, luận văn tiến hành thực nghiệm với việc sử dụng SVM thuật toán định Kết thực nghiệm thu sử dụng phần mềm WEKA phân tích đánh giá cho thấy phù hợp với lý thuyết nghiên cứu 26 KẾT LUẬN Những đóng góp luận văn: Qua nghiên cứu thực nghiệm,luận văn đạt kết sau: - Nghiên cứu tổng quan học máy, kái niệm học máy ứng dụng - Nghiên cứu số thuật toán học máy tiêu biểu thuật toán SVM, thuật toán định mạng nơ-ron nhân tạo ng dụng thuật toán tìm hiểu để giải toán phân lớp thông qua - mô hình huấn luyện thuật toán tìm hiểu - Đã thu thập chuẩn hóa số liệu 46 số xét nghiệm triệu chứng lâm sàng với 800 mẫu 04 nhóm bệnh Đã tiến hành thực nghiệm phân tích, đánh giá kết thu Bước đầu cho thấy ứng dụng SVM việc phân loại bệnh dựa triệu chứng lâm sàng ban đầu kết xét nghiệm hóa nghiệm đạt hiệu khả quan Hướng phát triển luận văn: Tuy đạt số kết nêu trên, luận văn số hạn chế điều kiện mặt thời gian trình độ học viên Vì vậy, hướng nghiên cứu học viên là: - Nghiên cứu thêm thuật toán học máy khác, nghiên cứu thuật toán SVM, định kết hợp với thuật toán khác để tăng độ xác phân lớp - Để ứng dụng thực tế phát triển toán cụ thể chương ba cách phân loại bệnh nhân đa bệnh kết hợp (phân lớp đa nhãn) - Mở rộng thêm mặt bệnh phân loại phân loại mặt bệnh chi tiết - Phát triển toán phân loại bệnh thành ứng dụng để hỗ trợ định hướng chẩn đoán bệnh bệnh viện [...]... thuật toán cây quyết định Kết quả thực nghiệm thu được khi sử dụng phần mềm WEKA được phân tích và đánh giá cho thấy sự phù hợp với lý thuyết đã nghiên cứu 26 KẾT LUẬN Những đóng góp của luận văn: 1 Qua nghiên cứu và thực nghiệm,luận văn đã đạt được những kết quả chính như sau: - Nghiên cứu tổng quan về học máy, các kái niệm cơ bản trong học máy và ứng dụng - Nghiên cứu một số thuật toán học máy tiêu... thấy ứng dụng SVM trong việc phân loại bệnh dựa trên các triệu chứng lâm sàng ban đầu và kết quả xét nghiệm hóa nghiệm đạt hiệu quả khả quan 2 Hướng phát triển luận văn: Tuy đạt được một số kết quả nêu trên, nhưng luận văn còn một số hạn chế do điều kiện về mặt thời gian và trình độ của học viên Vì vậy, hướng nghiên cứu tiếp theo của học viên là: - Nghiên cứu thêm về các thuật toán học máy khác, nghiên. .. định danh huấn luyện mạng toán phân loại gồm thành các giá trị nhiều lớp, cần chuyển số - Độ phức tạp vẫn cao - Xử lý dữ liệu kiểu số thành m thành một tập các bài toán phân loại gồm 2 lớp, và sau đó giải quyết riêng rẽ từng bài toán 2 lớp này 2.5 Kết chương Chương 2 trình bày cơ sở lý thuyết về một số thuật toán học máy cơ bản là thuật toán cây quyết định, thuật toán SVM, giải thuật mạng nơ-ron nhân... của mỗi thuật toán về tính hiệu quả, độ chính xác, khả năng xử lý các bộ dữ liệu một cách linh hoạt, việc sử dụng các thuật toán học máy đã và đang là sự lựa chọn tối ưu nhất trong việc giải quyết các bài toán phân loại/dự báo trong một số các các ngành khoa học, đặc biệt là y học lâm sàng Trên cơ sở lý thuyết của thuật toán SVM và cây quyết định, chương 3 xây dựng mô hình phân loại tổng quát và thử... học máy tiêu biểu đó là thuật toán SVM, thuật toán cây quyết định và mạng nơ-ron nhân tạo ng dụng các thuật toán đã tìm hiểu để giải quyết bài toán phân lớp thông qua các - mô hình huấn luyện của các thuật toán đã tìm hiểu trên - Đã thu thập và chuẩn hóa được bộ số liệu của 46 chỉ số xét nghiệm và triệu chứng lâm sàng với trên 800 mẫu của 04 nhóm bệnh Đã tiến hành thực nghiệm và phân tích, đánh giá... vectơ hỗ trợ (SVM) là một giải thuật phân lớp có hiệu quả cao và đã được áp dụng nhiều trong lĩnh vực khai phá dữ liệu và nhận dạng Trong luận văn này nghiên cứu thuật toán máy vector hỗ trợ (SVM), áp dụng nó vào bài toán phân lớp và so sánh hiệu quả của nó với hiệu quả của giải thuật phân lớp cổ điển, rất phổ biến đó là cây quyết định Nghiên cứu chỉ ra rằng SVM với cách lựa chọn đặc trưng bằng phương... và các triệu chứng ban đầu được bác sĩ chẩn đoán 16 Chương 3: ỨNG DỤNG GIẢI QUYẾT BÀI TOÁN PHÂN LỚP Chương này giới thiệu về bài toán phân loại và phương pháp phân loại dữ liệu Trên cơ sở đó, luận văn sử dụng kỹ thuật SVM và cây quyết định để xây dựng mô hình phân loại cho bài toán cụ thể đó là phân loại bệnh dựa trên cơ sởvphát hiện triệu chứng lâm sàng và kết quả xét nghiệm, hóa nghiệm 3.1 Bài toán. .. phân loại; Đầu ra: Bộ phân lớp sử dụng SVM; Bộ phân lớp sử dụng cây quyết định ID3 Thuật toán sử dụng Để giải bài toán trên, học viên sử dụng SVM trong phân lớp đa lớp và cây quyết định để so sánh đánh giá kết quả 3.3 Thử nghiệm và đánh giá kết quả 3.3.1 Công cụ thực nghiệm Công cụ thực nghiêm: Sử dụng phần mềmWeka version 3.7.12 Weka là một phần mềm miễn phí về học máy được viết bằng Java, phát triển... Wekato Weka có thể coi như là bộ sưu tập các thuật toán về học máy dùng trong phân tích và khai phá dữ liệu Các thuật toán đã được xây dựng sẵn chỉ việc sử dụng Do đó Weka rất thích hợp cho việc thử nghiệm các mô hình mà không mất thời gian để xây dựng chúng Weka có giao diện sử dụng đồ họa trực quan và cả chế độ command line Ngoài các thuật toán về học máy như dự đoán, phân loại, phân cụm, Weka còn... xác của mô hình phần lớp 3.2 Bài toán phân loại bệnh dựa trên dấu hiệu khám bệnh lâm sàng và các chỉ số xét nghiệm hóa nghiệm 3.2.1 Đặt bài toán Bài toán đặt ra là: Cho trước một mẫu dữ liệu về một số bệnh phổ biến và các triệu chứng lâm sàng của bệnh nhân sử dụng phương pháp SVM và cây quyết định xây dựng mô hình phân lớp để xác định mẫu đó thuộc lớp bệnh đã có nào và so sánh hiêu quả của hai mô hình