1. Trang chủ
  2. » Luận Văn - Báo Cáo

KHAI PHÁ DỮ LIỆU VÀ THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP SONG SONG

40 308 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 838,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỤC LỤC LỜI MỞ ĐẦU51. Lý do chọn đề tài12. Đối tượng và phạm vi nghiên cứu13. Mục tiêu và nội dung của báo cáo2CHƯƠNG I: TỔNG QUAN KHO DỮ LIỆU VÀ KHAI PHÁ3DỮ LIỆU31.1. Sự cần thiết của khai phá dữ liệu31.1.1. Những nghiên cứu về thị trường của khái phá dữ liệu31.1.2. Những nhu cầu về khái phá dữ liệu trong kinh doanh31.1.3. Khai phá dữ liệu trong một số lĩnh vực quan trọng khác31.2 Tổng quan về khai phá dữ liệu41.2.1. Định nghĩa khai phá dữ liệu41.2.2. Kiến trúc của một hệ thống khai phá dữ liệu41.2.3. Quá trình khai phá dữ liệu51.2.4. Một số kỹ thuật khai phá dữ liệu61.2.5. Lợi ích của khai phá dữ liệu so với các phương pháp khác61.2.6. Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu7CHƯƠNG II: KHAI PHÁ LUẬT KẾT HỢP TRONG CƠ SỞ8DỮ LIỆU82.1. Lý thuyết về luật kết hợp82.1.1. Định nghĩa luật kết hợp82.1.2. Khái niệm82.1.3. Một số tính chất liên quan92.2. Khai phá luật kết hợp102.3. Cách tiếp cận khai phá luật kết hợp112.4. Luật kết hợp cơ sở122.4.1. Phát hiện các tập mục phổ biến122.4.2. Một số thuật toán phát hiện tập mục phổ biến khác152.4.3. Sinh luật kết hợp16CHƯƠNG III : MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ LUẬT17KẾT HỢP SONG SONG VÀ PHÂN TÍCH ĐÁNH GIÁ17CÁC THUẬT TOÁN173.1. Nguyên lý thiết kế thuật toán song song173.2. Hướng tiếp cận chính trong thiết kế thuật toán khai phá luật kết hợp song song173.2.1. Mô hình song song dữ liệu183.2.2. Mô hình song song thao tác183.3. Một số thuật toán khai phá luật kết hợp song song193.3.1. Thuật toán Count Distribution (CD)193.3.2. Thuật toán Data Distribution (DD)203.3.3. Thuật toán Candidate Distribution223.3.4. Thuật toán song song Eclat233.3.5 Thuật toán khai phá các mẫu phổ biến sử dụng Fp Growth283.4. Phân tích, đánh giá việc thực hiện thuật toán323.4.1. Phân tích thuật toán song song323.4.2. Đánh giá việc thực hiện các thuật toán33KẾT LUẬN VÀ KIẾN NGHỊ35TÀI LIỆU THAM KHẢO36

Trang 1

BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

*****************************

BÁO CÁO THỰC TẬP TỐT NGHIỆP

ĐỀ TÀI: KHAI PHÁ DỮ LIỆU VÀ THUẬT TOÁN KHAI PHÁ

LUẬT KẾT HỢP SONG SONG

Cán bộ hướng dẫn : Th S Hoàng Minh Quang

Sinh viên thực hiện : Nguyễn Thị Thực

HÀ NỘI - 2016

Trang 2

LỜI CẢM ƠN

Sau thời gian thực tập, nghiên cứu tại phòng Cơ sở dữ liệu, viện Công nghệ thông tin- Viện Hàn lâm và khoa học Việt Nam, được sự giúp đỡ nhiệt tình của các thầy cô giáo và các cán bộ, nhân viên của phòng em đã hoàn thành được bài báo cáo thực tập tốt nghiệp

Em chân thành cảm ơn các thầy cô trong khoa Công nghệ thông tin, trường Đại học Tài nguyên và môi trường Hà Nội đã tận tình giảng dạy truyền đạt kiến thức trong suốt quá trình học tập Với vốn kiến thức được tiếp thu trong quá trình học tập không chỉ là nền tảng cho quá trình nghiên cứu thực tập mà còn là hành trang để e bước vào đời sau khi ra trường Đặc biệt cho em gửi lời cảm ơn sâu sắc đến thầy ThS Hoàng Minh Quang, đã tận tình hướng dẫn trong suốt quá trình thực tập để em có thể hoàn thành được bài báo cáo này

Em chân thành cảm ơn trưởng phòng TS Nguyễn Việt Anh và các nhân viên của Phòng Cơ sở dữ liệu, viện CNTT- viện Hàn lâm và khoa học Việt Nam đã tạo điều kiện thuận lợi nhất trong suốt quá trình thực tập

Do thời gian thực tập có hạn, cũng như kinh nghiệm bản thân còn hạn chế của một sinh viên thực tập nên trong bài báo cáo còn có nhiều thiếu sót Vì vậy, em rất mong nhận được sự chỉ bảo, đóng góp của các thầy cô để em có thể bổ sung, nâng cao kiến thức của mình

Trang 3

MỤC LỤC

MỤC LỤC 3

DANH MỤC HÌNH 4

LỜI MỞ ĐẦU 1

CHƯƠNG I: TỔNG QUAN KHO DỮ LIỆU VÀ KHAI PHÁ 3

DỮ LIỆU 3

CHƯƠNG II: KHAI PHÁ LUẬT KẾT HỢP TRONG CƠ SỞ 8

DỮ LIỆU 8

CHƯƠNG III : MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ LUẬT 17

KẾT HỢP SONG SONG VÀ PHÂN TÍCH ĐÁNH GIÁ 17

CÁC THUẬT TOÁN 17

Trang 4

DANH MỤC HÌNH

MỤC LỤC 3

DANH MỤC HÌNH 4

LỜI MỞ ĐẦU 1

CHƯƠNG I: TỔNG QUAN KHO DỮ LIỆU VÀ KHAI PHÁ 3

DỮ LIỆU 3

CHƯƠNG II: KHAI PHÁ LUẬT KẾT HỢP TRONG CƠ SỞ 8

DỮ LIỆU 8

CHƯƠNG III : MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ LUẬT 17

KẾT HỢP SONG SONG VÀ PHÂN TÍCH ĐÁNH GIÁ 17

CÁC THUẬT TOÁN 17

Trang 5

LỜI MỞ ĐẦU

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

Với sự bùng nổ và phát triển của công nghệ thông tin đã mang lại nhiều hiệu quả đối với khoa học cũng như các hoạt động thực tế, trong đó khai phá dữ liệu là một lĩnh vực mang lại hiệu quả thiết thực cho con người Khai phá dữ liệu đã giúp người

sử dụng thu được những tri thức hữu ích từ những cơ sở dữ liệu hoặc các kho dữ liệu khổng lồ khác

Cơ sở dữ liệu trong các đơn vị, tổ chức kinh doanh, quản lý khoa học chứa đựng nhiều thông tin tiềm ẩn, phong phú và đa dạng, đòi hỏi phải có những phương pháp nhanh, phù hợp, chính xác, hiệu quả để lấy được những thông tin bổ ích Để lấy được thông tin mang tính tri thức trong khối dữ liệu khổng lồ, cần thiết phải phát triển các kỹ thuật có khả năng tích hợp các dữ liệu từ các hệ thống giao dịch khác nhau, chuyển chúng thành một tập hợp các cơ sở dữ liệu ổn định có chất lượng Các kỹ thuật như vậy được gọi là kỹ thuật tạo kho dữ liệu và môi trường các dữ liệu nhận được khi

áp dụng các kỹ thuật tạo kho dữ liệu nói trên được gọi là kho dữ liệu

Một trong các nội dung cơ bản nhất trong khai phá dữ liệu và rất phổ biến là phát hiện các luật kết hợp Phương pháp này nhằm tìm ra các tập thuộc tính thường xuất hiện đồng thời trong cơ sở dữ liệu và rút ra các luật về ảnh hưởng của một tập thuộc tính dẫn đến sự xuất hiện của một (hoặc một tập) thuộc tính khác như thế nào Bên cạnh đó, nhu cầu song song hóa và xử lý phân tán là rất cần thiết hiện nay bởi kích thước lưu trữ dữ liệu ngày càng nhiều nên đòi hỏi tốc độ xử lý cũng như dung lượng bộ nhớ hệ thống phải đảm bảo Vì thế, yêu cầu cần có những thuật toán song song hiệu quả cho việc phát hiện luật kết hợp Do vậy, em đã chọn đề tài tìm hiểu về

“Khai phá dữ liệu và thuật toán khai phá luật kết hợp song song”

Ứng dụng khai phá dữ liệu đã mang lại những lợi ích to lớn trong việc tổng hợp

và cung cấp những thông tin trong các nguồn cơ sở dữ liệu lớn Hơn nữa hiện nay nhu cầu song song hóa và xử lý phân tán là rất cần thiết bởi kíchthước dữ liệu lưu trữ ngày càng lớn nên đòi hỏi tốc độ xử lý cũng như dung lượng bộ nhớ hệ thống phải đảm bảo

Vì thế, yêu cầu cần có những thuật toán song song hiệu quả cho luật kết hợp, từ đó trình bày các vấn đề khai phá dữ liệu và xây dựng một số thuật toán khai phá luật kết hợp song song

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

- Các kiến thức cơ bản về khai phá dữ liệu và khai phá luật kết hợp

- Các phương pháp khai phá luật kết hợp song song

Trang 6

3 Mục tiêu và nội dung của báo cáo

Mục tiêu: nghiên cứu tìm hiểu lý thuyết tổng quan về khai phá dữ liệu cũng như tìm hiểu thuật toán khai phá luật kết hợp

Nội dung báo cáo được trình bày trong 3 chương và phần kết luận

Chương 1: Tổng quan về khai phá dữ liệu

Chương 2: Khai phá luật kết hợp song song

Chương 3: Một số phương pháp khai phá luật kết hợp song song và phân tích đánh giá các thuật toán song song

Trang 7

CHƯƠNG I: TỔNG QUAN KHO DỮ LIỆU VÀ KHAI PHÁ

DỮ LIỆU

1.1 Sự cần thiết của khai phá dữ liệu

1.1.1 Những nghiên cứu về thị trường của khái phá dữ liệu

Theo Giga Research-một tổ chức nghiên cứu nổi tiếng của Mỹ ước tính thị truowgf khai phsa dữu liệu bao gồm phần mềm và dịch vụ sẽ vượt qua con số 1 tỷ $ Mỹ( báo cáo năm 2005) Một số nghiên cứu khác thì không đồng ý, cho rằng con số đó chỉ ở mức 700-800t triệu Tuy nhiên 1 điểm mà các nhà phân tích đồng tình đó là mức tăng trưởng của thị trường khai phá dữ liệu ngày càng tăng và nhanh nhất trong lĩnh vực kinh doanh

1.1.2 Những nhu cầu về khái phá dữ liệu trong kinh doanh

Ngày nay nền kinh tế thị trường cạnh tranh ngày càng phát triển, đi đôi với nó

là những nhu cầu tất yếu như:

- Phân loại khách hàng để từ đó phân định thị trường, thị phần

- Tăng sức mạnh cạnh tranh, làm thế nào để giữ khách hàng cũ và thu hút khách hàng mới

- Phân tích rủi ro trước khi ra quyết định quan trọng chiến lược bất động sản kinh doanh

- Ra các báo cáo giàu thông tin

Tất cả các nhu cầu xã hội trên đòi hỏi cần phải có 1 phương thức, công cụ nào

đó hỗ trợ bên cạnh các chuyên gia kinh tế Và khai phá dữ liệu là 1 chìa khóa hỗ trợ giải quyết vấn đề nêu trên

1.1.3 Khai phá dữ liệu trong một số lĩnh vực quan trọng khác

- Khoa học:

•Thiên văn học: dựu đoán đường đi quỹ đạo các thiên thể, hành tinh

•Chiêm tinh học: tiên đoán, giải đáp giấc mơ

•Công nghệ sinh học; tìm ra các giống mới, giải mã gen

Trang 8

1.2Tổng quan về khai phá dữ liệu

1.2.1 Định nghĩa khai phá dữ liệu

Khai phá dữ liệu được dùng để mô tả quá trình phát hiện ra tri thức trong cơ sở

dữ liệu 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 các phương pháp truyền thống trước

Đị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 cơ sở dữ liệu lớn”

Đị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”

1.2.2 Kiến trúc của một hệ thống khai phá dữ liệu

Khai phá dữ liệu là quá trình rút trích thông tin bổ ích từ những kho dữ liệu lớn Khai phá dữ liệu là quá trình chính trong khai phá tri thức từ cơ sở dữ liệu

Hình 1.1: Kiến trúc của hệ thống khai phá dữ liệu

Kiến trúc của một hệ thống khai phá dữ liệu gồm các thành phần sau:

•CSDL, kho dữ liệu hoặc nguồn lưu trữ thông tin khác: Đây là một hay các tập CSDL, các kho dữ liệu, các trang tính hay các dạng khác của thông tin được lưu trữ Các kỹ thuật làm sạch dữ liệu và tích hợp dữ liệu có thể thực hiện

•Máy chủ CSDL (Database or Warehouse Sever): Máy chủ có trách nhiệm lấy

Trang 9

•Cơ sở tri thức (Knowledge-base): đây là miền tri thức dùng để tìm kiếm hay đánh giá độ quan trọng của các mẫu kết quả thu được Tri thức này có thể bao gồm một sư phân cấp khái niệm dùng đề tổ chức các thuộc tính hay các giá trị thuộc tính ở các mức trừu tượng khác nhau.

•Máy khai phá dữ liệu (Data mining engine): là một hệ thống khai phá dữ liệu cần phải có một tập các modul chức năng để thực hiện công việc như kết hợp, phân lớp, phân cụm

•Modul đánh giá mẫu (Pattern evaluation): bộ phận tương tác với các modul khai phá dữ liệu để tập trung vào việc duyệt tìm các mẫu đáng được quan tâm Nó có thể dùng các ngưỡng về độ quan tâm để lọc mẫu đã khám phá được, cũng có thể modul đánh giá mẫu được tích hợp vào modul khai phá dữ liệu tùy theo cách cài đặt của phương pháp khai phá dữ liệu được dùng

•Giao diện đồ họa người dùng (Graphical user interface): bộ phận này cho phép người dùng giao tiếp với hệ thống khai phá dữ liệu Thông qua giao diện này người dùng tương tác với hệ thống bằng cách đặc tả một yêu cầu khai phá hay một nhiệm vụ, cung cấp thông tin trợ giúp cho việc tìm kiếm và thực hiện khai phá thăm dò trên các kết quả khai phá trung gian Ngoài ra bộ phận này còn cho phép người dùng xem các lược đồ CSDL, lược đồ kho dữ liệu, các đánh giá mẫu và hiển thị các mẫu trong các khuôn dạng khác nhau

1.2.3 Quá trình khai phá dữ liệu

Quy trình khai phá dữ liệu là một chuỗi lập và tương tác gồm các bước bắt đầu với dữ liệu thô và kết thúc với tri thức Quá trình khai phá dữ liệu được thể hiện bởi

mô hình sau:

Hình 1.2: Quá trình khai phá dữ liệu

Quá trình xử lý khai phá dữ liệu bắt đầu bằng việc xác định chính xác vấn đề cần giải quyết Sau đó sẽ xác định dữ liệu liên quan dùng để xây dựng giải pháp Tiếp theo là thu thập dữ liệu có liên quan và xử lý chúng thành dạng sao cho thuật toán khai phá dữ liệu có thể hiểu được

Quá trình khai phá dữ liệu trải qua 3 bước:

Trang 10

•Bước 1: Lọc dữ liệu được thực hiện trong quá trình tiền xử lý Công việc đầu tiên là tích hợp và chỉnh sửa dữ liệu Khi dữ liệu được thu thập từ nhiều nguồn khác nhau nên có thể có những sự sai sót, dư thừa và trùng lặp Lọc dữ liệu là cắt bỏ những

dư thừa để dữ liệu được định dạng thống nhất Dữ liệu sau khi lọc và chỉnh sửa sẽ nhỏ hơn, xử lý nhanh chóng hơn

•Bước 2: Khai phá dữ liệu là công việc chính, sử dụng các thuật toán khác nhau để khai phá các kiến thức tiềm ẩn trong dữ liệu

•Bước 3: Sau xử lý là quá trình ước lượng kết quả khai phá theo yêu cầu của người dùng Nhiều kỹ thuật khai phá dữ liệu được ứng dụng cho một nguồn dữ liệu, các kỹ thuật cho các kết quả có thể khác nhau Các kết quả được ước lượng bởi những quy tắc nào đó, nếu cuối cùng kết quả không thỏa mãn yêu cầu, chúng ta phải làm lại

kỹ thuật khác cho đến khi có kết quả mong muốn

1.2.4 Một số kỹ thuật khai phá dữ liệu

Trong thực tế có nhiều kỹ thuật khai phá dữ liệu khác nhau và được chia làm 2 nhóm chính:

- Kỹ thuật khai phá dữ liệu mô tả: mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Kỹ thuật này gồm có: phân cụm (clustering), khai phá luật kết hợp (association rules)…

- Kỹ thuật khai phá dữ liệu dự đoán: đưa ra các dự đoán vào các suy diễn trên

dự liệu hiện thời Kỹ thuật này gồm có: phân lớp (classification), hồi quy (regession)

1.2.5 Lợi ích của khai phá dữ liệu so với các phương pháp khác

- So với phương pháp học máy: khai phá dữ liệu có lợi thế hơn ở chỗ nó có thể

sử dụng các CSDL chứa nhiễu, dữ liệu không đầy đủ hoặc biến đổi liên tục

- Phương pháp hệ chuyên gia: các ví dụ của chuyên gia thường ở mức chất lượng cao hơn nhiều so với CSDL và chúng chỉ bao hàm các trường hợp quan trọng, đòi hỏi phải có sự tham gia của các chuyên gia trong việc phát hiện tri thức

- Phương pháp thống kê: phương pháp thống kê có một số điểm yếu mà khai phá dữ liệu đã khắc phục được: không phù hợp với các kiểu dữ liệu có cấu trúc trong rất nhiều các CSDL, không sử dụng tri thức sẵn có về lĩnh vực, cần có sự hướng dẫn của người dùng để xác định phân tích dữ liệu như thế nào và ở đâu

1.2.6 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu

- Cơ sở dữ liệu quan hệ: CSDL quan hệ là một nguồn tài nguyên lớn nhất chứa những đối tượng mà chúng ta cần khai phá, CSDL quan hệ có cấu trúc cao, dữ liệu được mô tả bởi một tập những thuộc tính và lưu trong những bảng Khai phá dữ liệu trên CSDL quan hệ chủ yếu tập trung khai phá mẫu

Trang 11

- Cơ sở dữ liệu giao tác: là tập hợp những bản ghi giao dịch, trong đa số các trường hợp chúng là những bản ghi các dữ liệu hoạt động của doanh nghiệp, tổ chức Khai phá dữ liệu trên CSDL giao tác tập trung vào khai phá luật kết hợp, tìm mối tương quan giữa những mục dữ liệu của bản ghi giao dịch.

- Cơ sở dữ liệu không gian gồm hai phần: phần thứ nhất là dữ liệu quan hệ hay giao tác, phần hai là thông tin định vị hoặc thông tin địa lý

- Cơ sở dữ liệu có yếu tố thời gian gồm hai phần: thứ nhất là dữ liệu quan hệ hay giao tác, phần hai là thông tin về thời gian xuất hiện dữ liệu ở phần thứ nhất

- Cơ sở dữ liệu đa phương tiện: thông tin trên web đang phát triển với tốc độ rất cao, khai phá thông tin trên web đã trở thành lĩnh vực nghiên cứu chính của khai phá

dữ liệu Khai phá dữ liệu web được chia thành 3 phạm trù chính: khai phá cách dùng web, khai phá cấu trúc web và khai phá nội dung web Khai phá cách dùng web tập trung vào việc khai phá thông tin của người truy nhập web Với những thông tin này người khai phá dữ liệu có thể cung cấp những thông tin hữu ích cho người dùng và các nhà kinh doanh

Trang 12

CHƯƠNG II: KHAI PHÁ LUẬT KẾT HỢP TRONG CƠ SỞ

•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à:

Sup (X) =

•Độ 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) ≥ minsup thì ta nói X là một tập các mục phổ 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 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 sup(X) ≥

minsup

•Một luật kết hợp có dạng R: X => Y, trong đó X, Y là tập các 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.

Luật X => Y tồn tại một độ tin cậy confidence (c/conf) Độ tin cậy c được đị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 tính độ tin cậy c như sau:

conf(X =>Y) = sup( )

)sup(

)(

)TX(

X

Y X T

X p

T Y

Trang 13

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

Bài toán 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn độ hỗ trợ 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

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 Ý 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:

)sup(

)sup(

AB

ABCD conf =

Nếu conf ≥ minconf 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)

2.1.3 Một số tính chất liên quan

a Với tập mục phổ biến có 3 tính chất sau:

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

Với A và B là các tập 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

- 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 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ì sup(B) ≤ sup(A) < minsup (theo tính chất 1)

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

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

b Với luật kết hợp có 4 tính chất sau

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

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

- Tính chất 2:(Không tách luật)

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

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

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

Trang 14

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

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

2.2 Khai phá luật kết hợp

Bài toán khai phá luật kết hợp trên một CSDL được chia thành hai bài toán nhỏ Bài toán thứ nhất là tìm tất cả các tập mục dữ liệu có độ hỗ trợ thỏa ngưỡng tối thiểu cho trước, gọi là tập các mục dữ liệu thường xuyên Bài toán thứ hai là tìm ra những luật kết hợp từ những tập mục dữ liệu thường xuyên thỏa mãn độ tin cậy tối thiểu cho trước

Bài toán thứ hai được giải quyết như sau : Giả sử ta có các tập mục dữ liệu thường xuyên Lk, với Lk= {x1, x2,…, xk}, những luật kết hợp theo ngưỡng tin cậy tối thiểu C0 với những mục dữ liệu thường xuyên này được phát sinh ra bằng cách :

Luật thứ nhất : {xi1, xi2,…xik-1} → {xik}, kiểm tra độ tin cậy của luật này có thỏa ngưỡng tin cậy tối thiểu cho trước hay không

Luật thứ hai : {xi1, xi2,…xik-2, xk} → {xik-1}, kiểm tra độ tin cậy của luật này có thỏa ngưỡng tin cậy tối thiểu cho trước hay không

