Tải bản đầy đủ (.pdf) (57 trang)

KHAI PHÁ DỮ LIỆU VỚI LUẬT KẾT HỢP VÀ ỨNG DỤNG TRONG TRỢ GIÚP RA QUYẾT ĐỊNH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (929.68 KB, 57 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA CƠNG NGHỆ THƠNG TIN </b>

<b>------- </b>

<b>KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC </b>

<i><b>Tên đề tài: </b></i>

<b>KHAI PHÁ DỮ LIỆU VỚI LUẬT KẾT HỢP VÀ ỨNG DỤNG TRONG TRỢ GIÚP RA QUYẾT ĐỊNH </b>

Sinh viên thực hiện

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>LỜI CẢM ƠN </b>

Trước hết, em xin bày tỏ lịng biết ơn tới các thầy cơ giáo trường Đại học Quảng Nam đã tận tâm giảng dạy, cung cấp cho em nhiều kiến thức, phương pháp nghiên cứu trong khóa học vừa qua.

Đặc biệt em xin được bày tỏ sự biết ơn sâu sắc đến giáo viên hướng dẫn ThS. Lê Thị Nguyên An, người đã tận tình hướng dẫn, giúp đỡ và động viên để em thực hiện khóa luận tốt nghiệp này.

Xin cảm ơn Ban giám hiệu trường Đai học Quảng Nam, gia đình và các bạn cùng lớp đã tạo điều kiện giúp đỡ em trong thời gian vừa qua.

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>MỤC LỤC </b>

PHẦN 1: MỞ ĐẦU ... 1

1. Lý do chọn đề tài ... 1

2. Mục tiêu của đề tài. ... 2

3. Đối tượng nghiên cưú và phạm vi nghiên cứu ... 2

4. Phương pháp nghiên cứu. ... 2

1.2. Khai phá dữ liệu và phát hiện tri thức ... 4

1.3. Quá trình khám phá tri thức trong CSDL ... 4

1.4. Các phương pháp khai phá dữ liệu ... 6

1.4.1. Các thành phần của giải thuật khai phá dữ liệu ... 6

1.4.2. Phương pháp suy diễn / quy nạp ... 7

1.4.3. Phương pháp K-láng giềng gần ... 8

1.4.4. Phương pháp sử dụng cây quyết định và luật ... 9

1.4.5. Phương pháp phát hiện luật kết hợp ... 9

1.5. Nhiệm vụ chính trong khai thác dữ liệu ... 10

1.5.1. Phân lớp (phân loại - classification) ... 10

1.5.2. Hồi qui (regression) ... 10

1.5.3. Phân nhóm (clustering) ... 10

1.5.4. Tổng hợp (summarization) ... 11

1.5.5. Mơ hình hố sự phụ thuộc (dependency modeling) ... 11

1.5.6. Phát hiện sự biến đổi và độ lệch (change and deviation dectection) ... 11

1.6. Các kỹ thuật khai phá dữ liệu ... 12

1.6.1. Các kỹ thuật tiếp cận trong Data mining ... 12

1.6.2. Dạng dữ liệu có thể khai phá ... 13

1.6.3. Các ứng dụng của khai phá dữ liệu ... 13

1.6.4. Khai phá luật kết hợp và ứng dụng ... 13

1.6.5. Phân loại các hệ thống khai phá dữ liệu ... 14

1.6.6. Xu hướng trong khai phá dữ liệu ... 14

CHƯƠNG 2: LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU ... 17

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

2.2.4. Một số hướng tiếp cận trong khai phá luật kết hợp ... 22

2.2.5. Phát biểu bài toán phát hiện luật kết hợp ... 24

2.3. Một số thuật toán phát hiện luật kết hợp ... 25

2.3.1. Thuật toán Apriori ... 26

2.3.1.1. Ý tưởng thuật toán Apriori ... 26

2.3.1.2. Thuật toán Apriori ... 27

2.3.1.3. Sinh các luật kết hợp từ tập mục phổ biến ... 32

2.3.2 Thuật toán FP-growth ... 33

2.3.2.1. Ý tưởng thuật toán ... 33

2.3.2.2. Thuật toán FP-growth. ... 34

2.3.2.3. Đánh giá thuật toán FP-growth. ... 37

CHƯƠNG 3: THỬ NGHIỆM KHAI PHÁ LUẬT KẾT HỢP ... 38

3.1. Phát biểu bài toán ... 38

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT </b>

Candidate itemset Một itemset trong tập C<small>k</small> được sử dụng để sinh ra các large itemset

Frequent/large itemset Một itemset có độ hỗ trợ (support) >= ngưỡng độ hỗ trợ tối thiểu - tập mục

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>DANH MỤC CÁC HÌNH </b>

Hình 1.1 Q trình khám phá tri thức Hình 2.1 Ví dụ thuật tốn Apriori

Hình 3.1 Q trình thực hiện ứng dụng khai phá luật kết hợp Hình 3.2 Giao diện phần mềm Weka

Hình 3.3 Bảng dữ liệu các giao dịch hàng hóa Hình 3.4 Nạp dữ liệu (nạp file Supermarket.csv) Hình 3.5 Tab Associate và chọn thuật tốn Apriori Hình 3.6 Thiết lập các tham số (numRules,Support,

Confidence,...)

Hình 3.7 Kết quả các luật kết hợp được sinh ra tương ứng Hình 3.8 Thiết lập các tham số (numRules, Support,

Confidence,...)

Hình 3.9 Kết quả các luật kết hợp được sinh ra tương ứng Hình 3.10 Thiết lập các tham số (numRules, Support,

Confidence,...)

Hình 3.11 Kết quả các luật kết hợp được sinh ra tương ứng

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>PHẦN 1: MỞ ĐẦU </b>

<b>1. Lý do chọn đề tài </b>

Trong những năm gần đây, việc nắm bắt được thông tin được coi là cơ sở của mọi hoạt động sản xuất, kinh doanh. Cá nhân hoặc tổ chức nào thu thập và hiểu được thông tin và hành động dựa trên các thông tin được kết xuất từ các thơng tin đã có sẽ đạt được thành cơng trong mọi hoạt động. Chính vì lý do đó, việc tạo ra thông tin, tổ chức lưu trữ và khai thác ngày càng trở nên quan trọng và gia tăng không ngừng.

Sự tăng trưởng vượt bậc của các cơ sở dữ liệu (CSDL) trong cuộc sống như: thương mại, quản lý và khoa học đã làm nảy sinh và thúc đẩy sự phát triển của kỹ thuật thu thập, lưu trữ, phân tích và khai phá dữ liệu… khơng chỉ bằng các phép toán đơn giản thông thường như: phép đếm, thống kê… mà đòi hỏi cách xử lý thông minh hơn, hiệu quả hơn. Từ đó các nhà quản lý có được thơng tin có ích để tác động lại q trình sản xuất, kinh doanh của mình… đó là tri thức. Các kỹ thuật cho phép ta khai thác được tri thức hữu dụng từ CSDL (lớn) được gọi là các kỹ thuật khai phá dữ liệu (DM - Data Mining). Khai phá luật kết hợp là một nội dung quan trọng trong khai phá dữ liệu.

Kỹ thuật khám phá tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng.

Khai phá dữ liệu được coi là quá trình trích xuất các thơng tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ liệu… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: Khám phá tri thức từ cơ sở dữ liệu (Knowledge Discovery in Database-KDD), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệu/mẫu (data/pattern analysis), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredging).

Khóa luậ tốt nghiệp trình bày một số vấn đề về khám phá tri thức, khai phá dữ liệu, và trình bày rõ vấn đề khai phá luật kết hợp và ứng dụng một số thuật toán khai phá luật kết hợp trong CSDL.

Chương 1: Tổng quan về khai phá dữ liệu. Chương 2: Luật kết hợp trong khai phá dữ liệu. Chương 3: Thử nghiệm khai phá luật kết hợp.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>2. Mục tiêu của đề tài </b>

- Hiểu rõ đươc những khái niệm cơ bản của luật kết hợp. - Nắm vững một số thuật toán phát hiện luật kết hợp.

- Xây dựng ứng dụng thuật toán Apriori và FP-growth để trợ giúp ra quyết địn trong thực tế.

<b>3. Đối tượng nghiên cưú và phạm vi nghiên cứu </b>

- Lý thuyết về khai phá dữ liệu.

- Một số thuật toán phát hiện luật kết hợp.

- Nghiêm cứu thuật toán Apriori, FP-growth và xây dựng ứng dụng thực tế.

<b>4. Phương pháp nghiên cứu </b>

- Tìm hiểu thu thập tài liệu liên quan đến luật kết hợp và một số thuật toán Apriori, FP-growth.

- Lập kế hoạch, lên qui trình, tiến độ thực hiện.

- Tham khảo nhiều tài liệu có liên quan, tham khảo ý kiến các chuyên gia trong lĩnh vực nghiên cứu.

<b>5. Lịch sử nghiên cứu </b>

- Nội dung đã được dạy và học ở học phần Khai phá dữ liệu.

<b> - Có nhiều cá nhân cũng như nhóm nghiên cứu đã chọn kiến thức này làm </b>

nội dung cho đề tài nghiên cứu họ.

<b>6. Đóng góp của đề tài </b>

<b> - Cung cấp kiến thức đầy đủ hơn, chi tiết hơn về luật kết hợp. 7. Cấu trúc của đề tài </b>

- MỞ ĐẦU - NỘI DUNG

Chương 1: Tổng quan về khai phá dữ liệu Chương 2: Luật kết hợp trong khai phá dữ liệu Chương 3: Thử nghiệm khai phá luật kết hợp

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>PHẦN 2: NỘI DUNG CHƯƠNG 1 </b>

<b>TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU </b>

<b>1.1. Khái niệm </b>

Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối ở thập kỷ 80 của thế kỷ XX. Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thơng tin có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu). Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy trong tập dữ liệu.

Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm khám phá tri thức trong cơ sở dữ liệu, để chỉ tồn bộ q trình phát hiện các tri thức có ích từ các tập dữ liệu lớn; trong đó khai phá dữ liệu là một bước đặc biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt để chiết xuất ra các mẫu hay các mơ hình từ dữ liệu.

Ở một mức độ trừu tượng nhất định có thể định nghĩa về khai phá dữ liệu:

<i>Data Mining là một quá trình tìm kiếm, phát hiện các tri thức mới, tiềm ẩn, hữu </i>

dụng trong CSDL lớn.

<i> Khám phá tri thức (KDD) là mục tiêu chính của khai phá dữ liệu, do vậy </i>

hai khái niệm đó được xem như hai lĩnh vực tương đương nhau. Nhưng, nếu phân chia một cách tách bạch thì khai phá dữ liệu là một bước chính trong q trình KDD.

Khai phá dữ liệu được dùng để mơ tả q trình phát hiện ra tri thức trong CSDL. Quá trình này kết xuất ra các tri thức tiềm ẩn từ dữ liệu giúp cho việc dự báo trong kinh doanh, các hoạt động sản xuất, ... Khai phá dữ liệu làm giảm chi phí về thời gian so với phương pháp truyền thống trước kia (ví dụ như phương pháp thống kê). Sau đây là các định nghĩa mang tính mơ tả của nhiều tác giả về khai phá dữ liệu:

Định nghĩa của Ferruzza: “Khai phá dữ liệu là tập hợp các phương pháp được dùng trong tiến trình khám phá tri thức để chỉ ra sự khác biệt các mối quan hệ và các mẫu chưa biết bên trong dữ liệu”.

Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết định, trong đó chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờ trong CSDL lớn”.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Định nghĩa của Fayyad: “Khai phá tri thức là một quá trình khơng tầm thường nhận ra những mẫu dữ liệu có giá trị, mới, hữu ích, tiềm năng và có thể hiểu được”.

<b>1.2. Khai phá dữ liệu và phát hiện tri thức </b>

Yếu tố thành công trong mọi hoạt động kinh doanh ngày nay là việc biết sử dụng thơng tin có hiệu quả. Điều đó có nghĩa là từ các dữ liệu có sẵn phải tìm ra những thơng tin tiềm ẩn mà trước đó chưa được phát hiện, tìm ra những xu hướng phát triển và những yếu tố tác động lên chúng. Thực hiện cơng việc đó chính là quá trình phát hiện tri thức trong cơ sở dữ liệu mà trong đó kỹ thuật cho phép ta lấy được các tri thức chính ra từ kỹ thuật khai phá dữ liệu.

Nếu quan niệm tri thức là một quan hệ của các mẫu giữa các phần tử dữ liệu thì quá trình phát hiện tri thức chỉ tồn bộ q trình trích xuất tri thức từ cơ sở dữ liệu, trong đó trải qua nhiều giai đoạn khác nhau như: Tìm hiểu và phát hiện vấn đề thu thập và tiền xử lý dữ liệu, phát hiện tri thức, minh họa và đánh giá tri thức đã phát hiện và đưa kết quả vào thực tế.

Khai phá dữ liệu có những điểm khác nhau về mặt ngữ nghĩa so với phát hiện tri thức từ cơ sở dữ liệu nhưng thực tế ta thấy khai phá dữ liệu là chỉ một giai đoạn phát hiện tri thức trong một chuỗi các giai đoạn quá trình phát hiện tri thức trong cơ sở dữ liệu. Tuy nhiên đây là giai đoạn đóng vai trị chủ chốt và là giai đoạn chính tạo nên tính đa ngành của phát hiện tri thức trong cơ sở dữ liệu.

<b>1.3. Quá trình khám phá tri thức trong CSDL </b>

Khám phá tri thức trong CSDL (KDD) là lĩnh vực liên quan đến các ngành như: thống kê, học máy, CSDL, thuật tốn, trực quan hố dữ liệu, tính tốn song song và hiệu năng cao,…

Mục đích của q trình khám phá tri thức là rút ra tri thức từ dữ liệu trong CSDL lớn. Quá trình khai phá dữ liệu là quá trình gồm nhiều giai đoạn và lặp lại, mà trong đó sự lặp lại có thể xuất hiện ở bất cứ bước nào.

Q trình đó có thể được mơ tả theo hình sau:

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Hình 1.1: Quá trình khám phá tri thức.

<i><b> Bước thứ nhất: Hình thành, xác định và định nghĩa bài tốn. Là tìm hiểu </b></i>

