Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/1.1 Khái niệm về khai phá tri thức và khai phá dữ liệu 1.2 Kiến trúc của hệ thống khai phá dữ liệu 1.3 Quá trình khai phá dữ liệu 1.4
Trang 1Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN & TRUYỀN THƠNG
-
-LÊ THỊ TUYẾT NHUNG
Tên đề tài:
KHAI PHÁ TẬP MỤC THƯỜNG XUYÊN ĐĨNG TRONG CƠ SỞ DỮ LIỆU VÀ ỨNG DỤNG
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số : 60.48.01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Hướng dẫn khoa học: TS NGUYỄN HUY ĐỨC
Trang 2Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
Thái Nguyên - 2013
LỜI CẢM ƠN
Trước hết em xin gửi lời cảm ơn đến TS Nguyễn Huy Đức, người thầy đã hướng dẫn em rất nhiều trong suốt quá trình tìm hiểu, nghiên cứu và hồn thành luận văn tốt nghiệp từ lý thuyết đến ứng dụng Sự hướng dẫn của thầy đã giúp em
cĩ thêm được những hiểu biết khai phá dữ liệu và ứng dụng của nĩ
Đồng thời em cũng xin chân thành cảm ơn các thầy cơ trong trường cũng như các thầy cơ ở Viện Khoa học và cơng nghệ Việt Nam đã tận tình giảng dạy, trang bị cho em những kiến thức cơ bản cần thiết để em cĩ thể hồn thành tốt luận văn
Em xin gửi lời cảm ơn đến gia đình, bạn bè đã tạo mọi điều kiện thuận lợi để
em cĩ thể xây dựng thành cơng luận văn này
Thái Nguyên, tháng 06 năm 2013
Trang 3Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
LỜI CAM ĐOAN
Tơi xin cam đoan đề tài “Khai phá tập mục thường xuyên đĩng trong cơ sở dữ liệu và ứng dụng ” là cơng trình nghiên cứu của bản thân tơi Các số liệu và kết quả
nghiên cứu nêu trong luận văn này là trung thực, được các tác giả cho phép sử dụng
và các tài liệu tham khảo như đã trình bày trong luận văn Tơi xin chịu trách nhiệm
về luận văn của mình
Trang 4Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
1.1 Khái niệm về khai phá tri thức và khai phá dữ liệu
1.2 Kiến trúc của hệ thống khai phá dữ liệu
1.3 Quá trình khai phá dữ liệu
1.4 Một số kỹ thuật khai phá dữ liệu
1.4.1 Phân lớp và dự đốn (Classification & Prediction)
1.4.2 Luật kết hợp (Association Rules)
1.4.3 Khai thác mẫu tuần tự (Sequential/ Temporal patterns)
1.4.4 Phân nhĩm - đoạn (Clustering/ Segmentation)
1.4.5 Hồi quy (Regression)
1.4.6 Tổng hợp hĩa (Summarization)
1.4.7 Mơ hình hĩa sự phụ thuộc (dependency modeling)
1.4.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection)
1.5 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu
1.6 Một số ứng dụng của khai phá dữ liệu
1.7 Khai phá luật kết hợp
1.7.1 Bài tốn phát hiện luật kết hợp
1.7.2 Các khái niệm
1.7.3 Các cách tiếp cận khai phá tập mục thường xuyên
1.7.4 Một số thuật tốn điển hình tìm tập mục thường xuyên
Trang 5Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
1.7.4.1 Thuật tốn Apriori (Phương pháp sinh ứng viên)
1.7.4.2 Thuật tốn FP-Growth
1.8 Kết luận chương 1
19
23
31
Chương 2: Khai phá tập mục thường xuyên đĩng trong cơ sở dữ liệu
2.1 Cơ sở tốn học của tập mục thường xuyên đĩng
2.1.1 Ánh xạ đĩng
2.1.2 Tập đĩng
2.1.3 Kết nối Galois
2.1.4 Bao đĩng của tập mục dữ liệu
2.2 Khái niệm, tính chất tập mục thường xuyên đĩng
2.3 Một số thuật tốn điển hình khai phá tập mục thường xuyên đĩng
2.3.1 Thuật tốn CHARM (Phương pháp dựa trên cây IT-Tree)
2.3.1.1 Giới thiệu thuật tốn CHARM
2.3.1.2 Cây tìm kiếm và lớp tương đương
2.3.1.3 Các tính chất cơ bản của cặp tập mục – tập định danh
2.3.1.4 Thiết kế thuật tốn
2.3.2 Thuật tốn Closet +
Chương 3: Chương trình thực nghiệm ứng dụng trong lĩnh vực y tế
3.1 Bài tốn phát hiện luật kết hợp trong dữ liệu y tế
Trang 6Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
Ck Tập các k tập mục ứng viên
BFS Breadth First Search
CHARM Closed Asociation RuleMning
DB Cơ sở dữ liệu giao tác
DFS Depth First Search
FP -growth Frequent -Pattern Growth
FP -tree Frequent pattern tree
IT-tree Itemset-Tidset tree
Trang 7Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
DANH MỤC CÁC BẢNG
Bảng 1.1 Cơ sở dữ liệu giao tác minh họa thực hiện thuật tốn Apriori
Bảng 1.2: CSDL giao tác minh họa cho thuật tốn FP-Growth
Bảng 2.1: a) CSDL giao tác biểu diễn ngang b) CSDL giao tác biểu diễn dọc Bảng 3.1 : Dữ liệu bệnh hen suyễn
Bảng 3.2: Lựa chọn thuộc tính
Bảng 3.3: Thuộc tính “Tuổi” sau khi phân hoạch
Bảng 3.4: Dữ liệu tìm kiếm sau khi thực hiện phân loại dữ liệu
Bảng 3.5: Chuyển đổi dữ liệu
Bảng 3.6: Dữ liệu cho khai phá
Trang 8Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
DANH MỤC HÌNH VẼ
Hình 1.1: Kiến trúc của một hệ thống khai phá dữ liệu
Hình 1.2: Quá trình khám phá tri thức
Hình 1.3: Quá trình khai phá dữ liệu
Hình 1.4: Cây FP-tree được xây dựng dần khi thêm các giao tác t1 ÷ t6
Hình 1.5: Cây FP-tree của CSDL DB trong bảng 1.5
Hình 2.1: Kết nối Galois
Hình 2.2: Cây IT-tree dùng Tidset với minSup =3
Hình 2.3: Cây IT-tree tìm tập mục thường xuyên đĩng thỏa mãn ngưỡng minsup =
50%
Hình 2.4: Áp dụng tính chất của tập thường xuyên đĩng
Hình 2.5: Minh họa xây dựng cây kết quả
Hình 3.1: Mơ hình khai phá cho dữ liệu y tế
Hình 3.2: Giao diện chính chứa dữ liệu gốc
Hình 3.3: Hiển thị dữ liệu chuyển đổi
Hình 3.4: Giao diện thêm mới bản ghi
Trang 9Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
MỞ ĐẦU
Khai phá dữ liệu (Data Mining), hiện nay đang được rất nhiều người chú ý Nĩ
thực sự đã đem lại những lợi ích đáng kể trong việc cung cấp những thơng tin tiềm
ẩn trong các cơ sở dữ liệu lớn, 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 Những “tri thức” chiết xuất từ nguồn cơ sở dữ liệu đĩ phục vụ các yêu cầu trợ giúp quyết định ngày càng
cĩ ý nghĩa quan trọng và là nhu cầu to lớn trong mọi lĩnh vực hoạt động kinh doanh, quản lý Tiến hành cơng việc như vậy chính là thực hiện quá trình phát triển tri thức trong cơ sở dữ liệu (Knowledge Discovery in Database) mà trong đĩ kỹ thuật khai phá dữ liệu (Data Mining) cho phép phát hiện những tri thức tiềm ẩn
Một trong các nội dung cơ bản trong khai phá dữ liệu là khai phá luật kết hợp Khai phá luật kết hợp gồm hai bước: Bước thứ nhất, tìm tất cả các tập mục thường xuyên, địi hỏi sự tính tốn lớn Bước thứ hai, dựa vào các tập mục thường xuyên tìm các luật kết hợp, địi hỏi tính tốn ít hơn, song gặp phải một vấn đề là cĩ thể sinh ra quá nhiều luật, vượt khỏi sự kiểm sốt của người khai phá hoặc người dùng, trong đĩ cĩ nhiều luật khơng cần thiết Để giải quyết vấn đề đĩ, trong bước thứ nhất, khơng cần thiết khai phá tất cả các tập mục thường xuyên mà chỉ cần khai phá các tập mục thường xuyên đĩng Khai phá luật kết hợp dựa trên tập mục thường xuyên đĩng cho hiệu quả cao hơn, nĩ đảm bảo khơng tìm ra các tập mục thường xuyên khơng cần thiết, khơng sinh ra các luật dư thừa
Với ý nghĩa đĩ và mục đích tìm hiểu về bài tốn tìm tập mục thường xuyên
trong cơ sở dữ liệu lớn, em đã quyết định lựa chọn đề tài “Khai phá tập mục thường
xuyên đĩng trong cơ sở dữ liệu và ứng dụng”
Nội dung luận văn gồm 3 chương:
Chương 1: Tổng quan về khai phá dữ liệu và khai phá tập mục thường xuyên Chương 2: Khai phá tập mục thường xuyên đĩng trong cơ sở dữ liệu
Chương 3: Chương trình thực nghiệm ứng dụng trong lĩnh vực y tế
Trang 10Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
VÀ KHAI PHÁ TẬP MỤC THƯỜNG XUYÊN
1.1 Khái niệm về khai phá tri thức và khai phá dữ liệu
"Khám phá tri thức là quá trình tìm ra những tri thức, đĩ là những mẫu tìm ẩn, trước đĩ chưa biết và là thơng tin hữu ích đáng tin cậy" Cịn khai phá dữ liệu (KPDL) là một bước quan trọng trong quá trình khám phá tri thức, sử dụng các thuật tốn KPDL chuyên dùng với một số qui định về hiệu quả tính tốn chấp nhận được để chiết xuất ra các mẫu hoặc các mơ hình cĩ ích trong dữ liệu Nĩi một cách khác, mục đích của khám phá tri thức và KPDL chính 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 (CSDL) nhưng vẫn cịn bị che khuất bởi hàng núi dữ liệu
Khám phá tri thức từ CSDL là một quá trình sử dụng các phương pháp và cơng
cụ tin học, trong đĩ con người là trung tâm của quá trình Do đĩ, con người cần phải
cĩ kiến thức cơ bản về lĩnh vực cần khám phá để cĩ thể chọn được tập con dữ liệu tốt,
từ đĩ phát hiện các mẫu phù hợp với mục tiêu đề ra Đĩ chính là tri thức, được rút ra
từ CSDL, thường để phục vụ cho việc giải quyết một loạt nhiệm vụ nhất định trong một lĩnh vực nhất định Tuy vậy, quá trình khám phá tri thức mang tính chất hướng nhiệm vụ vì khơng phải là mọi tri thức tìm được đều áp dụng vào thực tế được
Để cĩ được những thơng tin quý báu chúng ta phải tìm ra các mẫu cĩ trong tập CSDL trước Việc đánh giá các mẫu được tìm thấy cũng là một điều thú vị và tất yếu cĩ tính chất quyết định đến sự sử dụng hay khơng sử dụng chúng Đầu ra của một chương trình là khám phá những mẫu cĩ ích được gọi là tri thức Tri thức được khám phá cĩ các đặc điểm chính:
- Kiến thức cao cấp: Ngày càng cĩ nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã cĩ Quá trình để tìm ra kiến thức như vậy khơng phải từ những phương pháp thống kê cổ điển mà mà
nĩ được được đúc kết từ các kinh nghiệm đã cĩ, được thể hiện trong dữ liệu, những kết quả đĩ cĩ thể lĩnh hội được
Trang 11Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
- Độ chính xác: Dù cho những mẫu khai phá thật sự cĩ trong CSDL hay khơng thì việc đo lường trị giá của chúng là bắt buộc phải cĩ Chúng ta sẽ chỉ sử dụng những mẫu nào cĩ độ chính xác càng cao thì hiệu quả cơng việc đạt được càng lớn, những mẫu cĩ độ chính xác chưa được xác định rõ ràng hoặc khơng cao thì khơng nên sử dụng chúng
- Tính hấp dẫn: Khám phá tri thức được coi là lý thú vì nĩ cĩ thể vạch ra các
xu hướng một cách hồn thiện Đĩ là những điều mới lạ hay những quy trình tìm năng, hữu ích ẩn chứa từ trong dữ liệu trước đĩ
- Tính hiệu quả: thời gian chạy của thuật tốn khám phá tri thức trên CSDL lớn cĩ thể dự tính và chấp nhận được
Dữ liệu là tập hợp những bộ thơng tin chính xác và quá trình khám phá tri thức được xem là sự lọc bỏ các dư thừa, được rút gọn tới mức tối thiểu chỉ để lại các đặc trưng cơ bản cho dữ liệu Tri thức được tìm thấy 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ệ trong chúng Các mối 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ếu khám phá tri thức là tồn bộ quá trình chiết xuất tri thức từ các CSDL thì KPDL là giai đoạn chủ yếu của quá trình đĩ KPDL là một quá trình phát hiện các mẫu mới, thường bao gồm việc thử tìm mơ hình phù hợp với tập dữ liệu và tìm kiếm các mẫu từ tập dữ liệu theo mơ hình đĩ Sử dụng các kỹ thuật và các khái niệm của các lĩnh vực đã được nghiên cứu từ trước như: học máy, nhận dạng, thống kê, hồi quy, xếp loại, phân nhĩm, các mơ hình đồ thị, các mạng Bayes, Hầu hết các CSDL đều chứa rất nhiều các mẫu mới và cĩ ích, tuy nhiên mẫu cĩ giá trị với mục tiêu đặt ra phải là những mẫu khơng tầm thường Để các mẫu trở nên khơng tầm thường, hệ thống phải làm nhiều hơn là chỉ mị mẫm thống kê vì kết quả của việc tính tốn trực tiếp qua cơng tác thống kê là đã cĩ đối với người dùng Một hệ thống tìm kiếm cần phải cĩ khả năng quyết định cần thực hiện tính tốn nào và kết quả là cĩ đáng quan tâm để tạo nên tri thức trong ngữ cảnh hiện tại hay khơng
KPDL được sử dụng để tạo ra giả thuyết Ví dụ như để xác định các yếu tố rủi
ro khi cho vay tín dụng, kỹ thuật KPDL phải phát hiện được những người cĩ thu
Trang 12Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
nhập thấp và nợ nhiều là những người sẽ cĩ mức rủi ro cao Ngồi ra kỹ thuật cũng
cĩ thể phát hiện ra những quy luật mà nhà phân tích cĩ thể chưa tìm ra ví dụ như tỷ
lệ giữa thu nhập trên nợ và tuổi cũng là các yếu tố xác định mức rủi ro Để làm được điều này, KPDL sử dụng các thơng tin trong quá khứ để học Nĩ sẽ tìm kiếm các thơng tin này trong các CSDL và sử dụng chúng để tìm ra các mẫu đáng quan tâm Nếu xét về mặt ý tưởng và mục đích ứng dụng, KPDL là một nhu cầu tất yếu, một
sự nhạy cảm đáp lại sự mong mỏi của giới kinh doanh thì về mặt kỹ thuật, đĩ thực
sự là một khĩ khăn và là cả sự thách thức đối với những nhà khoa học KPDL được xây dựng dựa trên việc sử dụng các giải thuật mới, được định hướng theo như cầu kinh doanh để cĩ thể giải quyết tự động các bài tốn kinh doanh bằng các kỹ thuật dễ dùng và cĩ thể hiểu được Các kỹ thuật đang được nghiên cứu và sử dụng hiện nay bao gồm cây quyết định (CART, CHAID, AID), mạng neuron, phương pháp láng giềng gần nhất, các luật suy diễn, KPDL khơng thuộc một ngành cơng nghiệp nào Nĩ sử dụng các kỹ thuật thơng minh để khai phá các tri thức tiềm ẩn trong dữ liệu
1.2 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 KPDL điển hình cĩ thể cĩ các thành phần như hình 1.1 [8]:
Hình 1.1: Kiến trúc của một hệ thống khai phá dữ liệu
Trang 13Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
- CSDL, kho dữ liệu hoặc nơi lưu trữ thơng tin khác (Databases, Data warehouse, ): Đây là một hay một tập các CSDL, các kho dữ liệu, các trang tính hay các dạng lưu trữ thơng tin khác Các kỹ thuật làm sạch dữ liệu và tích hợp dữ liệu cĩ thể được thực hiện trên những dữ liệu này
- Máy chủ CSDL hay máy chủ kho dữ liệu (Database or warehouse server): Máy chủ này cĩ trách nhiệm lấy những dữ liệu thích hợp dựa trên các yêu cầu khai phá của người dùng
- Cơ sở tri thức (Knowledge base): Đây là miền tri thức được dùng để hướng dẫn việc tìm kiếm hay đánh giá độ quan trọng của các hình mẫu kết quả
- Máy KPDL (Data mining engine): Một hệ thống KPDL cần phải cĩ một tập các mơđun chức năng để thực hiện cơng việc như: đặc trưng hĩa, kết hợp, phân lớp, phân cụm, phân tích sự tiến hĩa
- Mơđun đánh giá mẫu (Pattern evaluation): Bộ phận này tương tác với các mơđun KPDL để 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ể mơđun đánh giá mẫu được tích hợp vào mơđun khai phá, tùy theo sự cài đặt của phương pháp khai phá đượ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 KPDL Ngồ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 (hay các cấu trúc dữ liệu), các đánh giá mẫu và hiển thị các mẫu trong khuơn dạng khác nhau
1.3 Quá trình khai phá dữ liệu
Hình 1.2: Quá trình khám phá tri thức
Trang 14Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
Quá trình khám phá tri thức từ CSDL là một quá trình cĩ sử dụng nhiều phương pháp và cơng cụ tin học nhưng vẫn là một quá trình mà trong đĩ con người là trung tâm Do đĩ, nĩ khơng phải là một hệ thống phân tích tự động mà là một hệ thống bao gồm nhiều hoạt động tương tác thường xuyên giữa con người và CSDL, tất nhiên là với sự hỗ trợ của các cơng cụ tin học Người sử dụng hệ thống ở đây phải là người
cĩ kiến thức cơ bản về lĩnh vực cần phát hiện tri thức để cĩ thể chọn được đúng các tập con dữ liệu, các lớp mẫu phù hợp và đạt tiêu chuẩn quan tâm so với mục đích Tri thức mà ta nĩi ở đây là các tri thức rút ra từ các CSDL, thường để phục vụ cho việc giải quyết một loạt nhiệm vụ nhất định trong một lĩnh vực nhất định Do đĩ, quá trình phát hiện tri thức cũng mang tính chất hướng nhiệm vụ, khơng phải là phát hiện mọi tri thức bất kỳ mà là phát hiện tri thức nhằm giải quyết tốt nhiệm vụ đề ra
(1) Gom dữ liệu (Gathering): Tập hợp dữ liệu là bước đầu tiên trong quá trình khai
phá dữ liệu Đây là bước được khai thác trong một CSDL, một kho dữ liệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web
(2) Trích lọc dữ liệu (Selection): Ở giai đoạn này lựa chọn những dữ liệu phù hợp
với nhiệm vụ phân tích trích rút từ CSDL
(3) Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing, Pre-processing and
Preparation)
Giai đoạn thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nĩ là một bước rất quan trọng trong quá trình khai phá dữ liệu Một số lỗi thường mắc phải trong khi gom dữ liệu là tính khơng đủ chặt chẻ, logic Vì vậy, dữ liệu thường chứa các giá trị
vơ nghĩa và khơng cĩ khả năng kết nối dữ liệu, ví dụ: điểm = -1 Giai đoạn này sẽ tiến hành xử lý những dạng dữ liệu khơng chặt chẽ nĩi trên Những dữ liệu dạng này được xem như thơng tin dư thừa, khơng cĩ giá trị Bởi vậy, đây là một quá trình rất quan trọng vì dữ liệu này nếu khơng được "làm sạch" sẽ gây nên những kết quả sai lệch nghiêm trọng
(4) Chuyển đổi dữ liệu (Transformation): Tiếp theo là giai đoạn chuyển đổi dữ liệu,
dữ liệu được chuyển đổi hay được hợp nhất về dạng thích hợp cho việc khai phá
Trang 15Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
(5) Khai phá dữ liệu (Data Mining): Đây là một tiến trình cốt yếu Ở giai đoạn này
nhiều thuật tốn khác nhau đã được sử dụng một cách phù hợp để trích xuất thơng tin cĩ ích hoặc cá mẫu điển hình trong dữ liệu
(6) Đánh giá kết quả mẫu (Evaluation of Result): Đây là giai đoạn cuối trong quá
trình khai phá dữ liệu Ở giai đoạn này, các mẫu dữ liệu được chiết xuất, khơng phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đơi khi nĩ cịn bị sai lệch Vì vậy, cần phải
ưu tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức cần thiết
Từ quá trình khám phá tri thức trên chúng ta thấy được sự khác biệt giữa khám phá tri thức và khai phá dữ liệu Trong khi khám phá tri thức là nĩi đến quá trình tổng thể phát hiện tri thức hữu ích từ dữ liệu Cịn KPDL chỉ là một bước trong quá trình khám phá tri thức, các cơng việc chủ yếu là xác định được bài tốn khai phá, tiến hành lựa chọn phương pháp KPDL phù hợp với dữ liệu cĩ được và tách ra các tri thức cần thiết
Quá trình khai phá dữ liệu được thể hiện bởi mơ hình sau:
Hình 1.3: Quá trình khai phá dữ liệu
- Xác định nhiệm vụ: Xác định chính xác vấn đề cần giải quyết
- Xác định các dữ liệu liên quan dùng để xây dựng giải pháp
- Thu thập các dữ liệu cĩ liên quan và xử lý chúng thành dạng sao cho giải thuật KPDL cĩ thể hiểu được Ở đây cĩ thể gặp một số vấn đề: Dữ liệu phải được sao ra nhiều bản (nếu được chiết suất vào các tệp), quản lý tập các tệp dữ liệu, phải lặp đi lặp lại nhiều lần tồn bộ quá trình (nếu mơ hình dữ liệu thay đổi, )
- Chọn thuật tốn KPDL thích hợp và thực hiện việc KPDL: nhằm tìm được các mẫu (pattern) cĩ ý nghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa đĩ
Xác định
nhiệm vụ
Xác định
dữ liệu liên quan
Thu thập
và tiền xử
lý dữ liệu
Thống kê tĩm tắt
DL trực tiếp
Giải thuật khai phá
dữ liệu Mẫu
Trang 16Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
1.4 Một số kỹ thuật khai phá dữ liệu
Các kỹ thuật KPDL được cĩ thể chia làm 2 nhĩm chính:
- Kỹ thuật KPDL mơ tả: 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ĩ Nhĩm kỹ thuật này gồm các phương pháp:
phân nhĩm (Clustering), tổng hợp hĩa (Summerization), phát hiện sự biến đổi và độ lệch (Change and deviation detection), phân tích luật kết hợp (Association Rules),
- Kỹ thuật KPDL dự đốn: cĩ nhiệm vụ đưa ra các dự đốn dựa vào các suy
diễn trên dữ liệu hiện thời Nhĩm kỹ thuật này gồm các phương pháp: phân lớp
(Classification), hồi quy (Regression),
1.4.1 Phân lớp và dự đốn (Classification & Prediction)
Là đặt các mẫu vào các lớp được xác định trước Nhiệm vụ chính là tìm các hàm ánh
xạ các mẫu dữ liệu một cách chính xác vào trong các lớp.Ví dụ một ngân hàng muốn phân loại các khách hành của họ vào trong hai nhĩm cĩ nợ hay khơng nợ, từ
đĩ giúp họ ra quyết định cho vay hay khơng cho vay Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng mơ hình và sử dụng mơ hình để phân lớp dữ liệu
- Bước 1: Một mơ hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ
liệu sẵn cĩ Mỗi mẫu tương ứng với một lớp, được quyết đị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
(training data set) 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ịn được gọi là học cĩ giám
sát (supervised learning) khác với phân nhĩm dữ liệu là học khơng cĩ giám sát (unsupervised learning)
- Bước 2: Sử dụng mơ hình để phân lớp 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ự đốn nhãn lớp cho các mẫu dữ liệu khác trong tương lai
Trong kỹ thuật phân lớp chúng ta cĩ thể sử dụng các phương pháp như: Cây quyết
định (Decision Tree), K-Láng giềng gần nhất (k-Nearest Neighbor), Mạng Nơron (Neural networks), Giải thuật di truyền (Genetic algorithms), Mạng Bayesian (Bayesian networks), Tập mờ và tập thơ (Rough and Fuzzy Sets)
Trang 17Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
a) Cây quyết định (Decision Tree)
Các kỹ thuật phân lớp sử dụng cây quyết định để phân tách các dữ liệu cho đến khi mỗi phần chứa đựng hầu hết các mẫu từ một lớp đặc trưng, kết quả của quá trình
sẽ cho ra một cây quyết định Điểm phân tách trong cây quyết định là một nút (khơng phải là nút lá) sẽ sử dụng một số điều kiện để quyết định dữ liệu sẽ được phân tách như thế nào Các nút cuối cùng trong cây quyết định chứa đựng các bộ mẫu giống nhau Lợi thế của cây quyết định là các thuật tốn chạy khá nhanh, với kết quả khá tốt và cĩ thể giải thích được rõ ràng Tuy nhiên, bất lợi mà các thuật tốn của cây quyết định cĩ thể gặp phải đĩ là chúng cĩ thể tìm ra các điểm tới hạn cục bộ, đưa
ra các kết quả khơng đúng
b) K-láng giềng gần nhất (k-Nearest Neighbor)
Thuật tốn này tìm ra các láng giềng gần nhất của mẫu thử nghiệm và quy về các nhãn lớp của chúng dựa trên các nhãn đa số, điều đĩ cĩ nghĩa là các mẫu được quy
về cùng lớp khi chúng là lân cận của nhau Kỹ thuật này cho rằng vị trí trong khơng gian đặc trưng hàm ý một quan hệ họ hàng gần gũi ở giữa các nhãn lớp
Lợi thế của các thuật tốn K-Láng giềng gần nhất là dễ thực thi, và kết quả mà nĩ đem lại khả năng dễ dàng giải thích Nhưng một điểm bất lợi là các thuật tốn này đưa ra các mơ hình rất lớn với một tập dữ liệu nhỏ
c) Mạng nơron (Neural networks)
Mạng nơron là mạng được mơ phỏng theo bộ não của con người Đĩ là một cấu trúc dữ liệu của các hàm với một hoặc nhiều trọng số đầu vào, với kết quả đầu ra là một nhãn các lớp Từng phần riêng biệt của dữ liệu được đưa vào mạng nơron và các hàm - các trọng số trong mạng nơron bị thay đổi (học - huấn luyện) tùy theo tỷ
lệ lỗi của đầu ra Phương pháp này thường đưa đến một khoảng thời gian huấn luyện dài ngay cả khi tập dữ liệu nhỏ
Lợi thế của mạng nơron là đưa đến các kết quả khá chính xác, nhưng bất lợi của
nĩ là thường địi hỏi thời gian huấn luyện dài và đưa ra các kết quả khĩ hiểu, cứng nhắc, bị bao bọc trong một hộp đen, khĩ giải thích tường minh
Trang 18Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
d) Giải thuật di truyền (Genetic algorithms)
Các giải thuật di truyền được sử dụng để đưa ra cơng thức giả thuyết về sự phụ thuộc giữa các biến Đối với một giải thuật di truyền phải sử dụng các giải pháp như cạnh tranh, lựa chọn và kết hợp giữa các tập hợp cá thể
Lợi thế của Giải thuật di truyền là thường đưa đến các kết quả kiểm tra khá chính xác, nhưng bất lợi của nĩ là kết quả cĩ được thơng qua việc lập trình tiến hĩa và các kết quả cũng thường cứng nhắc, khĩ hiểu
e) Mạng Bayesian (Bayesian networks)
Trong mạng Bayesian sử dụng các đồ thị cĩ hướng, khơng cĩ chu trình để miêu
tả sự phân lớp cĩ thể được Các đồ thị này cũng cĩ thể được sử dụng để miêu tả các tri thức chuyên gia Các nút miêu tả các biến thuộc tính và các trạng thái (sự kiện)
và mỗi một cạnh miêu tả khả năng sự phụ thuộc giữa chúng Kết hợp với mỗi nút là các lớp cục bộ cĩ thể và các cung được vẽ từ nút nguyên nhân đến nút bị ảnh hưởng KPDL trong mạng Bayesian bao gồm việc sử dụng đầu vào các tri thức chuyên gia và sau đĩ sử dụng một CSDL để cập nhật, lọc và cải tiến tri thức đĩ trong mạng Các đồ thị mới cĩ thể là kết quả từ các cải tiến này và nguyên nhân của các mối quan hệ giữa các nút kết quả cĩ thể được giải thích một cách dễ dàng
Lợi thế của mạng Bayesian là thường đưa ra các kết quả dễ hiểu, nhưng bất lợi của nĩ là cần thu thập được các tri thức chuyên gia truyền thống
f) Tập mờ và tập thơ (Rough and Fuzzy Sets)
Lý thuyết về tập mờ và tập thơ dựa trên một sơ sở tốn học khơng chắc chắn Đối với các mơ hình tập thơ, một giới hạn trên và giới hạn dưới sẽ được xác định Một tập thơ định nghĩa một lớp C là một xấp xỉ bởi hai tập Tập cận dưới (lower) của C bao gồm tất cả các mẫu dữ liệu, mà dựa vào tri thức của các mẫu dữ liệu cĩ thể quyết định một mẫu bất kỳ thuộc phân lớp C một cách rõ ràng Tập cận trên của C bao gồm tất cả các mẫu với giá trị của thuộc tính được mơ tả khơng thể thuộc vào phân lớp C Mơ hình tập mờ khơng dốc về cực đại cục bộ bằng các thuật tốn cây quyết định, và cũng giống như mơ hình tập thơ, chúng dùng để đối phĩ với những điều khơng chắc chắn tốt hơn bất kỳ một thuật tốn nào khác
Trang 19Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
1.4.2 Luật kết hợp (Association Rules)
Luật kết hợp là dạng luật biểu diễn tri thức ở dạng tương đối đơn giản 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 CSDL Mẫu đầu ra của giải thuật KPDL là tập luật kết hợp tìm được
Tuy luật kết hợp là một dạng luật khá đơn giản nhưng lại mang rất nhiều ý nghĩa Thơng tin mà dạng luật này đem lại rất cĩ lợi trong các hệ hỗ trợ ra quyết định Tìm kiếm được những luật kết hợp đặc trưng và mang nhiều thơng tin từ CSDL tác nghiệp là một trong những hướng tiếp cận chính của lĩnh vực khai phá dữ liệu
1.4.3 Khai thác mẫu tuần tự (Sequential/ Temporal patterns)
Tương tự như khai thác luật kết hợp nhưng cĩ thêm tính thứ tự và tính thời gian Một luật mơ tả mẫu tuần tự cĩ dạng tiêu biểu X -> Y phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện kế tiếp biến cố Y Hướng tiếp cận này cĩ tính
dự báo cao
1.4.4 Phân nhĩm - đoạn (Clustering/ Segmentation)
Mục tiêu chính của việc phân nhĩ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 nhĩm sao cho mức độ tương tự giữa các đối tượng
trong cùng một nhĩm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các nhĩm khác nhau là nhỏ nhất Các nhĩm cĩ thể tách nhau hoặc phân cấp gối lên nhau và số lượng các nhĩm là chưa biết trước Một đối tượng cĩ thể vừa thuộc nhĩm này, nhưng cũng cĩ thể vừa thuộc nhĩm khác Khơng giống như phân lớp dữ liệu, phân nhĩm dữ liệu khơng địi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế, cĩ thể coi phân nhĩm dữ liệu là một cách học bằng quan sát (learning
by observation), trong khi phân lớp dữ liệu là học bằng ví dụ (learning by example) Trong phương pháp này bạn sẽ khơng thể biết kết quả các nhĩm thu được sẽ như thế nào khi bắt đầu quá trình Vì vậy, thơng thường cần cĩ một chuyên gia về lĩnh vực
đĩ để đánh giá các nhĩm thu được Phân nhĩm cịn được gọi là học khơng cĩ giám sát (unsupervised learning) Phân nhĩ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 20Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
trang Web, Ngồi ra phân nhĩm dữ liệu cịn cĩ thể được sử dụng như một bước tiền
xử lý cho các thuật tốn KPDL khác
1.4.5 Hồi quy (Regression)
Hồi quy là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đốn
cĩ giá trị thực Nhiệm vụ của hồi quy 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 Việc dự báo các giá trị
số thường được làm bởi các phương pháp thống kê cổ điển chẳng hạn như hồi quy tuyến tính Tuy nhiên phương pháp mơ hình hĩa cũng cĩ thể được sử dụng như cây quyết định
1.4.7 Mơ hình hĩa sự phụ thuộc (dependency modeling)
Là việc tìm kiếm một mơ hình mơ tả sự phụ thuộc giữa các biến, thuộc tính theo hai mức Mức cấu trúc của mơ hình mơ tả (thường dưới dạng đồ thị), trong đĩ, các biến phụ thuộc bộ phận vào các biến khác Và mức định lượng mơ hình mơ tả mức
độ phụ thuộc Những phụ thuộc này thường được biểu thị dưới dạng theo luật "nếu - thì" - nếu tiền đề đúng thì kết luận đúng Về nguyên tắc, cả tiền đề và kết luận đều
cĩ thể là sự kết hợp logic của các giá trị thuộc tính Trên thực tế, tiền đề thường là nhĩm các giá trị thuộc tính và kết luận chỉ là một thuộc tính Hơn nữa, hệ thống cĩ thể phát hiện các luật phân lớp trong đĩ tất cả các luật cần phải cĩ cùng một thuộc tính do người dùng chỉ ra trong kết luận Quan hệ phụ thuộc cũng cĩ thể biểu diễn dưới dạng mạng tin cậy Bayes Đĩ là đồ thị cĩ hướng, khơng chu trình Các nút biểu diễn thuộc tính và trọng số của liên kết phụ thuộc giữa các nút đĩ
Trang 21Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
1.4.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection)
Tập trung vào khám phá hầu hết sự thay đổi cĩ nghĩa dưới dạng độ đo đã biết trước hoặc giá trị chuẩn, phát hiện độ lệch đáng kể giữa nội dung của tập con dữ liệu thực và nội dung mong đợi Hai mơ hình độ lệch hay dùng là lệch theo thời gian và lệch theo nhĩm Độ lệch theo thời gian là sự thay đổi cĩ ý nghĩa của dữ liệu thời gian
Độ lệch theo nhĩm là sự khác nhau của dữ liệu trong hai tập con dữ liệu, ở đây xét
cả trường hợp tập con dữ liệu này thuộc tập con kia Nghĩa xác định dữ liệu trong một nhĩm con của đối tượng cĩ khác đáng kể so với tồn bộ đối tượng khơng? Theo cách này, sai sĩt dữ liệu hay sai lệch so với giá trị thơng thường sẽ được phát hiện
1.5 Các cơ sở dữ liệu phục vụ cho 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ệ (relational databases): là những CSDL được tổ chức theo
mơ hình quan hệ Hiện nay, các hệ quản trị CSDL đều hỗ trợ mơ hình này như: MS Access, MS SQL Server, Oracle, IBM DB2,
Cơ sở dữ liệu đa chiều (multidimention structures, data warehouse, data mart):
cịn được gọi là nhà kho dữ liệu, trong đĩ dữ liệu được chọn từ nhiều nguồn khác nhau và chứa những đặc tính lịch sử thơng qua thuộc tính thời gian tường minh hoặc ngầm định
Cơ sở dữ liệu giao tác (transaction databases): là loại dữ liệu được sử dụng
nhiều trong siêu thị, thương mại, ngân hàng,
Cơ sở dữ liệu quan hệ - hướng đối tượng (object relational databases): mơ hình
CSDL này là lai giữa mơ hình hướng đối tượng và mơ hình CSDL quan hệ
Cơ sở dữ liệu khơng gian và thời gian (spatial, temporal, and time - series data):
chứa những thơng tin về khơng gian địa lý hoặc thơng tin theo thời gian
Cơ sở dữ liệu đa phương tiện (Multimedia database): là loại dữ liệu cĩ nhiều
trên mạng, bao gồm các loại như âm thanh, hình ảnh, video, văn bản và nhiều kiểu
dữ liệu định dạng khác
Trang 22Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
1.6 Một số ứng dụng của khai phá dữ liệu [13]
KPDL cĩ nhiều ứng dụng trong thực tế, một số ứng dụng điển hình như:
- Bảo hiểm, tài chính và thị trường chứng khốn: phân tích tình hình tài chính và dự
báo giá của các loại cổ phiếu trong thị trường chứng khốn Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận,
- Điều trị y học và chăm sĩc y tế: một số thơng tin về chẩn đốn bệnh lưu trong các
hệ thống quản lý bệnh viện Phân tích mối liên hệ giữa triệu chứng bệnh, chẩn đốn
và phương pháp điều trị (chế độ dinh dưỡng, thuốc, )
- Sản xuất và chế biến: qui trình, phương pháp chế biến và xử lý xử cố
- Text mining & Web mining: phân lớp văn bản và các trang web, tĩm tắt văn bản,
- Lĩnh vực khoa học: quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìm
kiếm, so sánh các hệ gene và thơng tin di truyền, mối liên hệ gene và các bệnh di truyền,
- Lĩnh vực khác: viễn thơng, mơi trường, thể thao, âm nhạc, giáo dục,
1.7 Khai phá luật kết hợp [3]
1.7.1 Bài tốn phát hiện luật kết hợp
Bài tốn được Agrawalth ộc nhĩm ng iên cứu của IBM đưa ra vào năm 1 94 Bài tố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 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 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ách hàng đỡ mất cơng tìm kiếm
Bài tốn trên hồn tồn cĩ thể áp dụng trong các lĩnh vực khác 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
Trang 23Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
- 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” (mirror website) Khai phá luật kết hợp được mơt 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 tố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
1.7.2 Các khái niệm
Cho I = {I1, I2, ,In} là tập hợp của n mục dữ liệu Giả sử D là CSDL, với các bản ghi chứa một tập con T các mục dữ liệu, 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
I, thỏa mãn điều kiện X Y Các tập hợp X và Y được gọi là các tập mục dữ liệu (itemset) Tập X gọi là tiền đề, tập Y gọi là kết luận
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
* Khái niệm: Độ hỗ trợ
Định nghĩa 1.1: Độ hỗ trợ của một tập mục X trong CSDL 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 mục X), ký hiệu là support(X) hay supp(X)
Ta cĩ: 0 supp(X) 1 với mọi tập hợp X
Định nghĩa 1.2: Độ hỗ trợ của một luật kết hợp XY là độ hỗ trợ của tập X Y
Supp(XY) = Supp(X U Y) Khi chúng ta nĩi rằng độ hỗ trợ của một luật là 50%, nghĩa là cĩ 50% tổng số bản ghi chứa X Y Như vậy, độ hỗ trợ mang ý nghĩa thống kê của luật
Trang 24Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
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 hàng tạp phẩm) Nhưng cũng cĩ trường hợp, mặ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)
* Khái niệm: Độ tin cậy
Định nghĩa 1.3: Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các bản
ghi trong D chứa X Yvớ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(XY)
Conf(XY) = supp(X Y)/supp(X)
Nhận xét:
+ Ta cĩ 0 ≤ conf(XY) ≤ 1
+ Độ hỗ trợ và độ tin cậy cĩ xác suất sau:
Supp(XY) = P(X Y) Conf(XY) = P(Y / X)Nĩi rằng độ tin cậy của một luật là 90%, 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 để xảy ra sự kiện Y với điều kiện cĩ X đạt 90%”
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 dữ liệu bán hàng của siêu thị ta được luật: 85% 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 85% 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 trong 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, tiềm ẩn trong dữ liệu Những tri thức này khơng đơ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 tốn khá phức tạp
Trang 25Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
* Khái niệm: Tập mục thường xuyên
Định nghĩa 1.4: Tập mục X được gọi là tập mục thường xuyên (Frenquent Itemset)
nếu supp(X) ≥ minsup, với minsup là ngưỡng độ hỗ trợ cho trước Kí hiệu các tập
này là FI
Tính chất tập mục thường xuyên:
Tính chất 1.1: Giả sử A, B I với A B thì supp(A) ≥ supp(B)
Tính chất 1.2: Tập con của tập mục thường xuyên là tập mục thường xuyên
Tức là: với A, B I, nếu A B và B là tập mục thường xuyên thì A cũng là tập mục thường xuyên
Tính chất 1.2 cĩ thể phát biểu lại như sau: nếu A B và A là tập mục khơng thường xuyên thì B cũng là tập mục khơng thường xuyên
Định nghĩa 1.5: Một tập mục X được gọi là tập mục thường xuyên đĩng (closed)
nếu khơng cĩ tập cha nào của X cĩ cùng độ hỗ trợ với nĩ Ký hiệu tập các tập mục thường xuyên đĩng là FCI
Định nghĩa 1.6: Nếu X là tập mục thường xuyên và khơng tập cha nào cuả X là
thường xuyên, ta nĩi rằng X là một tập thường xuyên cực đại (Maximally Frequent Itemset) Ký hiệu tập tất cả các tập mục thường xuyên cực đại là MFI Dễ thấy MFI FCI FI
Bài tốn khai phá luật kết hợp được chia thành hai bài tốn con Bài tốn thứ nhất là tìm tất cả các tập mục thỏa mãn độ hỗ trợ tối thiểu cho trước, tức là tìm tất
cả các tập mục thường xuyên Bài tốn thứ hai là sinh ra các luật kết hợp từ các tập mục thường xuyên đã tìm được thỏa mãn độ tin cậy tối thiểu cho trước
Bài tốn thứ hai được giải quyết như sau : giả sử đã tìm được X là tập mục thường xuyên, ta sinh ra các luật kết hợp bằng cách tìm Y X, kiểm tra độ tin cậy của luật X Y\ Y cĩ thỏa mãn độ tin cậy tối thiểu khơng Bài tốn thứ hai này
đơn giản, mọi khĩ khăn nằm ở bài tốn thứ nhất, hầu hết các nghiên cứu về luật kết hợp đều tập trung giải quyết bài tốn thứ nhất là tìm các tập mục thường xuyên
Trang 26Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
1.7.3 Các cách tiếp cận khai phá tập mục thường xuyên
Các nghiên cứu về khai phá tập mục thường xuyên tập trung vào tìm các thuật tốn mới hoặc đề xuất giải pháp nâng cao hiệu quả các thuật tốn đã cĩ Phần này sẽ trình bày khái quát các kỹ thuật chính để khai phá tập mục thường xuyên
Bài tốn khai phá tập mục thường xuyên cĩ thể chia thành hai bài tốn nhỏ: Tìm các tập mục ứng viên và tìm các tập mục thường xuyên Tập mục ứng viên là tập mục mà ta hy vọng nĩ là tập mục thường xuyên, phải tính độ hỗ trợ của nĩ để kiểm tra Tập mục thường xuyên là tập mục cĩ độ hỗ trợ lớn hơn hoặc bằng ngưỡng
hỗ trợ tối thiểu cho trước Đã cĩ rất nhiều thuật tốn tìm tập mục thường xuyên được cơng bố, ta cĩ thể phân chúng theo hai tiêu chí sau:
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
Phương pháp duyệt qua khơng gian tìm kiếm được phân làm hai cách: Duyệt theo chiều rộng (Breadth First Search – BFS) và duyệt theo chiều sâu (Depth First Search – DFS)
Duyệt theo chiều rộng là duyệt qua cơ sở dữ liệu gốc để tính độ hỗ trợ của tất cả các tập mục ứng viên cĩ (k-1) mục trước khi tính độ hỗ trợ của các tập mục ứng viên cĩ k mục Với cơ sở dữ liệu cĩ n mục dữ liệu, lần lặp thứ k phải kiểm tra độ hỗ
Phương pháp xác định độ hỗ trợ của tập mục X được chia làm hai cách: Cách thứ nhất là đếm số giao tác chứa X trong cơ sở dữ liệu Cách thứ hai là tính phần giao của các tập chứa định danh của các giao tác chứa X
Trang 27Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
L k
Tập các k-tập mục thường xuyên (với độ hỗ trợ tối thiểu
minsup) Mỗi phần tử của tập này cĩ 2 trường :
i) Tập mục (itemsets) ii) Độ hỗ trợ (count)
C k Tập các k-tập mục ứng viên (các tập mục thường xuyên tiềm
năng) Mỗi phần tử của tập này cĩ 2 trường:
i) Tập mục (itemsets) ii) Độ hỗ trợ (count)
Phần tiếp theo mơ tả chi tiết nội dung hai thuật tốn tiêu biểu cho hai phương pháp: Duyệt theo chiều rộng và duyệt theo chiều sâu Thuật tốn Apriori tiêu biểu cho phương pháp duyệt theo chiều rộng Thuật tốn FP-Growth đại diện cho phương pháp duyệt theo chiều sâu
1.7.4 Một số thuật tốn điển hình tìm tập mục thường xuyên
1.7.4.1 Thuật tốn Apriori
Apriori là thuật tốn khai phá tập mục thường xuyên do R Agrawal và R Srikant đề xuất vào năm 1993 [4] Ý tưởng của thuật tốn Apriori cũng là nền tảng cho việc phát triển nhiều thuật tốn khai phá tập mục thường xuyên khác về sau
Ý tưởng chính của thuật tốn như sau: sinh ra các tập mục ứng viên từ các tập mục thường xuyên ở bước trước, sử dụng kỹ thuật “tỉa” để bỏ đi những tập mục ứng
viên khơng thỏa mãn ngưỡng hỗ trợ cho trước Cơ sở của kỹ thuật này là tính chất:
Bất kỳ tập con nào của tập mục thường xuyên cũng phải là tập mục thường xuyên
Vì vậy các tập mục ứng viên gồm k mục cĩ thể được sinh ra bằng cách kết nối các tập mục thường xuyên cĩ (k-1) mục và loại bỏ tập mục ứng viên nếu nĩ cĩ chứa bất
kỳ một tập con nào khơng phải là thường xuyên.Giả sử các mục dữ liệu trong mỗi giao tác được lưu theo trật tự từ điển Thuật tốn sử dụng các ký hiệu sau đây:
Thuật tốn duyệt cơ sở dữ liệu nhiều lần Mỗi lần duyệt, thuật tốn thực hiện
hai bước: bước kết nối và bước tỉa Trong lần lặp thứ k, thuật tốn nối hai (k-1)-tập
Trang 28Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
mục để sinh ra k-tập mục, sử dụng tính chất Apriori để tỉa các tập ứng viên Bước nối và bước tỉa như sau:
Bước kết nối (tìm Ck): Tập các k-tập mục ứng viên Ck được sinh ra bởi việc kết nối
Lk-1 với chính nĩ Hai tập mục l1 và l2 của Lk-1 được nối nế
(l1[1] = l2[1]) (l1[2] = l2[2]) … (l1[k-2] = l2[k-2]) (l1[k-1] < l2[k-1]) Dạng của tập mục nhận được bởi nối l1 và l2 là: l1[1] l1[2] … l1[k-2] l1[k-1] l2[k-1]
Bước tỉa: Tập Ck chứa tập Lk , tức là tất cả các k-tập mục thường xuyên đều thuộc tập Ck Tập Ck cĩ thể là rất lớn dẫn đến khối lượng tính tốn lớn Thuật tốn áp dụng tính chất Apriori để rút gọn tập Ck Nếu cĩ một (k-1)-tập mục con nào đĩ của k-tập mục ứng viên mà khơng cĩ mặt trong Lk-1 thì ứng viên đĩ khơng thể là thường xuyên, cĩ thể loại bỏ khỏi Ck Việc kiểm tra các (k-1)-tập mục con cĩ thể thực hiện nhanh bởi duy trì một cây băm của tất cả các tập mục thường xuyên đã tìm thấy
Thuật tốn Apriori ( tìm các tập mục thường xuyên)
Input: Cơ sở dữ liệu DB, ngưỡng độ hỗ trợ minsup
Output: Tập các tập mục thường xuyên L trong DB
Method:
(1) Tìm các 1-tập mục thường xuyên, nhận được L1 ;
(2) For (k=2; Lk-1≠ ; k++) do begin
(3) Ck = apriori_gen(Lk-1, minsup); // Sinh tập ứng viên mới từ Lk-1
(4) For (each T DB) do begin
(5) C= subset(Ck,T) ; // Các tập mục ứng viên chứa trong T
Trang 29Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
Sinh các tập mục ứng viên của thuật tốn Apriori: hàm Apriori_gen()
Ta minh họa thực hiện thuật tốn Apriori trên cơ sở dữ liệu trong bảng 1.4 với
minsup = 50%, tức xuất hiện ít nhất 2 lần
T1 A, C, D T2 B, C, E T3 A, B, C, E T4 B, E
Bảng 1.4: Cơ sở dữ liệu giao tác minh họa thực hiện thuật tốn Apriori
- Duyệt CSDL lần thứ nhất: Tính độ hỗ trợ cho các 1 – Tập mục được kết quả như sau: C1 L1
Trang 30Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
Kết nối L1 với L1 được C2:
Nối L3 với L3 được L4 = Ø, thuật tốn dừng
Các tập mục thường xuyên tìm được theo thuật tốn Apriori là:
BCE CE
BE BC AC E C B A L
L L
Nhận xét:
- Cần sinh ra số lượng khổng lồ các tập ứng viên
Loại bỏ các 2 – tập mục cĩ count < 2
Loại bỏ các 3 – tập mục cĩ count < 2
Trang 31Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
- Lặp nhiều lần duyệt CSDL để xác định độ hỗ trợ của các tập ứng viên, số lần duyệt CSDL bằng độ dài của tập mục thường xuyên dài nhất tìm được Thuật tốn Apriori chỉ thích hợp cho các CSDL thưa (Sparse), với các CSDL dày (Dense) thì thuật tốn thực hiện kém hiệu quả
1.7.4.2 Thuật tốn FP – Growth
Để khắc phục nhược điểm trên của thuật tốn Apriori, J Han, J Pei, Y Yin đề xuất thuật tốn FP-Growth [10] Thuật tốn FP-Growth được xây dựng với 3 kỹ thuật chính:
(1) Nén dữ liệu thích hợp vào một cấu trúc cây gọi là cây FP-Tree Chỉ cĩ các 1 – tập mục (1-item) ở trong cây và các nút của cây được sắp xếp để các nút xuất hiện thường xuyên hơn cĩ thể dễ dàng chia sẻ với các nút xuất hiện ít hơn
(2) Thực hiện phương pháp khai phá phát triển (growth) từng đoạn dựa trên cây FP-tree gọi là phương pháp FP-Growth
(3) Kỹ thuật tìm kiếm được dùng ở đây là dựa vào sự phân chia, “chia để trị”, phân rã nhiệm vụ khai phá thành các nhiệm vụ nhỏ hơn
Thuật tốn FP-Growth do nén tồn bộ CSDL lên một cấu trúc dữ liệu nhỏ hơn
là cây FP-Tree nên tránh được việc duyệt nhiều lần CSDL (thuật tốn chỉ duyệt CSDL 2 lần) Tiếp theo thuật tốn khai phá cây bằng cách phát triển dần các mẫu
mà khơng sinh các tập mục ứng viên, do đĩ tránh được khối lượng tính tốn lớn Phương pháp FP-Growth đã chứng tỏ được tính hiệu quả của nĩ và cĩ thể thực hiện khai phá cho cả các mẫu ngắn và dài, nhanh hơn thuật tốn Apriori, luơn chỉ cần duyệt CSDL 2 lần
Thuật tốn FP-Growth thực hiện như sau:
Đầu tiên, thuật tốn duyệt CSDL lần thứ nhất để tính độ hỗ trợ của từng mục (đếm số lần xuất hiện của từng mục)
Tiếp đến, những mục khơng đủ độ hỗ trợ bị loại Các mục cịn lại được sắp theo thứ tự giảm dần của độ hỗ trợ (cũng tức là giảm dần theo số lần xuất hiện trong CSDL), ta nhận được danh sách L các mục đã sắp xếp
Trang 32Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
Duyệt CSDL lần thứ hai, với mỗi giao tác t, loại các mục khơng đủ độ hỗ trợ, các mục cịn lại theo thứ tự giống như xuất hiện trong L (tức là thứ tự giảm dần theo
độ hỗ trợ) được cất vào cây FP-tree
Phần tiếp theo thuật tốn khai phá tìm các mẫu thường xuyên trên cây FP-Tree
đã xây dựng mà khơng cần duyệt lại CSDL nữa
Phương pháp dựa trên cây FP-Tree
Cây FP-tree là cấu trúc cây với một số đặc điểm sau:
- Cĩ một nút cha được đánh nhãn NULL, những nút con nối với nút cha là
những thành phần chung của nhiều giao dịch được nén lại với nhau (item prefix subtree), bên cạnh cũng cĩ một mảng các mục đơn thường xuyên (frequent- item header table)
- Mỗi nút trong item prefix subtree cĩ ba trường dữ liệu: mã mục, số tích lũy
và con trỏ liên kết Mã mục tương ứng mục mà nút này đại diện, số tích lũy là
số giao dịch cĩ chứa chung phần mục này, con trỏ liên kết dùng để liên kết 2
nút đại diện chung một mã mục ở hai item prefix subtree khác nhau Giá trị
con trỏ liên kết mang giá trị rỗng khi là nút cuối cùng trong chuỗi liên kết
- Mỗi phần tử trong frequent-item header table gồm 2 trường: mã mục và
con trỏ liên kết đến đầu nút của chuỗi liên kết các nút cùng đại diện chung cho một mục
Phép chiếu trên cây FP-tree
Sau khi xây dựng cấu trúc FP-tree cho tồn bộ CSDL chỉ gồm những mục đơn thỏa ngưỡng hỗ trợ, ta phải duyệt cây để tìm ra những tập thường xuyên thỏa
minsup Hiệu quả của quá trình khai thác phụ thuộc nhiều vào phương pháp duyệt
Phương pháp duyệt phải thỏa những yêu cầu:
- Đảm bảo kết quả tập thường xuyên là đầy đủ
- Kết quả các tập thường xuyên khơng bị trùng lặp
- Những tập thường xuyên tạo ra thỏa ngưỡng minsup
Để duyệt cây FP-tree, ta cĩ thể sử dụng một trong hai phép chiếu dưới đây:
Trang 33Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
Phép chiếu từ dưới lên:
- Dựa trên thứ tự của f-list, chọn mục hạt giống bắt đầu từ mục cĩ độ hỗ trợ nhỏ
nhất thỏa minsup cho đến mục cĩ độ hỗ trợ lớn nhất
- Trên cây FP-tree, duyệt từ những nút chứa mục hạt giống tiến dần đến nút gốc
để xây dựng f-list cục bộ và FP-tree cục bộ của mục hạt giống
- Nếu duyệt hết mục trong f-list thì quay lui một bước và thực hiện tiếp
Phép chiếu từ trên xuống:
- Dựa trên thứ tự của f-list, chọn mục hạt giống bắt đầu từ mục cĩ độ hỗ trợ lớn
nhất cho đến mục cĩ độ hỗ trợ nhỏ nhất thỏa minsup
- Trên cây FP-tree, duyệt từ nút chứa mục hạt giống tiến dần xuống nút lá của cây và xây dựng f-list cục bộ của mục hạt giống Ghi nhận vị trí của nút con trực tiếp của những nút chứa mục hạt giống trong f-list cục bộ
- Nếu f-list cục bộ khơng cịn mục nào thì quay lui một bước và thực hiện tiếp
Để hiểu phương pháp này làm việc thế nào, ta xét khai phá CSDL giao tác DB
sau với độ hỗ trợ tối thiểu minsup = 2
Bảng 1.5: CSDL giao tác minh họa cho thuật tốn FP-Growth
- Bước 1: Duyệt CSDL, đếm số lần xuất hiện của từng mục, loại các mục khơng đủ
độ hỗ trợ
- Bước 2: Sắp các mục đủ độ hỗ trợ theo thứ tự giảm dần của độ hỗ trợ, ta nhận
được danh sách L sau:
Trang 34Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
- Bước 3: Duyệt lại CSDL lần thứ hai và xây dựng FP-tree
Cây FP-tree được xây dựng như sau:
Khởi tạo cây T, gốc của cây cĩ nhãn null
Khi duyệt CSDL lần thứ hai, với mỗi giao tác, loại các mục khơng thường xuyên, các mục cịn lại sắp theo thứ tự giảm dần của số lần xuất hiện, dãy các mục thường xuyên đĩ được thêm vào cây cùng với thay đổi số đếm của các mục trên cây cho phù hợp Quá trình xây dựng cây như hình sau:
Hình 1.4: Cây FP-tree được xây dựng dần khi thêm các giao tác t1 ÷ t6
T:1
Trang 35Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
Từ tập dữ liệu ban đầu, ta xây dựng header table của cây FP như sau:
Hình 1.5: Cây FP-tree của CSDL DB trong bảng 1.5
Cấu trúc cây FP-tree như sau:
Gốc của cây nhãn null, các đường đi trên cây biểu diễn item prefixs
Các liên kết trên cây: Liên kết các mục xuất hiện cĩ tên giống nhau
Mỗi nút (trừ nút gốc) bao gồm:
+ Tên mục (item identifier)
+ Count: Số đếm
+ Node link: Liên kết đến nút tiếp theo trên cây cĩ cùng tên
Bảng các đầu mục thường xuyên (header table): Bắt đầu cho các liên kết
Thủ tục thêm một dãy các mục (đã sắp giảm dần theo độ hỗ trợ) của một giao tác vào cây thực hiện đệ qui như sau:
Procedure insert_tree (string [p | P] , tree cĩ gốc T)
(Trong đĩ: P là mục thứ nhất của dãy các mục và P là phần cịn lại Trong lần duyệt thứ hai, với mỗi giao tác t, gọi thủ tục insert_tree (t’, T), với t’ là nội dung của giao tác t sau khi đã bỏ các mục khơng thường xuyên và sắp theo thứ tự giảm dần của độ
hỗ trợ, T là gốc của cây)
Mục
dữ liệu
Con trỏ đầu danh sách liên kết
T:1
Trang 36Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
Procedure insert_tree (string [p | P], tree cĩ gốc T
Nếu T cĩ nút con N mà N.itemname = p thì N.count++
Ngược lại
Tạo một nút mới N;
N.itemname:=p; N.count:=1;
Thay đổi nút liên kết cho p bao gồm N;
Nếu p khác rỗng gọi thủ tục insert_tree (P, N);
Tìm các tập mục thường xuyên:
Sau khi xây dựng xong FP_tree cho CSDL, việc khai phá tìm các tập mục thường xuyên chỉ thực hiện trên FP_tree mà khơng cần duyệt CSDL nữa
Thuật tốn FP_Growth như sau:
Bắt đầu từ dưới lên của bảng header và cây, với mỗi mục A: Dùng nút liên kết duyệt qua tất cả các nút trên cây mà xuất hiện A, với mỗi nút N mà N.itemname =
A, xác định các tập mục thường xuyên cĩ xuất hiện A, thực hiện bằng cách chỉ cần tìm các đường đi từ gốc tới N Ví dụ: Đầu tiên xét mục T, sau đĩ đến D, như sau: Mục T:
Trang 37Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
+ Xây dựng đệ quy cây FP_tree cho cơ sở phụ thuộc (condition base) và tìm các tập mục thường xuyên ở trên cây đĩ, sau đĩ thêm T vào tất cả chúng
Ở đây, cơ sở phụ thuộc là:
(Bây giờ ta bỏ qua T vì các tập mục thường xuyên chứa nĩ đã tìm rồi)
- Cơ sở mẫu phụ thuộc của D là:
Thuật tốn FP_Growth:
Khai phá FP_tree được thực hiện bởi gọi lần đầu FP_Growth (FP_tree, null) thực hiện như sau:
Trang 38Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
Procedure FP_Growth (Tree, )
Nếu cây tree chứa một đường đơn P thì
Với tất cả các tổ hợp (kí hiệu ) của các nút trong đường đi P
Sinh ra mẫu với support = độ hỗ trợ nhỏ nhất của các nút trong
Ngược lại: Với mỗi mục ai trong header table của tree{
Sinh ra a i với support = ai.count;
Xây dựng cơ sở mẫu phụ thuộc của và sau đĩ FP_tree phụ thuộc của là
Tree ;
Nếu Tree thì gọi FP_Growth(Tree , )}
Tập thường xuyên thu được khi thực hiện thuật tốn FP-Growth là:
{T, TD, TDC, TA, TAW, TAC, TAWC, TW, TWC, TC, D, DA, DW, DWA, DC, DAC, DWC, DAWC, A, AW, AC, ACW, W, WC, C}
Nhận xét:
Thuật tốn FP-Growth khá hiệu quả vì sử dụng cấu trúc cây FP-tree và duyệt theo chiều sâu với mơ hình chia để trị Nĩ thực hiện hiệu quả hơn thuật tốn Apriori, thực hiện tốt cho tập mục thường xuyên ngắn cũng như dài Ta cĩ một số nhận xét
về thuật tốn như sau:
- Về thời gian: Chỉ duyệt CSDL 2 lần
- Về khơng gian: Độ cao của cây được giới hạn bởi độ dài của giao tác dài nhất
Cây FP-tree duy trì đầy đủ thơng tin cho khai phá các tập thường xuyên, rút gọn hợp lý các thơng tin khơng cần thiết bởi cách là các mục dữ liệu khơng thường xuyên đã bị loại bỏ ngay từ đầu
Dùng kỹ thuật sắp theo trật tự giảm dần của tần số xuất hiện, điều đĩ dẫn đến các mục thường xuyên hơn được chia sẻ nhiều hơn Cây FP-tree khơng bao giờ lớn hơn CSDL gốc
Trang 39Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/
1.8 Kết luận chương 1
Chương 1 trình bày chi tiết các khái niệm cơ bản, bài tốn khai phá tập mục thường xuyên và hai thuật tốn điển hình trong khai phá tập mục thường xuyên là thuật tốn Apriori và FP-Growth Thuật tốn Apriori tiêu biểu cho phương pháp sinh ra các tập mục ứng viên rồi duyệt cơ sở dữ liệu kiểm tra độ hỗ trợ của chúng, thuật tốn FP-Growth đại diện cho phương pháp khơng sinh ra các tập mục ứng viên mà nén cơ sở dữ liệu lên cấu trúc cây, sau đĩ khai phá cây này Tuy nhiên, hiện nay trong khai phá luật kết hợp, người ta thường giải quyết bài tốn tìm tập mục thường đĩng thay cho bài tốn tìm tập mục thường xuyên Trong chương 2 sẽ trình bày các khái niệm cơ bản về tập đĩng, tập mục thường xuyên đĩng và thuật tốn tiêu biểu trong tìm tập mục thường xuyên đĩng