Luật thứ k+1 : {xi1, xi2,…xik-2} → {xik-1, xik }, kiểm tra độ tin cậy của luật này có thỏa ngưỡng tin cậy tối thiểu cho trước hay không

Trang 15

Tổng quát : với mọi X ⊆ Lk ta kiểm tra độ tin cậy của luật X→Lk\ X có thỏa ngưỡng tin cậy tối thiểu cho trước hay không.

Bài toán thứ hai là đơn giản, hầu hết nghiên cứu về luật kết hợp tập trung ở bài toán thứ nhất

2.3 Cách tiếp cận khai phá luật kết hợp

Khai phá luật kết hợp là một lĩnh vực nghiên cứu được nhiều người quan tâm và có nhiều kết quả đã được công bố Dưới đây chỉ giới thiệu một số cách tiếp cận cơ bản, làm cơ sở để phát triển các thuật toán mới

Với bài toán thứ nhất ở trên ta có thể chia nhỏ thành 2 bài toán nhỏ nữa : Tìm các tập mục dữ liệu ứng viên và tìm các tập mục dữ liệu thường xuyên Tập mục dữ liệu ứng viên là những tập mục dữ liệu mà ta phải tính độ hỗ trợ để xem nó có phải là tập mục dữ liệu thường xuyên hay không Tập mục dữ liệu thường xuyên là những tập mục dữ liệu có độ hỗ trợ lớn hơn hay bằng ngưỡng tối thiểu cho trước Phát triển thuật toán khai phá luật kết hợp, là làm giảm độ phức tạp tính toán của thuật toán để cải thiện tốc độ xử lý

Ta có thể phân loại các thuật toán tìm tập thường xuyên theo hai tiêu chí :

•Phương pháp duyệt qua không gian tìm kiếm

•Phương pháp xác định độ hỗ trợ của tập mục dữ liệu

Với phương pháp duyệt qua không gian tìm kiếm được phân làm 2 cách : duyệt theo chiều rộng (BFS) và duyệt theo chiều sâu (DFS)

Duyệt theo chiều rộng là duyệt dữ liệu nguyên bản, để tính độ hỗ trợ của tất cả các tập ứng viên có k-1, mục dữ liệu trước khi tính độ hỗ trợ của các tập ứng viên có k mục dữ liệu Một cơ sở dữ liệu có n mục dữ liệu, trong lần lặp thứ k để tìm những tập k-mục dữ liệu ứng viên, phải kiểm tra tất cả Cn = tập k-mục dữ liệu

Duyệt theo chiều sâu là duyệt qua CSDL đã được chuyển thành cấu trúc cây, quá trình duyệt được gọi là đệ quy theo chiều sâu của cây

Với CSDL có n mục dữ liệu, I= {x1, x2,…,xn} thì không gian tìm kiếm là tất cả các tập con của I Đây là bài toán khó, nếu không có phương pháp duyệt thích hợp thì bài toán không giải được khi n đủ lớn

Phương pháp xác định hỗ trợ của tập mục dữ liệu X ⊆ I được phân làm 2 cách: Cách thứ nhất là đếm số giao tác trong CSDL chứa X Cách thứ hai là tìm phần giao của các tập định danh giao tác chứa X

Trang 16

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

Cho một tập các mục I, một CSDL giao dịch D, ngưỡng hỗ trợ minsup, ngưỡng tin cậy minconf Tìm tất cả các luật kết hợp X => Y trên CSDL D sao cho : sup (X=>Y) ≥ minsup và conf (X=>Y) ≥ minconf Bài toán khai thác luật kết hợp có thẻ chia ra 2 bài toán con được phát biểu trong thuật toán sau:

Nội dung thuật toán:

Đầu vào: I, D, minsup, minconf

Đầu ra: Các luật kết hợp thỏa mãn minsup và minconf

Bước 1 : Tìm các tập mục phổ biến

Bước 2 : Sinh các luật kết hợp từ tập mục phổ biến tìm được ở bước 1

2.4 Luật kết hợp cơ sở

2.4.1 Phát hiện các tập mục phổ biến

Các thuật toán phát hiện tập mục phổ biến, phải thiết lập một số giai đoạn trên CSDL Trong giai đoạn đầu, ta thực hiện tính độ hỗ trợ support cho mỗi mục riêng lẻ và xác định xem mục nào là phổ biến, nghĩa là có support ≥ minsup Trong mỗi giai đoạn tiếp theo, ta bắt đầu với các tập mục phổ biến đã tìm được trong giai đoạn trước để sinh ra các tập mục có khả năng là tập phổ biến mới (tập mục ứng cử) và tính độ hỗ trợ cho các tập mục ứng cử này bằng một phép duyệt CSDL Cuối mỗi giai đoạn, người ta xác định xem trong các tập mục phổ biến cho giai đoạn tiếp theo Tiến trình này sẽ tiếp tục cho đến khi không tìm được một tập các mục phổ biến mới hơn

Trang 17

Hình 2.1 : Sơ đồ tổng quan của thuật toán khai phá tập mục phổ biến

Thuật toán Apriori

Các bước chính trong việc khai phá các luật kết hợp:

- Sinh ra tất cả tập các mục chọn phổ biết(có tần suất > tần suất tối thiểu)

- Sinh ra các luật kết hợp có độ tin cậy cao ( độ tin cậy của luật kết hợp > độ tin cậy tối thiểu) từ tất cả các tập mục chọn phổ biến

Số lượng các luật có thể có Giả sử có d mục chọn khác nhau:

- Tổng tập các mục chọn = 2d

- Tổng cố lượng các luật kết hợp có thể: R = 3d – 2d+1 + 1

Nguyên lý của apriori: tập con các tập của mục chọn phổ biết cũng phổ biến

Nội dung thuật toán :

Dữ liệu vào : Tập các giao dịch D, ngưỡng hỗ trợ minsup

Dữ liệu ra : Tập Answer bao gồm các tập mục phổ biến trên D

Trang 18

Phương pháp :

Giải thích thuật toán :

Trong thuật toán này, giai đoạn đầu đơn giản chỉ là việc tính độ hỗ trợ của các mục Để xác định L1, ta chỉ giữ lại các mục có độ hỗ trợ lớn hơn hoặc bằng minsup Trong các giai đoạn thứ k sau đó (k>1) mỗi giai đoạn gồm 2 pha:

•Pha 1 : Các (k-1) –itemset phổ biến trong tập Lk-1 tìm được trong giai đoán thứ k-1 được dùng để sinh ra các tập mục ứng cử Ck bằng cách thực hiện hàm apriori_gen()

•Pha 2 : CSDL D sẽ được quét để tính độ hỗ trợ cho mỗi tập mục ứng cử rtrong

Ck Các tập mục ứng cử trong Ck mà được chứa trong giao dịch t có thể được xác định một cách hiệu quả bằng việc sử dụng cây băm

 Hàm apriori_gen() thực hiện hai bước

• Bước kết nối (Joins tep) : tìm Lk là tập mục k-mục tương ứng được sinh ra bởi việc kết nối Lk-1 với chính nó cho kết quả là Ck Giả sử L1, L2 thuộc Lk-1 Ký hiệu Lij là mục thứ j trong Li Điều kiện là các tập mục hay các mục tương ứng trong giao dịch có thứ tự Bước kết nối như sau : Các thành phần Lk-1 kết nối (nếu có chung k-2 mục đầu tiên) tức là : (L1[1]=L2[1]) ∩ (L1[2]=L2[2]) ∩ ∩ (L1[k-2]=L2[k-2]) ∩ (L1[k-1]=L2[k-1])

•Bước cắt tỉa (Prune step) : Ck là tập chứa Lk (có thể là tập phổ biến hoặc không) nhưng tất cả tập mục k-mục phổ biến được chứa trong Ck Bước này, duyệt lần

2 CSDL để tính độ hỗ trợ cho mỗi ứng cử trong Ck sẽ nhận được Lk.

Trang 19

 Hàm subnet và cấu trúc cây băm (hash- tree)

Cấu trúc cây băm : Để tăng hiệu quả cho việc tìm các tập mục thường xuyên và tính độ hỗ trợ cho các tập mục ứng cử, thuật toán sử dụng cấu trúc cây băm để lưu trữ các tập mục ứng cử Ck Mỗi nút của cây băm hoặc chứ một danh sách của các tập mục (nếu là nút lá) hoặc một băm (hash table) (nếu là nút trong) Tại mỗi nút trong, mỗi phần tử (bucket) của bảng băm trỏ đến một nút khác Gốc của cây được định nghĩa có độ sâu bằng 1 Nút ở độ sâu d thì trỏ đến nút ở độ sâu (d+1) Các tập mục lưu trữ trong các nút lá tạo thành một danh sách liên kết và đã được sắp xếp Khi số tập mục lưu trữ trong nút lá vượt quá ngưỡng thì nút lá chuyển thành nút trong Khi thêm một tập mục

ci vào cây, ta bắt đầu duyệt từ nút gốc trên cây cho đến khi tìm được nút lá phù hợp, cách thực hiện như sau : ở mỗi nút trong độ sâu d chúng ta quyết định đi theo nhánh nào bằng cách sử dụng băm đối với mục d (ci[d] lưu mục thứ d) của tập mục ci

Hàm subnet (Ck, t) : hàm này dùng đề tìm tất cả các tập mục ứng cử tròn Ck có chứa trong giao dịch t Để tìm tập mục ứng cử ta bắt đầu từ nút gốc : nếu nút gốc là nút lá thì ta xem các tập mục trong nút lá đó có chứa giao dịch t hay không Trường hợp nút trong và là kết quả của việc áp dụng hàm băm cho mục thứ i của giao dịch t thì ta tiếp tục thực hiện hàm băm cho mục (i+1) của giao dịch t, cho đến khi tìm gặp nút lá Thủ tục tìm này được thực hiện đệ quy

2.4.2 Một số thuật toán phát hiện tập mục phổ biến khác

 Thuật toán Apriori- TID

Thuật toán Apriori quét toàn bộ CSDL trong mỗi giai đoạn để tính độ hỗ trợ Việc quét toàn bộ CSDL có thể là không cần thiết đối với tất cả các giai đoạn Với ý tưởng, Agrawal đã đề xuất một thuật toán khác gọi là thuật toán Apriori-TID

Tương tự thuật toán Apriori, thuật toán Apriori-TID cũng sử dụng hàm apriori_gen() để xác định các tập mục ứng cử trước khi bắt đầu mỗi giai đoạn

Điểm khác nhau chủ yếu của thuật toán này so với thuật toán Apriori là nó không sử dụng CSDL để tính độ hỗ trợ trong các giai đoạn k> 1 Thay vào đó nó sử dụng mã khóa của các tập mục ứng cử đã sử dụng trong giai đoạn trước Nhiều thí nghiệm trên nhiều CSDL chỉ ra rằng thuật toán Apriori cần ít thời gian hơn thuật toán Apriori- TID trong các giai đoạn đầu nhưng mất nhiều thời gian cho các giai đoạn sau

 Thuật toán Apriori- Hybrid

Thuật toán này dựa vào ý tưởng “không cần thiết phải sử dụng cùng một thuật toán cho tất cả các giai đoạn lên trên dữ liệu” Như đã nói ở trên thuật toán Apriori thực thi hiệu quả ở giai đoạn đầu, còn thuật toán Apriori- TID thực thi hiệu quả ở giai

Trang 20

đoạn sau nên phương pháp của thuật toán Apriori- Hybrid là kết hợp cả 2 thuật toán trên.

 Thuật toán AIS (Agrawal Imielinski Swami)

Trong thuật toán ASI, tập các mục ứng cử được sinh ra và được tính khi quét toàn bộ CSDL Với mỗi giao dịch t, thuật toán chọn các tập mục phổ biến nào đã được phát hiện ở giai đoạn trước có chứa trong giao dịch Các tập mục ứng cử mới được sinh ra bằng việc mở rộng các tập phổ biến này với các mục khác trong giao dịch t

2.4.3 Sinh luật kết hợp

Để sinh các luật, với mỗi tập mục phổ biến l, ta tìm tất cả các tập con khác rỗng của l Với mỗi tập a ⊂ l tìm được, ta sinh ra luật a ⇒ (l - a) nếu tỷ số ≥ minconf

Thủ tục sinh ra các tập mục con của một tập mục phổ biến là thủ tục để quy, được mô tả như sau :

Với tập mục phổ biến {A, B, C, D} đầu tiên ta chọn tập con là {A, B, C} rồi sau đó chọn tập con là {A, B}… Khi đó, nếu ∃ a ⊂ l và luật a ⇒ (l - a) có độ tin cậy nhỏ hơn minconf thì ta không cần phải xem xét các luật có tiền đề là a’, ∀ a’ ⊆ a Chẳng hạn, nếu ABC ⇒ D Có độ tin cậy nhỏ hơn minconf thì ta không cần kiểm tra luật AB => CD vì AB⊂ ABC nên sup (AB) ≥ sup (ABC) và do đó ≥

< minconf

Ngày đăng: 27/06/2016, 14:02

HÌNH ẢNH LIÊN QUAN

Hình 3.1 Mô hình song song dữ liệu - KHAI PHÁ DỮ LIỆU VÀ THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP SONG SONG
Hình 3.1 Mô hình song song dữ liệu (Trang 22)
Bảng kết quả của tất cả các item: - KHAI PHÁ DỮ LIỆU VÀ THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP SONG SONG
Bảng k ết quả của tất cả các item: (Trang 36)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w