MỘT SỐ TÍNH CHẤT CỦA LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN NGANG Mục đích nghiên cứu của đề tài luận văn là nghiên cứu tổng quan về khai phá dữ liệu, khai phá luật kết hợp trong môi trường phân tán. Trong luận văn tác giả đặc biệt quan tâm và xét một số tính chất của luật kết hợp trong cơ sở dữ liệu phân tán ngang. Bản chấtmà luận văn muốn đề cập là một tính chất t nào đó của luật kết hợp thỏa mãn trong bảng R thì khi phân tán ngang R thành các bảng con R1, R2, …, Rk, tính chất t có thỏa mãn trong các Ri không?
Trang 1NGUYỄN XUÂN KHUÊ
MỘT SỐ TÍNH CHẤT CỦA LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN NGANG
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01
TÓM TẮT LUẬN VĂN THẠC SỸ
HÀ NỘI - NĂM 2013
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: ………
Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU
Hiện nay, lượng thông tin được lưu trữ trên các thiết bị điện tử không ngừng tăng lên
Sự tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ Nói một cách hình ảnh là chúng ta đang “ngập” trong dữ liệu nhưng lại “đói” tri thức Câu hỏi đặt ra là liệu chúng ta có thể khai thác được gì từ những “núi” dữ liệu ấy không?
Data Mining ra đời như một hướng giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên Khá nhiều định nghĩa về Data Mining, tuy nhiên có thể tạm hiểu rằng Data Mining như là một công nghệ tri thức giúp khai thác những thông tin hữu ích từ những kho dữ liệu được tích trữ trong suốt quá trình hoạt động của một công ty, tổ chức nào đó
Khai phá dữ liệu bao hàm rất nhiều hướng tiếp cận Các kỹ thuật chính được áp dụng trong lĩnh vực này phần lớn được thừa kế từ lĩnh vực cơ sở dữ liệu, machine learning, trí tuệ nhân tạo, lý thuyết thông tin, xác suất thống kê, và tính toán hiệu năng cao Các bài toán chủ yếu trong khai phá dữ liệu là phân lớp/dự đoán (classification/prediction), phân cụm (clustering), khai phá luật kết hợp (association rules mining), khai phá chuỗi (sequence mining), v.v…
Trong khai phá luật kết hợp, việc tìm hiểu về mối liên hệ, ràng buộc giữa các tập phổ biến, luật kết hợp trên các các hệ con và trên hệ thống tập trung đóng vai trò hết sức quan trọng Nếu chỉ ra được sự ràng buộc và mối liên hệ giữa các tập phổ biến, luật kết hợp trên
hệ thống tập trung và các hệ thống con thì thay cho việc tìm tập phổ biến trên toàn hệ thống
ta tìm trên các hệ thống con và việc tìm kiếm diễn ra nhanh gấp nhiều lần so với tìm kiếm tập trung trên hệ thống lớn
Ý thức được đây là một lĩnh vực nghiên cứu có nhiều triển vọng, tôi đã chọn hướng nghiên cứu khai phá luật kết hợp cho đề tài luận văn của mình Luận văn được xây dựng dựa trên nền các nghiên cứu đã có trong lĩnh vực khai phá luật kết hợp, đồng thời tôi cũng mạnh dạn trình bày một vài đề xuất của riêng mình đó là “nêu lên một số tính chất của luật kết hợp trong cơ sở dữ liệu phân tán ngang”
Xuất phát từ nhu cầu trên tôi chọn đề tài:
“MỘT SỐ TÍNH CHẤT CỦA LUẬT KẾT HỢP TRONG CƠ SỞ DỮ
LIỆU PHÂN TÁN NGANG”
Trang 4Mục đích nghiên cứu của đề tài luận văn là nghiên cứu tổng quan về khai phá dữ liệu, khai phá luật kết hợp trong môi trường phân tán Trong luận văn tác giả đặc biệt quan tâm và xét một số tính chất của luật kết hợp trong cơ sở dữ liệu phân tán ngang Bản chất
mà luận văn muốn đề cập là một tính chất t nào đó của luật kết hợp thỏa mãn trong bảng R thì khi phân tán ngang R thành các bảng con R1, R2, …, Rk, tính chất t có thỏa mãn trong các Ri không?
Bố cục của luận văn gồm 3 chương:
Chương 1 Nghiên cứu tổng quan
- Nghiên cứu tổng quan về khai phá dữ liệu
- Giới thiệu chung về khai phá dữ liệu
- Quy trình và các kỹ thuật khai phá dữ liệu
- Các ứng dụng của khai phá dữ liệu
- Nghiên cứu về cơ sở dữ liệu phân tán
Chương 2 Khai phá luật kết hợp
- Các luật trong khai phá tri thức
- Khai phá luật kết hợp
- Một số dạng luật kết hợp
- Một số thuật toán khai phá luật kết hợp
Chương 3: Một số tính chất của luật kết hợp
- Giới thiệu
- Các định nghĩa
- Giới thiệu một số tính chất của luật kết hợp trong cơ sở dữ liệu phân tán ngang
Trang 5Chương 1 - NGHIÊN CỨU TỔNG QUAN 1.1 Tổng quan về khai phá dữ liệu
1.1.1 Các khái niệm cơ bản
Khai phá dữ liệu được dùng để mô tả quá trình phát hiện ra tri thức trong CSDL
Đị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 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”
Khai phá dữ liệu (Data mining): Là một bước trong quy trình khám phá tri thức, nhằm:
Rút trích thông tin hữu ích, chưa biết, tiềm ẩn trong khối dữ liệu lớn
Phân tích dữ liệu bán tự động
Giải thích dữ liệu trên các tập dữ liệu lớn
1.1.2 Quá trình khai phá dữ liệu
Quá trình phát hiện tri thức từ cơ sở dữ liệu là một quá trình sử dụng nhiều phương pháp và công cụ tin học nhưng trong đó con người vẫn đóng vai trò là trung tâm của quá
trình
Hình 1.1 – Quy trình phát hiện tri thức
Trang 61.1.3 Các kỹ thuật khai phá dữ liệu
Phân lớp dữ liệu [2]
Khái niệm phân lớp dữ liệu được Han và Kamber đưa ra năm 2000 Phân lớp dữ liệu
là xây dựng một mô hình mà có thể phân các đối tượng thành những lớp để dự đoán giá trị
bị mất tại một số thuộc tính của dữ liệu hay tiên đoán giá trị của dữ liệu sẽ xuất hiện trong tương lai
Phân nhóm dữ liệu [2, 3]
Phân nhóm là kỹ thuật khai phá dữ liệu tương tự như phân lớp dữ liệu Tuy nhiên, sự phân nhóm dữ liệu là quá trình học không được giám sát, là quá trình nhóm những đối tượng vào trong những lớp tương đương Trong phân lớp dữ liệu, một bản ghi thuộc về lớp nào là phải xác định trước, trong khi phân nhóm không xác định trước Trong phân nhóm, những đối tượng được nhóm lại cùng nhau dựa vào sự giống nhau của chúng
Hồi quy (Regression):
Là việc xét một hàm ánh xạ từ một tập dữ liệu thành một biến dự đoán có giá trị thực Nhiệm vụ hồi qui 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 rời rạc [3, 4]
Tổng hợp (summarization):
Là công việc liên quan đến các phương pháp tìm kiếm một mô tả cô đọng cho tập con dữ liệu [2, 4] Các kỹ thuật tổng hợp thường được áp dụng trong việc phân tích dữ liệu
có tính thăm dò và báo cáo tự động
Phát hiện sự thay đổi và độ lệch (change and deviation dectection):
Nhiệm vụ này tập trung vào khám phá những thay đổi có ý nghĩa trong dữ liệu dựa vào các giá trị chuẩn hay độ đo đã biết trước, phát hiện độ lệch đáng kể giữa nội dung của tập con dữ liệu và nội dung mong đợi [2, 3]
1.1.4 Các bài toán thông dụng trong khai phá dữ liệu
Trong khai phá dữ liệu (KPDL), các bài toán có thể phân thành bốn loại chính [5]:
Phân lớp (Classification):
Là bài toán thông dụng nhất trong KPDL Với một tập các dữ liệu huấn luyện cho trước và sự huấn luyện của con người, các giải thuật phân loại sẽ học ra bộ phân loại
Trang 7(classifier) dùng để phân các dữ liệu mới vào một trong những lớp (còn gọi là loại) đã được
xác định trước
Dự đoán (Prediction):
Với mô hình học tương tự như bài toán Phân lớp, lớp bài toán Dự đoán sẽ học ra các
bộ dự đoán Khi có dữ liệu mới đến, bộ dự đoán sẽ dựa trên thông tin đang có để đưa ra một giá trị số học cho hàm cần dự đoán Bài toán tiêu biểu trong nhóm này là dự đoán giá sản phẩm để lập kế hoạch trong kinh doanh
Luật kết hợp (Association Rule):
Các giải thuật Tìm luật kết hợp tìm kiếm các mối liên kết giữa các phần tử dữ liệu, ví
dụ như nhóm các món hàng thường được mua kèm với nhau trong siêu thị
Phân cụm (Clustering):
Các kỹ thuật Phân cụm sẽ nhóm các đối tượng dữ liệu có tính chất giống nhau vào
cùng một nhóm Có nhiều cách tiếp cận với những mục tiêu khác nhau trong phân loại
1.1.5 Các cơ sở dữ liệu phục vụ khai phá dữ liệu
Dựa vào những kiểu dữ liệu mà kỹ thuật khai phá áp dụng, có thể chia dữ liệu thành các loại khác nhau
Cơ sở dữ liệu quan hệ
Cơ sở dữ liệu 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á Cơ sở dữ liệu 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
Cơ sở dữ liệu giao tác
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
Cơ sở dữ liệu không gian
Cơ sở dữ liệu không gian bao gồm hai phần: Phần thứ nhất là dữ liệu quan hệ hay giao tác, phần thứ 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
Giống như cơ sở dữ liệu không gian, cơ sở dữ liệu có yếu tố thời gian bao gồm hai phần: Phần thứ nhất là dữ liệu quan hệ hay giao tác, phần thứ hai là thông tin về thời gian xuất hiện dữ liệu ở phần thứ nhất
Trang 8Cơ sở dữ liệu đa phương tiện
Số lượng trang web đang bùng nổ trên thế giới, web có mặt ở khắp mọi nơi, duyệt web đã là nhu cầu của mọi tầng lớp trong xã hội 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 (web mining) đã trở thành một lĩnh vực nghiên cứu chính của khai phá dữ liệu, được các nhà nghiên cứu đặc biệt quan tâm
1.1.6 Các ứng dụng của khai phá dữ liệu
- Phân tích dữ liệu và hỗ trợ ra quyết định (Analysis & decision support)
- Điều trị trong y học (Medical): mối liên hệ giữa triệu chứng, chuẩn đoán và phương pháp điều trị (chế độ dinh dưỡng, thuốc men, phẫu thuật)
- Phân lớp văn bản, tóm tắt văn bản và phân lớp các trang Web (Text mining & Web mining)
- Tin sinh học (Bio-informatics): Tìm kiếm, đối sánh các hệ gen và thông tin di truyền, mối liên hệ giữa một số hệ gen và một số bệnh di truyền
1.1.7 Khai phá dữ liệu và các lĩnh vực liên quan
Phát hiện tri thức và khai phá dữ liệu được coi là trung tâm của nhiều ngành khoa học, nó liên quan đến rất nhiều ngành, nhiều lĩnh vực khác nhau như tài chính, ngân hàng, thương mại, y tế, giáo dục, thống kê, máy móc, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán học, tính toán song song, thu nhận tri thức trong các hệ chuyên gia, quan sát dữ liệu
Đặc trưng của hệ thống khai phá dữ liệu là nhờ vào các phương pháp thuật toán và kỹ thuật từ những lĩnh vực khác nhau, nhằm mục đích cuối cùng là trích ra tri thức từ dữ liệu trong CSDL khổng lồ
1.1.8 Các thách thức trong khai phá dữ liệu
- Cơ sở dữ liệu lớn
- Số chiều các thuộc tính lớn
Trang 9- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp
- Dữ liệu bị thiếu hoặc bị nhiễu
- Quan hệ giữa các trường phức tạp
- Giao tiếp với người sử dụng và kết hợp với các tri thức đã có
- Tích hợp với các hệ thống khác
1.2 Nghiên cứu về cơ sở dữ liệu phân tán
1.2.1 Các khái niệm cơ bản
Thiết kế hệ thống máy tính phân tán bao gồm:
- Phân rã dữ liệu;
- Chọn những vị trí đặt dữ liệu;
- Các chương trình ứng dụng trên mạng máy tính đó;
- Thiết kế tổ chức khai thác hệ thống mạng
1.2.2 Cơ sở dữ liệu phân tán là gì?
Định nghĩa 1.1 Phân rã hay phân mảnh CSDL
Phân rã (hay phân mảnh) CSDL là chia CSDL thành nhiều phần không chồng lặp lên nhau, mỗi phần được gọi là một mảnh con hay CSDL con
Định nghĩa 1.2 Cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán là một tập các cơ sở dữ liệu có quan hệ với nhau về mặt logic
và được phân bố trên một mạng máy tính
1.2.3 Tại sao phải phân tán CSDL?
Trong thực tế chúng ta luôn cần phân tán CSDL là vì:
- Chia để trị, chia CSDL thành các CSDL con để tiện giải quyết và quản trị chúng
- Do tầm hoạt động, tầm địa lý của CSDL rộng, lớn nên bắt buộc phải phân tán CSDL theo các khu vực
- Do yêu cầu bảo mật dữ liệu nên chúng ta phải phân tán dữ liệu thành các phần con để dễ bảo vệ dữ liệu
Trang 10- Một lý do quan trọng bắt buộc chúng ta phải phân tán (phân rã) cơ sở dữ liệu
là để đảm bảo tính nhất quán, ổn định, không dư thừa dữ liệu mỗi khi thao tác
và truy xuất trên CSDL
1.2.4 Phân rã dọc
Định nghĩa 1.3 Phân rã dọc
Phép phân rã dọc quan hệ R trên tập thuộc tính A = {A1, A2, , An} thành các quan
hệ R1, R2, , Rk tương ứng trên các tập thuộc tính U1, U2, , Uk là tách R thành k quan hệ thỏa mãn các yêu cầu sau:
(i) A = U1 U2 Uk
(ii) R = R1*R2* *Rk Trong đó * là phép nối tự nhiên
1.2.5 Phân rã ngang
Định nghĩa 1.4 Phân rã ngang R
Phân rã ngang R trên tập thuộc tính A = {A1, A2, , An} là chia ngang quan hệ R thành các R1, R2, …, Rk Với Ri là những quan hệ trên A;
(1) Ri Rj = nếu i j;
(2) R = k
i Ri
1
Trang 11Chương 2 - KHAI PHÁ LUẬT KẾT HỢP 2.1 Luật kết hợp
2.1.1 Giới thiệu về luật kết hợp
Khai phá luật kết hợp: Là tìm các mẫu phổ biến kết hợp nhân quả giữa các tập đối tượng trong các cơ sở dữ liệu giao tác, cơ sở dữ liệu quan hệ, và những kho thông tin khác
2.1.2 Các khái niệm cơ bản
- Gọi I = {I 1 , I 2, , I m} là tập m thuộc tính riêng biệt, mỗi thuộc tính gọi là một mục
- Gọi D là một cơ sở dữ liệu chứa n giao dịch, trong đó mỗi bản ghi Ti là một giao dịch và chứa các tập mục, X I:
X được gọi là tiên đề
Y được gọi là hệ quả của luật
Định nghĩa 2.3:
giao dịch chứa cả X và Y (XY) với tổng số các giao dịch có trong cơ sở dữ liệu Đơn vị
Trang 12Độ tin cậy (confidence) là tỷ lệ phần trăm giữa số lượng các giao dịch chứa cả X và
Y (XY) với số giao dịch có chứa X Đơn vị tính %
confidence
Ý nghĩa của độ hỗ trợ và độ tin cậy:
Độ hỗ trợ của luật biểu diễn "sức mạnh" của luật Luật có ảnh hưởng như thế nào trong toàn bộ hệ thống
Độ tin cậy biểu diễn mức độ "đúng" của quy tắc X Y
Việc khai phá 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 lớn hơn ngưỡng của độ 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à minsupp và minconf
Định nghĩa 2.5:
Cho một tập mục X I và một ngưỡng hỗ trợ tối thiểu minsupp (được cho bởi người
sử dụng) Tập mục X gọi là một tập mục phổ biến (Frequent Itemset hay Large Itemset) với
độ hỗ trợ tối thiểu minsupp khi và chỉ khi support(X)>=minsupp
2.1.3 Một số dạng luật kết hợp
2.1.3.1 Luật kết hợp và định lượng
Boolean: Luật liên quan đến mối kết hợp giữa sự có xuất hiện và không xuất hiện
của các phần tử (ví dụ “có mua A" hoặc “không có mua A")
Định lượng: Luật liên quan đến mối kết hợp giữa các phần tử hay thuộc tính định
lượng
tuổi=30 39, thu nhập=42 48K mua=PC [1%, 75%]
2.1.3.2 Luật kết hợp nhiều chiều
Một cấp: Mối kết hợp giữa các phần tử hay thuộc tính của cùng một cấp khái niệm
(ví dụ cùng một cấp của hệ thống phân cấp)
Bia, Khoai tây chiên Bánh mì [0.4%, 52%]
Nhiều cấp: Mối kết hợp giữa các phần tử hay thuộc tính của nhiều cấp khái niệm
khác nhau (ví dụ nhiều cấp của hệ thống phân cấp)
Bia:Karjala, Khoai tây chiên:Estrella:Barbeque Bánh mì [0.1%, 74%]
Trang 132.1.4 Tối ưu luật
2.2 Một số thuật toán khai phá luật kết hợp
2.2.1 Thuật toán khai phá luật kết hợp tuần tự
2.2.1.1 Thuật toán Apriori
Apriori là thuật toán khai phá luật kết hợp do RaKesh Agrawal, Tomasz Imielinski, Anin Sawami đưa ra vào năm 1993, là nền tảng cho việc phát triển những thuật toán sau này Thuật toán sinh tập mục ứng cử từ những tập mục phổ biến ở bước trước, sử dụng kĩ thuật “tỉa” để bỏ đi tập mục ứng cử không thỏa mãn ngưỡng hỗ trợ cho trước Thuật toán được trình bày chi tiết trong [7]
2.2.1.2 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 tập phổ biến (k-1) phần tử để tạo ra các tập mục ứng cử k phần tử 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 cơ sở dữ liệu để 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 [7]
2.2.1.3 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ư đã đề cập ở trên, thuật toán Apriori thực thi hiệu quả ở các giai đoạn đầu, thuật toán Apriori-TID thực thi hiệu quả ở các giai đoạn sau Phương pháp của thuật toán Apriori-Hybrid là sử dụng thuật toán Apriori ở các giai đoạn đầu và chuyển sang sử dụng thuật toán Apriori-TID ở các giai đoạn sau, được trình bày chi tiết trong [7]
2.2.1.4 Thuật toán FP-Growth
Thuật toán được trình bày chi tiết trong [8]
Ý tưởng: Dùng đệ quy để gia tăng độ dài của mẫu phổ biến dựa trên cây FP-Tree và
các mẫu được phân hoạch
Phương pháp thực hiện: