Các kết quả nghiên cứu cùng với những ứng dụng thành công trong khai phá dữ liệu, khám phá tri thức cho thấy khai phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích,
GIỚI THIỆU TỔNG QUAN
Khái niệm khai phá dữ liệu
Khai phá dữ liệu (Data mining) là một khái niệm xuất hiện vào cuối thập kỷ 80, nhằm khám phá tri thức tiềm ẩn trong các cơ sở dữ liệu lớn (Data Warehouse) Quá trình này giúp phát hiện thông tin giá trị bằng cách khái quát các sự kiện rời rạc thành tri thức có tính quy luật, từ đó hỗ trợ hiệu quả trong các quyết định.
Quá trình tìm kiếm thông tin hữu ích từ cơ sở dữ liệu được gọi bằng nhiều tên khác nhau như khai phá dữ liệu, rút ra tri thức, khám phá thông tin và phát hiện mẫu dữ liệu Khai phá dữ liệu chủ yếu được áp dụng bởi các nhà thống kê, nhà phân tích dữ liệu và hệ thống thông tin quản lý cộng đồng.
Khám phá tri thức (Knowledge Discovery in Data - KDD) là quy trình tổng thể nhằm phát hiện tri thức từ dữ liệu, trong đó khai phá dữ liệu là một bước cụ thể Khai phá dữ liệu sử dụng các thuật toán để nhận diện mẫu từ dữ liệu Các bước như chọn lọc, làm sạch, làm giàu và mã hóa dữ liệu là cần thiết để đảm bảo tri thức hữu ích được hình thành Quy trình KDD phát triển song song với các lĩnh vực như máy học, nhận dạng mẫu, cơ sở dữ liệu, thống kê, trí tuệ nhân tạo và gần đây là tính toán thông minh.
Tại sao phải khai phá dữ liệu
Khai phá dữ liệu là quá trình quan trọng giúp phát hiện và hiểu rõ hơn từ những dữ liệu sẵn có, hỗ trợ cho việc đưa ra các đề xuất, dự báo và quyết định chính xác hơn.
Ngày càng có nhiều dữ liệu được lưu trữ trong các cơ sở dữ liệu, và kho dữ liệu chứa đựng thông tin mà các hệ quản trị cơ sở dữ liệu không thể phát hiện và quản lý.
Cơ sở dữ liệu đang phát triển nhanh chóng cả về kích thước lẫn số lượng, với hàng triệu bản ghi và thuộc tính Việc tìm kiếm các mẫu và quy luật trong khối lượng dữ liệu khổng lồ này trở thành một thách thức lớn cho các nhà phân tích dữ liệu.
Không phải bất cứ người sử dụng nào cũng đều có khả năng phân tích dữ liệu để tìm ra tri thức
Hình 1.1: Cách nhìn khái quát về dữ liệu, thông tin và tri thức.
Quá trình khám phá tri thức từ cơ sở dữ liệu
Hình 1.2: Quá trình khám phá tri thức
Từ cơ sở dữ liệu có sẵn, quá trình khám phá tri thức qua các giai đoạn sau:
1.3.1 Chọn lọc dữ liệu Đây là giai đoạn chọn lọc, rút trích các dữ liệu cần thiết từ cơ sở dữ liệu tác nghiệp vào cơ sở dữ liệu riêng, chúng ta chỉ chọn những dữ liệu cần thiết cho các giai đoạn sau Tuy nhiên công việc chọn dữ liệu vào một cơ sở dữ liệu thuờng rất khó, vì dữ liệu được lưu ở nhiều nơi với các định dạng khác nhau
1.3.2 Tiền xử lý dữ liệu
Bao gồm các công việc sau:
Dữ liệu thực tế thường không đồng nhất, đặc biệt khi lấy từ nhiều nguồn khác nhau Do đó, cần áp dụng các biện pháp xử lý để thống nhất dữ liệu, phục vụ cho việc khai thác hiệu quả Nhiệm vụ làm sạch dữ liệu bao gồm việc loại bỏ các thông tin không chính xác, chuẩn hóa định dạng và xử lý các giá trị thiếu.
Công việc này nhằm giảm thiểu sự không nhất quán trong dữ liệu được thu thập từ nhiều nguồn khác nhau Phương pháp phổ biến bao gồm việc loại bỏ các trường hợp dữ liệu trùng lặp và thống nhất các ký hiệu sử dụng.
Xử lý các giá trị trống
Dữ liệu không đầy đủ thường dẫn đến việc xuất hiện các giá trị trống, một hiện tượng phổ biến trong phân tích dữ liệu Để xử lý các giá trị này, người ta có thể áp dụng nhiều phương pháp khác nhau, chẳng hạn như loại bỏ các bộ dữ liệu có giá trị trống hoặc thay thế chúng bằng giá trị Null.
Để cải thiện chất lượng cơ sở dữ liệu, việc làm giàu dữ liệu là rất cần thiết Điều này bao gồm việc bổ sung các thông tin liên quan còn thiếu hoặc không đầy đủ vào cơ sở dữ liệu gốc Việc này không chỉ giúp tăng cường độ chính xác mà còn nâng cao giá trị của dữ liệu hiện có.
Ta tiến hành bổ sung các thông tin cần thiết để làm tăng khả năng khám phá tri thức từ cơ sở dữ liệu
Quá trình làm giàu dữ liệu bao gồm việc tích hợp và chuyển đổi thông tin từ nhiều nguồn khác nhau vào một kho dữ liệu thống nhất Các khuôn dạng dữ liệu được quy đổi và tính toán lại để đảm bảo tính đồng nhất, thuận tiện cho việc phân tích Ngoài ra, trong quá trình này, có thể xây dựng thêm một số thuộc tính mới dựa trên các thuộc tính cũ.
Bước chuẩn hóa và làm mịn dữ liệu là quá trình quan trọng giúp chuyển đổi dữ liệu về dạng tối ưu, từ đó tạo điều kiện thuận lợi cho việc áp dụng các kỹ thuật khai phá dữ liệu trong các bước tiếp theo.
Kỹ thuật phân tích, chủ yếu là máy học, được áp dụng để khai thác dữ liệu và trích xuất các mẫu thông tin cùng những mối quan hệ đặc biệt trong dữ liệu Đây là bước quan trọng và tốn nhiều thời gian nhất trong toàn bộ quy trình Khai thác Dữ liệu (KDD).
1.3.5 Đánh giá và biểu diễn tri thức
Quá trình này liên quan đến việc giải thích và đánh giá các tri thức đã được khai phá, đồng thời hiển thị một cách trực quan các kết quả từ toàn bộ quá trình khai thác dữ liệu.
Các kỹ thuật khai phá dữ liệu
Để giải quyết bài toán, tùy theo cách tiếp cận để khai phá dữ liệu theo các phương pháp sau:
1.4.1 Khai thác tập phổ biến và luật kết hợp
Quá trình khám phá các tập giá trị thuộc tính thường gặp trong các đối tượng dữ liệu cho phép xác định các mẫu phổ biến Từ những tập giá trị này, chúng ta có thể xây dựng các luật kết hợp, giúp hiểu rõ hơn về mối quan hệ giữa các thuộc tính trong dữ liệu.
Trang 8 gái trị thuộc tính nhằm phản ánh khả năng xuất hiện đồng thời các giá trị thuộc tính trong tập các đối tượng Luật kết hợp có dạng XY, phản ánh sự xuất hiện của tập X dẫn đến sự xuất hiện của tập Y
Trong cơ sở dữ liệu bán hàng của siêu thị, một luật kết hợp được ghi nhận: “70% khách hàng mua bột giặt Omo cũng mua nước xả Comfort” Luật kết hợp này được đánh giá qua hai chỉ số quan trọng: độ phổ biến và độ tin cậy Độ phổ biến giúp xác định các tập sản phẩm được ưa chuộng, trong khi độ tin cậy thể hiện mức độ chắc chắn của luật đã được phát hiện.
1.4.2 Khai thác mẫu tuần tự
Quá trình khám phá mẫu tuần tự phổ biến giúp phản ánh mối quan hệ giữa các biến cố trong cơ sở dữ liệu hướng thời gian Một luật mô tả mẫu tuần tự có dạng X→Y, cho thấy sự xuất hiện của biến cố X sẽ dẫn đến sự xuất hiện kế tiếp của biến cố Y.
Ví dụ: “ Có 70% khách hàng mua kem trị mụn Acnes thì sau 2 ngày sẽ mua sửa rửa mặt Acnes.”
Quá trình khám phá các luật phân loại cho các tập dữ liệu đã được xếp lớp là rất quan trọng Tập dữ liệu học bao gồm các đối tượng đã được xác định lớp, từ đó tạo ra mô hình phân lớp dựa trên các đặc trưng của đối tượng Các luật phân lớp này được sử dụng để xây dựng bộ phân lớp dữ liệu, đóng vai trò then chốt trong việc dự báo các khuynh hướng và quy luật phát triển.
Quá trình nhận diện các nhóm tiềm ẩn trong tập đối tượng chưa được phân loại là một bước quan trọng trong phân tích dữ liệu Việc gom nhóm này dựa trên mức độ tương đồng giữa các đối tượng, giúp xác định và tổ chức chúng một cách hợp lý Các đối tượng sẽ được phân nhóm sao cho mức độ tương tự giữa chúng được tối ưu hóa, từ đó tạo điều kiện thuận lợi cho việc phân tích và đưa ra quyết định.
Trang 9 tượng trong cùng một nhóm là cực đại và mức độ tương tự giữa các đối tượng nằm trong các nhóm khác nhau là cực tiểu Các nhóm được đặc trưng bằng các tính chất chung của tất cả các đối tượng trong nhóm Do vậy, khảo sát nhóm sẽ giúp khái quát, tổng kết nhanh chóng nội dung của cơ sở dữ liệu lớn
TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP
Giới thiệu
Luật kết hợp, được phổ biến từ năm 1993 qua bài báo của Agrawal, đã thu hút hơn 6.000 trích dẫn trên Google Scholar đến năm 2008 Tuy nhiên, khái niệm này đã xuất hiện từ năm 1966 thông qua phương pháp Huga, một kỹ thuật khai thác dữ liệu tổng hợp do Petr Hájek và các cộng sự phát triển.
Khai phá luật kết hợp là quá trình tìm hiểu mối tương quan giữa các sự kiện xuất hiện đồng thời trong một cơ sở dữ liệu lớn Mục tiêu chính của nó là phát hiện các tập con thường xuyên xuất hiện trong khối lượng giao dịch Thuật toán khai phá luật kết hợp cho phép tạo ra các quy luật mô tả cách mà các sự kiện này xảy ra cùng nhau Quá trình này thường được chia thành hai giai đoạn: giai đoạn đầu tiên là xác định các sự kiện xuất hiện thường xuyên, và giai đoạn thứ hai là xây dựng các luật kết hợp từ những sự kiện đã được xác định ở giai đoạn trước.
Luật kết hợp là một công cụ quan trọng được áp dụng trong nhiều lĩnh vực như mạng viễn thông, quản lý thị trường và quản lý hàng tồn kho Việc khai thác luật kết hợp giúp tìm ra các quy luật thỏa mãn các tiêu chí về độ phổ biến tối thiểu và độ tin cậy tối thiểu trong cơ sở dữ liệu.
Các định nghĩa
2.2.1 Định nghĩa ngữ cảnh khai thác dữ liệu
Cho I={i 1 ,i 2 ,…,i n } là tập hợp các mục dữ liệu, và T = {t 1 , t 2 , …, t m } là tập hợp các giao tác Trên tích Descartes T I, ta định nghĩa một quan hệ hai ngôi như sau:
(t, i) T I: t i Giao tác t có chứa mục dữ liệu i
được gọi là quan hệ khai thác dữ liệu Bộ ba (T, I, ) được gọi là ngữ cảnh khai thác dữ liệu
Mỗi mục dữ liệu i I còn được gọi là một thuộc tính của I
Ví dụ 1: Các giao tác trong cơ sở dữ liệu D
2.2.2 Định nghĩa ma trận giao tác
Cho ngữ cảnh khai thác dữ liệu (T, I, ), ta định nghĩa ma trận M = (mij)mxn với
| T | = m, | I | = n, là một ma trận nhị phân với:
M gọi là ma trận giao tác Hàng thứ i của ma trận biểu diễn giao tác thứ i, cột thứ j của ma trận biểu diễn mục dữ liệu thứ j
Mỗi tập hợp con X I gọi là tập mục dữ liệu (Itemset), mỗi tập con S T gọi là tập định danh giao tác (Tidset)
2.2.3 Định nghĩa kết nối Galois
Cho ngữ cảnh khai thác dữ liệu (T, I, ) Ta định nghĩa hai ánh xạ: tran: SubSet(I) → SubSet(T)
Trong bài viết này, chúng ta xem xét hàm tran(X), được định nghĩa là tập hợp các giao tác s thuộc T mà trong đó mọi mục dữ liệu x thuộc X đều xuất hiện Cụ thể, tran(X) = {s ∈ T | ∀x ∈ X, s.x = 1}, trong đó s.x biểu thị sự xuất hiện của mục dữ liệu x trong giao tác s với giá trị 1 Điều này có nghĩa là tran(X) là tập hợp tất cả các giao tác trong T chứa đầy đủ các mục dữ liệu trong X.
Trang 12 item(S) là tập hợp tất cả các mục dữ liệu của I xuất hiện ở tất cả các giao tác trong S
Cặp ánh xạ (tran, item) được gọi là kết nối Galois trên T I
2.2.4 Định nghĩa độ phổ biến Độ phổ biến của một tập hợp X (Xtrong cơ sở dữ liệu D là tỷ số giữa các giao dịch T(TD) có chứa tập X và tổng số giao dịch trong D (hay là phần trăm của các giao dịch trong D có chứa tập hợp X)
Ký hiệu: support(X) hay supp(X)
Ví dụ 2: với dữ liệu của ví dụ 1, tính độ phổ biến của X={Diaper, Milk, Beer}
Ta có : Số các giao dịch có chứa X=2
Tổng số giao dịch trong D=5
2.2.5 Định nghĩa độ tin cậy Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các giao dịch trong D chứa X Y với số giao dịch trong D có chứa tập hợp X
Ký hiệu: confidence(XY ) hay conf(XY)
Ví dụ 3: với dữ liệu của ví dụ 1, giả sử có luật sau:
{Diaper, Milk}{Beer} Tính độ tin cậy của luật này
Ta có: Đặt: X={{Diaper, Milk}, Y={Beer} supp(X Y)5
2.2.6 Định nghĩa tập phổ biến
Cho ngữ cảnh I, D và minsupp(0,1] (minsupp gọi là độ phổ biến tối thiểu), X là tập phổ biến theo ngưỡng minsupp nếu và chỉ nếu supp(X) minsupp
Ví dụ: với dữ liệu của ví dụ 1 và cho minsupp=0.5 (50%) Hãy cho biết tập {Diaper, Beer} có phải là tập phổ biến không?
Ta có: supp({Diaper, Beer})5
Vậy tập {Diaper, Beer} là tập phổ biến
2.2.7 Định nghĩa dạng luật kết hợp
Tập hợp các mục dữ liệu được ký hiệu là Cho I = {i1, i2,…, in}, trong khi T = {t1, t2, …, tm} là tập hợp các giao dịch Mỗi giao dịch được gán một định danh phân biệt gọi là TID Chúng ta nói rằng giao dịch T chứa tập X (các mục trong I) nếu X là tập con của T, tức là X ⊆ T.
Một luật kết hợp có dạng: XY (với XI,YI và XY= ) thỏa mản hai điều kiện:
Ví dụ 4: Cho I={ Beer, Diaper, Bread, Eggs, Milk}, minsuppp%, minconf% và
Có một luật kết hợp có dạng sau:
Diễn giải ý nghĩa: “có 70% khách hàng mua Beer thì cũng sẽ mua Diaper với độ tin cậy là 90%”.
Một số tính chất
Cho A,B I là hai tập hợp, với AB thì supp(A) supp(B)
Cho A,B I là hai tập hợp và AB, nếu B là tập phổ biến thì A cũng là tập phổ biến
Cho A,B I là hai tập hợp và AB, nếu A là tập không phổ biến thì B cũng là tập không phổ biến.
Thuật toán Apriori
Một số thuật toán phổ biến trong khai phá luật kết hợp bao gồm Apriori, Eclat và FP-Growth Trong bài viết này, chúng tôi sẽ tập trung vào thuật toán Apriori, một thuật toán cơ bản và dễ sử dụng, được Rakesh Agrawal, Tomasz Imielinski và Arun Swami giới thiệu lần đầu vào năm 1993 Thuật toán này tìm kiếm các giao dịch có độ phổ biến và độ tin cậy đạt ngưỡng nhất định Đầu tiên, Apriori đếm các tập mục để xác định tập phổ biến 1-Itemset Các tập phổ biến mà mỗi phần tử có k-Item được gọi là tập phổ biến k-Itemset Để tìm tập phổ biến k-Itemset, thuật toán thực hiện ba bước cơ bản.
Từ tập phổ biến L k-1 , tạo ra tập ứng cử viên C k
Duyệt cơ sở dữ liệu để tính độ phổ biến của các ứng cử viên trong Ck
Tạo tập phổ biến L k bằng cách chọn các ứng cử viên trong C k có độ phổ biến không nhỏ hơn minsupp k-Itemset Tập mục mà mỗi phần tử có k item
Lk Tập phổ biến k-itemsets Mỗi phần tử có: i) itemset ii) support
C k Tập ứng cử viên k-Itemsets
Mỗi phần tử có: i) itemset ii) support
Bảng 2.1: Ý nghĩa các kí hiệu
L1 = {large 1-itemsets}; for (k = 2; Lk-1 ;k++ ) do begin
Ck = apriori-gen(Lk-1); // New candidates forall transactionst t D do begin
C t = subset(C k ,t); // Candidates contained int forall candidates c Ctdo c.count++; end
L k = { c C k | c.count minsup} end Answer = kLk;
Hàm tạo tập ứng cử viên:
Hàm tạo tập ứng cử viên sẽ sử dụng tập phổ biến L k-1 để tạo tập C k hàm trả về một tập k-Itemsets Đầu tiên thực hiện kết tập L k-1 với L k-1
Select p.item 1 , p.item 2 , , p.item k-1 ,q.item k-1
Where p.item1 =q.item1, , p.itemk-2 =q.itemk-2, p.itemk-1