lĩnh vực ứng dụng từ đó hình thành bài tốn, xác định các nhiệm vụ cần phải hoàn thành. Bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu.

<i><b> Bước thứ hai: Thu thập và tiền xử lý dữ liệu. Là thu thập và xử lý thơ, cịn </b></i>

được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu (làm sạch dữ liệu), xử lý việc thiếu dữ liệu (làm giàu dữ liệu), biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết, bước này thường chiếm nhiều thời gian nhất trong tồn bộ qui trình phát hiện tri thức. Do dữ liệu được lấy từ nhiều nguồn khác nhau, khơng đồng nhất, … có thể gây ra các nhầm lẫn. Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và rời rạc hoá.

<i><b> Bước thứ ba: Khai phá dữ liệu, rút ra các tri thức. Là khai phá dữ liệu, hay </b></i>

nói cách khác là trích ra các mẫu hoặc/và các mơ hình ẩn dưới các dữ liệu. Giai đoạn này rất quan trọng, bao gồm các công đoạn như: chức năng, nhiệm vụ và mục đích của khai phá dữ liệu, dùng phương pháp khai phá nào? Thơng thường, các bài tốn khai phá dữ liệu bao gồm: các bài tốn mang tính mơ tả - đưa ra tính chất chung nhất của dữ liệu, các bài toán dự báo - bao gồm cả việc phát hiện các suy diễn dựa trên dữ liệu hiện có. Tùy theo bài tốn xác định được mà ta lựa chọn các phương pháp khai phá dữ liệu cho phù hợp.

<i><b> Bước thứ tư: Là hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mơ </b></i>

tả và dự đốn. Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<i><b> Bước thứ năm: Sử dụng các tri thức phát hiện được. Là hiểu tri thức đã </b></i>

tìm được, đặc biệt là làm sáng tỏ các mơ tả và dự đốn. Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện. Các kết quả của quá trình khám phá tri thức có thể được đưa và ứng dụng trong các lĩnh vực khác nhau. Do các kết quả có thể là các dự đốn hoặc các mơ tả nên chúng có thể được đưa vào các hệ thống hỗ trợ ra quyết định nhằm tự động hoá quá trình này.

<b> Tóm lại: KDD là một q trình kết xuất ra tri thức từ kho dữ liệu mà trong </b>

đó khai phá dữ liệu là cơng đoạn quan trọng nhất.

<b>1.4. Các phương pháp khai phá dữ liệu </b>

Khai phá dữ liệu là lĩnh vực mà con người luôn tìm cách đạt được mục đích sử dụng thơng tin của mình. Q trình khai phá dữ liệu là quá trình phát hiện mẫu, trong đó phương pháp khai phá dữ liệu để tìm kiếm các mẫu đáng quan tâm theo dạng xác định. Có thể kể ra đây một vài phương pháp như: sử dụng công cụ truy vấn, xây dựng cây quyết định, dựa theo khoảng cách (K-láng giềng gần), giá trị trung bình, phát hiện luật kết hợp, …Các phương pháp trên có thể được phỏng theo và được tích hợp vào các hệ thống để khai phá dữ liệu theo thống kê trong nhiều năm nghiên cứu. Tuy nhiên, với dữ liệu rất lớn trong kho dữ liệu thì các phương pháp này cũng đối diện với thách thức về mặt hiệu quả và quy mô.

<b> 1.4.1. Các thành phần của giải thuật khai phá dữ liệu </b>

Giải thuật khai phá dữ liệu bao gồm 3 thành phần chính như sau: biểu diễn mơ hình, kiểm định mơ hình và phương pháp tìm kiếm.

<i><b> - Biểu diễn mơ hình: Mơ hình được biểu diễn theo một ngơn ngữ L nào đó </b></i>

để miêu tả các mẫu có thể khai thác được. Mơ tả mơ hình rõ ràng thì học máy sẽ tạo ra mẫu có mơ hình chính xác cho dữ liệu. Tuy nhiên, nếu mơ hình q lớn thì khả năng dự đoán của học máy sẽ bị hạn chế. Như thế sẽ làm cho việc tìm kiếm phức tạp hơn cũng như hiểu được mơ hình là không đơn giản hoặc sẽ khơng thể có các mẫu tạo ra được một mơ hình chính xác cho dữ liệu. Vì vậy, việc quan trọng là người phân tích dữ liệu là cần phải hiểu đầy đủ các giả thiết miêu tả. Một điều cũng khá quan trọng là người thiết kế giải thuật cũng phải diễn tả được các giả thiết mô tả nào được tạo ra bởi giải thuật nào. Khả năng miêu tả mơ hình càng lớn thì càng làm tăng mức độ nguy hiểm do bị học quá và làm giảm đi khả năng dự đoán các dữ liệu chưa biết. Hơn nữa, việc tìm kiếm sẽ càng trở lên phức tạp hơn và việc giải thích mơ hình cũng khó khăn hơn.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Mơ hình ban đầu được xác định bằng cách kết hợp biến đầu ra (phụ thuộc) với các biến độc lập mà biến đầu ra phụ thuộc vào. Sau đó phải tìm những tham số mà bài tốn cần tập trung giải quyết. Việc tìm kiếm mơ hình sẽ đưa ra được một mơ hình phù hợp với tham số được xác định dựa trên dữ liệu (trong một số trường hợp khác thì mơ hình và các tham số lại thay đổi để phù hợp với dữ liệu). Trong một số trường hợp, tập các dữ liệu được chia thành tập dữ liệu học và tập dữ liệu thử. Tập dữ liệu học được dùng để làm cho tham số của mơ hình phù hợp với dữ liệu. Mơ hình sau đó sẽ được đánh giá bằng cách đưa các dữ liệu thử vào mơ hình và thay đổi các tham số cho phù hợp nếu cần. Mơ hình lựa chọn có thể là phương pháp thống kê như SASS, … một số giải thuật học máy, mạng neuron, suy diễn hướng tình huống, các kỹ thuật phân lớp.

<i><b> - Kiểm định mơ hình (model evaluation): Là việc đánh giá, ước lượng các </b></i>

mơ hình chi tiết, chuẩn trong quá trình xử lý và phát hiện tri thức với sự ước lượng có dự báo chính xác hay khơng và có thoả mãn cơ sở logic hay không? Ước lượng phải được đánh giá chéo (cross validation) với việc mô tả đặc điểm bao gồm dự báo chính xác, tính mới lạ, tính hữu ích, tính hiểu được phù hợp với các mô hình. Hai phương pháp logic và thống kê có thể sử dụng trong mơ hình kiểm định.

<i><b> - Phương pháp tìm kiếm: Phương pháp này bao gồm hai thành phần: Tìm </b></i>

kiếm tham số và tìm kiếm mơ hình. Trong tìm kiếm tham số, giải thuật cần tìm kiếm các tham số để tối ưu hóa các tiêu chuẩn đánh giá mơ hình với các dữ liệu quan sát được và với một mô tả mơ hình đã định. Việc tìm kiếm khơng cần thiết đối với một số bài toán khá đơn giản: Các đánh giá tham số tối ưu có thể đạt được bằng các cách đơn giản hơn. Đối với các mơ hình chung thì khơng có các cách này, khi đó giải thuật “tham lam” thường được sử dụng lặp đi lặp lại. Tìm kiếm mơ hình xảy ra giống như một vòng lặp qua phương pháp tìm kiếm tham số: Mơ tả mơ hình bị thay đổi tạo nên một họ các mơ hình. Với mỗi một mơ tả mơ hình, phương pháp tìm kiếm tham số được áp dụng để đánh giá chất lượng mơ hình. Các phương pháp tìm kiếm mơ hình thường sử dụng các kỹ thuật tìm kiếm heuristic vì kích thước của khơng gian các mơ hình có thể thường ngăn cản các tìm kiếm tổng thể, hơn nữa các giải pháp đơn giản theo mẫu đóng (closed form) khơng dễ đạt được.

