tìm hiểu tổng quan về khai phá dữ liệu
Trang 1MỤC LỤC
MỤC LỤC 1
DANH MỤC CÁC TỪ VIẾT TẮT 2
DANH MỤC CÁC BẢNG 3
DANH MỤC HÌNH VẼ 3
Chương 1 4
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 4
1.1 Giới thiệu về khai phá dữ liệu 4
1.2 Các nhiệm vụ của khai phá dữ liệu 5
1.3 Các loại dữ liệu được khai phá 6
1.4 Lịch sử phát triển của Khai phá dữ liệu 6
1.5 Ứng dụng của Khai phá dữ liệu 7
1.6 Phân loại 9
1.7 Một số thách thức đặt ra cho việc khai phá dữ liệu 9
Chương 2 10
QUY TRÌNH VÀ PHƯƠNG THỨC THỰC HIỆN KHAI PHÁ DỮ LIỆU 10
2.1 Quy trình Tổng quát thực hiện Khai phá dữ liệu 10
2.2 Tiến trình khám phá tri thức khi đi vào một bài toán cụ thể 11
Chương 3 13
MỘT SỐ CÔNG NGHỆ VÀ KỸ THUẬT KHAI PHÁ DỮ LIỆU 13
3.1 Cây quyết định 13
3.1.1 Giới thiệu chung 13
3.1.2 Các kiểu cây quyết định 14
3.1.3 Ưu điểm của cây quyết định 17
3.2 Luật kết hợp 17
3.2.1 Phát biểu bài toán khai phá luật kết hợp 18
3.2.2 Các hướng tiếp cận khai phá luật kết hợp 21
3.3 Mô hình dữ liệu đa chiều 22
3.3.1 Định nghĩa: 22
3.3.2 Một số thao tác và phép toán cơ bản trong MDDM 23
3.3.2.1 Các phép toán số học 24
3.3.2.1 Các thao tác trên các chiều của MDDM 24
3.4 Khoảng cách ngắn nhất 26
3.5 K-Láng giềng gần nhất 27
3.6 Phân cụm 29
3.6.2 Các dạng dữ liệu trong phân tích cụm 30
3.6.2.1 Biến trị khoảng 31
3.6.2.2 Các biến nhị phân 33
3.6.2.3 Các biến phân loại (biến định danh), biến thứ tự, và biến tỉ lệ theo khoảng .34
3.6.3 Các phương pháp gom cụm 37
3.6.3.1 Các phương pháp phân hoạch 37
3.6.3.2 Các phương pháp phân cấp 38
3.6.4 Thuật toán gom cụm bằng phương pháp K-means 39
3.6.4.1 Thuật toán k-means 39
3.6.4.2 Ưu và nhược điểm của thuật toán 43
3.6.4.2 Kỹ thuật dùng đối tượng đại diện: Phương pháp k-medoids 44
3.7 Kỹ thuật hiển thị dữ liệu 45
3.8 Mạng Neural 46
3.9 Thuật toán di truyền 47
TÀI LIỆU THAM KHẢO 52
Trang 2DANH MỤC CÁC TỪ VIẾT TẮT
CSDL Cơ sở dữ liệu
KDD Knowledge Discovery and Data Mining – Khai pha
KTDL Khai thác dữ liệu
IDS/IPS Intrusion Detection System/ Intrusion Prevention System
OLAP Online Analytical Processing
KDL Kho dữ liệu
SRSWOR Simple random sample without replacement
SRSWR Simple random sample with replacement
MDDM Dimensional Data Model: Mô hình dữ liệu đa chiều
DM Data mining: Khai phá dữ liệu
DMX Data Mining eXtensions
BIDS Intelligence Development Studio
DSV Data Source View
MSE Mining Structure Editor
MMPB Mining Model Prediction Builder
Trang 3DANH MỤC CÁC BẢNG
Bảng 3.1: Dữ liệu chơi golf 15
Bảng 3.2: Ví dụ về một CSDL giao dịch – D 19
Bảng 3.3: Tập mục thường xuyên minsup = 50% 19
Bảng 3.4: Luật kết hợp sinh từ tập mục phổ biến ABE 20
Bảng 3.5: Dữ liệu điều tra việc sở hữu các tiện nghi 26
Bảng 3.6: Mẫu dữ liệu khách hàng 27
Bảng 3.7: Một số ví dụ dùng kỹ thuật k-láng giềng 28
Bảng 3.8: Bảng sự kiện cho biến nhị phân 33
Bảng 3.9: Một bảng quan hệ trong đó các bệnh nhân được mô tả bằng các biến nhị phân 34
Bảng 3.10: Bảng dữ liệu mẫu chứa các biến ở dạng hỗn hợp 35
DANH MỤC HÌNH VẼ Hình 2.1: Data mining – một bước trong quá trình khám phá tri thức 11
Hình 2.2: Tổng quan tiến trình khai phá dữ liệu 12
Hình 3.1: Kết quả của cây quyết định 16
Hình 3.2: Biểu diễn hình học cho mô hình dữ liệu n-chiều (với n=3) 23
Hình 3.3: Biến đổi bảng 2 chiều sang mô hình dữ liệu n-chiều 23
Hình 3.4: Các mẫu tin biểu diễn thành điểm trong một không gian bởi các thuộc tính của chúng và khoảng cách giữa chúng có thể được đo 27
Hình 3.5: Minh họa thuật toán k-means 40
Hình 3.6: Đồ thị dựa vào hai độ đo 46
Hình 3.7: Đồ thị tương tác 3 chiều 46
Hình 3.8: Mô phỏng kiến trúc mạng neural 46
Hình 3.9: Một nhóm các tạp chí hay đọc của một không gian mẫu 50
Hình 3.10: tập các giải pháp ngẫu nhiên ban đầu được thể hiện cho thế hệ đầu tiên 51
Trang 4Để hình dung vấn đề này ta có thể sử dụng một ví dụ đơn giản như sau:Khai phá dữ liệu được ví như tìm một cây kim trong đống cỏ khô Trong ví dụnày, cây kim là một mảnh nhỏ tri thức hoặc một thông tin có giá trị và đống cỏkhô là một kho cơ sở dữ liệu rộng lớn Như vậy, những thông tin có giá trị tiềm
ẩn trong kho cơ sở dữ liệu sẽ được chiết xuất ra và sử dụng một cách hữu ích nhờkhai phá dữ liệu Chức năng khai phá dữ liệu gồm có gộp nhóm phân loại, dựbáo, dự đoán và phân tích các liên kết
Nguồn dữ liệu phục vụ cho KTDL có thể là các CSDL lớn hay các kho dữliệu (Datawarehouse) có hay không có cấu trúc Các tác vụ khai phá dữ liệu có
thể được phân thành hai loại: miêu tả và dự báo
- Các tác vụ khai phá miêu tả mô tả các đặc tính chung của dữ liệu trong cơ
sở dữ liệu Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về các tính chất
Trang 5hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Các kỹ thuật này gồmcó: phân cụm (clustering), tóm tắt (summerization), trực quan hoá (visualiztion),phân tích sự phát triển và độ lệch (Evolution and deviation analyst), phân tíchluật kết hợp (association rules)…
- Các tác vụ khai phá dự báo thực hiện việc suy luận trên dữ liệu hiện thời
để đưa ra các dự báo Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đưa racác dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Các kỹ thuật này gồmcó: Phân lớp (classification), hồi quy (regression)…
1.2 Các nhiệm vụ của khai phá dữ liệu
Cho đến nay đã có rất nhiều công trình nghiên cứu và phát triển trong lĩnhvực khai phá dữ liệu Dựa trên những loại tri thức được khám phá, chúng ta cóthể phân loại như theo các nhiệm cụ như sau:
Khai phá luật thuộc tính: tóm tắt những thuộc tính chung của tập dữ liệunào đó trong cơ sở dữ liệu Ví dụ như những triệu chứng của một căn bệnh S thìthường có thể được thể hiện qua một tâp các thuộc tính A
Khai phá những luật phân biệt: khai phá những đặc trưng, những thuộctính để phân biệt giữa tập dữ liệu này với tập dữ liệu khác Ví dụ như nhằm phânbiệt giữa các chứng bệnh thì một luật phân biệt được dùng để tóm tắt nhữngtriệu chứng nhằm phân biệt chứng bệnh xác định với những chứng bệnh khác
Khám phá luật kết hợp: khai phá sự kết hợp giữa những đối tượng trongmột tập dữ liệu Giả sử hai tập đối tượng {A1, A2,… ,An} và {B1, B2,… ,Bn} thìluật kết hợp có dạng {A1^A2^…^ An) →{B1^ B2^… ^Bn)
Khám phá luật phân lớp: phân loại dữ liệu vào trong tập những lớp đã biết
Ví dụ như một số chiếc xe có những đặc tính chung để phân vào các lớp dựatrên cách tiêu thụ nhiên liệu hoặc có thể phân vào các lớp dựa trên trọng tải…
Phân nhóm: xác định một nhóm cho một tập các đối tượng dựa trên thuộctính của chúng Một số các tiêu chuẩn được sử dụng để xác định đối tượng cóthuộc về nhóm hay không
Dự báo: dự báo giá trị có thể đúng cuỷa những dữ liệu bị thiếu hoặc sựphân bố thuộc tính nào đó trong tập dữ liệu
Trang 6Khám phá quy luật biến đổi: tìm những tập luật phản ánh những hành vitiến hóa, biến đổi chung của một tập dữ liệu Ví dụ như luật khám phá nhữngyếu tố chính tác động lên sự thay đổi của những giá cổ phiếu nào đó.
1.3 Các loại dữ liệu được khai phá
Khai phá dữ liệu thường làm việc với nhiều kiểu dữ liệu khác nhau Hầu hếtcác kiểu dữ liệu được khai phá là những kiểu sau:
Cơ sở dữ liệu quan hệ: những cơ sở dữ liệu được tổ chức theo mô hìnhquan hệ Hầu hết những hệ quản trị cơ sở dữ liệu hiện nay đều hỗ trợ mô hìnhnày như: Oracle, IBM DB2, MS SQL Server, MS Access…
Cơ sở dữ liệu đa chiều: cơ sở dữ liệu này được gọi là nhà kho dữ liệu,trong đó dữ liệu được chọn từ nhiều ngồ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 hay ngầm định
Cơ sở dữ liệu giao tác: đây là loại cơ sở dữ liệu được sử dụng nhiều trongsiêu thị, thương mại, tài chính, ngân hàng…
Cơ sở dữ liệu quan hệ - hướng đố tượng: mô hình cơ sở dữ liệu này laigiữa mô hình hướng đối tượng và mô hình cơ sở dữ liệu quan hệ
Cơ sở dữ liệu thời gian, không gian: 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: loại dữ liệu này bao gồm: âm thanh, ảnh,video, văn bản và nhiều kiểu dữ liệu định dạng khác Ngày nay loại dữ liệu nàyđược sử dụng nhiều trên mạng Internet
1.4 Lịch sử phát triển của Khai phá dữ liệu
- Những năm 1960: Xuất hiện CSDL theo mô hình mạng và mô hìnhphân cấp
- Những năm 1970: Thiết lập nền tẩng lý thuyết cho CSDL quan hệ, các hệquản trị CSDL quan hệ
- Những năm 1980: Hoàn thiện lý thuyết về CSDL quan hệ và các hệ quảntrị CSDL quan hệ, xuất hiện các hệ quản trị CSDL cao cấp (hướng đối tượng,suy diễn, ) và hệ quản trị hướng ứng dụng trong lĩnh vực không gian, khoahọc, công nghiệp, nông nghiệp, địa lý
Trang 7- Những năm 1990-2000: phát triển Khai phá dữ liệu và kho dữ liệu, CSDL
đa phương tiện, và CSDL Web
1.5 Ứng dụng của Khai phá dữ liệu
Khai phá dữ liệu là một lĩnh vực liên quan tới nhiều ngành học khác như: hệCSDL, thống kê, trực quan hoá… hơn nưa, tuỳ vào cách tiếp cận được sử dụng,khai phá dữ liệu còn có thể áp dụng một số kỹ thuật như mạng nơron, lý thuyếttập thô, tập mờ, biểu diễn tri thức… So với các phương pháp này, khai phá dữliệu có một số ưu thế rõ rệt
So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khaiphá dữ liệu có thể sử dụng với các CSDL chứa nhiều nhiễu, dữ liệu không đầy
đủ hoặc biến đổi liên tục Trong khi đó phương pháp học máy chủ yếu được ápdụng trong các CSDL đầy đủ, ít biến động và tập dữ liệu không qua lớn
Phương pháp hệ chuyên gia: phương pháp này khác với khai phá dữ liệu ởchỗ các ví dụ của chuyên gia thường ở mức cao hơn nhiều so với các dữ liệutrong CSDL, và chúng thường chỉ bao hàm được các trường hợp quan trọng.Hơn nữa các chuyên gia sẽ xác nhận giá trị và tính hữu ích của các mẫu pháthiện được
Phương pháp thống kê là một trong những nên tảng lý thuyết của khai phá
dữ liệu, nhưng khi so sánh hai phương pháp với nhau ta có thể thấy các phươngpháp thống kê còn tồn tại một số điểm yếu mà khai phá dữ liệu khắc phục được:
- Các phương pháp thống kê chuẩn không phù hợp với các kiểu dữ liệu cócấu trúc trong rất nhiều CSDL
- Các phương pháp thống kê hoạt động hoàn toàn theo dữ liệu, nó không sửdụng tri thức có sẵn về lĩnh vực
- Kết quả phân tích của hệ thống có thể sẽ rất nhiều và khó có thể làm rõđược
- Phương pháp thống kê cần có sự hướng dẫn của người dùng để xác địnhphân tích dữ liệu như thế nào và ở đâu
Khai thác dữ liệu được ứng dụng rộng rãi trong rất nhiều lĩnh vực như:
Ngân hàng:
Trang 8 Xây dựng mô hình dự báo rủi ro tín dụng.
Tìm kiếm tri thức, qui luật của thị trường chứng khoán và đầu tư bấtđộng sản
Phát hiện dùng thẻ tín dụng giả trên mạng và là công cụ hữu ích chodịch vụ quản lý rủi ro cho thương mại điện tử
Thương mại điện tử:
Công cụ tìm hiểu, định hướng thúc đẩy, giao tiếp với khách hàng
Phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị phùhợp với loại khách hàng trong một phân khu thị trường nhất định
Một số ứng dụng của khai phá dữ liệu trong lĩnh vực kinh doanh:
BRANDAID: mô hình marketing linh hoạt tập chung vào hàng tiêu dùngđóng gói
CALLPLAN: giúp nhân viên bán hàng xác định số lần viếng thăm củakhách hàng triển vọng và khách hàng hiện có
DETAILER: xác định khách hàng nào nên viếng thăm và sản phẩm nàonên giới thiệu trong từng chuyến viếng thăm,
GEOLINE: mô hình thiết kế địa bàn tiêu thụ và dịch vụ
MEDIAC: Giúp người quảng cáo mua phương tiện trong một năm, lập kếhoạch sử dụng phương tiện bao gồm phác hoạ khúc thị trường, ước tínhtiềm năng
Trang 91.6 Phân loại
Chúng ta có thể phân lớp hệ thống khai phá dữ liệu theo các tiêu chuẩn sau:Phân lớp dựa trên loại dữ liệu được khai phá: những hệ thống khai phá dữliệu làm việc với cơ sở dữ liệu quan hệ, nhà kho dữ liệu, cơ sở dữ liệu giao tác,
cơ sở dữ liệu hướng đối tượng, đa phương tiện và Web…
Phân lớp dựa trên kiểu tri thức khai phá: hệ thống khai phá dữ liệu xuấtkết quả kiểu tóm tắt, mô tả, luật kết hợp, phân lớp, phân nhóm và dự báo…
Phân lớp dựa trên loại kỹ thuật được sử dụng: hệ thống khai phá sử dụngcác kỹ thuật OLAP, kỹ thuật máy học (cây quyết định, mạng neural, thuật giảitiến hóa, tập thô và tập mờ…)
Phân lớp dựa trên lĩnh vực áp dụng khai phá: hệ thống được dùng trongnhiều lĩnh vực: sinh học, y khoa, thương mại và bảo hiểm…
1.7 Một số thách thức đặt ra cho việc khai phá dữ liệu
Các cơ sở dữ liệu lớn
Số chiều lớn
Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện khôngcòn phù hợp
Dữ liệu bị thiếu hoặc nhiễu
Quan hệ giữa các trường phức tạp
Giao tiếp với người sử dụng và kết hợp với các tri thức đã có
Tích hợp với các hệ thống khác…
Trang 10Chương 2
QUY TRÌNH VÀ PHƯƠNG THỨC THỰC HIỆN KHAI PHÁ
DỮ LIỆU2.1 Quy trình Tổng quát thực hiện Khai phá dữ liệu
Quá trình này gồm các bước:
1) Làm sạch dữ liệu (data cleaning): Loại bỏ nhiễu hoặc các dữ liệu khôngthích hợp
2) Tích hợp dữ liệu (data integration): Tích hợp dữ liệu từ các nguồn khácnhau như: CSDL, Kho dữ liệu, file text…
3) Chọn dữ liệu (data selection): Ở bước này, những dữ liệu liên quan trực tiếpđến nhiệm vụ sẽ được thu thập từ các nguồn dữ liệu ban đầu
4) Chuyển đổi dữ liệu (data transformation): Trong bước này, dữ liệu sẽ đượcchuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực hiện các thaotác nhóm hoặc tập hợp
5) Khai phá dữ liệu (data mining): Là giai đoạn thiết yếu, trong đó các phươngpháp thông minh sẽ được áp dụng để trích xuất ra các mẩu dữ liệu
6) Đánh giá mẫu (pattern evaluation): Đánh giá sự hữu ích của các mẫu biểudiễn tri thức dựa vào một số phép đo
7) Trình diễn dữ liệu (Knowlegde presention): Sử dụng các kỹ thuật trình diễn
và trực quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sửdụng
Trang 11Hình 2.1: Data mining – một bước trong quá trình khám phá tri thức
2.2 Tiến trình khám phá tri thức khi đi vào một bài toán cụ thể
Chính vì mục tiêu khám phá trí thức ngầm định trong cơ sở dữ liệu nên quátrình khai phá thường phải qua một số các giai đoạn cần thiết Bao gồm nhữnggiai đoạn chuẩn bị dữ liệu khai phá, giai đoạn khai phá dữ liệu và cuối cùng làgiai đoạn chuyển kêt quả khai phá sang những tri thức cho con người hiểu được.Chi tiết các bước thực hiện được mô tả trong bảng tóm tắt như sau:
Giai đoạn 1: đầu tiên là phát triển một sự hiểu biết về lĩnh vực ứng dụng vànhững tri thức tương ứng Xác định mục đích của tiến trình khai phá dữliệu từ qua điểm của người dùng
Giai đoạn 2: chuẩn bị dữ liệu để khai phá, thu thập dữ liệu và dữ liệu mẫu
Giai đoạn 3: tiền xử lý dữ liệu, xóa các thông tin bị nhiễu trong dữ liệu,loại bỏ sự trùng lặp dữ liệu và xác định chiến lược để xử lý dữ liệu bị mất
Giai đoạn 4: chiếu dữ liệu, thu nhỏ dữ liệu và tìm những đặc trưng để khaiphá
Trang 12Giai đoạn 5: chọn một phương pháp khai phá dữ liệu thích hợp nhất trong
số các phương pháp phổ biến như: tóm tắt, phân lớp, hồi quy, phân nhóm,kết hợp…
Giai đoạn 6: từ thuật toán đã chọn, mô hình hóa thuật toán để giải quyếttrong trường hợp cụ thể đang xét Lựa chọn những phương pháp tìm kiếmmẫu dữ liệu, quyết định các tham số
Giai đoạn 7: đây là giai đoạn khai phá dữ liệu, sử dụng thuật toán để tìmkiếm những mẫu thú vị trong một hình thức thể hiện đắc thù hoặc một tậpnhững thể hiện bao gồm những luật phân lớp, cây, sự hồi quy và phânnhóm
Giai đoạn 8: thông dịch lại những mẫu đã được khai phá dưới các hìnhthức thể hiện tri thức của dữ liệu như ngôn ngữ, biểu đồ, hình cây, bảng…
Hình 2.2: Tổng quan tiến trình khai phá dữ liệu
Quá trình khai phá này có sự tương tác và lặp lại giữa hại bước bất kỳ,những bước cơ bản của tiến trình được minh họa trong hình trên Hầu hết nhữngcông việc trước đây đều tập trung ở bước 7 là giai đoạn khai phá dữ liệu Tuynhiên, các bước còn lại quan trọng không kém và những bước đó đóng góp rấtnhiều vào sự thành công của toàn bộ tiến trình khai phá dữ liệu sau đây ta sẽtìm hiểu chi tiết về quá trình tiền xử lý trong tiến trình
Trang 13Chương 3
MỘT SỐ CÔNG NGHỆ VÀ KỸ THUẬT KHAI PHÁ DỮ LIỆU
Cho tới nay đã có rất nhiều kỹ thuật có thể áp dụng trong việc khai phá dữliệu như: tập mờ, phương pháp Bayes, cây quyết định, lập trình tiến hóa vớithuật toán di truyền, máy học, mạng neural, kỹ thuật phân nhóm, luật kết hợp,
mô hình dữ liệu đa chiều, công cụ phân tích dữ liệu trực tuyến (OLAP), khoảngcách ngắn nhất, kỹ thuật k-láng giềng gần nhất, luật kết hợp với giải thuậtAprioriTID, học quy nạp… Chương này chỉ trình bày sơ lược một số kỹ thuậtthường được sử dụng
3.1 Cây quyết định
Trong lý thuyết quyết định (chẳng hạn quản lí rủi ro), một cây quyết định(tiếng Anh: decision tree) là một đồ thị của các quyết định và các hậu quả có thểcủa nó (bao gồm rủi ro và hao phí tài nguyên) Cây quyết định được sử dụng đểxây dựng một kế hoạch nhằm đạt được mục tiêu mong muốn Các cây quyếtđịnh được dùng để hỗ trợ quá trình ra quyết định Cây quyết định là một dạngđặc biệt của cấu trúc cây
3.1.1 Giới thiệu chung
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo(predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượngtới các kết luận về giá trị mục tiêu của sự vật/hiện tượng Mỗi một nút trong(internal node) tương ứng với một biến; đường nối giữa nó với nút con của nóthể hiện một giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoáncủa biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường
đi từ nút gốc tới nút lá đó Kỹ thuật học máy dùng trong cây quyết định được gọi
là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định.Học bằng cây quyết định cũng là một phương pháp thông dụng trong khaiphá dữ liệu Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đạidiện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫntới phân loại đó Một cây quyết định có thể được học bằng cách chia tập hợp
nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính Quá trình này
Trang 14được lặp lại một cách đệ qui cho mỗi tập con dẫn xuất Quá trình đệ qui hoànthành khi không thể tiếp tục thực hiện việc chia tách được nữa, hay khi mộtphân loại đơn có thể áp dụng cho từng phần tử của tập con dẫn xuất Một bộphân loại rừng ngẫu nhiên (random forest) sử dụng một số cây quyết định để cóthể cải thiện tỉ lệ phân loại.
Cây quyết định cũng là một phương tiện có tính mô tả dành cho việc tínhtoán các xác suất có điều kiện
Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toánhọc và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữliệu cho trước
Dữ liệu được cho dưới dạng các bản ghi có dạng:
( , ) ( , , , , , )x y x x x x y k
Biến phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu, phânloại hay tổng quát hóa x x x1 , , 2 3 là các biến sẽ giúp ta thực hiện công việc đó.3.1.2 Các kiểu cây quyết định
Cây quyết định còn có hai tên khác:
Cây hồi quy (Regression tree): ước lượng các hàm giá có giá trị là số thực
thay vì được sử dụng cho các nhiệm vụ phân loại (ví dụ: ước tính giá một ngôinhà hoặc khoảng thời gian một bệnh nhân nằm viện)
Cây phân loại (Classification tree): nếu y là một biến phân loại như: giới
tính (nam hay nữ), kết quả của một trận đấu (thắng hay thua)
Ví dụ: Ta sẽ dùng một ví dụ để giải thích về cây quyết định:
David là quản lý của một câu lạc bộ đánh golf nổi tiếng Anh ta đang có rắcrối chuyện các thành viên đến hay không đến Có ngày ai cũng muốn chơi golfnhưng số nhân viên câu lạc bộ lại không đủ phục vụ Có hôm, không hiểu vì lý
do gì mà chẳng ai đến chơi, và câu lạc bộ lại thừa nhân viên
Mục tiêu của David là tối ưu hóa số nhân viên phục vụ mỗi ngày bằng cáchdựa theo thông tin dự báo thời tiết để đoán xem khi nào người ta sẽ đến chơigolf Để thực hiện điều đó, anh cần hiểu được tại sao khách hàng quyết địnhchơi và tìm hiểu xem có cách giải thích nào cho việc đó hay không
Trang 15Vậy là trong hai tuần, anh ta thu thập thông tin về:
Trời (outlook) (nắng (sunny), nhiều mây (clouded) hoặc mưa (raining)).Nhiệt độ (temperature) bằng độ F Độ ẩm (humidity) Có gió mạnh (windy) haykhông
Và tất nhiên là số người đến chơi golf vào hôm đó David thu được một bộ dữ liệu gồm 14 dòng và 5 cột.
Dữ liệu chơi golf Các biến độc lập
Bảng 3.1: Dữ liệu chơi golf
Sau đó, để giải quyết bài toán của David, người ta đã đưa ra một mô hình câyquyết định
Hình 3.1: Kết quả của cây quyết định
Trang 16Cây quyết định là một mô hình dữ liệu mã hóa phân bố của nhãn lớp (cũng lày) theo các thuộc tính dùng để dự đoán Đây là một đồ thị có hướng phi chutrình dưới dạng một cây Nút gốc (nút nằm trên đỉnh) đại diện cho toàn bộ dữliệu Thuật toán cây phân loại phát hiện ra rằng cách tốt nhất để giải thích biếnphụ thuộc, play (chơi), là sử dụng biến Outlook Phân loại theo các giá trị củabiến Outlook, ta có ba nhóm khác nhau: Nhóm người chơi golf khi trời nắng,nhóm chơi khi trời nhiều mây, và nhóm chơi khi trời mưa.
Kết luận thứ nhất: nếu trời nhiều mây, người ta luôn luôn chơi golf Và cómột số người ham mê đến mức chơi golf cả khi trời mưa
Tiếp theo, ta lại chia nhóm trời nắng thành hai nhóm con Ta thấy rằng kháchhàng không muốn chơi golf nếu độ ẩm lên quá 70%
Cuối cùng, ta chia nhóm trời mưa thành hai và thấy rằng khách hàng sẽkhông chơi golf nếu trời nhiều gió
Và đây là lời giải ngắn gọn cho bài toán mô tả bởi cây phân loại David chophần lớn nhân viên nghỉ vào những ngày trời nắng và ẩm, hoặc những ngày mưagió Vì hầu như sẽ chẳng có ai chơi golf trong những ngày đó Vào những hômkhác, khi nhiều người sẽ đến chơi golf, anh ta có thể thuê thêm nhân viên thời
vụ để phụ giúp công việc
Kết luận là cây quyết định giúp ta biến một biểu diễn dữ liệu phức tạp thànhmột cấu trúc đơn giản hơn rất nhiều
3.1.3 Ưu điểm của cây quyết định
So với các phương pháp khai phá dữ liệu khác, cây quyết định là phươngpháp có một số ưu điểm:
Cây quyết định dễ hiểu Người ta có thể hiểu mô hình cây quyết địnhsau khi được giải thích ngắn
Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc khôngcần thiết Các kỹ thuật khác thường đòi hỏi chuẩn hóa dữ liệu, cần tạo các biếnphụ (dummy variable) và loại bỏ các giá trị rỗng
Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ liệu cógiá trị là tên thể loại Các kỹ thuật khác thường chuyên để phân tích các bộ dữ
Trang 17liệu chỉ gồm một loại biến Chẳng hạn, các luật quan hệ chỉ có thể dùng cho cácbiến tên, trong khi mạng nơ-ron chỉ có thể dùng cho các biến có giá trị bằng số.
Cây quyết định là một mô hình hộp trắng Nếu có thể quan sát mộttình huống cho trước trong một mô hình, thì có thể dễ dàng giải thích điều kiện
đó bằng logic Boolean Mạng nơ-ron là một ví dụ về mô hình hộp đen, do lờigiải thích cho kết quả quá phức tạp để có thể hiểu được
Có thể thẩm định một mô hình bằng các kiểm tra thống kê Điều nàylàm cho ta có thể tin tưởng vào mô hình
Cây quyết định có thể xử lý tốt một lượng dữ liệu lớn trong thời gianngắn Có thể dùng máy tính cá nhân để phân tích các lượng dữ liệu lớn trongmột thời gian đủ ngắn để cho phép các nhà chiến lược đưa ra quyết định dựatrên phân tích của cây quyết định
3.2 Luật kết hợp
Luật kết hợp là một hướng quan trọng trong khai phá dữ liệu Luật kết hợpgiúp chúng ta tìm được các mối liên hệ giữa các mục dữ liệu (items) của CSDL.Luật kết hợp là dạng khá đơn giản nhưng lại mang khá nhiều ý nghĩa Thông tin
mà dạng luật này đem lại là rất đáng kể và hỗ trợ không nhỏ trong quá trình raquyết định Tìm các luật kết hợp “quý hiếm” và mang nhiều thông tin từ CSDLtá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
Luật kết hợp là những luật có dạng “80 % khách hàng mua máy điện thoại diđộng thì mua thêm simcard, 30 % có mua cả máy điện thoại di động lẫnsimcard” hoặc “75 % khách hàng gọi điện liên tỉnh và sống ở các huyện thì gọiđiện thoại IP 171 liên tỉnh, trong đó 25% số khách hàng vừa gọi liên tỉnh, sống ởcác huyện vừa gọi điện thoại IP 171 liên tỉnh” “mua máy điện thoại di động”hay gọi liên tỉnh và sống ở các huyện” ở đây được xem là các vế trái (tiền đề)của luật, còn “mua simcard” hay “gọi điện thoại IP 171 liên tỉnh” là vế phải (kếtluận) của luật Các con số 30%, 25% là độ hỗ trợ của luật (support - số phầntrăm các giao dịch chứa cả vế trái và vế phải), còn 80%, 75% là độ tin cậy của
Trang 18luật (confidence - số phần trăm các giao dịch thoả mãn vế trái thì cũng thoả mãn
vế phải)
Độ hỗ trợ (support) và độ tin cậy (confidence) là hai thước đo cho một luậtkết hợp Độ hỗ trợ bằng 25% có nghĩa là “Trong các khách hàng có sử dụngđiện thoại thì có 25% khách hàng sử dụng điện thoại ID liên tỉnh và điện thoại
IP 171” Độ tin cậy bằng 75% có nghĩa là “Trong các khách hàng có sử dụngđiện thoại liên tỉnh thì có 75% khách hàng sử dụng điện thoại IP 171”
3.2.1 Phát biểu bài toán khai phá luật kết hợp
I ={i1 , i2 , …, in } là tập bao gồm n mục (Item – còn gọi là các thuộc tính attribute) X I được gọi là tập mục (itemset)
-T = {t1, t2, … tm} là tập gồm m giao dịch (transacstion – còn gọi là bản ghi
- record), mỗi giao dịch được định danh bởi TID (Transaction Identification)
R là một quan hệ nhị phân trên I và T (hay R IxT) Nếu giao dịch t cóchứa mục I thì ta viết (i, t) R (hoặc iRt) (T, I, R) là ngữ cảnh khai thác dữliệu Một CSDL D, về mắt hình thức, chính là một quan hệ nhị phân R như trên
Về ý nghĩa, một CSDL là một tập các giao dịch, mỗi giao dịch t là một tập mục,
t 2I (2I là tập cấc tập con của I)
Ví dụ về CSDL giao dịch: I = {A, B, C, D, E}, T = {1, 2, 3, 4, 5, 6}
Thông tin về các giao dịch cho ở bảng sau:
Định danh giao dịch (TID) Tập mục (itemset)
Cho một tập mục X I Ký hiệu s(X) là Độ hỗ trợ(support) của một tập mục
X – là tỷ lệ phần trăm số giao dịch trong CSDL D chứa X trên tổng số các giaodịch trong CSDL D s(X) = Card(X)/Card(D)%
Tập mục phổ biến: Cho một tập mục X I và ngưỡng phổ biến tối thiểuminsup (0, 1],(minsup được xác định bởi người sử dụng) Một tập mục X
Trang 19được gọi là một tập phổ biến theo ngưỡng minsup nếu và chỉ nếu độ hỗ trợ của
nó lớn hơn hoặc bằng một ngưỡng minsup: s(X) minsup
Ký hiệu FX(T, I, R, minsup) = {X I | s(X) minsup}
Với (T, I, R) trong ví dụ CSDL bảng 1, và giá trị ngưỡng minsup = 50% sẽliệt kê các tập mục phổ biến (frenquent-itemset) như sau:
AD, CE, DE, ABD, ADE, BCE, BDE 50%
Bảng 3.3: Tập mục thường xuyên minsup = 50%
Độ hỗ trợ s của luật kết hợp X Y là tỷ lệ phần trăm các giao dịch trong D
có chứa X và Y là s(X Y) = Card(XY)/Card(D) %
Luật kết hợp có dạng X c Y trong đó:
X, Y là các tập mục thoả mãn điều kiện X Y = Ø và c là độ tin cậy
Độ tin cậy của luật c = s(X Y)/s(X)%: Là tỷ lệ phần trăm các giao dịchtrong D có chứa X thì chứa Y Về mặt xác suất, độ tin cậy c của một luật kết hợp
là xác suất (có điểu kiện) xảy ra Y với điều kiện đã xảy ra X
Luật kết hợp tin cậy: Một luật được xem là tin cậy nếu độ tin cậy c của nólớn hơn hoặc bằng một ngưỡng minconf (0, 1] nào đó do người dùng xácđịnh Ngưỡng minconf phản ánh mức độ xuất hiện của Y khi cho trước X (( c
minconf) (minimum Confidence))
Luật kết hợp cần tìm là luật kết hợp thoả mãn Minsup và minconf cho trước.Chúng ta chỉ quan tâm đến các luật có độ hỗ trợ lớn hơn Độ hỗ trợ tối thiểu và
độ tin cậy lớn hơn Độ tin cậy tối thiểu
Hầu hết các thuật toán khai phá luật kết hợp thường chia thành 2 pha:
Pha 1 : Tìm tất cả các tập mục phổ biến từ cơ sở dữ liệu tức là tìm tất cả cáctập mục X thoả s(X) minsup
Pha 2: Sinh các luật tin cậy từ các tập phổ biến đã tìm thấy ở pha 1
Nếu X là một tập mục phổ biến thì luật kết hợp được sinh ra từ X có dạng:X’ c X \ X’ ,
trong đó:
Trang 20X’ là tập con khác rỗng của X.
X\X’ là hiệu của hai tập hợp X và X’
c là độ tin cậy của luật thoả mãn c minconf
Với tập mục phổ biến trong bảng 2 thì chúng ta có thể sinh luật kết hợp sauđây:
Luật kết hợp Độ tin cậy c minconf ?
Bảng 3.4: Luật kết hợp sinh từ tập mục phổ biến ABE
Tập phổ biến tối đại: Cho M FX(T, I, R, minsup) M được gọi là tập mụcphổ biến tối đại nếu không tồn tại X FX(T, I, R, minsup), M X, M X3.2.2 Các hướng tiếp cận khai phá luật kết hợp
Luật kết hợp nhị phân (binary association rule hoặc Boolean association
rule): là hướng nghiên cứu đầu tiên của luật kết hợp Hầu hết các nghiên cứu ởthời kỳ đầu về luật kết hợp đều liên quan đến luật kết hợp nhị phân Trong dạngluật kết hợp này, các mục (thuộc tính) chỉ được quan tâm là có hay không xuấthiện trong giao tác của cơ sở dữ liệu chứ không quan tâm về “mức độ” xuâthiện Thuật toán tiêu biểu nhất khai phá dạng luật này là thuật toán Apriori vàcác biến thể của nó Đây là dạng luật đơn giản và các luật khác cũng có thếchuyển về dạng luật này nhờ một số phương pháp như rời rạc hoá, mờ hoá, v.v
Luật kết hợp có thuộc tính số và thuộc tính hạng mục (quantitative and
categorical association rule): Các thuộc tính của cơ sở dữ liệu thực tế có kiểu rất
đa dạng (nhị phân – binary, số - quantitative, hạng mục – categorical…) để pháthiện luật kết hợp với các thuộc tính này,các nhà nghiên cứu đã đề xuất một sốphương pháp rời rạc hoá nhằm chuyển dạng luật này về dạng nhị phân để ápdụng các các thuật toán đã có
Luật kết hợp tiếp cận theo hướng tập thô (mining association rule base on
rough set): Tìm kiếm luật kết hợp dựa trên lý thuyết tập thô
Trang 21Luật kết hợp nhiều mức (multi-level association rule): Với cách tiếp cận theo
luật này sẽ tìm kiếm thêm những luật có dạng “mua mày tính PC => mua hệđiều hành AND mua phần mềm tiện ích văn phòng,…” thay vì chỉ những luậtquá cụ thể như “mua máy tính IBM PC => mua hệ điểu hành MicorsoftWindows AND mua phần mềm tiện ích văn phòng Microsoft Office, …” Nhưvậy dạng luật đầu tiên là luật tổng quát hoá của dạng luật sau và tổng quát theonhiều mức khác nhau
Luật kết hợp mờ (fuzzy association rule): Với những hạn chế còn gặp phải
trong quá trình rời rạc hoá các thuộc tính số, các nhà nghiên cứu đã đề xuất luậtkết hợp mờ nhằm khắc phục các hạn chế trên và chuyển luật kết hợp về dạng tựnhiên hơn, gần gũi hơn với người sử dụng
Luật kết hợp với các thuộc tính được đánh trọng số (association rule with
weighted items) Trong thực tế, các thuộc tính trong CSDL không phải lúc nàocũng có vai trò như nhau Có một số thuộc tính được chú trọng hơn và có mức
độ quan trọng cao hơn các thuộc tính khác
Khai thác luật kết hợp song song (parallel mining of association rule): Bên
cạnh khai thác luật kết hợp tuần tự, các nhà làm tin học cũng tập chung vàonghiên cứu các giải thuật song song cho quá trình phát hiện luật kết hợp Nhucầu song song hoá và xử lý phân tán là cần thiết bởi kích thước dữ liệu ngàycàng lớn hơn nên đòi hỏi tốc độ xử lý cũng như dung lượng bộ nhớ của hệ thốngphải được đảm bảo Có rất nhiều thuật toán song song khác nhau đã đề xuất để
có thể không phụ thuộc vào phần cứng
3.3 Mô hình dữ liệu đa chiều
Mô hình dữ liệu đa chiều (Multi Dimensional Data Model – MDDM) là một
mô hình mà trong đó dữ liệu được thể hiện thông theo không gian n-chiều Môhình này phù hợp đối với các tính toán số học và thống kê: tổng hợp và phân tổ
dữ liệu theo cách khác nhau, các phân tích dữ liệu theo phương pháp hồi quy phitham số Ngoài ra, MDDM cũng còn được sử dụng để phát hiện các luật kết hợp
giữa các chỉ tiêu dạng if X then Y với độ tin cậy là c%.
Định nghĩa hình thức của MDDM như sau:
Trang 223.3.1 Định nghĩa:
Cho: D1, D2, … , Dn là tập giá trị rời rạc
x1, x2, … , xn là các biến chạy trên tập D đó
Mô hình dữ liệu đa chiều là một ánh xạ từ tích Đề-các các miền định nghĩa
Ví dụ: với n=3, mô hình dữ liệu đa chiều ở đây là một khối hộp chữ nhật, còngọi là các Cube, trong đó bộ (x1,x2,x3) tương ứng với các tọa độ trong khônggian ba chiều và f(x1,x2,x3) là giá trị của các ô trong khối hộp chữ nhật đó Biểudiễn hình học các chiều như trong hình:
Hình 3.2: Biểu diễn hình học cho mô hình dữ liệu n-chiều (với n=3)
Mỗi miền định nghĩa một chiều, do đó chúng ta có thể biến đổi một bảnghai chiều trong một cơ sở dữ liệu (CSDL) sang mô hình dữ liệu n-chiều:
Hình 3.3: Biến đổi bảng 2 chiều sang mô hình dữ liệu n-chiều
3.3.2 Một số thao tác và phép toán cơ bản trong MDDM
Hai thao tác cơ bản có thể thực hiện trên các mô hình dữ liệu n-chiều là phéplọc và phép chọn Các phép toán số học (cộng, trừ, nhân, chia) có thể áp dụng
Trang 23trên các MDDM, cũng như các hàm tích hợp (tính tổng – sum, giá trị trung bình– Average, giá trị nhỏ nhất – Min, giá trị lớn nhất – Max, phương sai – Variant
và độ lệch chuẩn – Standard Deviation) có thể được áp dụng trên giá trị của cá ôứng với các chiều của mô hình
nếu ngượclại
Chúng ta nhận thấy sau phép lọc, g có cùng miền giá trị với ánh xạ t
2 Phép chọn
Cho: - f (x1, x2, …, xn) là một mô hình n-chiều
- c là một điều kiện trên các miền định nghĩa
Cho: - D1, D2, … , Dn là các miền giá trị rời rạc
- g(x1, x2, …, xn) và f(x1, x2, …, xn) là 2 MDDM
- là một phép toán số học như +, -, *, /
Trang 24
0
0
# xn) , x2, g(x1, nêu xn) , x2, g(x1, / xn) , x2,
f(x1,
là các mô hình n-chiều mới
3.3.2.1 Các thao tác trên các chiều của MDDM
Chúng ta có thể thao tác trên một, hai hay một số chiều của MDDM bằngcách cố định các chiều còn lại với những giá trị cụ thể Điều này có thể đượcxem như một phép chiếu có tham số trên một số chiều của MDDM
sẽ cho chúng ta một bảng dữ liệu hai chiều k dòng ứng với k giá trị của miền
D1 và l cột tương ứng với l giá trị của miền D2
Tương tự như vậy, chúng ta có thể định nghĩa phép trích m chiều từMDDM f n-chiều ban đầu
Vì các bảng dữ liệu được trích là các giá trị thuộc không gian số thực Rnên chúng ta có thể áp dụng các phép tính tổng trung bình cộng min, maxphương sai và độ lệch chuẩn cho các giá trị của các ô trên 1 cột (khi cho x1 biếnthiên trong miền D1 và cố định các miền khác tại một giá trị cụ thể), hoặc trêncác ô của một dòng (khi cho x2 biến thiên trong miền D2 và cố định các miềnkhác tại một giá trị cụ thể) hoặc cho các giá trị của tất cả các ô trong bảng này vàkết quả tính toán cũng sẽ là một số thực Kết quả của các phép toán trên đều làcác số thực
Trang 25Vận dụng mô hình dữ liệu n-chiều cho một ví dụ đơn giản về điều tra đờisống dân cư Giả sử chúng ta có 2 miền định nghĩa D1 = { 101, 102, 103, 104,
105, 106} ứng với danh sách các mã số hộ điều tra và D2 = {“tivi”, “tủ lạnh”,
“xe máy”, “máy giặt”, “điều hòa nhiệt độ”} ứng với việc sở hữu các tiện nghisinh hoạt Nếu định nghĩa ánh xạ f: D1 x D2 n thì chúng ta có bảng theo dõi về
số lượng tiện nghi của từng hộ; Nếu f: D1 x D2 {0, 1} thì f cho kết quả là bảngtheo dõi việc có (1) hay không (0) tiện nghi của từng hộ Giả thiết hộ 101 có tivi,
xe máy, điều hòa nhiệt độ; hộ 102 có tivi, tủ lạnh, máy giặt; hộ 103 có tivi, máygiặt; hộ 104 có tủ lạnh, xe máy và hộ 105 có tivi, tủ lạnh, xe máy, máy giặt, điềuhòa nhiệt độ; hộ 106 có tivi, tủ lạnh và xe máy Kết quả hàm f là một bảng 2chiều sau đây:
Mã số hộ Có ti vi Có tủ lạnh Có xe máy Máy giặt Điều hòa nhiệt độ
Bảng 3.5: Dữ liệu điều tra việc sở hữu các tiện nghi
Cộng theo hàng dọc chúng ta biết được số lượng hộ chia theo tiện nghi sinhhoạt Cộng theo hang ngang chúng ta biết được số lượng tiện nghi của từng hộgia đình Bây giờ chúng ta định nghĩa một mô hình trên chiều D2 như sau:
Số lượng mục cần xét là 2 Khi đó (“tivi”) = 1; (“tủ lạnh”) = 1; (“xemáy”) = 0; (“máy giặt”) = 0; (“điều hòa nhiệt độ”) = 0 (D2) = (1,1,0,0,0).Định nghĩa phép chiếu g trên miền giá trị D1 như sau:
Ở đây c là số mục được xét (c = 2) Khi đó g(x1) là một bảng một chiều: