Rất nhiều to chức và công ty lớn trên thế giới đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất kinh doanh của mình và thu được những lợi ích to lớn.Mục đích nghiên cứu củ
Trang 1LỜI CẢM ƠN
Luận văn này được hoàn thành với sự hướng dẫn của GS.TS Vũ Đức Thi - Viện Công nghệ thông tin Trước tiên tôi xin chân thành bày tỏ lòng biết ơn sâu sắc tới GS.TS Vũ Đức Thi, người đã tận tình hướng dẫn, động viên giúp đỡ tôi trong suốt thời gian thực hiện luận văn Tôi cũng xin chân thành cảm ơn các thầy cô trong Viện Công nghệ thông tin, Trường Đại học Sư phạm Hà Nội 2, tạo điều kiện thuận lợi cho tôi hoàn thành tổt khóa học
Xin chân thành cảm ơn các anh, các chị và các bạn học viên lớp Cao học K15KHMT- Trường Đại học sư phạm Hà Nội 2 đã luôn động viên, giúp đỡ và nhiệt tình chia sẻ với tôi những kinh nghiệm học tập, công tác trong suốt khoá học
Cuổi cùng, tôi xin gửi lời cảm ơn sâu sắc đển gia đình, người thân, bạn bè đã động viên, khuyến khích và hồ trợ cần thiết để tôi hoàn thành luận văn này
Mặc dù rất cố gắng, song luận văn này không thể tránh khỏi những thiếu sót, kính mong được sự chỉ dẫn của các quý thầy cô và các bạn
Hà Nội, ngày 5 tháng 12 nẵm 20]3 Người viết
Phù Xuân Vĩnh LỜI CAM ĐOAN
Tôi xin cam đoan rằng so liệu và kết quả nghiên cứu trong luận văn này là trung thực và không trùng lặp với các đề tài khác Tôi cũng xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc
Hà Nội, ngày 05 tháng 12 nãm 2013 Ngưòi cam đoan
Phù Xuân Yĩnh
]
Trang 2luật kết hợp và độ tin cậy của chúng
Bảng 2.4 Dùng thuật toán Apriori tính ra các tập hợp xuất hiện ơ-thường xuyênBảng 2.5 Ma trận biếu diễn cơ sở dữ liệu Bảng 2.6 Vector biểu diễn nhị phân cho tập 1 thuộc tính Bảng 2.7 Vector biểu diễn nhị phân cho các tập 2 thuộc tính Bảng
1 ABBM: Algorithm Based on
Boolean Matrix
Thuât toán dưa trên ma trân Boolean
4 IR (Information Retrieval) Truy xuất thông tin
9 DB = {T t ,T 2 , ,T m } Cơ sở dữ liệu có m giao tác
2
Trang 32.8 Vector biểu diễn nhị phân cho các tập 3 thuộc tính Bảng 2.9 Vector biểu diễn nhị phân cho các tập 4 thuộc tính Bảng 3.1 Cơ sở dữ liệu ví dụ
Bảng 3.2 Giá trị ỉmv và co phẩn của các mục dữ liệu trong CSDL bảng 3.1.
Bảng 3.3 Các tập mục cổ phần cao của CSDL bảng, 3.1
Bảng 3.4.CSDL mình hoạ ngữ nghĩa của tập mục cổ phần cao
Bảng 3.5a CSDL minh hoạ có trường hợp hai hàm tới hạn bằng nhau
Bảng 3.5b CSDL minh hoạ có trường hợp hai hàm tới hạn luôn bằng nhau
Bảng 3.10 Các tập mục cổ phần cao của CSDL bảng 3.1
DANH MỤC CÁC HÌNH Hình 1.1 Quy trình phát hiện tri thức từ cơ
sở dữ liệuHình 1.2 Tập dữ liệu với hai lớp: có và không có khả năng trả nợ
Hình 1.3 Phân loại của các dữ liệu vay nợ trong hai miền lớp
Hình 1.4 Phân cụm tập dữ liệu cho vay thành 3 cụm
Hình 1.5 Kiến trúc điến hình của một hệ thong khai phá dữ liệu
Hình 3.1 Minh họa bảng dữ liệu giao tác có số lượng
Hình 3.2 Cấu trúc file nhập dữ liệu mẫu minh họa
Hình 3.3 Giao diện chương trình XAMPP
Hình 3.4 Giao diện chính của chương trình
Hình 3.5 Giao diện màn hình chọn file dữ liệu
Hình 3.6 Giao diện màn hình nhập file dữ liệu
Hình 3.7 Giao diện mànhình nhập ngường cổ phần tối thiểu
Hình 3.8 Giao diện mànhình nhập ngưỡng cồ phần không đúng
Hình 3.9, Giao diện màn hình ghi lại file kết quả
MỞ ĐẦU
1. Lý do chọn đề tài
Khai phá dữ liệu là một lĩnh vực quan trọng của ngành CNTT Khai phá luật kết hợp là một kỹ thuật quan trọng của khai phá dữ liệu Tri thức chiết xuất được từ CSDL là nguồn tài liệu hỗ trợ cho lãnh đạo trong việc lên kế hoạch hoạt động hoặc trong việc ra quyết định sản xuất kinh doanh Vì vậy, tính ứng dụng của khai thác luật kết hợp từ cơ sở dữ liệu là một vấn đề đang được quan tâm
Khai phá dữ liệu là giai đoạn quan trọng trong tiến trình khai thác tri thức từ
cơ sở dữ liệu, các tri thức này hỗ trợ cho việc ra quyết định trong khoa học và kinh
3
Trang 4Khai phá dữ liệu đang được áp dụng một cách rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau: Tài chính, ngân hàng, bảo hiếm, khoa học, y tế Rất nhiều to chức và công ty lớn trên thế giới đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất kinh doanh của mình và thu được những lợi ích to lớn.Mục đích nghiên cứu của đề tài là tìm hiểu các kỹ thuật khai phá dữ liệu; các vẩn đề liên quan đến luật kết hợp và tập mục cố phần cao, nham phát hiện và đưa ra các mối liên quan giữa các giá trị dữ liệu trong cơ sở dữ liệu Áp dụng và cài đặt được một chương trình khai phá tập mục cố phần cao theo thuật toán AFSM (Advanced Fast Share Measure)
Với những ]ý do trình bày ở trên, tôi mạnh dạn chọn đề tài luận văn thạc sĩ
của mình là: “ Phương pháp luật kết hợp trong khai phá dữ liệu ”
thuật toán AFSM (Advanced Fast Share Measure).
3. Nhiệm vụ nghiên cứu
- Nghiên cứu tổng quan về khai phá dữ liệu, luật kết hợp trong cơ sở dữ liệu
- Nghiên cún các bài toán, thuật toán luật kểt hợp và khai phá tập mục cố phần cao trong khai phá dữ liệu
4. Đối tượng và phạm vi nghiên cứu
- Nghiên cứu một số kỹ thuật khai phá dữ liệu sử dụng luật kết hợp
- Nghiên cứu thuật toán luật kết hợp trong khai phá dữ liệu
- Nghiên cứu bài toán khai phá tập mục cô phân cao theo thuật toán AFSM
Trang 56. Phương pháp nghiên cứu
- Nghiên cứu tài liệu, tìm hiểu các thông tin trên Internet về các kỹ thuật liên quan
- Sử dụng thừ nghiệm công cụ có sẵn để hiểu rõ bản chất vấn đề, sau đó xây dựng chương trình demo
CHƯƠNG 1 TÒNG QUAN VÈ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ
Dữ LIỆU
1.1. Phát hiện tri thức và khai phá dữ liệu
Sự phát triển mạnh mẽ của công nghệ thông tin làm cho khả năng thu thập và
xử lỷ thông tin của các hệ thống thông tin tăng một cách nhanh chóng Số liệu thống
kê đưa ra vào năm 2006 cho thấy tình trạng “ngập tràn thông tin mà thiếu thon trí thức ” hiện nay, tồn tại nhiều kho chửa dữ liệu khống lồ có dung lượng tăng trưởng
với tốc độ cao Hàng triệu cơ sở dữ liệu đã được sử dụng trong các hoạt động sản xuất, kinh doanh, quản lý , trong đó có nhiều ca sở dữ liệu cực lớn cỡ Gigabyte,
thậm chí là Terabyte Ví dụ điến hình là Yahoo! có hơn 100TB, Google đã lưu trữ hơn
4 tỷ trang Web với dung lượng nhiều trăm ТВ; Aìexa sau 7 năm đã có 500 ТВ [6]
Việc thu thập và lưu trữ các kho chứa dữ liệu khống lồ được liệt kê trên đây dẫn tới một yêu cầu cấp thiết là cẩn có những kỹ thuật và công cụ mới đế tự động chuyến đối lượng dữ liệu khống lồ thành các tri thức có ích Do vậy, khai phá dữ liệu (KPDL) nhằm phát hiện các tri thức mới giúp ích cho hoạt động của con người đã trở thành một lĩnh vực quan trọng của ngành Công nghệ thông tin
1.2. Quá trình phát hiện tri thức từ cơ sở dữ liệu
Thông tin là một khái niệm trừu tượng, được thế hiện dưới nhiều dạng thức khác nhau Thông tin có thể được phát sinh, lưu trữ, biển đổi trong những vật mang tin (gọi là giá)
5
Trang 6Dữ liệu là sự biểu diễn thông tin và được thể hiện bằng các tín hiệu vật lý, Dữ liệu là một dãy các bit, các số và các ký hiệu, hoặc các “đối tượng” có một ý nghĩa nào đó khi được gửi cho một chương trình dưới một dạng nhất định Sử dụng các bit
đế đo lường các thông tin và xem nó như là các dữ liệu đã được lọc bỏ các dư thừa, được rút gọn tới mức tối thiếu đế đặc trưng mộtcách cơ bản cho dữ liệu Có thế xem tri thức như là các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ giữa chúng Các moi quan hệ này có thể được hiểu ra, có thể được phát hiện, hoặc có thể được học Nói cách khác, tri thức có thế được coi là dữ liệu có độ trừu tượng và tố chức cao.[6]
Phát hiện tri thức trong các cơ sở dữ liệu là một quy trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích, và có thế hiếu được Khai phá dữ liệu là một bước trong quy trình phát hiện tri thức gồm có các thuật toán khai phá dữ liệu chuyên dùng dưới một so quỵ định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu Nói một cách khác, mục đích của phát hiện tri thức và KPDL là tìm ra các mẫu và các mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng “núi” dữ liệu Quá trình phát hiện tri thức được mô tả tóm tắt trên Hình 1.1:
Hình 1.1 Quy trình phát hiện tri thức từ cơ sở dữ liệu
Làm sạch dữ liệu (Data cleaning): Loại bỏ dữ liệu nhiễu hoặc dữ liệu không
thích hợp
Trang 7- Tích hợp dữ liệu (Data integration): Tích hợp dữ liệu từ các nguồn khác nhau.
- Chọn dữ liệu (Data Selection): Chọn những dữ liệu liên quan trực tiếp đến nhiệm vụ
- Chuyển đổi dữ liệu (Data Transformation): Chuyển dữ liệu về những dạng phù hợp cho việc khai phá
- KPDL (Data mining): Các kỹ thuật được áp dụng đế trích xuất thông tin có ích hoặc các mẫu điển hình trong dữ liệu
- Đánh giá mẫu (Pattern evaluation): Đánh giá mẫu hoặc tri thức đã thu được -Trình diễn dữ liệu (Knowledge Presentation): Biếu diễn nhữns tri thức khai phá được cho người sử dụng
Nhiều người coi KPDL và khám phá tri thức trong cơ sở dữ liệu là như nhau Tuy nhiên trên thực tế, KPDL là một bước trong quá trình phát hiện tri thức trong cơ
sở dữ liệu, thi hành một thuật toán KPDL đế tìm ra các mẫu từ dữ liệu theo khuôn dạng thích hợp
Là một quá trình mang tính định tính với mục đích xác định được lĩnh vực yêu cầu phát hiện tri thức và xây dựng bài toán tổng kểt Trong thực tể, các cơ sờ dữ liệu được chuyên môn hóa và phân chia theo các lĩnh vực khác nhau như sản phấm, kinh doanh, tài chính, Với mỗi tri thức phát hiện được có thể có giá trị trong lĩnh vực này nhưng lại không mang nhiều ý nghĩa đối với một lĩnh vực khác Vì vậy mà việc xác định lĩnh vực và định nghĩa bài toán giúp định hướng cho giai đoạn tiếp theo thu thập và tiền xừ lý dữ liệu
Các cơ sở dữ liệu thu được thường chứa rất nhiều thuộc tính nhưng lại không đầy đủ, không thuần nhất, có nhiều lỗi và các giá trị đặc biệt VI vậy, giai đoạn thu thập và tiền xử lý dữ liệu trở nên rất quan trọng trong quá trình phát hiện trì thức từ
cơ sở dữ liệu Có thế nói rằng giai đoạn này chiếm từ 70% đến 80% giá thành trong toàn bộ bài toán
Người ta chia giai đoạn thu thập và tiền xử lý dữ liệu thành các công đoạn như: lựa chọn dữ liệu, làm sạch, làm giàu, mã hóa dữ liệu Các công đoạn được thực hiện theo trình tự đưa ra được một cơ sở dữ liệu thích hợp cho các giai đoạn sau Tuy nhiên, tùy từng dữ liệu cụ thể mà quá trình trên được điểu chỉnh cho phù hợp vì người
ta đưa ra một phương pháp cho mọi loại dữ liệu
- Chọn lọc dữ liệu: Đây là bước chọn lọc các dữ liệu có liên quan trong các nguồn dữ
7
Trang 8liệu khác nhau Các thông tin được chọn lọc sao cho có chứa nhiều thông tin liên quan tới lĩnh vực cần phát hiện tri thức đã xác định trong giai đoạn xác định vấn đề.
- Làm sạch dữ liệu: Dữ liệu thực tế, đặc biệt dữ liệu lấy từ nhiều nguồn khác nhau
thường không đồng nhất Do đó cần có biện pháp xử lý đế đưa về một cơ sở dữ liệu thống nhẩt phục vụ cho khai thác Nhiệm vụ làm sạch dữ liệu thường bao gồm:
■ Điều hòa dừ liệu: Nhằm giảm bớt tính không nhất quán do dữ liệu lấy từ nhiều nguồn khác nhau Phương pháp thông thường là khử các trường hợp trùng lặp
dữ liệu và thống nhất các ký hiệu Chẳng hạn, một khách hàng có thể có nhiều bản ghi do việc nhập sai tên hoặc do quá trình thay đổi một số thông tin cá nhân gây ra và tạo sự lầm tưởng có nhiều khách hàng khác nhau
■ Xù' lý các giá trị khuyết: Tính không đầy đủ của dữ liệu có thể gây ra hiện tượng dữ liệu chứa các giá trị khuyết Đây là hiện tượng khá phổ biến Thông thường, người ta có thể lựa chọn các phương pháp khác nhau đế thực hiện việc
xử lý các giá trị khuyết như: bỏ qua các bộ có giá trị khuyết, điểm bố sung bang tay, dùng một hằng chung đế điển vào giá trị khuyết, dùng giá trị trung bình của mọi bản ghi cùng lóp hoặc dùng các giá trị mà tần suất xuất hiện lớn
■ Xừ lỷ nhiễu và các ngoại lệ: Thông thường, nhiễu dữ liệu có thể là nhiễu ngẫu nhiên hoặc các giá trị bất thường Để làm sạch nhiễu, người ta có thể sử dụng phương pháp làm trơn nhiễu hoặc dùng các giải thuật phát hiện ra các ngoại lệ
để xừ lý
Làm giàu dữ liệu: Việc thu thập dữ liệu đôi khi không đảm báo tính đầy đủ của dữ
liệu Một số thông tin quan trọng có thễ thiếu hoặc không đầy đủ Chẳng hạn, dữ liệu
về khách hàng lấy từ một nguồn bên ngoài không có hoặc không đầy đủ thông tin về thu nhập Nếu thông tin về thu nhập là quan trọng trong quá trình khai phá dữ liệu để phân tích hành vi khách hàng thì không thể chấp nhận đưa các dữ liệu khuyết thiếu vào được
Quá trình làm giàu dư liệu cũng bao gồm việc tích hợp và chuyến đối dữ liệu Các dữ liệu từ nhiều nguồn khác nhau được tích hợp thành một kho thống nhất Các khuôn dạng khác nhau của dữ liệu cũng được quy đối, tính toán lại để đưa về một kiểu thổng nhất, tiện cho quá trình phân tích Đôi khi, một số thuộc tính mới có thể được xây dựng dựa trên các thuộc tính cũ
- Mã hóa: Các phương pháp dùng để chọn lọc, làm sạch, làm giàu dữ liệu sẽ được mã
hóa dưới dạng các thủ tục, chương trình hay tiện ích nhằm tự động hóa việc kết xuất,
8
Trang 9biến đổi và di chuyển dữ liệu Các hệ thống con đó có thể được thực thi định kỳ làm tươi dữ liệu phục vụ cho việc phân tích [6]
Giai đoạn khai phá dữ liệu được bắt đầu sau khi dữ liệu đã được thu thập và tiến hành xủ lý Trong giai đoạn này, công việc chủ yếu là xác định được bài toán khai phá dữ liệu, tiến hành lựa chọn phương pháp khai thác phù họp với dữ liệu có được và tách ra các tri thức cần thiết
Thông thường, các bài toán khai phá dữ liệu bao gồm: các bài toán mang tính chất mô tả - đưa ra những tính chất chung nhất của các dữ liệu, các bài toán khai thác
dự báo - bao gồm cả việc thực hiện các suy diễn trên dữ liệu Tùy theo bài toá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
Các tri thức phát hiện từ cơ sở dữ liệu cần được tong hợp dưới dạng các báo cáo phục vụ cho các mục đích hỗ trợ quyết định khác nhau Do nhiều phương pháp khai thác có thể được áp dụng nên các kểt quả có mức độ tốt/xấu khác nhau Việc đánh giá các kết quả thu được là cần thiết, giúp tạo cơ sở cho những quyết định chiến lược Thông thường chúng được tổng hợp, so sánh bằng các biểu đồ và được kiểm nghiệm, tin học hóa Công việc này thường là của các chuyên gia, các nhà phân tích
và quyết định
Các kết quả của quá trình phát hiện tri thức có thể được đưa vào ứng
dụng trong những lĩnh vực khác nhau Do các kêt quả cổ thế là các dự báo 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 hóa quá trình này
Quá trình phát hiện tri thức có thế được tiến hành theo các bước trên Ngoài ra trong quá trình khai thác người ta có thể thực hiện các cải tiến, nâng cấp cho phù hợp [6]
1.3. Khai phá dữ liệu
Khai phá dữ liệu được dung đế mô tả quá trình phát hiện tri thức trong cơ sở dữ liệu Qúa trình này kết xuất ra các tri thức tiềm ấn từ dữ liệu giúp dự bóa 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 kia (Ví dụ như phương pháp thống kê) Sau
9
Trang 10đây là các định nghĩa mang tính mô tả của nhiều tác giả:
- Định nghĩa của Ferruzza: Khai phá dữ liệu là tập hợp các phương pháp được dung 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 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á dữ liệu là quá trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính chất: Đúng đan, mới, khả ích và có thế hiếu được
- Định nghĩa Zekulin: Quá trình trích lọc các thông tin chưa biết trước, có thế nhận thức được, có thế tác động được từ CSDL lớn và sử dụng chúng đế tạo ra quyết định công tác
KPDL là một bước trong quá trình khám phá tri thức bao gồm các thuật toán KPDL chuyên dùng dưới một sổ quy định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu và các mô hình trong dữ liệu
Do vậy, mục đích của khám phá tri thức và KPDL là tìm ra các mẫu hoặc mô hình đang tồn tại trong các cơ sớ dữ liệu nhưng vẫn còn bị khuất bởi số lượng dữ liệu khống lồ [6]
Các bài toán liên quan đến KPDL về bản chất là các bài toán thổng kê Điếm khác biệt giữa các kỹ thuật KPDL và các công cụ phục vụ tính toán thống kê mà chúng ta đã biết là ở khối lượng cần tính toán Khi dữ liệu đã trở nên khổng lồ thì những khâu như: thu thập dữ liệu, tiền xử lý và xử lý dữ liệu đều đòi hỏi phải được tự động hóa Tuy nhiên ở công đoạn cuối cùng, việc phân tích kểt quả sau khi đã KPDL vẫn luôn là công việc của con người
Do là một lĩnh vực đa ngành, KPDL thu hút các lĩnh vực khoa học khác như trí tuệ nhân tạo, cơ sở dữ liệu, hiến thị dữ liệu, marketing, toán học, vận trù học, tin sinh học, nhận dạng mẫu, tính toán thống kê
Điều mà KPDL có thể làm rất tốt là phát hiện ra những giả thuyết mạnh trước khi sử dụng những công cụ tính toán thống kê Mô hình dự báo sử dụng kỹ thuật phân cụm (Crustering) để chia nhóm các sự vật, sự kiện sau đó rút ra các luật nhằm tìm ra đặc trưng cho mỗi nhóm và cuối cùng để nghị một mô hình Ví dụ, những bạn đọc đăng ký dài hạn của một tạp chí có thế phân nhóm dựa theo nhiều tiêu chí khác nhau (lứa tuổi, giới tính, thu n h ậ p s a u đó tạp chí căn cứ vào đặc trưng riêng của từng nhóm để đề ra mức phí thu trong năm sao cho phù hợp nhất
1
Trang 11Những nhiệm vụ cơ bản nhất của KPDL là:
- Phân cụm, phân loại, phân nhóm, phân lớp Nhiệm vụ là trả lời câu hỏi: Một dữ liệu mới thu thập sẽ thuộc về nhóm nào? Quá trình này thường được thực hiện một cách
- Lập mô hình dự báo, bao gồm hai nhiệm vụ: Hoặc là phân nhóm dư liệu vào một hay nhiều lớp dữ liệu đã xác định từ trước, hoặc là sử dụng các trường đã cho trong một CO' sở dữ liệu đế dự báo sự xuất hiện (hoặc không xuất hiện) của các trường hợp khác
- Phân tích đối tượng ngoài cuộc: Một cơ sở dữ liệu có thể có thể chứa các đối tượng không tuân theo mô hình dữ liệu Các đối tượng dữ liệu như vậy gọi là các đổi tượng ngoài cuộc Hầu hết các phương pháp KPDL đều coi các đối tượng ngoài cuộc là nhiễu và loại bỏ chúng Tuy nhiên trong một số ứng dụng, chẳng hạn như phát hiện nhiễu thì sự kiện hiếm khi xảy ra lại được chú ỷ hơn những gì thường xuyên gặp phải
Sự phân tích dữ liệu ngoài cuộc được coi như là phai phá các đối tượng ngoài cuộc Một số phương pháp được ứng dụng để phát hiện đối tượng ngoài cuộc: Sử dụng các hình thức kiểm tra mang tính thống kê trên cơ sở một phân phối dữ liệu hay một mô hình xác suẩt cho dữ liệu, dùng các độ đo khoảng cách mà theo đó các đối tượng có một khoảng cách đáng kế đến cụm bất kỳ khác được coi là đối tượng ngoài cuộc, dùng các phương pháp dựa trên độ lệch để kiểm tra sự khác nhau trong những đặc trưng chính của các nhóm đối tượng
- Phân tích sự tiến hóa: Phân tích sự tiển hóa thực hiện việc mô tả và mô hình hóa các quy luật hay khuynh hướng của những đối tượng mà ứng xử của chúng thay đối theo thời gian Phân tích sự tiến hóa có thế bao gồm cả đặc trưng hóa, phân biệt, tìm luật kết họp, phân lóp hay phân cụm dữ liệu liên quan đển thời gian, phân tích dữ liệu theo chuỗi thời gian, so sánh mẫu theo chu kỳ và phân tích dữ liệu dựa trên tính tương tự
Hiện nay, kỹ thuật KPDL đang được áp dụng một cách rộng rãi trong rất nhiều
1
Trang 12lĩnh vực kinh doanh và đời sống khác nhau như:
- Thương mại: Phân tích dữ liệu bán hàng và thi trường, phân tích đầu tư, quyết định cho vay, phát hiện gian lận,
- Thông tin sản xuất: Điều khiển và lập kể hoạch, hệ thống quản ]ý, phân tích kết quả thử nghiệm,
- Thông tin khoa học: dự báo thời tiết, CSDL sinh học: Ngân hàng gen, khoa học địa lỷ: dự báo động đẩt,
- Trong y tế, marketing, ngân hàng, viễn thông, du lịch, internet
Hình 1.2 biểu diễn một tập dữ liệu giả hai chiều bao gồm 23 trường hợp Mỗi một điếm trên hình đại diện cho một người vay tiền ngân hàng tại một thời điểm trong quá khứ Dữ liệu được phân loại thành hai lớp: những người không có khả năng trả nợ và những người tình trạng vay nợ đang ở trạng thái tốt
Hai mục đích chính của KPDL trong thực tế là dự đoán và mô tả
1.3.4.1 Khai phá dữ liệu dự đoán
Nhiệm vụ của KPDL dự đoán là đưa ra các dự đoán dựa vào các suy
diễn trên cơ sở dữ liệu hiện thời Nó sử dụng các biền hay các trường trong cơ
sở dữ liệu đế dự đoán các giá trị không biết hay các giá trị tương lai Bao gồm
các kỹ thuật: Phân loại (Classiíication); Hồi qui (Regression)
Phân loại:
Mục tiêu của phương pháp phân loại dữ liệu là dự đoán nhãn lớp cho các mẫu
dừ liệu Quá trình phân loại dữ liệu thường gồm hai bước: xây dựng mô hình và sử
1
Trang 13dụng mô hình để phân loại dữ liệu.
Bước 1 : Xây dựng mô hình dựa trên việc phân tích các mẫu dữ liệu cho trước Mỗi mẫu thuộc về một lớp, được xác định bởi một thuộc tính gọi là thuộc tính lớp Các mẫu dữ liệu này còn được gọi là tập dữ liệu huẩn luyện Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này được gọi là học có giám sát
Bước 2: Sử dụng mô hình để phân loại dữ liệu Trước hểt chúng ta phải tính độ chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng đế dự đoán nhãn lóp cho các mẫu dữ liệu khác trong tương lai
Hay nói các khác, phân loại là học một hàm ánh xạ một mục dữ liệu vào trong số các lớp cho trước Hình 1.3 cho thẩy sự phân loại của các dữ liệu vay nợ trong hai miền lớp Ngân bàng có thể sử dụng các miền phân loại để tự động quyết định liệu những người vay nợ trong tương lai có nên cho vay hay không
Hình 1.3 Phân loại của các dữ liệu vay nợ trong hai miền lớp
Hồi quy :
Phương pháp hối quy khác với phương pháp phân loại dữ liệu ở chỗ, hồi qui dùng đế dự đoán về các giá trị liên tục còn phân loại dữ liệu chỉ dùng để dự đoán về các giá trị rời rạc
Hồi quy là một hàm học ánh xạ mục dữ liệu thành một biến dự đoán có giá trị thực Có rất nhiều ứng dụng KPDL với nhiệm vụ hồi quy, chẳng hạn như khả năng đánh giá tử vong của bệnh nhân khi biết các kết quả xét nghiệm; chấn đoán, dự đoán nhu cầu tiêu thụ một sản phấm mới bằng một hàm chi tiêu quảng cáo
Kỹ thuật này có nhiệm vụ 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ó Bao gồm các kỹ thuật: Phân cụm; Khai phá luật kết
Trang 14Phân cụm :
Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một một cụm là tương đồng còn các đổi tượng thuộc các cụm khác nhau sẽ không tương đồng Phân cụm dữ liệu là một ví dụ của phương pháp học không giám sát Phân cụm
dữ liệu đòi hỏi phải định nghĩa trước các dữ liệu huấn luyện
Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web
Hình 1.4 cho Chấy sự phân cụm tập dữ liệu cho vay vào trong 3 cụm: Lưu ý rằng các cụm chồng lên nhau cho phép các điếm dữ liệu thuộc về nhiều hơn một cụm
Khai phá luật kết hợp
Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu Mầu đầu ra của giải thuật KPDL là luật kết hợp tìm được Chang hạn, phân tích cơ sả dữ liệu bán hàng nhận được thông tin về những khách hàng mua máy tính có khuynh hướng mua phần mềm quản ]ý tài chính trong cùng lần mua được miêu tả trong luật kết hợp sau: “Máy tính=>Phần mềm quản lý tài
chính” (Độ hồ trợ: 2%, độ tin cậy: 60%).
Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật Chúnẹ phản ánh sự hữu ích vá sự chắc chắn của luật đã khám phá Độ hỗ trợ 2% có nghĩa là 2% của tẩt cả các vụ đang 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 60% có nghĩa là: 60% các khách hàng mua máy tính cũng mua phần mềm
Khai phá luật kết hợp được thực hiện qua hai bước:
Bước 1: Tìm tất cả các tập mục pho biển, một tập mục phố biến được xác
1
Trang 15định qua tính hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu
Bước 2: Sinh ra các luật kết hợp mạnh tù’ tập mục phố biển,các luật phải thỏa
mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như maketing có chủ đích, phân tích quyết định, quản lý kinh doanh, phân tích giá thị trường[6]
Kiến trúc điển hình của một hệ thống KPDL được trình bày trong hình 1.5
Trong kiến trúc hệ thống này, các nguồn dữ liệu cho các hệ thống KPDL bao gồm hoặc Cơ sở dữ liệu, hoặc Kho dữ liệu, hoặc World Wide Web, hoặc kho chửa dữ liệu kiếu bất kỳ khác, hoặc tố họp các kiếu đã liệt kê nói trên
Cơ sở tri thức, bao chứa các tri thức miền ứng dụng hiện có, được sử dụng trong thành phần hệ thống KPDL đế làm tăng tính hiệu quả của thành phần này Một
số tham số của thuật toán KPDL tương ứng sẽ được tinh chỉnh theo tri thức miền sẵn
có từ cơ sở tri thức trong hệ thống Cơ sờ tri thức còn được sử dụng trong việc đánh giấ các mẫu đã khai phá được xem chúng có thực sự hấp dẫn hay không, trong đó có việc đối chứng mẫu mới với các tri thức đã có trong cơ sở tri thức Nểu mẫu khai phá được là thực sự hấp dẫn thì chúng được bổ sung vào cơ sở tri thức để phục vụ cho hoạt động tiếp theo của hệ thống Như vậy, nguồn tri thức bổ sung vào cơ sở tri thức
ở đây không chỉ từ lập luận lôgic theo các hệ toán lôgic đế có tri thức mới, không chỉ
do con ngirời hiếu biết thêm về thế giới khách quan đế bo sung vào mà còn là tri thức được phát hiện một cách tự động từ nguồn dữ liệu
1
Trang 16Hình 1.5 Kiến trúc điển hình của một hệ thống khai phá dữ liệu
1.4. Tổng kết chương 1
Trong chương 1 đã trình bày tông quan về khai phá tri thức và khai phá dữ liệu, trong đó có đề cập về quá trình phát hiện tri thức từ cơ sở dữ liệu, nhiệm vụ của khai phá dữ liệu, một sổ ứng dụng khai phá dữ liệu, các kỹ thuật khai phá dữ liệu thông dụng và những khó khăn trong việc khai phá dữ liệu
CHƯƠNG 2 LUẬT KÉT HỢP TRONG KHAI PHÁ DŨ LIỆU
2.1. Bài toán kỉnh đỉễn dẫn đến việc khai phá luật kết họp
Bài toán giỏ mua hàng trong siêu thị: Giả định chúng ta có rất nhiều mặt hàng,
ví dụ như “bánh mì”, “sữa”, (coi là tính chất hoặc trường) Khách hàng khi đi siêu thị sẽ bỏ vào giỏ mua hàng của họ một sổ mặt hàng nào đó, và chúng ta muốn tìm hiếu các khách hàng thường mua các mặt hàng nào đồng thời, chúng ta không cần biết khách hàng cụ thể là ai Nhà quản lý dùng những thông tin này để điều chỉnh việc nhập hàng về siêu thị, hay đơn giản là để bổ trí sắp xếp các mặt hàng gần nhau, hoặc bán các mặt hàng đó theo một gói hàng, giúp cho khắc đỡ mất công tìm kiểm
Ví dụ:
- Giô hàng = văn bản Mặt hàng - từ Khi đó, những từ hay đi cùng nhau sẽ giúp ta nhanh chóng tìm ra các lối diễn đạt, hay các khái niệm có mặt trong văn bản
- Giỏ hàng = văn bản Mặt hàng = câu Khi đó, những văn bản có nhiều câu giống nhau giúp phát hiện ra sự đạo văn, hay những “website đúp”
Khai phá luật kết hợp được mô tả như sự tương quan của các sự kiện những sự kiện xuẩt hiện thường xuyên một cách đồng thời Nhiệm vụ chính của khai phá luật kết hợp là phát hiện ra các tập con cùng xuất hiện trong một khối lượng giao dịch lớn của một cơ sở dữ liệu cho trước Nói cách khác, thuật toán khai phá luật kết hợp cho phép tạo ra các luật mô tả các sự kiện xảy ra đồng thời (một cách thường xuyên) như thế nào Các thuật toán này trải qua hai pha: pha đầu là đi tìm các sự kiện xảy ra thường xuyên, pha hai là tìm luật [6]
Vấn đề khám phá luật kết họp được phát biếu như sau:
• Cho trước tỉ lệ hỗ trợ và độ tin cậy
• Tìm tất cả các luật trong D có các giá trị ti lệ hỗ trợ 0 và độ tin cậy ß lớn hơn tương ứng
Ví dụ: Gọi D là sơ sở dữ liệu mua bán với 0 = 40% và ß = 90%
• Liệt kê tất cả những quy luật chỉ ra sự xuất hiện một số các mục sẽ kéo theo
1
Trang 17một số mục khác.
• Chỉ xét những quy luật mà tỉ lệ hỗ trợ lớn hơn 40% và độ tin cậy lớn hơn 90%.Chúng ta hãy tưởng tượng, một công ty bán hàng qua mạng Internet Các khách hàng được yêu cầu điền vào các mẫu bán hàng để công ty có được một cơ sở
dữ liệu về các yêu cầu của khách hàng Giả sử công ty đó quan tâm đến mối quan hệ
“tuổi, giới tính, nghề nghiệp —>■ sản phẩm”, Khi đó có thể có rất nhiều câu hỏi tương ứng với luật trên Chang hạn, trong lứa tuối nào thì những khách hàng nữ là công nhân đặt mua hàng gì (ví dụ: áo dài) là nhiều nhất? [6]
2.2.Định nghĩa về luật kết họp Định nghĩa:
Cho I={11,12, Im} là tập hợp của m tính chất riêng biệt Giả sử D là cơ sở dữ
liệu, với các bản ghi chửa một tập con T các tính chất (có thể coi như T Œ I), các bản
ghi đều có chỉ số riêng Một luật kết hợp là một mệnh đề kéo theo có dạng X—»Y, trong đó X, Y ÇZ I, thỏa mãn điều kiện XnY=0 Các tập họp X và Y được gọi là các tập hợp tính chất (itemset) Tập X gọi là nguyên nhân, tập Y gọi là hệ quả
Có 2 độ đo quan trọng đối vói luật kết hợp: Độ hỗ trợ (support) và độ tin cậy (confidence), được định nghĩa như phần dưới đây
Định nghĩa: Độ ho trợ
Định nghĩa 2.1: Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D là tỷ số giữa các
bản ghi T ç:D có chứa tập X và tổng số bản ghi trong D (hay là phần trăm cúa các bản ghi trong D có chứa tập hợp X), ký hiệu là support(X) hay supp(X) (support sẽ tự sinh ra khi cài thuật toán)
c _IỊTCD:YDXỊI
Ta CÓ: 0 <supp(X) <1 với mọi tập hợp X
Định nghĩa 2.2; Độ hỗ trợ của một luật kết hợp X—»Y là tỷ lệ giữa số lượng
các bản ghi chứa tập hợp X u Y, so với tống số các bản ghi trong D - Ký hiệu
supp(X—>Y)
Supp(X—>Y) = ' t r ^ Z 3 : r 3 X u F ] l ^ 2 2 )
Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa là có 50% tổng
số bản ghi chứa X uY Như vậy, độ hỗ trợ mang ỷ nghĩa thống kê cúa luật
Trong một số trường hợp, chúng ta chí quan tâm đến những luật có độ hỗ trợ cao (Ví dụ như luật kết hợp xét trong cửa tiệm tạp phấm) Nhưng cũng có trường hợp,
1
Trang 18mặc dù độ hỗ trợ của luật thấp, ta vẫn cần quan tâm (ví dụ luật kết hợp liên quan đến nguyên nhân gây ra sự đứt liên lạc ở các tổng đài điện thoại).
Định nghĩa: Độ tin cậy
Định nghĩa 2.3: Độ tin cậy của một luật kết hợp X—>Y là tỷ lệ giữa số lượng
các bản ghi trong D chứa X uY với số bản ghi trong D có chứa tập hợp X Ký
hiệu độ tin cậy của một luật là conf(r) Ta có 0 < conf(r) <1
Nhận xét: Độ hỗ trợ và độ tin cậy có xác suất sau:
Conf (X-> Y) = P(Y/X)=supp(XuY)/supp(X) (2.4)
Có thể định nghĩa độ tin cậy như sau:
Định nghĩa 2.4: Độ tin cậy của một luật kểt họp X—»Y là tỷ lệ giữa sổ lượng
các bản ghi của tập hợp chửa X u Y, so với tong số các bản ghi chứa X Nói rằng độ tin cậy của một luật là 90%, có nghĩa là có tới 90% số bản ghi chứa X chứa luôn cả Y Hay nói theo ngôn ngữ xác suất là: “ Xác suất có điều kiện đế sảy ra sự kiện Y đạt 85%” Điều kiện ở đây chính là: “Xảy ra sự kiện X”
Như vậy, độ tin cậy của luật thể hiện sự tương quan (correlation) giữa X và Y
Độ tin cậy đo sức nặng của luật, và người ta hầu như chỉ quan tâm đến những luật có
độ tin cậy cao Một luật kết hợp đi tìm các nguyên nhân dẫn tới hỏng hóc của hệ thống tống đài, hay đề cập đến những mặt hàng thường hay được khách hàng mua kèm với mặt hàng chính mà độ tin cậy thẩp sẽ không có ích cho công tác quản lý.Việc khai thác các luật kết hợp từ cơ sở dữ liệu chính là việc tìm tất cả các luật
có độ hỗ trợ và độ tin cậy do người sứ dụng xác định trước Các ngưỡng của độ hỗ
trợ và độ tin cậy được ký hiệu là minsup và mincof.
Ví dụ: Khi phân tích giỏ hàng của người mua hàng trong một siêu thị ta được luật kiếu như: 80% khách hàng mua sữa thì cũng mua bánh mì, 30% thì mua cả hai thử Trong đó: “mua sữa” là tiền đề còn “mua bánh mì” là kết luận của luật Con sổ 30% là độ hỗ trợ của luật còn 80% là độ tin cậy của luật
Chúng ta nhận thấy rằng tri thức đem lại bởi luật kết hợp dạng trên có sự khác biệt rất nhiều so với những thông tin thu được từ các câu lệnh truy vấn dữ liệu thông thường như SQL Đó là những tri thức, những mối liên hệ chưa biết trước và mang tính dự báo đang tiềm ấn trong dữ liệu Những tri thức này khône đơn giản là kểt quả của phép nhóm, tính tống hay sắp xểp mà là của một quá trình tính toán khá phức tạp,
Định nghĩa: Tập họp thường xuyên
Định nghĩa 2.5: Tập hợp X được gọi là tập hợp thường xuyên (Frenquent itemset)
nếu có supp(X) > minsup, với minsup là ngưỡng độ hỗ trợ cho trước Kí hiệu các tập
1
Trang 19này là FT.
Tính chất 2.1: Giả sử A, B ç I là hai tập hợp với A çB thì supp(A) > supp(B).
Như vậy, những bản ghi nào chứa tập hợp B thì cũng chứa tập hợp A Tính chất
2.2: Giả sử A, B là hai tập hợp A, B ç I, nếu B là tập họp thường xuyên và AçB thì A cũng là tập hợp thường xuyên
Thật vậy, nểu B là tập họp thường xuyên thì supp(B) > minsup, mọi tập hợp A
là con của tập hợp B đều là tập hợp thường xuyên trong cơ sở dữ liệu D vì supp(A) > supp(B) (Tính chất 3.1)
Tính chat 2,3: Giả sử A, B là hai tập hợp, A £ B và A là tập hợp không thường xuyên
thì B cũng là tập hợp không thường xuyên
Định nghĩa 2.6: Một tập mục X được gọi là đóng (closed) nếu không có tập cha nào
cúa X có cùng độ hỗ trợ với nó, tức là không tồn tại một tập mục X’ nào mà X’=> X
và t(X) = t(X’) (với t(X) và t(X’) tương ửng là tập các giao chứa tập mục X và X’)
Ký hiệu tập phố biến đóng là FCI
Định nghĩa 2,7: Nếu X là phổ biến và không tập cha nào của X là phồ biến, ta nói
rằng X là một tập phổ biển lớn nhất (maximally frequent itemset) Kỹ hiệu tập tất cả các tập phổ biển lởn nhất là MFI Dễ thấy MFĨ ç FCI çz FT
Khai phá luật kết hợp là công việc phát hiện ra (tìm ra, khám phá, phát hiện) các luật kết họp thỏa mãn các ngưỡng độ hồ trợ (ô) và ngưỡng độ tin cậy (oc) cho trước Bài toán khai phá luật kết hợp được chia thánh hai bài toán nhỏ, hay như người ta thường nói, việc giải bài toán trải qua hai pha:
Pha 1 : Tìm tất cả các tập phổ biển (tìm FI) trong CSDL T
Pha 2: Sử dụng tập FI tìm được ở pha 1 để sinh ra các luật tin cậy (interesting rules) Ý 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 AB —»CD với tỷ lệ độ tin cậy:
Trang 20đủ, như khám phá mẫu tổ hợp trong các ứng dụng sinh học.
Nhiều nghiên cứu về các phương pháp sinh tất cả các tập phố biến và tập pho biến lớn nhất một cách có hiệu quả Khi các mẫu pho bien (frequent patterm) dài có
từ 15 đến 20 items) thì tập FI, thậm chí cả tập FCI trở nên rẩt lớn và hầu hết các phương pháp truyền thống phải đếm quá nhiều tập mục mới có thể thực hiện được Các thuật toán dựa trên thuật toán Apriori - đếm tat cả 2k tập con của mỗi k- itemsets
mà chúng quét qua, và do đó không thích hợp với các itemsets dài được Các phương pháp khác sử dụng “lookaheads” để giảm số lượng tập mục được đếm Tuy nhiên, hầu hết các thuật toán này đều sử dụng tìm kiếm theo chiều rộng, ví dụ: tìm tat cả các
k - itemsets trước khi tính đen các (k+1) - itemsets
Cách làm này hạn chế hiệu quả của lookaheads, vì các mẫu phổ biến dài hơn
mà hữu ích vẫn chưa được tìm ra
Thuật toán 1 - Thuật toán CO' bản:
Ví dụ:
Xét 4 mặt hàng (tính chất) trong một cửa hàng thực phấm với CSDL các giao dịch thuộc loại nhở, chỉ có 4 giao dịch (giở mua hàng), cho trong các bảng sau:
Cho trước 2 ngưỡng ơ = 40% và Oí = 60%
Ta tính độ hỗ trợ của các tập hợp cắc tính chất.
Bảng 2.2 Tính độ hỗ trợ cho các tập hợp chửa các mặt hàng
2
Bảng 2.1 Giao dịch mua hàngGiao
dịch Mua hàng gì?
T01 Bánh mì, Bơ, TrúngT02 Bơ, Trứng, Sữa
T04 Bánh mì, Bơ
Trang 21Agrawal đã chí ra việc duyệt các tập hợp các tính chât đê tính ra ngưỡng độ hỗ trợ của chúng và đánh giá có vượt ngưỡng ơ cho trước hay không, tốn rất nhiều thời gian tính toán (độ phức tạp hàm mũ) Còn một khi đã xác định xong các tập hợp thóa mãn điều kiện trên (gọi là các tập hợp xuất hiện thường xuyên) thì việc khai phá luật kết hợp đỡ tốn thời gian hon Agrawal đề nghị một thuật toán như sau;
Thuật toán 2- Tìm luật kết họp khi đã biết các tập họp thường xuyên
Trang 222.3. Một số hướng tiếp cận trong khai phá luật kết họp
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ấtnhằm cảitiến thuật
toán, có đề xuất tìm kiếm những luật có ý nghĩa hơn v.v và có một số hướng chính sau đây:
- Luật kết hợp nhị phân (Binary association rule): là hướng nghiên cứu đầu tiên của luật kết hợp Theo dạng luật kết hợp này thì các items chỉ được quan tâm là có hay không xuất hiện trong cơ sờ dữ liệu giao tác (Transaction database) chứ không quan tâm về mức độ hay tần xuất hiện Thuật toán tiêu biểu nhất của khai phá dạng luật này là thuật toán Apriori
- Luật kết hợp có thuộc tính sổ và thuộc tính hạng mục (Quantitative and categorial association rule): các cơ sở dữ liệu thực tế thường có các thuộc tính đa dạng (như nhị phân, số, mục (categorial ) chứ không nhất quán ở một dạng nào cả Vì vậy để khai phá luật kết hợp với các cơ sở dữ liệu này các nhà nghiên cứu đề xuất một số phương pháp rời rạc hóa nhằm chuyển dạng luật này về dạng nhị phân để có thể áp dụng các thuật toán đã có
- Luật kết hợp tiếp cận theo hướng tập thô (mining association rule base on rough set): tìm kiếm luật kết hợp dựa trên lí thuyết tập thô
- Luật kết hợp nhiều mức (multi-level association ruls): với cách tiếp cận luật kết hợp thế này sẽ tìm kiếm thêm những luật có dạng: mua máy tính PC —► mua hệ điểu hành Window AND mua phẩn mềm văn phòng Microsoft Office,
- Luật kết hợp mờ (fuzzy association rule): Với những khó khăn gặp phải khi rời rạc hóa các thuộc tính số, các nhà nghiên cửu đề xuất luật kểt hợp mờ khắc phục hạn chể
đó và chuyển luật kết hợp về một dạng gần gũi hơn
- Luật kết hợp với thuộc tính được đánh trọng số (association rules with weighted
2
Trang 23items): Các thuộc tính trong cơ sở dữ liệu thường không có vai trò như nhau Có một
số thuộc tính quan trọng và được chú trọng hơn các thuộc tính khác Vì vậy trong quá trình tìm kiếm luật các thuộc tính được đánh trọng sổ theo mức độ xác định nào đó Nhờ vậy ta thu được những luật “hiểm” (tức là có độ hỗ trợ thấp nhưng mang nghiều
ý nghĩa)
- Khai thác luật kết hợp song song (parallel mining of association rule): Nhu cầu song song hóa và xử lỹ phân tán là cần thiết vì kích thước dữ liệu ngày càng lớn nên đòi hỏi tổc độ xử lý phải được đảm bảo
Trên đây là những biển thế của khai phá luật kểt hợp cho phép ta tìm kiểm luật kểt họp một cách linh hoạt trong những cơ sở dữ liệu lớn Bên cạnh đó các nhà nghiên cứu còn chú trọng đề xuất các thuật toán nhằm tăng tốc quá trình tìm kiểm luật kểt họp trong cơ sở dữ liệu
2.4. Một số thuật toán phát hiện luật kết hợp
Thuật toán do Agrawal đề nghị năm 1994, được Cheung đánh giá mang tính chất lịch sử trong ITnh vực khai phá luật kết hợp, vì đã vượt xa tàm của các thuật toán quen thuộc trong lĩnh vực này Thuật toán dựa trên một nhận xét khá đơn giản là bất kỳ tập hợp con nào của tập xuất hiện ơ thường xuyên cũng là tập xuất hiện ơ-thường xuyên Do đó, trong quá trình đi tìm các tập ứng cừ viên, nó chỉ cần dùng đến các tập ứng cử viên vừa xuẩt hiện ở bước ngay trước đó, chứ không cần dùng đến tất
cả các tập ứng cử viên (cho đến thời điếm đó) Nhờ vậy, bộ nhớ được giải phóng đáng kế
Bước 1: cho trước ngưỡng độ hỗ trợ 0 < ơ < 1 Tìm tất cả các mật hàng xuất hiện ơ — thường xuyên
Bước 2: Ta tiến hành ghép đôi các phần tử của LI (không cần đế ý đến thứ tự), được tập C2, tạp gọi là tập các ứng cứ viên có 2 phần tử Sở dĩ chi gọi là “ứng cử viên”, vì chưa chắc chúng đã là ơ- thường xuyên Sau khi kiểm tra (dùng định nghĩa),
ta lọc ra được các tập hợp ơ - thường xuyên có 2 phần tử Ký hiệu tập hợp này là L2.Bước 3: Với chủ ý đã nêu (về tính chất tăng dần của các tập hợp ơ- thường xuyên), ta tiến hành tìm các ứng cử viên có 3 phần từ (lấy từ LI) Gọi nó là tập C3 Lưu ỹ là nếu {A, B, C} muốn là “ứng cử viên” thì các tập 2 phần từ ỊA, B},{B,C},ỊC,
A Ị đều phải là ơ- thường xuyên, tức là chúng đều ]à phần tử của tập L2 Ta đi “kiểm
2
Trang 24tra tư cách đại biểu” trong tập C3 và lọc ra được tập các tập hợp ơ- thường xuyên có
3 phần tử Tập hợp này được ký hiệu là L3
Bước 4: Ta tiến hành tìm các ứng cử viên có n phần từ Gọi tập của chúng là tập
Cn và từ đây, lọc ra Ln là tập tập các tập hợp ơ- thường xuyên có n phẩn tử
Xét ví dụ minh họa sau:
Câụ lệnh SQL saụ đây tạọ cặp, xử lý 10 triệu giỏ inụa hàng, mọi giỏ mua hàng trung bình có 10 mặt hàng, với giả thiết siêu thị có khoảng 100.000 mặt hàng:
SELECT bl.item b2.item COUNT(*)
FROM Baskets bl, Baskets b2
WHERE bl.BID = b2.BID AND bl.item <b2 item
GROUP BY bl.item , b2 item
HAVING COUNT(*) >=s;
Câu lệnh WHERE đảm bảo các cặp ỵhép không bị đúp 2 lần (vì ta không cần
đế ý đến tú' tự các phần tử)
Câu lệnh HAVING đả bảo các tập hợp chọn ra là ơ- thường xuyên
- Khi ghép Baskets vói chính nó, mỗi giỏ ta có 45 cách che ra các cặp ứng viên [do (10*9)/2=45], và do có 10 triệu giỏ mua hàng, nên ta phải xét 45x 107 trường hợp để lọc ra các cặp ơ- thường xuyên
Trong khi đó nếu sử dụng Thuật toán Apriori, trước hết ta giảm được đáng kế kích thước cúa Baskets, vì ở bước 1 ta đi tìm các phần tử (mặt hàng) xuất hiện ơ- thường xuyên
Cốt lõi của thuật toán Apriori là hàm apriori_gen() do Agrawal đề nghị năm
1994 Hàm này hoạt động theo 2 bước, bước 1- tập hợp Lk-1 tự kết nối (join) với chính 11Ó để tạo ra tập ứng cừ viên Ck Sau đó hàm apriori_gen() loại bỏ các tập hợp có một hợp con (k-1) phần tử không nằm trong Lk-1 (vì chúng không thế là tập
họp xuất hiện ơ- thường xuyên, theo như nhận xét ban đầu).
2
Trang 25Method: apriori_gen() [Agrwal 1994]
Input: Lóp các tập hợp xuất hiện ơ- thường xuyên có (k-1) phần tử, ký hiệu là Lk-1 Output: Lớp các tập hợp xuất hiện o- thường xuyên có k phần tử, ký hiệu là Luật kết
hợp
// Bước tự kết nối li -
Items i Insert into Ck
Select p.Il, p.I2, , p.Ik-], q.Ik-1 From
Hàm sau đây có nhiệm vụ rà soát từng tính chất và đo đếm xem giá đỡ của
nó bằng bao nhiêu Nói cách khác, ả bước đầu tiên Agrawal dùng hàm count() để
tìm ra các tập hợp xuất hiện ơ - thường xuyên có 1 phần tử Function count(C:a set
of itemsets, D: database) begin
for each transaction T € D = u Di do begin
forall subsets xe T do if X 6 c then x.count++; end
end
Dưới đây là toàn bộ Thuật toán Apriori:
Thuật toán 3- Apriori [Agrawal 1994]
Trang 26// Các tập ứng cử viên có к phần tử được sinh ra từ các tập (к-l)- phần tử
xuẩt hiện ơ- thường xuyên
Bảng 2.4 Minh họa áp dụng thuật toán cho ví dụ 2 (ơ=40%)
Bảng 2,4 Dùng thuật toán Apriori tính ra các tập hợp xuẩt hiện ơ-thường
xuyên
Thuật toán Apriori cải tiến cũng giải quyết 2 tình huống “xấu”, đó là khi Ck hoặc Lk-1 to quá, không chứa đủ trong bộ nhớ tính toán Khi đó, cần tu chỉnh lại hàm apriori_gen() một chút
*Thuật toán Apriori nhị phân:
Thuật toán Apriori nhị phân sử dụng các vector bit cho các thuộc tính, vector nhị phân n chiều ứng với n giao tác trong cơ sở dừ liệu Có thể biểu diễn cơ sở dữ liệu
để tính độ hỗ trợ
Tập hợp Độ hô trự {Bánh 50% mi) 100%
{Bơ} 50% {Trứng}
25% {Sữa}
Tập hợp Độ tin cậy {Bánh mì} 50%
{Bơ} 100% {Trứng} 50%
0
Tập họp Độ tincậy
0
Trang 27bằng một ma trận nhị phân trong đó dòng thứ I tương ứng với giao tác (bản ghi) ti và cột thứ j tương ứng với mục (thuộc tính) ij.
Ma trận biếu diễn cơ sở dữ liệu ví dụ cho bảng 2.5:
Bảng 2.5 Ma trận biếu diễn CO' sở dữ liệu
Các vector biểu diễn cho thấy {A,C}, |C,D} có độ hỗ trợ 33% nhỏ hơn độ hỗ trợ tối thiếu MinSupp=50% (cho trước) nên bị loại
Các vector biểu diễn nhị phân cho các tập 3 thuộc tính có như báng 2.8
{A,E}
{B,c}
{B,D}
{B,E}
{C,D}
{C,E}
{D,E}
Trang 282.4.2. Thuật toán Aprìori-TID
Thuật toán Apriori-TID là phần mớ rộng theo hướng tiếp cận cơ bản của thuật toán Apriori Thay vì dựa vào cơ sở dữ liệu thô thuật toán Apriori- TID biếu diễn bên trong mồi giao dịch bởi các ứng cử viên hiện hành
Như ta đã thấy, thuật toán Apriori đòi hỏi phải quét toàn bộ cơ sở dữ liệu để tính độ hỗ trợ cho các tập hợp ứng cử viên ở mỗi bước Đây là một sự lãng phí lớn Dựa trên tư tưởng ước đoán và đánh giá độ hỗ trợ, Agrawal đề xuẩt cải tiến Apriori theo hướng chỉ phải quét cơ sở dữ liệu lần đầu tiên, sau đó tính độ hỗ trợ cho các tập hợp 1 phần tủ Tù' bước thứ hai trở đi, Thuật toán Apriori-TID nhờ lưu trữ song song
cả ID của giao dịch và các ứng cử viên, có thế đánh giá, ước lượng độ hỗ trợ mà khòi phải quét lại toàn bộ cơ sở dữ liệu [6]
Nội đung thuật toán Aprìori-TID
Input: Tập các giao dịch D, minsup
Output: Tập Answer gồm các tập mục thường xuyên trên D