<b> 1.4.2. Phương pháp suy diễn / quy nạp </b>

Một CSDL là một kho thông tin nhưng các thơng tin quan trọng hơn cũng có thể được suy diễn từ kho thơng tin đó. Có hai kỹ thuật chính để thực hiện việc này là suy diễn và quy nạp.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b> - Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic của các </b>

thông tin trong CSDL. Ví dụ như tốn tử liên kết áp dụng cho bảng quan hệ, bảng đầu chứa thơng tin về các nhân viên và phịng ban, bảng thứ hai chứa các thông tin về các phòng ban và các trưởng phòng. Như vậy sẽ suy ra được mối quan hệ giữa các nhân viên và các trưởng phòng. Phương pháp suy diễn dựa trên các sự kiện chính xác để suy ra các tri thức mới từ các thông tin cũ. Mẫu chiết xuất được bằng cách sử dụng phương pháp này thường là các luật suy diễn.

<b> - Phương pháp quy nạp: Phương pháp quy nạp suy ra các thông tin được </b>

sinh ra từ CSDL. Có nghĩa là nó tự tìm kiếm, tạo mẫu và sinh ra tri thức chứ không phải bắt đầu với các tri thức đã biết trước. Các thông tin mà phương pháp này đem lại là các thông tin hay các tri thức cấp cao diễn tả về các đối tượng trong CSDL. Phương pháp này liên quan đến việc tìm kiếm các mẫu trong CSDL. Trong khai phá dữ liệu, quy nạp được sử dụng trong cây quyết định và tạo luật.

<b> 1.4.3. Phương pháp K-láng giềng gần </b>

Sự miêu tả các bản ghi trong tập dữ liệu khi trỏ vào không gian nhiều chiều là rất có ích đối với việc phân tích dữ liệu. Việc dùng các miêu tả này, nội dung của vùng lân cận được xác định, trong đó các bản ghi gần nhau trong không gian được xem xét thuộc về lân cận (hàng xóm – láng giềng) của nhau. Khái niệm này được dùng trong khoa học kỹ thuật với tên gọi K-láng giềng gần, trong đó K là số láng giềng được sử dụng. Phương pháp này rất hiệu quả nhưng lại đơn giản.

<i> Ví dụ: Để dự đốn hoạt động của cá thể xác định, K-láng giềng tốt nhất </i>

của cá thể được xem xét, và trung bình các hoạt động của các láng giềng gần đưa ra được dự đốn về hoạt động của cá thể đó.

Kỹ thuật K-láng giềng gần là một phương pháp tìm kiếm đơn giản. Tuy nhiên, nó có một số mặt hạn chế giới là hạn phạm vi ứng dụng của nó. Đó là thuật tốn này có độ phức tạp tính tốn là luỹ thừa bậc 2 theo số bản ghi của tập dữ liệu.

Vấn đề chính liên quan đến thuộc tính của bản ghi. Một bản ghi gồm nhiều thuộc tính độc lập, nó bằng một điểm trong khơng gian tìm kiếm có số chiều lớn. Trong các khơng gian có số chiều lớn, giữa hai điểm bất kỳ hầu như có cùng khoảng cách. Vì thế mà kỹ thuật K-láng giềng không cho ta thêm một thơng tin có ích nào, khi hầu hết các cặp điểm đều là các láng giềng. Cuối cùng, phương pháp K-láng giềng không đưa ra lý thuyết để hiểu cấu trúc dữ liệu. Hạn chế đó có thể được khắc phục bằng kỹ thuật cây quyết định.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b> 1.4.4. Phương pháp sử dụng cây quyết định và luật </b>

Với kỹ thuật phân lớp dựa trên cây quyết định, kết quả của quá trình xây dựng mơ hình sẽ cho ra một cây quyết định. Cây này được sử dụng trong quá trình phân lớp các đối tượng dữ liệu chưa biết hoặc đánh giá độ chính xác của mơ hình. Tương ứng với hai giai đoạn trong quá trình phân lớp là quá trình xây

<b>dựng và sử dụng cây quyết định. </b>

Quá trình xây dựng cây quyết định bắt đầu từ một nút đơn biểu diễn tất cả các mẫu dữ liệu. Sau đó, các mẫu sẽ được phân chia một cách đệ quy dựa vào việc lựa chọn các thuộc tính. Nếu các mẫu có cùng một lớp thì nút sẽ trở thành lá, ngược lại ta sử dụng một độ đo thuộc tính để chọn ra thuộc tính tiếp theo làm cơ sở để phân chia các mẫu ra các lớp. Theo từng giá trị của thuộc tính vừa chọn, ta tạo ra các nhánh tương ứng và phân chia các mẫu vào các nhánh đã tạo. Lặp lại quá trình trên cho tới khi tạo ra được cây quyết định, tất cả các nút triển khai thành lá và được gán nhãn.

Quá trình đệ quy sẽ dừng lại khi một trong các điều kiện sau được thỏa mãn:

- Tất cả các mẫu thuộc cùng một nút.

- Khơng cịn một thuộc tính nào để lựa chọn. - Nhánh không chứa mẫu nào.

Phần lớn các giải thuật sinh cây quyết định đều có hạn chế chung là sử dụng nhiều bộ nhớ. Lượng bộ nhớ sử dụng tỷ lệ thuận với kích thước của mẫu dữ liệu huấn luyện. Một chương trình sinh cây quyết định có hỗ trợ sử dụng bộ nhớ ngồi song lại có nhược điểm về tốc độ thực thi. Do vậy, vấn đề tỉa bớt cây quyết định trở nên quan trọng. Các nút lá không ổn định trong cây quyết định sẽ được tỉa bớt. Kỹ thuật tỉa trước là việc dừng sinh cây quyết định khi chia dữ liệu không có ý nghĩa.

<b> 1.4.5. Phương pháp phát hiện luật kết hợp </b>

<b> Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần </b>

dữ liệu trong CSDL. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được. Ta có thể lấy một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thành phần A và B có nghĩa là sự xuất hiện của A trong bản ghi

<b>kéo theo sự xuất hiện của B trong cùng bản ghi đó: A => B. </b>

<b> Các luật kết hợp có thể là một cách hình thức hóa đơn giản. Chúng rất </b>

thích hợp cho việc tạo ra các kết quả có dữ liệu dạng nhị phân. Giải thuật tìm kiếm các luật kết hợp tạo ra số luật ít nhất phải bằng với số các tập phổ biến và

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

nếu như một tập phổ biến có kích thước K thì phải có ít nhất là 2<small>k</small> tập phổ biến. Thơng tin về các tập phổ biến được sử dụng để ước lượng độ tin cậy của các tập luật kết hợp.

<b>1.5. Nhiệm vụ chính trong khai thác dữ liệu </b>

Quá trình khai phá dữ liệu là quá trình phát hiện ra mẫu thơng tin. Trong đó, giải thuật khai phá tìm kiếm các mẫu đáng quan tâm theo dạng xác định như các luật, phân lớp, hồi quy, cây quyết định, ...

<b> 1.5.1. Phân lớp (phân loại - classification) </b>

Là việc xác định một hàm ánh xạ từ một mẫu dữ liệu vào một trong số các lớp đã được biết trước đó. Mục tiêu của thuật tốn phân lớp là tìm ra mối quan hệ nào đó giữa thuộc tính dự báo và thuộc tính phân lớp. Như thế quá trình phân lớp có thể sử dụng mối quan hệ này để dự báo cho các mục mới. Các kiến thức được phát hiện biểu diễn dưới dạng các luật theo cách sau: “Nếu các thuộc tính dự báo của một mục thoả mãn điều kiện của các tiền đề thì mục nằm trong lớp chỉ ra trong kết luận”.

Ví dụ: Một mục biểu diễn thơng tin về nhân viên có các thuộc tính dự báo là: họ tên, tuổi, giới tính, trình độ học vấn, …và thuộc tính phân loại là trình độ lãnh đạo của nhân viên.

<b> 1.5.2. Hồi qui (regression) </b>

Là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đốn có giá trị thực. Nhiệm vụ của hồi quy tương tự như phân lớp, điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứ khơng phải rời rạc. Việc dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điển, chẳng hạn như hồi quy tuyến tính. Tuy nhiên, phương pháp mơ hình hố cũng được sử dụng, ví dụ: cây quyết định.

Ứng dụng của hồi quy là rất nhiều, ví dụ: dự đoán số lượng sinh vật phát quang hiện thời trong khu rừng bằng cách dị tìm vi sóng bằng các thiết bị cảm biến từ xa; ước lượng xác suất người bệnh có thể chết bằng cách kiểm tra các triệu chứng; dự báo nhu cầu của người dùng đối với một sản phẩm, …

<b> 1.5.3. Phân nhóm (clustering) </b>

Là việc mô tả chung để tìm ra các tập hay các nhóm, loại mơ tả dữ liệu. Các nhóm có thể tách nhau hoặc phân cấp hay gối lên nhau. Có nghĩa là dữ liệu có thể vừa thuộc nhóm này lại vừa thuộc nhóm khác. Các ứng dụng khai phá dữ liệu có nhiệm vụ phân nhóm như phát hiện tập các khách hàng có phản ứng giống nhau trong CSDL tiếp thị; xác định các quang phổ từ các phương pháp đo

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

tia hồng ngoại, … Liên quan chặt chẽ đến việc phân nhóm là nhiệm vụ đánh giá dữ liệu, hàm mật độ xác suất đa biến/ các trường trong CSDL.

<b> 1.5.4. Tổng hợp (summarization) </b>

Là công việc liên quan đến các phương pháp tìm kiếm một mơ tả tập con dữ liệu. Kỹ thuật tổng hợp thường áp dụng trong việc phân tích dữ liệu có tính thăm dị và khóa luận tự động. Nhiệm vụ chính là sản sinh ra các mô tả đặc trưng cho một lớp. Mô tả loại này là một kiểu tổng hợp, tóm tắt các đặc tính chung của tất cả hay hầu hết các mục của một lớp. Các mô tả đặc trưng thể hiện theo luật có dạng sau: “Nếu một mục thuộc về lớp đã chỉ trong tiền đề thì mục đó có tất cả các thuộc tính đã nêu trong kết luận”. Lưu ý rằng luật dạng này có các khác biệt so với luật phân lớp. Luật phát hiện đặc trưng cho lớp chỉ sản sinh khi các mục đã thuộc về lớp đó.

<b> 1.5.5. Mơ hình hoá sự phụ thuộc (dependency modeling) </b>

<b> Là việc tìm kiếm một mơ hình mô tả sự phụ thuộc giữa các biến, thuộc </b>

tính theo hai mức: Mức cấu trúc của mơ hình mơ tả (thường dưới dạng đồ thị). Trong đó, các biến phụ thuộc bộ phận vào các biến khác. Mức định lượng mô hình mơ tả mức độ phụ thuộc. Những phụ thuộc này thường được biểu thị dưới dạng theo luật “nếu - thì” (nếu tiền đề là đúng thì kết luận đúng). Về nguyên tắc, cả tiền đề và kết luận đều có thể là sự kết hợp logic của các giá trị thuộc tính. Trên thực tế, tiền đề thường là nhóm các giá trị thuộc tính và kết luận chỉ là một thuộc tính. Hơn nữa hệ thống có thể phát hiện các luật phân lớp trong đó tất cả các luật cần phải có cùng một thuộc tính do người dùng chỉ ra trong kết luận. Quan hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng tin cậy Bayes. Đó là đồ thị có hướng, khơng chu trình. Các nút biểu diễn thuộc tính và trọng số của liên kết phụ thuộc giữa các nút đó.

<b> 1.5.6. Phát hiện sự biến đổi và độ lệch (change and deviation dectection) </b>

Nhiệm vụ này tập trung vào khám phá hầu hết sự thay đổi có nghĩa dưới dạng độ đo đã biết trước hoặc giá trị chuẩn, phát hiện độ lệch đáng kể giữa nội dung của tập con dữ liệu thực và nội dung mong đợi. Hai mô hình độ lệch hay dùng là lệch theo thời gian hay lệch theo nhóm. Độ lệch theo thời gian là sự thay đổi có ý nghĩa của dữ liệu theo thời gian. Độ lệch theo nhóm là sự khác nhau của giữa dữ liệu trong hai tập con dữ liệu, ở đây tính cả trường hợp tập con dữ liệu này thuộc tập con kia, nghĩa xác định dữ liệu trong một nhóm con của đối tượng có khác đáng kể so với tồn bộ đối tượng khơng? Theo cách này, sai sót dữ liệu hay sai lệch so với giá trị thông thường được phát hiện.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Vì những nhiệm vụ này yêu cầu số lượng và các dạng thông tin rất khác nhau nên chúng thường ảnh hưởng đến việc thiết kế và chọn phương pháp khai phá dữ liệu khác nhau. Ví dụ như phương pháp cây quyết định tạo ra được một mô tả phân biệt được các mẫu giữa các lớp nhưng khơng có tính chất và đặc điểm của lớp.

<b>1.6. Các kỹ thuật khai phá dữ liệu </b>

<b> 1.6.1. Các kỹ thuật tiếp cận trong Data mining </b>

Căn cứ vào lớp các bài toán cần giải quyết, khai phá dữ liệu có các kỹ thuật áp dụng sau:

<b>a) Phân lớp và dự đoán: xếp một đối tượng vào một trong những lớp đã </b>

biết trước. Ví dụ: phân lớp các bệnh nhân dữ liệu trong hồ sơ bệnh án. Hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định, mạng nơ ron nhân tạo.

<b>b) Luật kết hợp: phương pháp này nhằm phát hiện ra các luật kết hợp </b>

giữa các thành phần dữ liệu trong CSDL. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được. Có thể lấy một ví dụ đơn giản về luật kết hợp như sau: phân tích CSDL bán hàng nhận được thông tin về những khách hàng mua máy tính cũng có khuynh hướng mua phần mềm quản lý tài chính trong cùng lần mua được miêu tả trong luật kết hợp sau:

“Mua máy tính  Mua phần mềm quản lý tài chính” [Độ hỗ trợ: 4%, độ tin cậy: 70%].

Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật. Chúng tương ứng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá. Độ hỗ trợ 4% có nghĩa là: 4% của tất cả các tác vụ đã phân tích chỉ ra rằng máy tính và phần mềm quản lý tài chính là đã được mua cùng nhau. Cịn độ tin cậy 70% có nghĩa là 70% các khách hàng mua máy tính cũng mua phần mềm quản lý tài chính.

<b>c) Phân tích chuỗi theo thời gian: tượng tự như khai phá luật kết hợp </b>

nhưng có thêm tính thứ tự và tính thời gian. Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khốn vì nó có tính dự báo cao.

<b>d) Phân cụm: xếp các đối tượng theo từng cụm dữ liệu tự nhiên. </b>

<b>e) Mô tả khái niệm: thiên về mô tả, tổng hợp và tóm tắt khái niệm. Ví dụ: </b>

tóm tắt văn bản.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b> 1.6.2. Dạng dữ liệu có thể khai phá </b>

Do khai phá dữ liệu được ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều kiểu dữ liệu khác nhau. Sau đây là một số dạng dữ liệu điển hình: CSDL quan hệ, CSDL đa chiều, CSDL dạng giao dịch, CSDL quan hệ - hướng đối tượng, dữ liệu không gian và thời gian, Dữ liệu chuỗi thời gian, CSDL đa phương tiện, dữ liệu Text và Web...

<b> 1.6.3. Các ứng dụng của khai phá dữ liệu </b>

Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực: thống kê, trí tuệ nhân tạo, CSDL, thuật tốn, tính tốn song song ... Đặc biệt phát hiện tri thức và khai phá dữ liệu rất gần gũi với lĩnh vực thống kê, sử dụng các phương pháp thống kê để mơ hình hóa dữ liệu và phát hiện các mẫu. Khai phá dữ liệu có nhiều ứng dụng trong thực tế, ví dụ như:

1) Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định.

2) Điều trị y học và chăm sóc y tế: một số thơng tin về chuẩn đốn bệnh lưu trong các hệ thống quản lý bệnh viện. Phân tích mối liên hệ giữa các triệu chứng bệnh, chuẩn đoán và phương pháp điều trị (chế độ dinh dưỡng, thuốc, ...).

3) Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một số bệnh di truyền, ...

4) Bảo hiểm, tài chính và thị trường chứng khoán: phân tích tình hình tài chính và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán. Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận, ... 5) Sản xuất và chế biến: Quy trình, phương pháp chế biến và xử lý sự cố. 6) Mạng viễn thơng: Phân tích các cuộc gọi điện thoại và hệ thống giám sát

lỗi, sự cố chất lượng dịch vụ, …

7) Text mining và Web mining: Phân lớp văn bản và các trang Web, tóm tắt văn bản.

<b> 1.6.4. Khai phá luật kết hợp và ứng dụng </b>

Luật kết hợp là một biểu thức có dạng: X  Y, trong đó X và Y là tập các trường gọi là item. Ý nghĩa của các luật kết hợp khá dễ nhận thấy: Cho trước một cơ sở dữ liệu có D là tập các giao tác - trong đó mỗi giao tác TD là tập các item - khi đó X  Y diễn đạt ý nghĩa rằng bất cứ khi nào giao tác T có chứa X thì chắc chắn T có chứa Y. Độ tin cậy của luật (rule confidence) có thể được hiểu như xác suất điều kiện p(Y  T  X  T). Ý tưởng của việc khai thác các luật kết hợp có nguồn gốc từ việc phân tích dữ liệu mua hàng của khách và nhận

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

ra rằng “Một khách hàng mua mặt hàng X<small>1</small> và X<small>2</small> thì sẽ mua mặt hàng Y với xác suất là c%”. Ứng dụng trực tiếp của các luật này trong các bài toán kinh doanh làm cho luật kết hợp trở thành một phương pháp khai thác phổ biến. Hơn nữa, luật kết hợp không chỉ bị giới hạn trong phân tích sự phụ thuộc lẫn nhau trong phạm vi các ứng dụng bán lẻ mà chúng còn được áp dụng thành cơng trong rất nhiều bài tốn kinh doanh.

Như vậy, khai phá luật kết hợp là một phương pháp xử lý thơng tin quan trọng và phổ biến, nó nhằm khám phá mối liên hệ giữa các mẫu dữ liệu. Tiếp theo, khóa luận tốt nghiệp sẽ đề cập đến luật kết hợp. Đây là một hướng nghiên cứu quan trọng trong lĩnh vực khai phá dữ liệu và là nội dung tìm hiểu, nghiên cứu trọng tâm của khóa luận tốt nghiệp.

<b> 1.6.5. Phân loại các hệ thống khai phá dữ liệu </b>

KPDL là một công nghệ tri thức liên quan đến nhiều lĩnh vực nghiên cứu khác như CSDL, học máy, trí tuệ nhân tạo, trực quan hố dữ liệu và tri thức, … Chúng ta có thể phân loại các hệ thống KPDL theo các tiêu chí khác nhau như sau:

- Phân loại dựa trên loại dữ liệu được khai phá: Các hệ thống KPDL làm việc với CSDL quan hệ, kho dữ liệu , CSDL giao dịch, CSDL hướng đối tượng, CSDL không gian và thời gian, CSDL đa phương tiện, CSDL văn bản và web, …

- Phân loại dựa trên loại tri thức khai phá được: Các hệ thống KPDL có thể phân loại dựa theo loại tri thức mà chúng khai phá được, nghĩa là dựa vào các chức năng khai phá như mô tả, tóm tắt, luật kết hợp, phân lớp, dự báo, phân cụm, …

- Phân loại dựa trên loại kỹ thuật được sử dụng: Các công cụ KPDL như các hệ thống xử lý phân tích trực tuyến (OLAP), sử dụng kỹ thuật học máy (cây quyết định, mạng nơron nhân tạo, k- maen, máy hỗ trợ vector, tập thô, tập mờ, ...), trực quan hoá dữ liệu, …

- Phân loại dựa trên các lĩnh vực hệ thống KPDL được ứng dụng: Các hệ thống KPDL được sử dụng trong các lĩnh vực khác nhau như: Thương mại (ngành công nghiệp bán lẻ), viễn thông, tin sinh học, điều trị y tế, tài chính và thị trường chứng khoán, bảo hiểm y tế, …

<b> 1.6.6. Xu hướng trong khai phá dữ liệu </b>

Sự đa dạng của dữ liệu, các nhiệm vụ KPDL, và các cách tiếp cận KPDL đặt ra nhiều thách thức trong vấn đề nghiên cứu KPDL. Sự phát triển của các hệ thống và phương pháp KPDL hiệu quả, việc xây dựng các môi trường KPDL

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

tương tác và tích hợp, việc thiết kế các ngôn ngữ KPDL, và việc ứng dụng các kỹ thuật KPDL để giải quyết các vấn đề ứng dụng lớn là nhiệm vụ quan trọng đối với các nhà nghiên cứu KPDL, hệ thống KPDL và các nhà phát triển ứng dụng. Phần này đề cập đến một số vấn đề đang thu hút sự chú ý của các nhà nghiên cứu KPDL.

- Các hệ thống khai thác dữ liệu có thể khai phá các loại khác nhau của tri thức từ loại dữ liệu khác nhau.

- Làm thế nào để tăng cường hiệu suất, độ chính xác, khả năng mở rộng, và tích hợp của các hệ thống khai thác dữ liệu? Làm thế nào để giảm độ phức tạp tính tốn? Làm thế nào để cải thiện khả năng xử lý dữ liệu không đầy đủ, không phù hợp, và nhiễu? Ba câu hỏi trên vẫn còn cần được tập trung trong tương lai. - Tận dụng tri thức nền hoặc tri thức từ những người dùng (các chuyên gia hoặc chuyên viên) để nâng cấp hiệu suất của các hệ thống khai thác dữ liệu. - Khai thác dữ liệu song song và phân tán là một xu hướng nghiên cứu thú vị bởi vì nó sử dụng các hệ thống tính tốn mạnh mẽ để giảm thời gian phản ứng. Đây là điều cần thiết bởi vì ngày càng cần nhiều các ứng dụng thời gian thực trong thế giới cạnh tranh ngày nay.

- Ngôn ngữ truy vấn khai thác dữ liệu (DMQL): Các nhà nghiên cứu trong lĩnh vực này cố gắng thiết kế một ngôn ngữ truy vấn chuẩn cho khai thác dữ liệu. Ngôn ngữ này sẽ được sử dụng trong các hệ thống OLAM như SQL được sử dụng rộng rải trong CSDL quan hệ.

- Trực quan hố và trình diễn tri thức cũng được xem xét để thể hiện tri thức trong các dạng mà con người dễ sử dụng và có thể đọc được. Tri thức có thể được biểu diễn trong các biểu thức trực quan hơn do cấu trúc dữ liệu đa chiều hoặc đa mức.

<b> Tóm tắt: </b>

- Chương này đã trình bày tổng quan về KPDL và KDD. KDD là rất cần thiết và là một q trình gồm nhiều giai đoạn, trong đó giai đoạn KPDL là một giai đoạn chính yếu nhất.

- Chương này cũng đề cập đến các hướng tiếp cận và kỹ thuật chính trong KPDL cùng với một số phương pháp KPDL. Mỗi phương pháp có những đặc điểm riêng và phù hợp với một lớp các bài toán với các dạng dữ liệu và miền dữ liệu nhất định. Trong các CSDL lớn, các phương pháp KPDL (điển hình là phân cụm, phân lớp) cho phép phát hiện được các mẫu tiềm ẩn và đánh giá giá trị của chúng một cách tự động trong một khoảng thời gian nhanh nhất để hỗ trợ cho người sử dụng.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

- Sự đa dạng của dữ liệu, các nhiệm vụ KPDL và các cách tiếp cận KPDL đặt ra nhiều thách thức trong vấn đề nghiên cứu KPDL. Phần cuối của chương này phác họa những ưu thế, ứng dụng chính của lĩnh vực này và những hướng nghiên cứu đang và sẽ được chú trọng trong thời gian tới.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>CHƯƠNG 2 </b>

<b>LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU </b>

<b>2.1. Khai phá luật kết hợp </b>

Khai phá luật kết hợp là một kỹ thuật quan trọng của khai phá dữ liệu. Vấn đề được Rakesh Agrawal, Tomasz Imielinski, Arun Swami đề xuất lần đầu vào năm 1993. Sau đó năm 1996 được Rakesh Agrawal, Heikki Mannila, Ramakrishnan Srikant, Hannu Toivonen, A.Inkeri Verkamo tiếp tục cải tiến. Ngày nay bài toán khai thác luật kết hợp nhận được rất nhiều sự quan tâm của nhiều nhà khoa học. Việc khai thác các luật như thế vẫn là một trong những phương pháp khai thác mẫu phổ biến nhất trong việc khám phá tri thức và khai thác dữ liệu.

Mục đích chính của khai phá dữ liệu là các tri thức được kết xuất ra sẽ được sử dụng trong dự báo thông tin trợ giúp trong sản xuất kinh doanh và nghiên cứu khoa học.

Trong hoạt động sản xuất kinh doanh, ví dụ kinh doanh các mặt hàng tại siêu thị, các nhà quản lý rất thích có được các thơng tin mang tính thống kê như: “90% phụ nữ có xe máy màu đỏ và đeo đồng hồ Thuỵ Sỹ thì dùng nước hoa hiệu Chanel” hoặc “70% khách hàng là công nhân khi mua TV thường mua loại TV 21 inches”. Những thơng tin như vậy rất hữu ích trong việc định hướng kinh doanh. Vậy vấn đề đặt ra là liệu có tìm được các luật như vậy bằng các công cụ khai phá dữ liệu hay khơng? Câu trả lời là hồn tồn có thể. Đó chính là nhiệm vụ khai phá luật kết hợp.

Giả sử chúng ta có một CSDL D. Luật kết hợp cho biết phạm vi mà trong đó sự xuất hiện của tập các mục S nào đó trong các bản ghi của D sẽ kéo theo sự xuất hiện của một tập những mục U cũng trong những bản ghi đó. Mỗi luật kết hợp được đặc trưng bởi một cặp tỉ lệ. Mỗi tỉ lệ hỗ trợ được biểu diễn bằng tỉ lệ % những bản ghi trong D chứa cả S và U.

<i> Vấn đề khám phá luật kết hợp được phát biểu như sau: </i>

<b> Cho trước tỉ lệ hỗ trợ  và độ tin cậy . </b>

<b> Đánh số tất cả các luật trong D có các giá trị tỉ lệ hỗ trợ và tin cậy </b>

lớn hơn  và  tương ứng.

<b> Ví dụ: Cho D là CSDL giao dịch và với độ hỗ trợ  = 40%, độ tin cậy  = </b>

90%. Vấn đề phát hiện luật kết hợp được thực hiện như sau:

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<b> + Liệt kê, đếm tất cả những qui luật chỉ ra sự xuất hiện một số các mục sẽ </b>

 X được gọi là tiền đề.

 Y được gọi là hệ quả của luật.

<b> 2.2.2. Khái niệm </b>

Cho một tập I = {I<small>1</small>, I<small>2</small>, ..., I<small>m</small>} các tập m mục, một giao dịch T được định nghĩa như một tập con của các khoản mục trong I (T  I).

Gọi D là CSDL của n giao dịch và mỗi giao dịch được đánh nhãn với một định danh duy nhất. Nói rằng, một giao dịch T  D hỗ trợ một tập X  I nếu nó chứa tất cả các item của X.

Điều này nghĩa là X  T, trong một số trường hợp người ta dùng ký hiệu T(X) để chỉ tập các giao dịch hỗ trợ cho X.

Kí hiệu support(X) (hoặc sup(X), s(X)) là tỷ lệ phần trăm của các giao dịch hỗ trợ X trên tổng các giao dịch trong D, nghĩa là:

Độ hỗ trợ tối thiểu minsup là một giá trị cho trước bởi người sử dụng. Nếu tập mục X có sup(X) <small> minsup thì ta nói X là một tập các mục phổ </small> biến.

