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 toánKPDL chuyên dùng với một số qui định về hiệu quả tính toán chấp nhận được để ch
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH MÔN:
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
ĐỀ TÀI:
XÂY DỰNG ỨNG DỤNG CHO BÀI TOÁN PHÂN TÍCH HÀNH VI MUA
SẮM CỦA KHÁCH HÀNG TRONG CÁC SIÊU THỊ
Giảng viên phụ trách: GS, TSKH HOÀNG KIẾM
Học viên thực hiện: Lê Phước Vinh
TP HỒ CHÍ MINH, THÁNG 10/2014
Trang 2MỤC LỤCMỤC LỤC 0 DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT 3 Chương 1 – KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1
1.2.3 Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing,
1.4 Các phương pháp, kỹ thuật chính trong khai phá dữ liệu 6
1.4.1 Phân lớp và dự đoán (Classification & Prediction) 6
1.4.3 Khai thác mẫu tuần tự (Sequential / Temporal patterns) 9
1.4.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection) 10
Chương 2-KHAI THÁC TẬP PHỔ BIẾN & LUẬT KẾT HỢP 13 2.1 Giới thiệu bài toán kinh điển trong khai phá luật kết hợp 13
Trang 32.3.1.2 Tính chất 2 (một tập chứa một tập không phổ biến thì cũng là tập kpb) 17
2.3.1.3 Tính chất 3 (các tập con của tập phổ biến cũng là tập phổ biến) 17
2.5 Các thuật toán khai phá dữ liệu bằng luật kết hợp 20
2.5.1.1 Ý tưởng thuật toán Apriori 20
2.5.1.3 Mã giả thuật toán Apriori 21
2.5.1.4 Thách thức của thuật toán Apriori 22
2.5.1.5 Cải tiến thuật toán Apriori 23
2.5.1.6 Các kỹ thuật cải tiến thuật toán Apriori (Methods to Improve Apriori’s
2.5.1.7 Ví dụ minh họa thuật toán Apriori 23
2.5.3.1 Ý tưởng thuật toán Apriori-TID 26
2.5.3.2 Mã giả thuật toán Apriori-TID 27
2.5.3.3 Đánh giá tốc độ của thuật toán Apriori-TID và Apriori 27
Trang 42.5.3.4 Ví dụ minh họa thuật toán Apriori-TID 29
Chương 3- XÂY DỰNG ỨNG DỤNG CHO BÀI TOÁN PHÂN TÍCH HÀNH VI MUA SẮM CỦA KHÁCH HÀNG TRONG CÁC SIÊU THỊ 31
Chuyển dữ liệu sang dạng ma trận nhị phân 33
Các tri thức thu được phục vụ cho chiến lược kinh doanh 34
Chương 4 - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 35
TÀI LIỆU THAM KHẢO 36
Trang 5DANH M C CÁC KÝ HI U, CÁC T VI T T T ỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT ỆU, CÁC TỪ VIẾT TẮT Ừ VIẾT TẮT ẾT TẮT ẮT
3 Minsup Độ hỗ trợ tối thiểu
4 Minconf Độ tin cậy tối thiểu
5 KDD Knowledge Discovery in Database
6 TID Định danh của giao tác
Trang 7Chương 1 – KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1.1 Khám 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 toánKPDL chuyên dùng với một số qui định về hiệu quả tính toán chấp nhận được để chiếtxuấ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 đíchcủ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ạitrong 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 [1] 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ộtlĩ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ậpCSDL 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ộtchươ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ámphá 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ầnphả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ếnthứ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
- Độ chính xác: Dù cho những mẫu khai phá thật sự có trong CSDL hay khôngthì 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ữngmẫ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ữngmẫ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
Trang 8- 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 xuhướng một cách hoà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 toá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ứctố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ácthô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à toà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ẫumớ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ácmẫ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áclĩ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ếploạ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ứarấ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ảilàm nhiều hơn là chỉ mò mẫm thống kê vì kết quả của việc tính toán trực tiếp qua côngtá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ăngquyết định cần thực hiện tính toán nào và kết quả là có đáng quan tâm để tạo nên trithứ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 rokhi cho vay tín dụng, kỹ thuật KPDL phải phát hiện được những người có thu nhậpthấp và nợ nhiều là những người sẽ có mức rủi ro cao Ngoà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ữathu 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àytrong 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
Trang 9xâ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 kinhdoanh để có thể giải quyết tự động các bài toán kinh doanh bằng các kỹ thuật dễ dung
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ồmcây quyết định (CART, CHAID, AID), mạng neuron, phương pháp láng giềng gầnnhấ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 thongminh để khai phá các tri thức tiềm ẩn trong dữ liệu Có thể coi KPDL ngày nay đang ởtrạng thái giống như việc quản trị dữ liệu vào những năm 60, khi mà các ứng dụngquản trị dữ liệu đều không tuân theo một nguyên tắc chung nào cho đến khi mô hình
dữ liệu quan hệ ra đời cùng với sức mạnh của ngôn ngữ vấn đáp đã thúc đẩy việc pháttriển các ứng dụng quản trị dữ liệu lên nhanh chóng Tuy vậy, hiện nay trên thế giới đã
có rất nhiều ngành công nghiệp sử dụng kỹ thuật KPDL để phục vụ cho hoạt độngkinh doanh của mình và đã bước đầu thành công như ngành tài chính, y học, hóa học,bảo hiểm, sản xuất, giao thông, hàng không,… Các kết quả đạt được cho thấy mặc dù
kỹ thuật KPDL hiện nay vẫn còn nhiều vấn đề nổi cộm, nhưng với những tri thức màchuyên gia con người cũng chưa cung cấp được thì KPDL có một tiềm năng to lớntrong việc tạo ra những lợi nhuận đáng kể trong nền kinh tế
1.2 Quá trình khám phá tri thức
Hình 1.1 Quá trình khám phá tri thức
Knowledge
CleansingPre-processing
Transformati
Data Mining
Envalution of
Data
TargetData
CleansedPreproccessedPreparated
Transformeddata
PattemDiscovery
Trang 10Quá trình khám phá tri thức từ CSDL là một quá trình có sử dụng nhiều phươngpháp và công cụ tin học nhưng vẫn là một quá trình mà trong đó con người là trungtâ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 baogồ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ậpcon 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ảiquyế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áthiệ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 trithứ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.2.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
1.2.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
Trang 111.2.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 toá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ìnhtrong dữ liệu
1.2.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 racá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ámphá 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ổngthể 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ìnhkhám phá tri thức, các công việc chủ yếu là xác định được bài toán khai phá, tiến hànhlự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ầnthiết
1.3 Các loại dữ liệu có thể khai phá
Các loại dữ liệu có thể được khai phá như sau:
Cơ sở dữ liệu quan hệ (relational databases): là những CSDL được tổ chứctheo 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, datamart): còn được gọi là nhà kho dữ liệu, trong đó dữ liệu được chọn từ nhiều nguồnkhá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 minhhoặc ngầm định
Cơ sở dữ liệu giao tác (transaction databases): là loại dữ liệu được sử dụngnhiề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 – seriesdata): chứa những thông tin về không gian địa lý hoặc thông tin theo thời gian
Trang 12 Cơ sở dữ liệu đa phương tiện (Multimedia database): là loại dữ liệu có nhiềutrê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
1.4 Các phương pháp, kỹ thuật chính trong 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ínhchung 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ự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễntrê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ự đoá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 hangmuố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ườnggồ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ệusẵ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 (trainingdata 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 khixâ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ự đoá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âyquyết định (Decision Tree), K-Láng giềng gần nhất (k-Nearest Neighbor), Mạng
Trang 13Nơ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).
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 đếnkhi 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ôngphả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 toá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 toá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 toá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ácnhã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 toá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 toá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ấutrú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áchà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ỗicủ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àingay 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ứngnhắc, bị bao bọc trong một hộp đen, khó giải thích tường minh
d) Giải thuật di truyền (Genetic algorithms)
Trang 14Cá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ínhxá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áckế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êutả 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 trithứ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ỗimộ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ớpcục bộ có thể và các cung được vẽ từ nút nguyên nhân đến nút bị ảnh hưởng KPDLtrong 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útkế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ợicủ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ở toán học không chắc chắn Đốivớ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ậpthô đị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 baogồ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 địnhmộ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 toán cây quyết định, và cũnggiố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ốthơn bất kỳ một thuật toán nào khác
1.4.2 Luật kết hợp (Association Rules)
Trang 15Luậ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êucủ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ệutrong 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ìmkiế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ự nhautrong 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 trongcù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ácnhó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ânnhó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ươngphá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 đầuquá 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ácnhóm thu được Phân nhóm còn được gọi là học không có giám sát (unsupervisedlearning) 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 Web,… Ngoài ra phânnhó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 toánKPDL 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ự đoá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à
Trang 16ở 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ếntí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.6 Tổng hợp hóa (Summarization)
Là công việc liên quan đến các phương pháp tìm kiếm một mô tả tập con dữ liệu
Kỹ thuật mô tả khái niệm và tổng hợp hóa thường á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 Nhiệm vụ chính là sản sinh ra các mô tả đặc trưngcho một lớp Mô tả loại này là một kiểu tổng hợp, tóm tắt các đặc tính chung của tất cảhay hầu hết các mục của một lớp Các mô tả đặc trưng thể hiện theo luật có dạng sau:
“Nếu một mục thuộc về lớp đã chỉ trong tiền đề thì mục đó có tất cả các thuộc tính đãnêu trong kết luận”
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 theohai mức Mức cấu trúc của mô hình mô tả (thường dưới dạng đồ thị), trong đó, cácbiế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ácluậ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 dungchỉ 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ếtphụ thuộc giữa các nút đó
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ếttrướ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ệuthự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
Trang 17Độ lệch theo nhóm là sự khác nhau của dữ liệu trong hai tập con dữ liệu, ở đâyxé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 trongmột nhóm con của đối tượng có khác đáng kể so với toàn bộ đối tượng không? Theocá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 Ứng dụng của khai phá dữ liệu
KPDL có nhiều ứng dụng trong thực tế, một số ứng dụng điển hình như: Bảohiểm, tài chính và thị trường chứng khoá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 khoá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 đoá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 đoá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ố Textmining & 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ìmkiế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 ditruyề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.6 Những thách thức trong khai phá dữ liệu
Mức độ nhiễu cao trong dữ liệu của KPDL Tiêu chuẩn mạnh mẽ của giải thuậtđối với nhiễu trở nên quan trọng hơn trong khi các tiêu chuẩn khác phần nào có thểgiảm bớt
Kích thước lớn của các tập dữ liệu cần xử lý Các tập dữ liệu trong KPDL thường
có kích thước cực kỳ lớn Trong thực tế, kích thước của các tập dữ liệu trong KPDLthường ở mức tera-byte Với kích thước như thế, thời gian xử lý thường cực kỳ dài.Thêm vào đó, các giải thuật học truyền thống thường yêu cầu tập dữ liệu được tải toàn
bộ lên trên bộ nhớ để xử lý Mặc dù kích thước bộ nhớ trong của máy tính đã gia tăngđáng kể trong thời gian gần đây, việc gia tăng này cũng không thể đáp ứng kịp với việctăng kích thước dữ liệu Vì vậy, việc vận dụng các kỹ thuật xác suất, lấy mẫu, đệm,song song và tăng dần vào các giải thuật để tạo ra các phiên bản phù hợp với yêu cầucủa KPDL trở nên ngày càng quan trọng
Trang 18Các kỹ thuật trong KPDL là hướng tác vụ và hướng dữ liệu Thay vì tập trungvào xử lý tri thức dạng kí hiệu và khái niệm như trong máy học, mọi phát triển trongKPDL thì kết chặt vào các ứng dụng thực tế và đặc tính dữ liệu cụ thể trong các ứngdụng đó Ví dụ, luật kết hợp là kỹ thuật KPDL nhằm tìm kiếm những mối liên kết giữacác món hàng trong các hóa đơn ở siêu thị Giải thuật học trong kỹ thuật này được pháttriển dựa trên đặc tính về dữ liệu rất đặc thù là ở dạng nhị phân
Trang 19Chương 2-KHAI THÁC TẬP PHỔ BIẾN & LUẬT KẾT HỢP
2.1 Giới thiệu bài toán kinh điển trong khai phá luật kết hợp
Bài toán giỏ mua hàng trong siêu thị: Giả định chúng ta có rất nhiều mặt hàng, ví
dụ như “bánh mì”, “bơ”, “sữa”, “trứng”, …(coi là tính chất hoặc trường)
Khách hàng khi đi siêu thị sẽ bỏ vào giỏ mua hàng của họ một số mặt hàngnà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 đồngthời, chúng ta không cần biết khách hàng cụ thể là ai
Nhà quản lý dùng những thông tin này đểđiều chỉnh việc nhập hàng về siêu thị,hay đơn giản là để bố trí sắp xếp các mặt hàng gầnnhau, 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
Khai phá luật kết hợp được mô tả như sự tương quan của các sự kiện, những sựkiện xuấthiện thường xuyên một các đồng thời Nhiệm vụ chính của khai phá luật kếthợp là phát hiệnra các tập con cùng xuất hiện trong một khối lượng giao dịch lớn củamột cơ sở dữ liệu chotrước
Bài toán khai phá luật kết hợp là bài toán rất quan trọng trong lĩnh vực khai phá
dữ liệu: Vạch ra các tính chất ẩn, quan trọng của tập dữ liệu
2.2 Các khái niệm cơ bản
2.2.1 CSDL giao dịch (Transaction Database)
CSDL giao dịch D gồm các giao dịch T là tập các giao dịch t1, t2, …, tn.T = {t1, t2,
…, tn} T gọi là cơ sở dữ liệu giao dịch (Transaction Database)
Mỗi giao dịch ti bao gồm tập các đối tượng I (gọi là itemset) I = {i1, i2, …, im}.Một itemset gồm k items gọi là k-itemset
Chuyên đề sử dụng một CSDL giao dịch giỏ hàng trong bảng 2.1 làm ví dụxuyên suốt các phần
TID Produces
1 Bột giặt, nước xả Comfort, dầu gội, dầu xả, sữa tắm, kem đánh
răng, bàn chải đánh răng, xà bông tắm Lifebuoy
2 Nước rửa chén Sunlight, bột giặt, bàn chải đánh răng, kem đánh
răng, nước xả Comfort
3 Lăn ngăn mùi Rexona, dầu gội, sữa tắm, dầu xả
4 Nước xả Comfort, bàn chải đánh răng, bột giặt, kem đánh răng,
nước rửa chén Sunlight
5 Sữa tắm, dầu xả, dầu gội, nước rửa chén Sunlight
Trang 20Rexona, dầu xả, sữa tắm
7 Dầu gội, lăn ngăn mùi Rexona, sữa tắm, dầu xả, kem đánh răng,
bàn chải đánh răng, nước rửa chén Sunlight
2.2.5 Luật kết hợp(Association Rules)
Gọi I = {i1, i2, …, im}là tập các trường gọi là items
D là tập giao tác, ở đó mỗi giao tác Ti là tập các item Ti I
Ta gọi một giao tác T chứa X nếu X T (Với X I)
Mỗi giao tác Ticó chỉ danh là TID
Trang 21Luật kết hợp: Là một mối quan hệ điều kiện giữa hai tập các hạng mục dữ liệu
X và Y theo dạng sau: Nếu X thì Y, và ký hiệu là X Y Trong đó, X,Y là các tập
hạng mục, X, Y I và X Y = X được gọi là tiền đề và Y được gọi là hệ quả củaluật
Trong bài toán mua hàng siêu thị, luật kết hợp X Y có thể hiểu rằng nhữngngười mua các mặt hàng trong tập X cũng thường mua các mặt hàng trong tập Y
Độ hỗ trợ (Support) và độ tin cây (Confidence) là hai tham số dùng để đo lườngluật kết hợp
Ví dụ: Dầu gội Dầu xả (Có nghĩa là nếu khách hàng mua “Dầu gội” thì cũngmua “Dầu xả”)
2.2.6 Độ hỗ trợ (Support)
2.1.1 Định nghĩa 2.1
Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D là tỷ số giữa các bản ghi TD
có chứa tập X và tổng số bản ghi trong D (hay là phần trăm của các bản ghi trong D cóchứa tập hợp X), ký hiệu là support(X) hay supp(X) (support sẽ tự sinh ra khi cài thuậttoán)
Supp(X) =
Ta có: 0 supp(X) 1 với mọi tập hợp X
2.1.2 Định nghĩa 2.2:
Độ hỗ trợ của một luật kết hợp X Y là tỷ lệ giữa số lượng các bản ghi chứa tập
hợp X Y, so với tổng số các bản ghi trong D
Trang 22Ký hiệu: supp(X Y).
Tập phổ biến tối đại (Max-Pattern): Là tập phổ biến và không tồn tại tập nàobaonó là phổ biến (Bayardo – SIGMOD’98)
Ví dụ: Cho CSDL giao dịch D như bảng 2.1
Với Minsupp = 50%
Tập phổ biến tương ứng với ngưỡng minsupp = 50% là: {{dầu gội, dầu xả},{dầu gội, sữa tắm}, {dầu xả, sữa tắm}, {kem đánh răng, bàn chải đánh răng}, {dầugội, dầu xả, sữa tắm}}
Tập phổ biến tối đại: {{dầu gội, dầu xả, sữa tắm}, {kem đánh răng, bàn chảiđánh răng}}
Tập phổ biến đóng (Closed Pattern): Là tập phổ biến và không tồn tại tập nàobaonó có cùng độ phổ biến như nó (Pasquier, ICDT’99)
Tập phổ biến đóng: {{dầu gội, dầu xả, sữa tắm}, {kem đánh răng, bàn chảiđánh răng}}
2.2.8 Độ tin cậy (confidence)
2.1.8.1 Định nghĩa 2.3