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.
58 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2145 | Lượt tải: 4
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ệ