Một tập phổ biến được sử dụng như một tập đáng quan tâm trong các thuật toán, ngược lại, những tập không phải tập phổ biến là những tập không đáng quan tâm. Các phần sau sẽ sử dụng những cụm từ khác như “X có độ hỗ trợ tối

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

thiểu”, hay “X khơng có độ hỗ trợ tối thiểu” cũng để nói lên rằng X thỏa mãn hay không thỏa mãn support (X)  minsup.

Một khoản mục X được gọi là k-itemset nếu lực lượng của X bằng k, tức là |X| = k.

Một luật kết hợp có dạng R: X => Y,trong đó, X, Y là các tập mục, X, Y  I và X  Y = .

 X được gọi là tiền đề

 Y được gọi là hệ quả của luật

<i> Luật X => Y tồn tại một độ tin cậy c (confidence-conf). Độ tin cậy c được </i>

định nghĩa là khả năng giao dịch T hỗ trợ X thì cũng hỗ trợ Y. Ta có cơng thức

<i><b>tính độ tin cậy c như sau: </b></i>

conf(X =>Y) = p(Y  I | X  I) = <sup>   </sup><sub></sub> <sup> ∪</sup><sub></sub>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

Tuy nhiên, không phải bất cứ luật kết hợp nào có mặt trong tập các luật có thể được sinh ra cũng đều có ý nghĩa trên thực tế. Mà các luật đều phải thoả mãn một ngưỡng hỗ trợ và tin cậy cụ thể. Thực vậy, cho một tập các giao dịch D, bài toán phát hiện luật kết hợp là sinh ra tất cả các luật kết hợp mà có độ tin cậy conf lớn hơn độ tin cậy tối thiểu mincon và độ hỗ trợ sup lớn hơn độ hỗtrợ tối thiểu minsup tương ứng do người dùng xác định.

Khai phá luật kết hợp được phân thành hai bài toán con:

<i> Bài tốn 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn độ hỗ trợ tốt </i>

thiểu do người dùng xác định. Các tập mục thoả mãn độ hỗ trợ tối thiểu được gọi là các tập mục phổ biến.

<i> Bài toán 2: Dùng các tập mục phổ biến để sinh ra các luật mong muốn. Ý </i>

tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng ta có thể xác định luật nếu AB => CD giữ lại với tỷ lệ độ tin cậy:

Nếu conf ≥ mincon thì luật được giữ lại (luật này sẽ thoả mãn độ hỗ trợ tối thiểu vì ABCD là phổ biến).

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<b> 2.2.3. Một số tính chất liên quan đến các hạng mục phổ biến 2.2.3.1. Tập mục phổ biến </b>

<i><b>- Tính chất 1: (Độ hỗ trợ của tập con) </b></i>

Với A và B là tập các mục, nếu A  B thì sup(A)  sup(B)

Điều này là rõ ràng vì tất cả các giao tác của D hỗ trợ B thì cũng hỗ trợ A.

<b>- Tính chất 2: Một tập chứa một tập khơng phổ biến thì cũng là tập khơng </b>

phổ biến.

Nếu một mục trong B khơng có độ hỗ trợ tối thiểu trên D nghĩa là sup(B) < minsup thì một tập con A của B sẽ không phải là một tập phổ biến vì support(B)  support(A) < minsup (theo tính chất 1).

<b>- Tính chất 3: Các tập con của tập phổ biến cũng là tập phổ biến </b>

Nếu mục B là mục phổ biến trên D, nghĩa là support(B)  minsup thì mọi tập con A của B là tập phổ biến trên D vì support(A)  support(B) > minsup.

<b> 2.2.3.2. Luật kết hợp </b>

<b> - Tính chất 1: ( Không hợp các luật kết hợp) </b>

Nếu có X  Z và Y  Z trong D thì không nhất thiết X  Y  Z là đúng. Xét trường hợp X  Z =  và các tác vụ trong D hỗ trợ Z nếu và chỉ nếu chúng hỗ trợ mỗi X hoặc Y, khi đó luật X  Y  Z có độ hỗ trợ 0%.

Tương tự : X  Y  X  Z  X  Y  Z

<b> - Tính chất 2: (Khơng tách luật) </b>

Nếu X  Y  Z thì X  Z và Y  Z chưa chắc xảy ra.

Ví dụ trường hợp Z có mặt trong một giao tác chỉ khi cả hai X và Y cũng có mặt, tức là sup(X  Y) = sup(Z), nếu độ hỗ trợ của X và Y đủ lớn hơn sup(X  Y), tức là sup(X) > sup(X  Y) và sup(Y) > sup(X  Y) thì hai luật riêng biệt sẽ không đủ độ tin cậy.

Tuy nhiên đảo lại: X  Y  Z  X  Y  X  Z

<b> - Tính chất 3: (Các luật kết hợp khơng có tính bắc cầu) </b>

Nếu X  Y và Y  Z, chúng ta không thể suy ra X  Z.

Ví dụ: giả sử T(X)  T(Y)  T(Z), ở đó T(X), T(Y), T(Z) tương ứng là các giao dịch chứa X, Y, Z và độ tin cậy cực tiểu minconf.

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

conf(XY) = conf(YZ) = minconf thế thì:

conf(XY) = minconf2 < minconf vì minconf < 1, do đó luật X  Z không đủ độ tin cậy.

<b> - Tính chất 4: </b>

Nếu A  (L - A) không thoả mãn độ tin cậy cực tiểu thì luật B  (L - B) cũng không thoả mãn, với các tập mục L, A, B và B  A  L.

Vì supp(B)  sup(A) (theo tính chất 1) và định nghĩa độ tin cậy, chúng ta

<b> 2.2.4. Một số hướng tiếp cận trong khai phá luật kết hợp </b>

Lĩnh vực khai thác luật kết hợp cho đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau. Có những đề xuất nhằm cải tiến tốc độ thuật tốn, có những đề xuất nhằm tìm kiếm luật có ý nghĩa hơn… và có một số hướng chính như sau:

<b>- Luật kết hợp nhị phân (binary association rule hoặc boolean association rule): là hướng nghiên cứu đầu tiên của luật kết hợp. Hầu hết các </b>

nghiên cứu ở thời kỳ đầu về luật kết hợp đều liên quan đến luật kết hợp nhị phân. Trong dạng luật kết hợp này, các mục, thuộc tính, chỉ được quan tâm là có hay khơng xuất hiện trong giao tác của CSDL chứ không quan tâm về “mức độ” xuất hiện. Ví dụ: Trong hệ thống tính cước điện thoại thì việc gọi 10 cuộc điện thoại và một cuộc được xem là giống nhau. Thuật toán tiêu biểu nhất khai phá dạng luật này là thuật toán Apriori và các biến thể của nó. Đây là dạng luật đơn giản và các luật khác cũng có thể chuyển về dạng luật này nhờ một số phương pháp như rời rạc hố, mờ hố, … Một ví dụ về dạng luật này: “gọi liên tỉnh = ‘yes’ AND gọi di động = ‘yes’ => gọi quốc tế= ‘yes’ AND gọi dịch vụ 108 = ‘yes’, với độ hỗ trợ 20% và độ tin cậy 80%”.

</div>

×