Khóa luận Áp dụng phương pháp trích chọn thuộc tính đặc trưng để nâng cao hiệu quả phân lớp khi khai phá dữ liệu lớn

Trong khóa luận này tôi áp dụng thuật toán di truyền (Genetic Algorithm) để bước đầu cải tiến hiệu quả phân lớp của phương pháp minimax probability machine (MPM). Phần đầu tôi xin giới thiệu tổng quan về khái niệm khai phá dữ liệu. Tiếp đó, tôi sẽ trình bày về cơ sở lý thuyết của thuật toán di truyền và phương pháp phân lớp minimax probability machine. Cuối cùng, tôi sẽ mô tả chi tiết về quá trình xây dựng hệ thống có ứng dụng thuật toán di truyền trong phân lớp minimax probability machine để chuẩn đoán bệnh ung thư. Mô hình phân lớp mới này sẽ được chạy thử trên một số cơ sở dữ liệu lớn và đưa ra những số liệu thống kê để có thể thấy được hiệu quả của hệ thống so với phương pháp phân lớp chỉ sử dụng minimax probability machine.

pdf58 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2145 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Khóa luận Áp dụng phương pháp trích chọn thuộc tính đặc trưng để nâng cao hiệu quả phân lớp khi khai phá dữ liệu lớn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ Trần Phƣơng Nhung ÁP DỤNG PHƢƠNG PHÁP TRÍCH CHỌN THUỘC TÍNH ĐẶC TRƢNG ĐỂ NÂNG CAO HIỆU QUẢ PHÂN LỚP KHI KHAI PHÁ DỮ LIỆU LỚN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ Trần Phƣơng Nhung ÁP DỤNG PHƢƠNG PHÁP TRÍCH CHỌN THUỘC TÍNH ĐẶC TRƢNG ĐỂ NÂNG CAO HIỆU QUẢ PHÂN LỚP KHI KHAI PHÁ DỮ LIỆU LỚN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hƣớng dẫn: TS. Nguyễn Hà Nam HÀ NỘI - 2009 Lời cảm ơn “Để hoàn thành khóa luận này, tôi xin gửi lời cảm ơn chân thành tới quý thầy cô trong trường Đại học Công Nghệ - ĐHQGHN đã tận tình chỉ bảo tôi trong suốt bốn năm học đại học. Tôi cũng xin cảm ơn sự hướng dẫn nhiệt tình của thầy Nguyễn Hà Nam, cùng sự giúp đỡ của anh Đặng Tất Đạt – sinh viên cao học khoa Toán Tin trường Đại học Tự Nhiên, ĐHQGHN. Tôi cũng thầm biết ơn sự ủng hộ của gia đình, bạn bè – những người thân yêu luôn luôn là chỗ dựa tinh thần vững chắc cho tôi.” Hà Nội, tháng 05 năm 2009. Sinh viên Trần Phương Nhung 1 Tóm tắt khóa luận Trong khóa luận này tôi áp dụng thuật toán di truyền (Genetic Algorithm) để bước đầu cải tiến hiệu quả phân lớp của phương pháp minimax probability machine (MPM). Phần đầu tôi xin giới thiệu tổng quan về khái niệm khai phá dữ liệu. Tiếp đó, tôi sẽ trình bày về cơ sở lý thuyết của thuật toán di truyền và phương pháp phân lớp minimax probability machine. Cuối cùng, tôi sẽ mô tả chi tiết về quá trình xây dựng hệ thống có ứng dụng thuật toán di truyền trong phân lớp minimax probability machine để chuẩn đoán bệnh ung thư. Mô hình phân lớp mới này sẽ được chạy thử trên một số cơ sở dữ liệu lớn và đưa ra những số liệu thống kê để có thể thấy được hiệu quả của hệ thống so với phương pháp phân lớp chỉ sử dụng minimax probability machine. 2 Mục lục Giới thiệu ......................................................................................................................... 8 Chương 1: Giới thiệu về khai phá dữ liệu .................................................................... 10 1.1. Khai phá dữ liệu là gì? ...................................................................................... 10 1.2. Tại sao phải tiến hành khai phá dữ liệu? ........................................................... 10 1.3. Quá trình khai phá dữ liệu ................................................................................ 11 1.4. Kiến trúc điển hình của một hệ khai phá dữ liệu ............................................... 12 1.5. Các bài toán khai phá dữ liệu điển hình ............................................................ 13 1.6. Các lĩnh vực liên quan đến khai phá dữ liệu ..................................................... 15 1.7. Các ứng dụng điển hình của khai phá dữ liệu ................................................... 15 1.8. Các thách thức với khai phá dữ liệu .................................................................. 16 1.9. Kết luận ............................................................................................................ 16 Chương 2: Trích chọn thuộc tính phù hợp .................................................................. 17 2.1. Giới thiệu ......................................................................................................... 17 2.2. Mô hình trong bài toán trích chọn ..................................................................... 18 2.2.1. Các mô hình trong trích chọn .................................................................... 18 2.2.2. Đánh giá hai mô hình Filter và Wrapper ................................................... 19 2.2.2.1. Mô hình Filter .................................................................................... 19 2.2.2.2. Mô hình Wrapper ............................................................................... 19 2.3. Một số kỹ thuật xử lý........................................................................................ 20 2.3.1. Bộ sinh tập con (Feature Subset Generator) .............................................. 20 2.3.2. Bộ đánh giá tập con đặc trưng (Feature Subset Evaluator) ....................... 21 2.3.3. Thuật toán học điều khiển (Central machine learning algorithm) .............. 22 2.4. Kết luận ............................................................................................................ 22 3 Chương 3: Genetic algorithms ..................................................................................... 23 3.1. Giới thiệu ........................................................................................................... 23 3.2. Động lực ............................................................................................................ 23 3.3. Thuật giải di truyền ............................................................................................ 24 3.3.1. Nội dung thuật toán ....................................................................................... 24 3.3.2. Thể hiện các giả thuyết .................................................................................. 26 3.3.3. Các toán tử di truyền ..................................................................................... 27 3.3.4. Hàm thích nghi và sự chọn lọc ....................................................................... 29 Chương 4: Minimax probability machine ................................................................... 31 4.1. Giới thiệu ........................................................................................................... 31 4.2. Nội dung thuật toán ............................................................................................ 31 4.3. Ưu điểm và nhược điểm của minimax probability machine ................................ 32 4.4. Các phiên bản cải tiến của minimax probability machine ................................... 32 4.4.1. Minimum error minimax probability machine (MEMPM) .............................. 32 4.4.2. Biased minimax probability machine (BMPM) ............................................... 34 Chương 5: Phương pháp đề nghị ................................................................................. 35 5.1. Tổng quan về phương pháp .............................................................................. 35 5.1.1. Mô tả phương pháp ................................................................................... 35 5.1.2. Mô hình bài toán ....................................................................................... 36 5.2. Mô tả dữ liệu sử dụng ....................................................................................... 36 5.3. Các module trong hệ thống và giao diện của chương trình ................................ 37 5.3.1. Chi tiết các module của Genetic Algorithm ............................................... 37 5.3.2. Chi tiết các module của minimax probability machine............................... 41 5.4. Thực nghiệm và phân tích kết quả .................................................................... 43 5.4.1. Phương pháp đánh giá ................................................................................... 43 5.4.2. Phân tích kết quả ........................................................................................... 44 4 5.4.2.1. Kết quả thực hiện phân lớp trên bộ dữ liệu ban đầu ................................. 44 5.4.2.2. Kết quả thực hiện phân lớp trên bộ dữ liệu giảm chiều (outData.mat) ...... 45 5.4.2.3. So sánh kết quả 4 trường hợp kiểm thử .................................................... 51 5.4.2.4. Kết luận ................................................................................................... 52 Chương 6: Tổng kết ...................................................................................................... 53 5 Danh sách các hình Hình 1.1: Quá trình phát hiện tri thức trong cơ sở dữ liệu [2]. ........................................ 12 Hình 1.2: Kiến trúc điển hình của hệ thống khai phá dữ liệu [2]. .................................... 13 Hình 1.3: Tính đa/ liên ngành của khai phá dữ liệu [2]. .................................................. 15 Hình 2.1: Bốn bước cơ bản trong quá trình trích chọn các thuộc tính phù hợp [6]. ......... 17 Hình 2.2: Mô hình Filter [6] ........................................................................................... 18 Hình 2.3: Mô hình Wrapper [6] ...................................................................................... 18 Hình 3.1: Các toán tử chung cho thuật giải di truyền [20]............................................... 28 Hình 4.1: Mô tả sự khác nhau giữa MEMPM (h.1) và MPM (h.2) với cùng xác suất tiên nghiệm cho 2 lớp. [17] .................................................................................................... 34 Hình 5.1: Mô hình kết hợp thuật toán di truyền và phương pháp phân lớp MPM. ........... 36 Hình 5.2: 6 bước thực hiện để tìm ra chromosome tốt nhất. ............................................ 38 Hình 5.3: Giá trị của hàm đánh giá tại mỗi thế hệ. .......................................................... 39 Hình 5.4: Hình ảnh biểu diễn hàm đánh giá của GA tại mỗi thế hệ. ................................ 40 Hình 5.5: Kết quả quá trình tối ưu tập thuộc tính của dữ liệu ban đầu............................. 41 Hình 5.6: Giao diện kết quả của bộ phân lớp minimax probability machine. .................. 42 Hình 5.7: So sánh tỷ lệ phân lớp chính xác của tập dữ liệu gốc và dữ liệu mới (trường hợp 1). ................................................................................................................................... 46 Hình 5.8: So sánh tỷ lệ phân lớp chính xác của tập dữ liệu gốc và dữ liệu mới (trường hợp 2). ................................................................................................................................... 47 Hình 5.9: So sánh tỷ lệ phân lớp chính xác của tập dữ liệu gốc và dữ liệu mới (trường hợp 3). ................................................................................................................................... 49 Hình 5.10: So sánh tỷ lệ phân lớp chính xác của tập dữ liệu gốc và dữ liệu mới (trường hợp 4). ............................................................................................................................ 50 Hình 5.11: So sánh kết quả phân lớp trung bình trong 4 trường hợp kiểm thử và kết quả phân lớp của dữ liệu gốc. ................................................................................................ 51 6 Danh sách các bảng Bảng 3.1: Thuật giải di truyền mẫu. [20] ........................................................................ 24 Bảng 5.1: Mô tả bảng dữ liệu sử dụng (file Stomach_Full.mat) ...................................... 37 Bảng 5.2: Kết quả phân lớp trên bộ dữ liệu ban đầu ....................................................... 44 Bảng 5.3: Kết quả phân lớp trong trường hợp 1 .............................................................. 45 Bảng 5.4: Kết quả phân lớp trong trường hợp 2 .............................................................. 46 Bảng 5.5: Kết quả phân lớp trong trường hợp 3 .............................................................. 48 Bảng 5.6: Kết quả phân lớp trong trường hợp 4. ............................................................. 49 7 Bảng các từ viết tắt Biased Minimax Probability Machine BMPM Genetic Algorithm GA Genetic Algorithms Gas Las Vegas LV Matlab Matrix Laboratory Minimax Probability Machine MPM Minimum Error Minimax Probability Machine MEMPM Online Analytical Processing OLAP 8 Giới thiệu Những năm gần đây, các cơ sở dữ liệu đã đem lại những lợi ích vô cùng to lớn cho con người. Song hành cùng sự phát triển nhanh chóng của công nghệ thông tin và những ứng dụng của nó trong đời sống, kinh tế và xã hội, lượng dữ liệu thu thập ngày càng nhiều theo thời gian, dẫn đến việc xuất hiện ngày càng nhiều các hệ thống cơ sở dữ liệu có kích thước lớn. Trong xã hội hiện đại, thông tin được coi như sức mạnh và là yếu tố quyết định thành công trong mọi lĩnh vực, do đó việc tìm ra thông tin hữu ích trong khối dữ liệu khổng lồ được xem như mục tiêu hàng đầu của mọi tổ chức và cá nhân. Trong khóa luận này, tôi sẽ ứng dụng kỹ thuật chọn lựa tập các thuộc tính có ích trong bài toán trích chọn để nhằm cải thiện hiệu quả phân lớp dữ liệu, là nền tảng cho hệ thống chuẩn đoán bệnh ung thư. Hệ thống này sẽ được huấn luyện với tập dữ liệu về các bệnh nhân có từ trước và khi có dữ liệu của bệnh nhân mới, hệ thống sẽ tự động đưa ra chuẩn đoán người đó có bị bệnh hay không? Tôi sử dụng phương pháp phân lớp Minimax Probability Machine (MPM) kết hợp cùng thuật toán di truyền (Genetic Algorithm) để xây dựng hệ thống này. Với mục đích làm tăng độ chính xác của quá trình phân lớp dữ liệu và giảm thời gian huấn luyện của bộ phân lớp, tôi sử dụng thuật toán di truyền để lựa chọn tập thuộc tính tốt nhất của tập dữ liệu ban đầu nhằm tìm ra bộ dữ liệu phù hợp nhất cho đầu vào của bộ phân lớp MPM. Kết quả thực nghiệm đã chứng minh rằng phương pháp phân lớp sử dụng thuật toán di truyền để tối ưu tập thuộc tính cho kết quả tốt hơn phương pháp truyền thống. Nội dung chính của khóa luận bao gồm sáu chương, với nội dung cụ thể như sau: Chương 1 tập trung mô tả về khai phá dữ liệu (data mining), giới thiệu những bài toán điển hình trong khai phá dữ liệu cũng như những ứng dụng rộng rãi của lĩnh vực này. Cuối cùng là những thách thức đặt ra cho quá trình khai phá dữ liệu. Chương 2 có nội dung chủ yếu trình bày về khái niệm trích chọn thuộc tính phù hợp, những mô hình trích chọn điển hình và một số kỹ thuật xử lý trong quá trình trích chọn. Chương 3 giới thiệu về cơ sở lý thuyết cũng như những bước thực hiện của thuật toán di truyền. Thuật toán này được sử dụng để tìm ra tập các thuộc tính phù hợp nhất với thuật toán MPM sẽ được trình bày ở chương sau. 9 Chương 4 sẽ mô tả phương pháp phân lớp minimax probability machine. Phân tích những mặt mạnh và yếu của phương pháp này để đề ra những cải tiến nhằm nâng cao hiệu quả phân lớp của minimax probability machine. Chương 5 trình bày chi tiết quá trình xây dựng mô hình dự kiến của tôi bao gồm phân lớp minimax probability machine kết hợp với thuật toán di truyền. Phần còn lại của chương dùng để mô tả quá trình đánh giá chất lượng, từ đó đưa ra những phân tích kỹ thuật và kết luận về hiệu quả của mô hình. Chương 6 tóm tắt lại những kết quả đã đạt được của khóa luận, đồng thời nêu ra những mặt còn hạn chế trong phương pháp đề nghị và những hướng nghiên cứu có thể trong tương lai nhằm cải tiến hiệu quả của phương pháp này. 10 Chương 1: Giới thiệu về khai phá dữ liệu 1.1. Khai phá dữ liệu là gì? Có khá nhiều định nghĩa về khai phá dữ liệu, nhưng định nghĩa đơn giản nhất là khai phá dữ liệu là việc trích rút thông tin hay tri thức mới và có ích từ nguồn dữ liệu khổng lồ (Frawley, Piatetski-Shapiro và Matheus) [1]. Ngoài ra, khai phá dữ liệu còn có thể hiểu là trích rút các thông tin có ích từ những dữ liệu không tường minh, hoặc trích rút lấy những thông tin không biết trước và tiềm tàng trong dữ liệu. Cũng có thể hiểu, khai phá dữ liệu là việc phân tích khảo sát một cách tỉ mỉ số lượng lớn dữ liệu bằng các phương pháp tự động hoặc bán tự động nhằm tìm ra các thông tin hay tri thức có ích. Có thể nhận xét rằng, khái niệm khai phá dữ liệu là khá rộng lớn, nhưng không phải tất cả mọi công việc liên quan đến dữ liệu đều được coi là khai phá dữ liệu, chẳng hạn như những việc xử lý truy vấn đơn giản như tra cứu một số điện thoại, hay thống kê ra những học sinh giỏi của một lớp, thì không thể coi đó là khai phá dữ liệu. Nhưng những công việc như gom nhóm các tài liệu trả về từ máy tìm kiếm theo từng ngữ cảnh thì lại được xem là khai phá dữ liệu. Chính vì sự phong phú và đa dạng này mà dẫn đến thực trạng là tồn tại một số quan niệm khác nhau về chuyên ngành nghiên cứu gần gũi nhất với lĩnh vực khai phá dữ liệu. Tài liệu này của tôi tán thành quan điểm về khai phá dữ liệu của Frawley, Piatetski-Shapiro và Matheus [1]. 1.2. Tại sao phải tiến hành khai phá dữ liệu? Trong những năm gần đây, khai phá dữ liệu trở thành một lĩnh vực nghiên cứu rộng rãi trong ngành công nghiệp thông tin, nguyên nhân chủ yếu là do khối lượng khổng lồ của dữ liệu mà con người tạo ra, đi kèm với nó là sự cần thiết của việc rút trích tri thức từ những dữ liệu đó. Thông tin và tri thức có thể được áp dụng vào nhiều lĩnh vực từ phân tích thị trường tài chính, phát hiện giả mạo, cho đến điều khiển sản xuất và nghiên cứu khoa học. Nhìn vào hai lĩnh vực sinh ra nhiều dữ liệu nhất đó là thương mại và khoa học. Trong lĩnh vực thương mại, hàng ngày hàng giờ con người đang tạo ra, thu thập và lưu trữ lại rất nhiều dữ liệu, như dữ liệu web, dữ liệu về thương mại điện tử, dữ liệu về việc thanh toán tại các cửa hàng và các dữ liệu thanh toán trong các tài khoản… Tính cạnh tranh trong 11 kinh doanh là rất cao, cho nên việc phân tích dữ liệu để cung cấp dịch vụ tốt hơn, có nhiều tiện ích cho khách hàng, và đón bắt chính xác nhu cầu của khách hàng rất quan trọng. Trong lĩnh vực khoa học, dường như lượng dữ liệu sinh ra và thu thập lại còn lớn hơn nhiều, lên tới hàng GB/giờ, chẳng hạn như dữ liệu từ vệ tinh, từ các ảnh chụp vũ trụ và từ các mô phỏng thử nghiệm khoa học. Khai phá dữ liệu giúp các nhà khoa học trong việc phân lớp dữ liệu và hỗ trợ trong việc đưa ra các quyết định. Cùng với sự phát triển của khoa học, của ngành cơ sở dữ liệu không thể không kể đến là sự phát triển của ngành công nghiệp máy tính, người ta đã tạo ra những phương tiện lưu trữ lớn hơn, những máy tính rẻ hơn, tốc độ cao hơn, trợ giúp cho quá trình thu thập dữ liệu cũng như khai phá chúng. Trong quá trình tác nghiệp, người ta thường phải đưa ra các quyết định, tuy nhiên, với lượng dữ liệu khổng lồ như thế, người ta không thể sử dụng hết, hoặc nếu muốn sử dụng thì phải mất thời gian quá nhiều, như vậy có nguy cơ đánh mất cơ hội. Do đó, việc sử dụng máy tính để khai phá dữ liệu nhằm giúp đỡ con người trong công việc càng được thúc đẩy mạnh mẽ, làm sao với các dữ liệu đã thu thập được có thể đưa ra hành động mang lại lợi ích tối đa. 1.3. Quá trình khai phá dữ liệu Ở một góc độ nào đó, khái niệm khai phá dữ liệu và khai phá tri thức nhiều khi được coi là một. Tuy nhiên, nếu xét kỹ thì khai phá dữ liệu chỉ là một khâu quan trọng trong khai phá tri thức [1]. Một quá trình phát hiện tri thức trong cơ sở dữ liệu bao gồm các giai đoạn chính sau [2]: (1) Làm sạch dữ liệu (Data Cleaning): Khử nhiễu và các dữ liệu mâu thuẫn. (2) Tích hợp dữ liệu (Data Integration): Kết hợp nhiều nguồn dữ liệu khác nhau. (3) Lựa chọn dữ liệu (Data Selection): Chắt lọc lấy những dữ liệu liên quan đến nhiệm vụ phân tích sau này. (4) Biến đổi dữ liệu (Data Transformation): Biến đổi dữ liệu thu được về dạng thích hợp cho quá trình khai phá. (5) Khai phá dữ liệu (Data Mining): Sử dụng những phương pháp thông minh để khai thác dữ liệu nhằm thu được các mẫu mong muốn. (6) Đánh giá kết quả (Pattern Evaluation): Sử dụng các độ đo để đánh giá kết quả thu được. 12 (7) Biểu diễn tri thức (Knowledge Presentation): Sử dụng các công cụ biểu diễn trực quan để biểu diễn những tri thức khai phá được cho người dùng. Hình 1.1: Quá trình phát hiện tri thức trong cơ sở dữ liệu [2]. Quá trình này có thể được lặp lại nhiều lần một hay nhiều giai đoạn dựa trên phản hồi từ kết quả của các giai đoạn sau. 1.4. Kiến trúc điển hình của một hệ khai phá dữ liệu Trong kiến trúc điển hình của một hệ