Đề tài Phát hiện luật bằng cách sử dụng siêu phẳng tối ưu theo hướng tiếp cân tập thô

Cùng với sự phát triển của Công Nghệ Thông Tin ngày nay, khai phá tri thức trong các cơ sở dư liệu lớn là một trong nhưng lĩnh vực được rất nhiều nhà nguyên cứu và ứng dụng tin học đặc biệt quan tâm. Việc nguyên cứu những phương pháp có thể tự động phát hiện những tri thức mới trong cơ sở dư liệu trên máy tính đã tỏ ra thực sự hữu ích trong việc hỗ trợ quyết định cho con người.

pdf63 trang | Chia sẻ: vietpd | Lượt xem: 1138 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Phát hiện luật bằng cách sử dụng siêu phẳng tối ưu theo hướng tiếp cân tập thô, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TÓM TĂT KHOÁ LUẬN TỐT NGHIỆP Cùng với sự phát triển của Công Nghệ Thông Tin ngày nay, khai phá tri thức trong các cơ sở dư liệu lớn là một trong nhưng lĩnh vực được rất nhiều nhà nguyên cứu và ứng dụng tin học đặc biệt quan tâm. Việc nguyên cứu những phương pháp có thể tự động phát hiện những tri thức mới trong cơ sở dư liệu trên máy tính đã tỏ ra thực sự hữu ích trong việc hỗ trợ quyết định cho con người. Hiện nay, trên thế giới có rất nhiều thuật toán khai phá tri thức bằng cách phân lớp và rời rạc dữ liệu như: Sử dụng cây quyết định, phương pháp thống kê, các mạng nơ ron, thuật toán di truyền,...Trong một vài năm gần đây, lý thuyết tâp thô được nhiều nhóm nguyên cứu hoạt động trong lĩnh vực tin học nói chung và khai phá tri thức nói riêng nguyên cứu và áp dụng trong thực tế. Lý thuyết tập thô được xây dựng trên nền tảng toán học vững chắc giúp cung cấp những công cụ hữu ích để giải quyết những bài toán phân lớp dữ liệu và khai phá luật,...Với đặc tính có thể xử lý được những dữ liệu mơ hồ, không chắc chắn tập thô tỏ ra rất hữu ích trong việc giải quyết những bài toán thực tế. Từ những bảng dữ liệu lớn với dữ liệu dư thừa, không hoàn hảo, dữ liệu liên tục, hay dữ liệu dưới dạng ký hiệu lý thuyết tập thô cho phép khai phá tri thức từ những khối dữ liệu này nhằm phát hiện những luật tiềm ẩn từ khối dữ liệu này. Trong khoá luân tốt nghiệp chúng tôi đã trình bày một số phương pháp rời rạc hoá dữ liệu theo hướng tiếp cận tập thô. Và xây dựng chương trình thử nghiệm: phát hiện luật bằng cách sử dụng siêu phẳng tối ưu theo hướng tiếp cân tập thô. Chương trình được xây dựng để thử nghiệm trên bộ dữ liệu chứa thông tin về 768 bệnh nhân bị bệnh tiểu đường cung cấp bởi tổ chức “National Institute of Diabetes and Digestive and Kidney Diseases”. Từ đó xây dựng hệ thống các luật dựa trên cây quyết định dùng để hỗ trợ việc khám bệnh của các bác sĩ. MỤC LỤC MỤC LỤC .......................................................................................................................2 PHẦN MỞ ĐẦU .............................................................................................................5 Chương 1 TỔNG QUAN VỀ KHAI PHÁ TRI THỨC ...............................................8 1.1 . Khai phá tri thức....................................................................................................8 1.1.1. Định nghĩa khai phá tri thức .........................................................................8 1.1.2. Các giai đoạn của quá trình khai phá tri thức ...............................................8 1.1.3. Khai phá dữ liệu..........................................................................................10 1.2 . Khai phá tri thức theo cách tiếp cận tập thô........................................................12 1.2.1. Một số khái niệm ........................................................................................12 1.2.1.1. Khái niệm hệ thông tin ..................................................................12 1.2.1.2. Khái niêm về bảng quyết định.......................................................13 1.2.1.3. Khái niệm quan hệ không phân biệt được trong hệ thông tin. ......15 1.2.1.4. Khái niệm tập các nhát cắt, nhát cắt trong bảng quyết định..........16 1.2.1.5. Tập thô trong không gian xấp xỉ. ..................................................17 1.2.2. Khai phá tri thức theo cách tiếp cận tập thô. ..............................................19 1.2.2.1. Sự rời rạc hoá dữ liệu theo cách tiếp cận tập thô. .........................19 1.2.2.2. Lựa chọn thuộc tính dựa trên tập thô.............................................19 1.2.2.3. Khám phá luật bới bảng phân bố tổng quát dựa trên tập thô. .......20 1.2.2.4. Khám phá mẫu trong hệ thông tin. ................................................20 1.3 . Kết luận. ..............................................................................................................21 Chương 2 KHAI PHÁ LUẬT KẾT HỢP...................................................................22 2.1 . Khai phá luật kết hợp trong cơ sở dữ liệu. ..........................................................22 2.1.1. Bài toán xuất phát. ......................................................................................22 2.1.2. Mô hình hoá bài toán. .................................................................................22 2.1.3. Thuật toán khai phá luật kết hợp. ...............................................................25 2.1.3.1. Tập phổ biến. .................................................................................25 2.1.3.2. Khai phá luật dựa trên tập mục phổ biến.......................................25 2.1.4. Kết luận.......................................................................................................28 2.2 . Sinh cây quyết định từ hệ thông tin.....................................................................29 2.2.1. Thuật toán học cây quyết định....................................................................29 2.2.2. Một số phương pháp giải quyết vấn đề rời rạc hoá. ...................................35 2.2.2.1. Maximal Discernibility (MD) Heuristic........................................35 2.2.2.2. Sự rời rạc hoá định nghĩa bằng siêu phẳng. ..................................36 2.2.2.3. Những tính chất của phương thức MD..........................................39 2.2.2.4. Xây dựng cây quyết định không đối xứng. ...................................43 2.2.3. Kết luận.......................................................................................................50 Chương 3 CHƯƠNG TRÌNH THỬ NGHIỆM. .........................................................51 3.1 . Mô tả dữ liệu. ......................................................................................................51 3.2 . Xây dựng chương trình. ......................................................................................53 3.3 . Kết quả thử nghiệm. ............................................................................................57 3.4 . Nhận xét. .............................................................................................................61 KẾT LUẬN. ..................................................................................................................62 Tài liêu tham khảo: ........................................................................................................63 CÁC KÝ HIỆU SỬ DỤNG TRONG LUẬN VĂN Ký hiệu Mô tả A Hệ thông tin hay bảng quyết định A, B Tập các thuộc tính trong hệ thông tin D Tập thuộc tính quyết định trong hệ thông tin a Một thuộc tính điêu kiện trong hệ thông tin Va Tập giá trị của thuộc tính điều kiện a U Tập tất cả các đối tượng ∅ Tập rỗng ⊆ Bị chứa trong ∈ Thuộc (phần tử thuộc tập hơp) ≥ Lớn hơn hoặc bằng ≤ Nhỏ hơn hoặc bằng ≠ Khác ∪, ∩ phép lấy giao và hợp của tập hợp PHẦN MỞ ĐẦU Trong một vài năm gần đây, ngành công nghệ thông tin trên toàn thế giới đã phát triển mạnh mẽ với một tốc độ rất nhanh. Song song với điều đó chúng ta cũng phải đối mặt với một thách thức mới là sự bùng nổ về lượng thông tin. Tuy nhiên, một thực tế diễn ra rất phổ biến là mặc dù có một lượng dữ liệu rất lớn nhưng thông tin mà thực sự chúng ta có là rất ít, những hiểu biết thực sự của chúng ta về lượng dữ liệu mà chúng ta có còn rất hạn chế. Xuất phát từ thực tế đó mà trong một vài năm gần đây các nhà nguyên cứu và ứng dụng tin học phải nguyên cứu, tìm kiếm những phương pháp mới để khai thác triệt để nhưng thông tin có trong cơ sở dữ liệu. Từ cuối những năm của thập kỷ 1980 khái niệm phát hiện tri thức trong cơ sở dữ liệu lần đầu tiên được nói đến, đây là quá trình phát hiện tri thức tiềm ẩn, không biết trước và hữu ích trong các cơ sở dữ liệu lớn. Khắc phục hạn chế của những mô hình cơ sở dữ liệu truyền thống chỉ với những công cụ truy vấn dữ liệu không có khả năng tìm kiếm các thông tin mới, các thông tin tiềm ẩn trong cơ sở dữ liệu. Khai phá tri thức trong cơ sở dữ liệu là một quá trình có thể tìm ra những thông tin mới, những thông tin hữu ích, và tiềm ẩn trong cơ sở dữ liệu. Quá trình phát hiện tri thức gồm nhiều giai đoạn, trong đó giai đoạn khai phá dữ liệu là quan trọng nhất. Đây là giai đoạn chính tìm ra những thông tin mới trong cơ sở dữ liệu. Quá trình phát hiện tri thức là sự tiếp thu, sử dụng và phát triển các thành tựu của nhiều lĩnh vực nguyên cứu ứng dụng tin học trước đó như: lý thuyết nhận dạng, hệ chuyên gia, trí tuệ nhân tạo, thống kê, v.v. Từ đầu những năm 80 Z. Pawlak đã đề xuất ra lý thuyết tập thô với một cơ sở toán học rất chắc chắn. Trong những năm gần đây, lý thuyết tập thô được nhiều nhóm nguyên cứu hoạt động trong lĩnh vực tin học nói chung và khai phá tri thức trong cơ sở dữ liệu nói riêng nguyên cứu và áp dụng trong thực tế [2,4,6,10,12]. Lý thuyết tập thô ngày càng được áp dụng rộng rãi trong lĩnh vực phát hiện tri thức. Nó tỏ ra rất hữu ích trong việc giải quyết các bài toán phân lớp dữ liệu, phát hiện luật và đặc biệt hữu ích trong các bài toán phải xử lý các dữ liệu mơ hồ, không chắc chắn. Các mối quan hệ giữa dữ liệu trong mô hình này được biểu diễn qua mối quan hệ “không phân biệt được”, các tập dữ liệu là mơ hồ, không chắc chắn được biểu diễn thông qua tập xấp xỉ trên và xấp xỉ dưới của nó. Nhờ vào những điều này mà dữ liệu có thể phân tích và xử lý bằng những công cụ toán học. Cụ thể trong lý thuyết tập thô dữ liệu được biểu diễn thông qua hệ thông tin hay bảng quyết. Từ trong thực tế, với những bảng dữ liệu lớn với dữ liệu không hoàn hảo, có dữ liệu dư thừa, dữ liệu liên tục hay biểu diễn dưới dạng các ký hiệu, lý thuyết tập thô cho phép khai phá tri thức trong những cơ sở dữ liệu như thế này nhằm phát hiện những tri thức tiềm ẩn từ những khối dữ liệu “thô” này. Tri thức tìm được được thể hiện dưới dạng các luật, các mẫu. Sau khi tìm được những quy luật chung nhất để biểu diễn dữ liệu, người ta có thể tính toán độ mạnh và độ phụ thuộc giữa các thuộc tính trong hệ thông tin. Theo Skowron và NingZong [2], cách tiếp cận tập thô để phân tích dữ liệu có rất nhiều điểm lợi quan trọng như sau: − Cho phép xử lý hiệu quả bảng dữ liệu lớn, loại bỏ dữ liệu dư thừa, dữ liệu không hoàn hảo, dữ liệu liên tục. − Hiệu quả trong việc tìm kiếm những mẫu tiềm ẩn trong cơ sở dữ liệu. − Sử dụng được tri thức kinh nghiệm. − Nhận ra được những mối quan hệ mà khi sử dụng các phương pháp thống kê khác không phát hiện được. − Sử dụng quan hệ thứ lỗi trong quá trình phát hiện mẫu. − Làm việc hiệu quả trên tập rút gọn. − Cách giải thích rõ ràng và dễ hiểu. Với những đặc điểm trên thì tập thô đã chứng tỏ là một trong những lý thuyết rất hiệu quả trong lĩnh vực khai phá dữ liệu. Trong khoa luận tốt nghiệp này chúng tôi xin trình bày một số ứng dụng và lý thuyết cơ bản của tâp thô. Việc phát hiện tri thức được thực hiện bằng cách phân lớp, rời rạc hoá dữ liệu từ đó sinh ra các luật, các tri thức mới. Phương pháp nguyên cứu chủ yếu của khoá luận tốt nghiệp là tìm hiểu và phân tích nội dung các bài báo được công bố về lĩnh vực khai phá tri thức trong những năm gần đây. Từ những kiến thức thu được chúng tôi đã xây dựng được chương trình thử nghiệm mô phỏng thuật toán xây dựng cây quyết định tối ưu bằng cách sử dụng siêu phẳng tối ưu được trình bày trong [9]. Chương trình tiến hành khai phá tri thức trong cớ sở dữ liệu lưu thông tin về 678 bệnh nhân tiểu đường cung cấp bởi tổ chức “National Institute of Diabetes and Digestive and Kidney Diseases”. Từ đó sinh ra các luật quyết định hỗ trợ trong quá trình khám bệnh của bệnh nhân. Khoá luận tốt nghiệp được trình bày gôm 3 phần: Phần mở đầu, 3 chương và phần kết luận. Trong đó: Chương 1: Khóa luận trình bày những kiến thức chung nhất về khai phá tri thức và khai phá tri thức theo cách tiếp cận tập thô. Chương 2: Khóa luận trình bày về chi tiết một số thuật toán khai phá tri thức, chủ yếư là khai phá các luật trong các cơ sở dữ liệu. Trong đó đáng chú ý là thuật toán xây dựng cây quyết định tối ưu bằng cách sử dụng siêu phẳng tối ưu. Chương 3: Khóa luận trình bày kết quả thử nghiệm bài toán khai phá luật trong cây quyết định tối ưu trình bày ở chương 2 và áp dụng trên cơ sở dữ liệu bệnh nhân bị tiểu đường được lấy về từ trên mạng. Qua đó đánh giá được sự hiệu quả của thuật toán được trình bày trong [9]. Khóa luận được hoàn thành duới sự giúp đỡ của Tiến Sĩ. Hà Quang Thuỵ , Bộ môn các hệ thông thông tin, Khoa Công Nghệ, ĐHQG Hà Nội. Em xin bày tỏ lòng kính trọng và sự biết ơn sâu sắc tới Thầy đã hướng dẫn, động viên và tạo điều kiện cho em trong quá trình làm khoá luận tốt nghiệp. Em xin chân thành cảm ơn Thầy Đỗ Văng Thành, Văn phong chính phủ, người đã truyền thụ cho em những kiến thức nền tảng và cơ sở để em có thể hoàn thành bản khoá luận tôt nghiệp này. Em xin chân thành cảm ơn các thầy cô giáo trong bộ môn Các Hệ Thống Thông Tin, nhóm “Seminar Data Mining and KDD”. Cuối cùng em xin chân thành cảm ơn tới những người thân trong gia đình, bạn bè đã giúp đỡ và động viên em rất nhiều trong quá trình nguyên cứu và học tập. Chương 1 TỔNG QUAN VỀ KHAI PHÁ TRI THỨC 1.1 . Khai phá tri thức Phát hiện tri thức là khái niệm ra đời vào những năm cuối của thập kỷ 80 và đã trở thành một lĩnh vực được nguyên cứu rộng rãi trên toàn cầu. Sự ra đời của phát hiện tri thức là sự kết hợp kết quả nguyên cứu của nhiều ngành khoa học khác lại với nhau như: Quản trị cơ sở dữ liệu, học máy, thống kê v.v. 1.1.1. Định nghĩa khai phá tri thức Khai phá tri thức (Khai phá tri thức-Knowledge Discovery in Databases) trong các cơ sở dữ liệu là quá trình phát hiện những tri thức tiềm ẩn, không biết trước, và có ích trong trong cơ sở dữ liệu. Thực chất đó là quá trình tìm kiếm những thông tin có trong cơ sở dữ liệu nhưng bị che giấu trong các khối dữ liệu. Tri thức ở đây có thể được hiểu là một biểu thức trong một ngôn ngữ nào đó diễn tả một hoặc nhiều mối quan hệ giữa các thuộc tính trong các dữ liệu đó. Các ngôn ngữ thường dùng để biểi diễn tri thức trong việc biểu diễn tri thức trong quá trình phát hiện tri thức từ cơ sở dư liệu là các khung (frames), các cây và đồ thị, các luật, các công thức trong logic mệnh đề hoặc logic tân từ cấp một . . . Việc khai phá tri thức thường được áp dụng để giả quyết một loạt những yều cầu phục vụ những mục đích nhất định. Do vậy nên quá trình phát hiện tri thức mang tính chất hướng nhiệm vụ, không phải là phát hiện mọi tri thức mà phát hiện những tri thức phục vụ tốt một nhiệm vụ đề ra. Vì vậy, quá trình phát hiện tri thức là một hoạt động tương tác giữa một người sử dụng hoặc một chuyên gia phân tích với các công cụ tin học. 1.1.2. Các giai đoạn của quá trình khai phá tri thức Mục đích của quá trình khai phá tri thức: Từ những cơ sở dữ liệu ngoài cuộc sống thực tế sau một hoặc một số bước của quá trình sẽ rút ra được những tri thức mới. Các bước trong quá trình này có thể lặp đi lặp lại nhiều lần và được mô tả theo hình sau [4,8]: Hình 1. Mô hình mô tả quá trình khai phá tri thức. Giai đoạn 1:Xác định và định nghĩa vấn đề. − Tìm hiểu lĩnh vực ứng dụng và nhiệm vụ đề ra, xác định các tri thức đã có và các mục tiêu của người sử dụng. − Tạo và chọn lựa cơ sở dữ liệu. Giai đoạn 2: Thu nhập và tiền xử lý dữ liệu. − Xử lý và làm sạch dữ liệu trước: Bỏ đi các dữ liệu tạp bao gồm các lỗi và các dạng không bình thường. Xử lý dữ liệu bị mất, chuyển đổi dữ liệu phù hợp. − Rút gọn kích thước dữ liệu nhận được: Nhận ra các thuộc tính hữu ích cho quá trình phát hiện tri thức. Giai đoạn 3: Khai phá dữ liệu. − Chọn nhiệm vụ khai phá dữ liệu. − Lựa chọn các phương pháp khai phá dữ liệu. − Khai phá dữ liệu để rút ra các mẫu, các mô hình. Giai đoạn 4:Giải thích kết quả và đánh giá các mẫu, các mô hình tìm được ở giai đoạn 3. Xác định và định nghĩa vấn đề Thu nhập và tiền xử lý dữ liệu Khai phá dữ liệu Giải thích kết quả và đánh giá Sử dụng tri thức phát hiện được 1 2 3 4 5 Giai đoạn 5: Sử dụng tri thức phát hiện được. − Các tri thức phát hiện được tích hợp chặt chẽ trong hệ thống. Tuy nhiên để sử dụng được tri thức đó đôi khi cần đến các chuyên gia trong các lĩnh vực quan tâm vì tri thức rút ra có thể chỉ có tính chất hỗ trợ quyết định. − Tri thức tìm được có thể được sử dụng cho một quá trình khai phá tri thức khác. Như vậy khai phá tri thức gồm 5 giai đoạn chính, trong 5 giai đoạn trên thì giai đoạn khai phá dữ liệu là quan trọng nhất. Đây là giai đoạn duy nhất tìm được các thông tin tiềm ẩn trong cơ sở dữ liệu. 1.1.3. Khai phá dữ liệu Khai phá dữ liệu (hay data mining) được định nghĩa như là quá trình phát hiện các tri thức mới, có giá trị từ những dữ liệu lớn được lưu trữ trong cơ sở, datawarehouse hay các kho chứa thông tin khác. Khai phá dữ liệu là một giai đoạn quan trọng trong quá trình phát hiện tri thức. Về bản chất nó là giai đoạn duy nhất tim ra được thông tin mới, thông tin tiềm ần có trong cơ sở dữ liệu. Mục đích nguyên thủy của khai phá dữ liệu là mô tả và dự đoán [4]. Các kỹ thuật khai phá dữ liệu được chia thành những mảng chính sau: • Phân cụm và phân lớp dữ liệu: Quá trình này có thể xem là quá trình phân tích một tập dữ liệu và sinh ra một tập nhóm các luật mà chúng ta có thể sử dụng để phân lớp dữ liệu trong tương lai. Khi phân lớp dữ liệu người ta thường dựa trên một tập các mẫu huấn luyện để sinh ra các luật. Có rất nhiều phương pháp để phân lớp dữ liệu được nguyên cứu như: Các phương pháp học cây quyết định, phương pháp thông kê, các mạng nơ ron, các mạng xác xuất Bayes,. . . • Khai phá luật kết hợp: Mong muốn tìm ra những mối quan hệ giữa các thuộc tính hoàn toàn độc lập với nhau trong cơ sở dữ liệu. Luật kết hợp có thể dùng để hỗ trợ quyết định. Ví dụ như các bài toán kinh doanh. • Khai phá chuỗi: Luật chuỗi và khai phá chuỗi có thể coi như là một cách trừu tượng của luật kết hợp và phát hiện các luật kết hợp trong cơ sở dữ liệu phụ thuộc thời gian. Có rất nhiều phương pháp để có thể tiến hành khai phá dữ liệu đã được nguyên cứu và đề ra như: − Các phương pháp sinh cây quyết định. − Các phương pháp thống kê. − Các mạnh nơ ron. − Các mạng xác suất Bayes. − Các thuật toán di truyền. − Phương pháp người láng giềng gần nhất. − Luật suy diễn. − Trực quan hoá dữ liệu. − .v.v. Như vậy, khai phá dữ liệu là một giai đoạn quan trọng trong quá trình khai phá tri thức và nó đang được áp dụng rộng rãi trong nhiều lĩnh vực như: − Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision support) − Điều trị y học (medical treatment) − Text mining & Web mining − Tài chính và thị trường chứng khoán (finance & stock market) − Bảo hiểm (insurance) − Nhận dạng (pattern recognition) − .v.v. 1.2 . Khai phá tri thức theo cách tiếp cận tập thô 1.2.1. Một số khái niệm 1.2.1.1. Khái niệm hệ thông tin Trong hầu hết các hệ quản trị cơ sở dữ liệu thông thương thì thông tin thường được biểu diễn dưới dạng các bảng, trong dó mỗi hang biểu diễn thông tin về một đối tượng, mỗi cột biểu diễn thông tin về một thuộc tính của đối tượng. Tứ đầu những năm 80 Pawlak đã định nghĩa một khái niệm mới là hệ thông tin (infomation system) dựa trên khái niệm bảng truyền thống như sau [2,5,10,12]: Đinh nghĩa 1: Hệ thông tin là một cặp A = (U,A). Trong đó: U : là một tập hữu hạn khác rỗng các đối tượng. A : là một tập hữu hạn khác rỗng các thuộc tính. a: U → Va với mọi a ∈ A. Tập Va được gọi là tập giá trị của thuộc tính a. Ví dụ: Có một hệ thông tin được biểu diễn như bảng sau: Trong bảng có 7 đối tượng và có 3 thuộc tính là số lần mang thai của bệnh nhân (1), lượng glucose trong huyết tương sau 2 giờ uống thuốc (2), tuổi của bệnh nhân (8). Mỗi đối tượng của bảng là một bệnh nhân