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à quá trình khám phá tri thức tiềm ẩn trong các cơ sở dữ liệu lớn như Data Warehouse, giúp phát hiện các thông tin có giá trị để hỗ trợ quyết định Ra đời vào cuối thập kỷ 1980, khai phá dữ liệu nhằm tổng hợp các sự kiện rời rạc thành các kiến thức mang tính khái quát và quy luật, nâng cao hiệu quả trong các quy trình ra quyết định của doanh nghiệp.
Quá trình khai phá dữ liệu (Data mining) là phương pháp quan trọng giúp khám phá và rút ra những thông tin hữu ích từ cơ sở dữ liệu lớn Ngoài ra, còn có các thuật ngữ khác như khám phá thông tin (information discovery), phát hiện mẫu dữ liệu (Data pattern processing) và rút ra tri thức (knowledge extraction), phản ánh các bước trong quá trình phân tích dữ liệu Quá trình này chủ yếu được các nhà thống kê, nhà phân tích dữ liệu và hệ thống quản lý thông tin cộng đồng sử dụng để tìm kiếm các mẫu và kiến thức mới, góp phần nâng cao hiệu quả ra quyết định.
Khám phá tri thức trong dữ liệu (Knowledge Discovery in Data - KDD) là quá trình toàn diện nhằm phát hiện tri thức hữu ích từ dữ liệu, trong đó khai phá dữ liệu là một bước cụ thể sử dụng các thuật toán để tìm ra các mẫu trong dữ liệu Việc thêm các bước như chọn lọc dữ liệu, làm sạch, làm giàu, và mã hóa dữ liệu là cần thiết để đảm bảo các tri thức có giá trị được hình thành từ dữ liệu Quá trình khám phá tri thức ngày càng phát triển cùng với sự tiến bộ của các ngành 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à đặc biệt là sự phát triển của lĩnh vực 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 phân tích dữ liệu để phát hiện các mẫu, xu hướng và thông tin quý giá nhằm hỗ trợ đưa ra các đề xuất, dự báo chính xác hơn và ra quyết định hiệu quả Việc khai phá dữ liệu giúp hiểu rõ hơn về dữ liệu có sẵn, từ đó tối ưu hóa quy trình kinh doanh và nâng cao lợi thế cạnh tranh của doanh nghiệp Nhờ vào các kỹ thuật khai phá dữ liệu, các tổ chức có thể tận dụng tối đa giá trị từ dữ liệu, nâng cao hiệu quả và định hướng chiến lược đúng đắn hơn.
Ngày càng có nhiều dữ liệu quan trọng được lưu trữ trong cơ sở dữ liệu và kho dữ liệu, chứa đựng các thông tin mà hệ quản trị cơ sở dữ liệu không thể phát hiện và quản lý một cách hiệu quả Việc quản lý dữ liệu mở rộng đòi hỏi các giải pháp tối ưu để đảm bảo an toàn và truy cập dễ dàng Chính vì vậy, việc phát triển và ứng dụng các công nghệ quản trị dữ liệu phù hợp đóng vai trò quan trọng trong hoạt động doanh nghiệp ngày nay.
Cơ sở dữ liệu ngày càng phát triển nhanh chóng về kích thước và số lượng, gây ra thách thức lớn trong việc phân tích các mối quan hệ phức tạp giữa hàng triệu bản ghi và thuộc tính Việc tìm ra các mẫu và quy luật trong dữ liệu lớn trở nên ngày càng khó khăn, đòi hỏi các công cụ và phương pháp phân tích dữ liệu tiên tiến để xử lý hiệu quả.
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ế, đặc biệt dữ liệu đến từ nhiều nguồn khác nhau thường có tính không đồng nhất, gây khó khăn trong quá trình khai thác Vì vậy, việc xử lý và làm sạch dữ liệu là rất cần thiết để đưa dữ liệu về trạng thái nhất quán, nhất quán, phục vụ cho công tác phân tích và khai thác dữ liệu hiệu quả Quá trình làm sạch dữ liệu thường bao gồm các bước như chuẩn hóa dữ liệu, loại bỏ dữ liệu trùng lặp và xử lý dữ liệu thiếu, giúp đảm bảo tính chính xác và tin cậy của dữ liệu trong hệ thống.
Nhiệm vụ chính của công việc này là giảm thiểu sự không nhất quán do dữ liệu được thu thập từ nhiều nguồn khác nhau Phương pháp phổ biến để đạt được điều này là loại bỏ các trường hợp trùng lặp dữ liệu và chuẩn hóa các ký hiệu để đảm bảo tính nhất quán.
Xử lý các giá trị trống
Tính không đầy đủ của dữ liệu thường dẫn đến hiện tượng chứa các giá trị trống, là vấn đề phổ biến trong xử lý dữ liệu Để xử lý các giá trị trống này, người ta thường sử dụng các phương pháp như bỏ qua các bộ dữ liệu có giá trị trống hoặc thay thế phần trống bằng giá trị null để đảm bảo tính toàn diện và chính xác của phân tích dữ liệu.
Để đảm bảo dữ liệu đầy đủ và chính xác, cần tăng cường bổ sung các thông tin liên quan vào cơ sở dữ liệu gốc Việc làm giàu dữ liệu giúp mở rộng và nâng cao chất lượng dữ liệu bằng cách thêm vào nhiều loại thông tin mới có liên quan, từ đó hỗ trợ phân tích và đưa ra quyết định chính xác hơn.
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 bắt đầu bằng việc tích hợp và chuyển đổi dữ liệu từ nhiều nguồn khác nhau thành một kho dữ liệu thống nhất Các dữ liệu với các định dạng khác nhau được quy đổi và tính toán lại để phù hợp, giúp quá trình phân tích hiệu quả hơn Ngoài ra, có thể xây dựng các thuộc tính mới dựa trên các thuộc tính cũ, nâng cao chất lượng và giá trị của kho dữ liệu để hỗ trợ ra quyết định kinh doanh chính xác hơn.
Quá trình chuẩn hóa và làm mịn dữ liệu là bước quan trọng nhằm giúp dữ liệu trở nên nhất quán và dễ sử dụng hơn Việc này giúp đưa dữ liệu về dạng thuận lợi nhất, tối ưu hóa quá trình phân tích và khai phá dữ liệu sau này Chuẩn hóa dữ liệu đảm bảo tính đồng nhất, loại bỏ các sai lệch hoặc dữ liệu nhiễu, từ đó nâng cao hiệu quả của các kỹ thuật khai phá dữ liệu Đảm bảo dữ liệu sạch sẽ và chuẩn hóa là bước tiên quyết để đạt được kết quả chính xác và tin cậy trong các dự án phân tích dữ liệu.
Là bước áp dụng các kỹ thuật phân tích dữ liệu, phần lớn là các kỹ thuật máy học, nhằm khai thác và trích lọc các mẫu thông tin quan trọng cũng như khám phá các mối quan hệ đặc biệt trong dữ liệu Đây được xem là giai đoạn quan trọng và tốn nhiều thời gian nhất của toàn bộ quá trình KDD (Knowledge Discovery in Databases).
1.3.5 Đánh giá và biểu diễn tri thức
Quá trình khai thác dữ liệu bao gồm việc giải thích và đánh giá các tri thức khai phá được, giúp người dùng hiểu rõ các mẫu và mối quan hệ bên trong dữ liệu Đồng thời, quá trình này còn thể hiện các kết quả một cách trực quan, dễ dàng phân tích và ra quyết định Việc này không những giúp cải thiện quá trình phân tích dữ liệu mà còn nâng cao hiệu quả ứng dụng trong thực tiễn.
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 xuất hiện phổ biến trong các đối tượng dữ liệu là bước quan trọng trong phân tích dữ liệu Từ các tập phổ biến này, có thể tạo ra các luật kết hợp giúp hiểu rõ mối liên hệ giữa các thuộc tính Phân tích các luật kết hợp này hỗ trợ đưa ra các quyết định dựa trên dữ liệu một cách chính xác và hiệu quả hơn Việc khai thác các tập giá trị phổ biến đóng vai trò then chốt trong khai phá dữ liệu, giúp phát hiện các mẫu dữ liệu quan trọng và mang lại giá trị kinh doanh thiết thực.
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 tại siêu thị, luật kết hợp như "70% khách hàng mua bột giặt Omo cũng mua nước xả Comfort" thể hiện mối liên hệ giữa các mặt hàng Độ phổ biến giúp xác định các tập phổ biến, trong khi độ tin cậy phản ánh mức độ chắc chắn của luật kết hợp đã được khám phá Đây là các yếu tố quan trọng trong phân tích dữ liệu bán hàng để tối ưu hóa chiến lược kinh doanh.
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 phản ánh mối quan hệ giữa các biến cố trong các cơ sở dữ liệu hướng thời gian Một luật mô tả mẫu tuần tự thường có dạng X → Y, trong đó biến cố X xuất hiện trước và dẫn đến sự xuất hiện kế tiếp của biến cố Y Phân tích các mẫu tuần tự giúp hiểu rõ hơn về các chuỗi biến cố liên quan trong dữ liệu thời gian, hỗ trợ đưa ra các quyết định dựa trên xu hướng biến cố Việc phát hiện các mẫu tuần tự này là công cụ quan trọng trong khai thác dữ liệu thời gian, góp phần tối ưu hóa quy trình và dự báo tương lai chính xác hơn.
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.”
Khai thác luật phân loại giúp xác định các đặc trưng nổi bật của tập dữ liệu đã được gán nhãn Tập dữ liệu học gồm các đối tượng đã xác định lớp, nhằm tạo ra mô hình phân loại chính xác dựa trên đặc điểm của chúng Các luật phân lớp đóng vai trò thiết yếu trong việc xây dựng các bộ phân lớp dữ liệu hiệu quả Phân loại dữ liệu có vai trò quan trọng trong dự báo xu hướng và phát hiện quy luật phát triển của các hiện tượng.
Quá trình nhóm hợp trong phân tích dữ liệu là bước nhận diện các nhóm tiềm ẩn trong tập hợp các đối tượng chưa được phân lớp Phương pháp này dựa trên mức độ tương tự giữa các đối tượng để xác định các nhóm có đặc điểm chung Các đối tượng được gom nhóm một cách tối ưu nhằm tối đa hóa mức độ tương tự trong cùng nhóm và giảm thiểu sự khác biệt giữa các nhóm khác nhau, giúp dễ dàng phân tích và hiểu rõ các đặc điểm của từng nhóm trong dữ liệu.
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 rộng rãi vào năm 1993 sau bài báo của Agrawal, và tính đến năm 2008 đã thu hút hơn 6.000 trích dẫn trên Google Scholar, thể hiện sự ảnh hưởng lớn trong lĩnh vực khai thác dữ liệu Tuy nhiên, khái niệm về luật kết hợp bắt nguồn từ năm 1966 với phương pháp Huga, một phương pháp khai thác dữ liệu tổng hợp do Petr Hájek cùng các cộng sự phát triển.
Khai phá luật kết hợp mô tả sự tương quan giữa các sự kiện xuất hiện đồng thời thường xuyên trong dữ liệu lớn Nhiệm vụ chính của phương pháp này là phát hiện các tập con sự kiện đồng thời xuất hiện trong các giao dịch lớn của cơ sở dữ liệu Thuật toán khai phá luật kết hợp giúp tạo ra các luật mô tả rõ ràng cách các sự kiện xảy ra cùng nhau một cách thường xuyên Quá trình này thường gồm hai giai đoạn chính: đầu tiên là xác định các sự kiện thường xuyên xuất hiện, thứ hai là tìm ra các luật kết hợp dựa trên các sự kiện này.
Luật kết hợp được ứng dụng rộng rãi trong các 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 phá luật kết hợp giúp phát hiện các luật có độ phổ biến tối thiểu (minimum support) và độ tin cậy tối thiểu (minimum confidence) đáp ứng các tiêu chuẩn đề ra trong dữ liệu đã cho Công cụ này đóng vai trò quan trọng trong phân tích dữ liệu để tối ưu hóa các quyết định kinh doanh và quản lý.
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 tôi giới thiệu về hàm tran(X), xác định tập hợp các giao tác trong T chứa tất cả các mục dữ liệu của X Cụ thể, tran(X) gồm tất cả các giao tác s sao cho với mọi x trong X, s.x bằng 1, nghĩa là mục dữ liệu x xuất hiện trong giao tác s Hàm này giúp xác định các giao tác liên quan đến một tập hợp mục dữ liệu cụ thể, hỗ trợ quá trình phân tích dữ liệu hiệu quả hơn Ngoài ra, bài viết cũng đề cập đến chức năng của hàm item, nhận vào tập con của T và trả về tập con của I, phục vụ mục đích xử lý dữ liệu trong các hệ thống quản lý dữ liệu.
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
Trong hệ quản trị cơ sở dữ liệu, I={i1, i2, , in} đại diện cho tập hợp các mục dữ liệu, còn T={t1, t2, , tm} là tập hợp các giao dịch Mỗi giao dịch được gắn kết với một định danh phân biệt duy nhất gọi là TID để dễ dàng theo dõi và quản lý Một giao dịch T được xem là chứa tập các mục X (X ⊆ I) nếu tất cả các mục trong X đều nằm trong tập các mục của giao dịch T, giúp xác định mối liên hệ giữa các giao dịch và dữ liệu trong hệ thống.
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
Trong khai phá luật kết hợp, các thuật toán phổ biến bao gồm Apriori, Eclat và FP-Growth, trong đó thuật toán Apriori được chọn để triển khai do tính đơn giản và dễ sử dụng Thuật toán Apriori do Rakesh Agrawal, Tomasz Imielinski và Arun Swami đề xuất lần đầu vào năm 1993, nhằm tìm các giao dịch có độ phổ biến và độ tin cậy phù hợp với ngưỡng đặt trước Quá trình bắt đầu bằng việc đếm các tập mục để xác định các tập phổ biến 1-Itemset, sau đó mở rộng để tìm các tập phổ biến k-Itemset dựa trên 3 bước chính Thuật toán sẽ xác định các tập phổ biến dựa trên các ngưỡng về mặt tần suất và độ tin cậy, giúp khai thác các luật kết hợp hiệu quả trong dữ liệu lớ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