1. Trang chủ
  2. » Luận Văn - Báo Cáo

ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids

109 1,3K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 109
Dung lượng 6,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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,kh

Trang 1

MỤC LỤC

MỤC LỤC 1

DANH MỤC CÁC TỪ VIẾT TẮT 3

DANH MỤC CÁC BẢNG 4

DANH MỤC HÌNH VẼ 5

LỜI NÓI ĐẦU 6

Chương 1 7

TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 7

1.1 Giới thiệu về khai phá dữ liệu 7

1.2 Các nhiệm vụ của khai phá dữ liệu 8

1.3 Các loại dữ liệu được khai phá 9

1.4 Lịch sử phát triển của Khai phá dữ liệu 9

1.5 Ứng dụng của Khai phá dữ liệu 9

1.6 Phân loại 11

1.7 Một số thách thức đặt ra cho việc khai phá dữ liệu 11

Kết chương 11

Chương 2 12

QUY TRÌNH VÀ PHƯƠNG THỨC THỰC HIỆN KHAI PHÁ DỮ LIỆU 12

2.1 Quy trình tổng quát thực hiện Khai phá dữ liệu 12

2.2 Tiến trình khám phá tri thức khi đi vào một bài toán cụ thể 13

2.3 Tiền xử lý dữ liệu 14

2.3.1 Làm sạch dữ liệu 15

2.3.1.1 Các giá trị thiếu 15

2.3.1.2 Dữ liệu nhiễu 16

2.3.2 Tích hợp và chuyển đổi dữ liệu 17

2.3.2.1 Tích hợp dữ liệu 17

2.3.2.2 Biến đổi dữ liệu 19

2.3.3 Rút gọn dữ liệu (Data reduction) 20

2.3.3.1 Rút gọn dữ liệu dùng Histogram 21

2.3.3.2 Lấy mẫu (Sampling) 22

2.3.4 Rời rạc hóa dữ liệu và tạo lược đồ phân cấp khái niệm 24

2.3.4.1 Rời rạc hóa bằng cách phân chia trực quan dùng cho dữ liệu dạng số 25

2.3.4.2 Tạo hệ thống phân cấp khái niệm cho dữ liệu phân loại 26

2.3 Phương pháp khai phá dữ liệu 26

2.4 Một số kỹ thuật dùng trong Data Mining 28

2.4.1 Cây quyết định 28

2.4.1.1 Giới thiệu chung 28

2.4.1.2 Các kiểu cây quyết định 29

2.4.1.3 Ưu điểm của cây quyết định 31

2.4.2 Luật kết hợp 31

2.4.2.1 Phát biểu bài toán khai phá luật kết hợp 32

2.4.2.2 Các hướng tiếp cận khai phá luật kết hợp 34

2.4.3 Mô hình dữ liệu đa chiều 35

2.4.3.1 Định nghĩa: 35

2.4.3.2 Các thao tác trên các chiều của MDDM 36

2.4.4 Khoảng cách ngắn nhất 37

2.4.5 K-Láng giềng gần nhất 38

2.4.6 Phân cụm 39

Trang 2

2.4.7 Kỹ thuật hiển thị dữ liệu 40

2.4.8 Mạng Neural 41

2.4.8.1 Tổng quan 41

2.4.8.2 Mô hình mạng Nơron 42

2.4.9 Thuật toán di truyền 43

2.4.9.1 Giới thiệu chung 43

2.4.9.2 Các bước cơ bản của giải thuật di truyền 44

Kết chương 46

Chương 3 47

ỨNG DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU TRONG HỆ THỐNG IDS 47

3.1 Hệ thống IDS 47

3.1.1 Giới thiệu 47

3.1.2 Hệ thống phát hiện xâm nhập - IDS 47

3.1.2.1 IDS là gì? 47

3.1.2.2 Vai trò, chức năng của IDS 48

3.1.2.3 Mô hình hệ thống IDS mức vật lý 49

3.1.2.4 Cấu trúc và hoạt động bên trong của hệ thống IDS: 49

3.1.2.5 Phân loại 53

3.2 Khai phá dữ liệu trong IDS 54

3.2.1 NIDS dựa trên khai phá dữ liệu 54

3.2.1.1 Source of Audit Data: 54

3.2.1.2 Xử lý dữ liệu kiểm toán thô và xây dựng các thuộc tính 56

3.2.1.3 Các phương thức khai phá dữ liệu trong NIDS 57

3.2.2 Tình hình trong nước 61

3.3.3 Tình hình thế giới 61

3.3.3.1 Nghiên cứu sớm nhất 61

3.3.3.2 Nghiên cứu muộn hơn 64

3.3.3.3 Nghiên cứu gần đây và hiện nay 68

Chương 4 79

XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN TẤN CÔNG DoS SỬ DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU 79

4.1 Thuật toán phân cụm 79

4.1.1 Dẫn nhập 79

4.1.2 Các dạng dữ liệu trong phân tích cụm 79

4.2.2.1 Biến trị khoảng 80

4.2.2.2 Các biến nhị phân 82

4.2.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 .83

4.2.3 Các phương pháp gom cụm 85

4.2.3.1 Các phương pháp phân hoạch 85

4.2.3.2 Các phương pháp phân cấp 86

4.2.4 Thuật toán gom cụm bằng phương pháp K-means 86

4.2.4.1 Thuật toán k-means 87

4.2.4.2 Kỹ thuật dùng đối tượng đại diện: Phương pháp k-medoids 90

4.2 Sơ đồ phân tích thiết kế chương trình (các mẫu) 91

4.2.1 Tập hợp dữ liệu và tiền xử lý 92

4.2.1.1 Tập hợp dữ liệu 92

4.2.1.2 Tiền xử lý 93

4.2.2 Khai phá dữ liệu phát hiện tấn công từ chối dịch vụ 94

4.2.2.1 Các mẫu bất thường của tấn công từ chối dịch vụ 94

Trang 3

4.2.2.2 Khai phá dữ liệu 96

4.2.3 Biểu diễn dữ liệu 97

Chương 5 99

KẾT QUẢ ĐẠT ĐƯỢC – ĐÁNH GIÁ, KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 99

5.1 Cài đặt 99

5.2 Kết quả đạt được 99

5.3 Kết luận 104

5.4 Hướng phát triển 105

TÀI LIỆU THAM KHẢO 106

DANH MỤC CÁC TỪ VIẾT TẮT

Trang 4

OLAP Online Analytical Processing

DANH MỤC CÁC BẢNG

Bảng 2.1: Tần số quan sát 19

Bảng 3.1: Dữ liệu chơi golf 30

Bảng 3.2: Ví dụ về một CSDL giao dịch – D 32

Bảng 3.3: Tập mục thường xuyên minsup = 50% 33

Bảng 3.4: Luật kết hợp sinh từ tập mục phổ biến ABE 34

Bảng 3.5: Dữ liệu điều tra việc sở hữu các tiện nghi 37

Bảng 3.6: Mẫu dữ liệu khách hàng 38

Bảng 3.7: Một số ví dụ dùng kỹ thuật k-láng giềng 39

Bảng 3.8: Bảng sự kiện cho biến nhị phân 55

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 56

Bảng 3.10: Bảng dữ liệu mẫu chứa các biến ở dạng hỗn hợp 57

Trang 5

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 12

Hình 2.2: Tổng quan tiến trình khai phá dữ liệu 13

Hình 2.3: Các hình thức tiền xử lý dữ liệu 14

Hình 2.4: Một histogram cho price sử dụng singleton bucket biểu diễn một cặp price value/frequency 21

Hình 2.5: Một histogram có độ rộng bằng nhau cho price 21

Hình 2.6: Phương pháp lấy mẫu 23

Hình 2.7: Một lược đồ phân cấp cho khái niệm price 24

Hình 2.8: Tự động tạo hệ thống phân cấp khái niệm dựa trên số lượng giá trị phân biệt của các thuộc tính 25

Hình 3.1: Kết quả của cây quyết định 29

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) 34

Hình 3.3: Biến đổi bảng 2 chiều sang mô hình dữ liệu n-chiều 35

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 37

Hình 3.6: Đồ thị dựa vào hai độ đo 40

Hình 3.7: Đồ thị tương tác 3 chiều 40

Hình 3.8: Mô phỏng kiến trúc mạng neural 41

Hình 3.5: Minh họa thuật toán k-means 60

Trang 6

LỜI NÓI ĐẦU

Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thôngtin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũngđồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày mộttích luỹ nhiều lên Họ lưu trữ các dữ liệu này vì cho rằng trong nó ẩn chứanhững giá trị nhất định nào đó Tuy nhiên, theo thống kê thì chỉ có một lượngnhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là luôn được phân tích, sốcòn lại họ không biết sẽ phải làm gì hoặc có thể làm gì với chúng nhưng họ vẫntiếp tục thu thập rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã

bị bỏ qua sau này có lúc cần đến nó Các phương pháp quản trị và khai thác cơ

sở dữ liệu truyền thống không đáp ứng được kỳ vọng này, nên đã ra đời Kỹthuật phát hiện tri thức và khai phá dữ liệu (KDD - Knowledge Discovery andData Mining)

Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiêncứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại ViệtNam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu

và dần đưa vào ứng dụng Trong phạm vi của đề tài nghiên cứu này, tôi xin được

Trang 7

trình bày những kiến thức cơ bản về khai phá dữ liệu và việc ứng dụng khai phá

dữ liệu trong hệ thống IDS/IPS

Trong quá trình hoàn thành đề tài này tôi đã nhận được sự giúp đỡ chỉ bảotận tình của các thầy cô giáo và bạn bè, đặc biệt là thầy giáo Vũ Đình Thu.Nhưng do giới hạn thời gian và năng lực nên không tránh khỏi những sai sót, rấtmong nhận được sự góp ý hơn nữa của thầy cô và các bạn

Em chân thành cảm ơn các thầy, cô!

Trang 8

Để 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ấthoặ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:

nà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

tí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

mộ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)

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…

tí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

Trang 9

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.

tiế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ý

- 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

Trang 10

 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

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

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

Ngân hàng:

động sản

dịch vụ quản lý rủi ro cho thương mại điện tử

Thương mại điện tử:

hợp với loại khách hàng trong một phân khu thị trường nhất định

phát hiện ra các cuộc tấn công xâm nhập mạng trái phép

Vv……và nhiều lĩnh vực khác

Trang 11

 BRANDAID: mô hình marketing linh hoạt tập chung vào hàng tiêu dùngđóng gói

khách hàng triển vọng và khách hàng hiện có

nên giới thiệu trong từng chuyến viếng thăm,

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

1.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

còn phù hợp

Dữ liệu bị thiếu hoặc nhiễu

Giao tiếp với người sử dụng và kết hợp với các tri thức đã có

Kết chương

Trong chương này, đã giới thiệu về:

- Khái niệm khai phá dữ liệu

- Nhiệm vụ của khai phá dữ liệu

- Phân loại trong khai phá dữ liệu

- Các lĩnh vực ứng dụng của khai phá dữ liệu

- Một số thách thức trong khai phá dữ liệu

Trang 12

Chương sau sẽ giới thiệu về quy trình và phương thức thực hiện khai phá

dữ liệu cũng như một số kỹ thuật dùng trong khai phá dữ liệu

Chương 2

QUY TRÌNH VÀ PHƯƠNG THỨC THỰC HIỆN KHAI PHÁ

DỮ LIỆU

2.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

Trang 13

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

Hì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

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

Trang 14

Giai đoạn 4: chiếu dữ liệu, thu nhỏ dữ liệu và tìm những đặc trưng để khaiphá

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…

trong 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ố

kiế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

thứ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 hai 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

2.3 Tiền xử lý dữ liệu

Dữ liệu trong thực tế thường không sạch, và không nhất quán Các kỹthuật tiền xử lý dữ liệu có thể cải thiện được chất lượng của dữ liệu, do đó nógiúp các quá trình khai phá dữ liệu chính xác và hiệu quả Tiền xử lý dữ liệu làmột bước quan trọng trong quá trình khám phá tri thức, bởi vì chất lượng các

Trang 15

quyết định phải dựa trên chất lượng của dữ liệu Quá trình tiền xử lỹ dữ liệu baogồm: Làm sạch dữ liệu, tích hợp và biến đổi dữ liệu, rút gọn dữ liệu, rời rạc hóa

dữ liệu và xây dựng các lược đồ phân cấp khái niệm

Các phương pháp xử lý giá trị thiếu:

1 Bỏ qua bộ có giá trị thiếu): Phương pháp này thường được sử dụng khinhãn lớp bị thiếu (thường trong tác vụ khai phá dữ liệu phân lớp, classification).Phương pháp này rất không hiệu quả, trừ khi một bộ chứa khá nhiều thuộc tínhvới các giá trị thiếu Đặc biệt phương pháp này rất kém hiệu quả khi phần trămgiá trị thiếu trong từng thuộc tính là đáng kể

2 Điền vào bằng tay các giá trị thiếu: Cách tiếp cận này tốn thời gian vàkhông khả thi khi thực hiện trên tập dữ liệu lớn với nhiều giá trị thiếu

3 Sử dụng một hằng số toàn cục để điền vào các giá trị thiếu: Thay thế toàn

bộ giá trị thiếu của các thuộc tính bằng một hằng số như "Unknown" hay  Nếucác giá trị thiếu được thay thế bởi một hằng số khi đó chương trình khai phá dữliệu sẽ nhầm nó với một khái niệm có ý nghĩa, "Unknown", khi chúng có cùngmột giá trị phổ biến- "Unknown" Do đó, mặc dù đây là một phương pháp đơngiản, nhưng nó không dễ dùng

4 Sử dụng giá trị trung bình của thuộc tính để điền các giá trị thiếu

Trang 16

5 Sử dụng một giá trị trung bình của thuộc tính cho tất cả các mẫu thử thuộc

về cùng một lớp với bộ đã cho Ví dụ, nếu phân lớp khách hàng theo credit_risk; giá trị average income còn thiếu sẽ được thay thế bằng giá trị average income của các khách hàng thuộc về cùng một lớp credit-risk với bộ đã cho.

6 Sử dụng một giá trị có khả năng nhất để điền vào các giá trị thiếu: Giá trịnày có thể tìm ra bằng phương pháp hồi qui, hay dựa trên các công cụ sử dụnghình thức Bayesian Ví dụ, sử dụng các thuộc tính khác của khách hàng trongtập dữ liệu của bạn, bạn có thể xậy dựng một cây quyết định để dự báo giá trị

thiếu cho income Phương pháp này tuy phức tạp nhưng lại được sử dụng nhiều

nhất Do giá trị thiếu được suy luận ra khi phân tích các thuộc tính còn lại nêngiá trị thiếu tìm được theo phương pháp này chính xác hơn các phương phápkhác

2.3.1.2 Dữ liệu nhiễu

Nhiễu là một lỗi hay một sự mâu thuẫn ngẫu nhiên trong việc đo các biến số.Các kỹ thuật loại bỏ nhiễu là:

1 Phương pháp Binning

Đầu tiên sắp xếp dữ liệu và phân hoạch dữ liệu thành những bin

Sau đó người dùng có thể làm trơn dữ liệu bằng các giá trị trung bình củabin, bằng trung vị của bin, bằng các biên của bin,

Làm trơn bằng giá trị trung bình của bin: Mỗi giá trị trong bin được thaythế bằng giá trị trung bình của bin

Làm trơn bằng giá trị trung vị của bin: Mỗi giá trị trong bin được thay thếbởi giá trị trung vị của bin

Làm trơn bằng các biên của bin: Giá trị lớn nhất và giá trị nhỏ nhất trongmột bin được dùng nhận biết biên của bin Mỗi giá trị của bin khi đó đượcthay thế bởi giá trị biên gần nhất

Bin có độ rộng càng lớn thì tập dữ liệu thu được sẽ càng "trơn"

Ví dụ 2.1: Cho dữ liệu của price (tính bằng $) đã được sắp xếp: 4, 8, 15,

21, 21, 24, 25, 28, 34

Phân dữ liệu vào các bin (tần số bằng nhau):

Bin 1: 4, 8, 15Bin 2: 21, 21, 24Bin 3: 25, 28, 34Làm trơn bằng giá trị trung bình của bin:

Bin 1: 9, 9, 9Bin 2: 22, 22, 22Bin 3: 29, 29, 29Làm trơn bằng các biên của bin

Bin 1: 4, 4, 15Bin 2: 21, 21, 24Bin 3: 25, 25, 34

Trang 17

2 Phương pháp hồi qui: Dữ liệu có thể làm trơn bằng cách khớp nó với một

hàm nào đó, chẳng hạn như hàm hồi qui Phương pháp hồi qui tuyến tính tìmmột đường thẳng tối ưu để khít với 2 thuộc tính (hay 2 biến), do đó một thuộctính có thể dùng để dự đoán thuộc tính còn lại Hồi qui tuyến tính đa bộ là một

sự mở rộng của hồi qui tuyến tính đơn, trong đó hàm hồi qui chứa nhiều hơn 2thuộc tính dự báo và dữ liệu được làm khít với một bề mặt đa chiều

3 Phân cụm (Clustering): Các giá trị ngoại lai có thể được dò bởi sự phân

cụm, trong đó các giá trị được tổ chức thành các nhóm, hay còn gọi là các

"cluster" Bằng trực giác, các giá trị rơi ra ngoài tập hợp của các cluster có thểđược xem như là các giá trị ngoại lai

Nhiều phương pháp cho việc làm trơn dữ liệu cũng là những phương phápcho việc rút gọn dữ liệu bao gồm cả sự rời rạc hóa Ví dụ, kỹ thuật binning, mô

tả ở trên, rút gọn một số các giá trị khác nhau cho một thuộc tính Các hoạt độngnày giống như là một hình thức rút gọn dữ liệu cho dữ liệu logic cơ sở (logic-based data) cho các phương thức KTDL, như phương pháp cây quyết định, trong

đó nó thực hiện một cách lặp đi lặp lại các sự so sánh giá trị trên một tập dữ liệu

đã được sắp xếp Các hệ thống phân cấp khái niệm là một hình thức của việc rờirạc hóa dữ liệu mà có thể dùng trong việc làm trơn dữ liệu Ví dụ, một hệ thống

phân cấp khái niệm cho price có thể ánh xạ các các giá cả trong thực tế với rẻ,

trung bình và đắt, do đó nó làm giảm số giá trị của dữ liệu trong quá trình

KTDL

2.3.2 Tích hợp và chuyển đổi dữ liệu

KTDL thường đỏi hỏi sự tích hợp dữ liệu tức là sự hợp nhất dữ liệu từ nhiềukho chứa Dữ liệu có thể được chuyển đổi sang các hình thức thích hợp choKTDL Mục này sẽ mô tả cả hai: tích hợp dữ liệu và chuyển đổi dữ liệu

2.3.2.1 Tích hợp dữ liệu

Các tác vụ phân tích dữ liệu của bạn sẽ đòi hỏi sự tích hợp dữ liệu, nó kếthợp dữ liệu từ nhiều nguồn khác nhau thành một khối dữ liệu gắn kết, như trongquá trình xây dựng và sử dụng KDL (data warehousing)

Một số vấn đề trong quá trình tích hợp dữ liệu:

- Làm thể nào để những thực thể trong thế giới thực từ nhiều nguồn khácnhau có thể phù hợp với nhau Ví dụ, customer_id và cus_id chỉ là một thuộctính chứ không phải hai

- Siêu dữ liệu dùng để tránh sự phát sinh lỗi trong quá trình tích hợp các lược

đồ và chuyển đổi dữ liệu Ví dụ, kiểu dữ liệu, các giá trị null của một thuộctính, giá trị thuộc tính ở một cơ sở dữ liệu là "H" nhưng ở cơ sở dữ liệu khác nólại là 1

- Sự dư thừa dữ liệu: Giá trị một thuộc tính có thể được tính toán từ giá trịcủa các thuộc tính khác Sự không nhất quán trong việc đặt tên các thuộc tínhcũng có thể gây ra kết quả dư thừa trong tập dữ liệu Một vài sự dư thừa các

Trang 18

thuộc tính có thể được dò tìm bằng phép phân tích tương quan Cho 2 thuộc tính,phép phân tích tương quan có thể đo được một thuộc tính có liên quan chặt chẽvới thuộc tính khác hay không trên cở sở các dữ liệu sẵn có Đối với các thuộctính số, chúng ta có thể tính toán sự liên quan giữa hai thuộc tính, A và B, bằngcách tính hệ số tương quan:

B A

N i i i B

A

N i

i i

B A

N

B A N b a N

B b A a a

- , σA and σB tương ứng là các độ lệch chuẩn của A và B

- A và B là các giá trị trung bình của A và B.

Chú ý rằng -1=<rA,B<=1, nếu rA,B >0 thì A, B tương quan dương, có nghĩa là

A tăng thì B cũng tăng, rA,B càng lớn thì sự tương quan càng cao Nếu rA,B < 0 thì

không phụ thuộc

Chú ý rằng sự tương quan không hàm ý quan hệ nhân quả, có nghĩa là nếu A

và B là tương quan thì không có nghĩa là A gây ra B hay B gây ra A Ví dụ,trong sự phân tích về dữ liệu nhân khẩu học, chúng ta có thể tìm ra rằng sốlượng bệnh viện và số lượng xe hơi trong một vùng có mối quan hệ tương quan.Điều này không có nghĩa là một thuộc tính là nguyên nhân của một thuộc tínhkhác Thực tế, cả hai thuộc tính đều liên quan đến một thuộc tính thứ ba đó làdân số

Đối với các dữ liệu rời rạc, mối quan hệ tương quan giữa hai thuộc tính, A và

B, có thể được tìm ra bởi phép thử χ2 (chi-bình phương) Giả sử A có c giá trịkhác riêng biệt: a1,a2,a3 ac B có r giá trị riêng biệt: b1,b2,b3 br Các bộ dữ liệu

mô tả bởi A và B có thể được biểu diễn bằng một bảng với c cột giá trị A và rhàng giá trị B Giả sử ô (Ai;Bj) trong đó A=ai và B=bj Khi đó χ2 được tính bởi:

r

ij ij e

e o

) (

11

N

b B count a

A count

Thống kê χ 2 kiểm tra giả thuyết A và B có độc lập hay không Phép kiểm tra

dựa trên một mức độ ý nghĩa, với (r-1)x(c-1) mức tự do Nếu giả thuyết bị loại takết luận rằng A và B phụ thuộc

Ví dụ 2.2: Phép phân tích tương quan của các thuộc tính phân loại sử dụng

được chú Mỗi người được hỏi xem có thích tiểu thuyết hư cấu hay không Vì

Trang 19

vậy chúng ta có hai thuộc tính: gender và prefered-reading Tần số quan sát

(hay count) của mỗi possible joint event được ghi lại trong bảng (bảng 2.1) sau:

450 300 ) (

) (

N

fiction count

male count e

Khi đó χ2 được tính như sau:

840

) 840 1000 ( 360

) 360 200 ( 210

) 210 50 ( 90

) 90 250

Mức tự do cho bảng 2.2 là (2-1)x(2-1)=1 Cho một mức tự do, giá trị χ 2 cần

bác bỏ giả thuyết ở 0.001 mức ý nghĩa là 10.828 ( số này có được do tra bảng,các bảng này thường có trong các sách thống kê) Từ kết quả tính toán ở trên,chúng ta có thể loại bỏ giả thuyết prefered_reading và gender là không phụthuộc và rút ra kết luận: 2 thuộc tính trên có tương quan với nhau

2.3.2.2 Biến đổi dữ liệu

Trong biến đổi dữ liệu, dữ liệu được chuyển đổi hay hợp nhất về dạng phùhợp cho việc KTDL Biến đổi dữ liệu bao gồm những việc sau đây:

- Làm trơn, tức là loại bỏ nhiễu ra khỏi dữ liệu Các kỹ thuật bao gồm:binning, regression, và clustering

- Kết hợp, trong đó các phép toán tóm tắt (summary) hay các phép toán kếthợp (aggregation) được áp dụng cho dữ liệu ví dụ, dữ liệu bán hàng hàng ngày

có thể được tính toán theo tháng hay theo năm Bước này có thể sử dụng trongviệc xây dựng khối dữ liệu của dữ liệu ở nhiều mức

- Khái quát hóa dữ liệu, trong đó dữ liệu ở mức khái niệm thấp hay dữ liệuthô được tổng hợp ở khái niệm mức cao hơn

- Chuẩn hóa, trong đó thuộc tính dữ liệu được tính tỉ lệ sao cho nó nằm trongmột khoảng nhỏ nào đó ví dụ như -1 đến 1; 0 đến 1

Xây dựng thuộc tính (hay xây dựng đặc tính), trong đó các thuộc tính mớiđược xây dựng và được thêm vào tập thuộc tính đã cho để trợ giúp cho quá trìnhKTDL

Các phương pháp chuẩn hóa dữ liệu:

1 Chuẩn hóa min-max: Thực hiện phép biến đổi tuyến tính trên dữ liệu

gốc Giả sử rằng minA và maxA là giá trị lớn nhất và giá trị nhỏ nhất của thuộctính A Phép bình thường hóa ánh xạ giá trị v của A thành giá trị v' trong khoảng[newminA, new maxA] bằng biểu thức chuyển đổi:

Trang 20

A A

A A

2 Chuẩn hóa Z-score: (hay chuẩn hóa trung bình zero) các thuộc tính của

một thuộc tính A, được chuẩn hóa dựa trên giá trị trung bình và độ lệch chuẩn(standar deviation) của giá trị A Một giá trị v của A được chuẩn hóa thành giátrị v' bằng biểu thức:

A

A v v

 '

trong đó A và σ A là giá trị trung bình và độ lệch chuẩn của thuộc tính A.

Phương pháp chuẩn hóa này hữu ích khi giá trị lớn nhất và giá trị nhỏ nhất củathuộc tính là chưa biết, hay các thuộc tính này có các giá trị ngoại lệ ảnh hưởngđến phương pháp chuẩn hóa min-max

3 Chuẩn hóa bằng cách đưa về tỉ lệ thập phân: Một giá trị v được chuẩn

hóa thành giá trị v' bằng phép tính sau:

j

v v

10

'

trong đó j là giá trị nguyên nhỏ nhất mà Max(|v'|)<1

Trong việc xây dựng các thuộc tính, các thuộc tính mới được xây dựng đểgiúp cải thiện tính chính xác và rõ ràng của cấu trúc trong dữ liệu đa chiều(highdimensional data) Ví dụ, chúng ta có thể xây dựng thuộc tính diện tích trên

cơ sở hai thuộc tính chiều dài và chiều rộng Bằng cách phối hợp các thuộc tính,

sự xây dựng thuộc tính có thể khám phá ra thông tin còn thiếu về mối quan hệgiữa các thuộc tính mà có thể hữu ích cho khám phá tri thức

2.3.3 Rút gọn dữ liệu (Data reduction)

Kỹ thuật rút gọn dữ liệu có thể được áp dụng để có được sự biễu diễn rút gọncủa tập dữ liệu mà nhỏ hơn nhiều về số lượng, mà vẫn giữ được tính nguyên vẹncủa dữ liệu gốc Tức là, KTDL trên dữ liệu rút gọn sẽ hiệu quả hơn so vớiKTDL trên dữ liệu gốc Các giai đoạn rút gọn dữ liệu như sau:

1 Tổng hợp khối dữ liệu, trong đó các phép toán tổng hợp được áp dụng trên

dữ liệu trong cấu trúc của khối dữ liệu

2 Lựa chọn tập thuộc tính con, trong đó các thuộc tính hay các chiều khôngliên quan, liên quan yếu, hay dư thừa có thể được tìm và xóa

3 Rút gọn chiều, trong đó cơ chế mã hóa được sử dụng để rút gọn kích thướctập dữ liệu

4 Giảm số lượng, trong đó dữ liệu được thay thế hay được đánh giá bởi dữliệu khác, nhỏ hơn về số lượng như các mô hình tham số (chỉ cần lưu giữ cáctham số mô hình thay vì phải lưu giữ dữ liệu thật) hay các phương pháp khôngdùng tham số (nonparametric method) như clustering, lấy mẫu (sampling), và sửdụng các lược đồ (histograms)

5 Rời rạc hóa và tạo các phân cấp khái niệm, trong đó các giá trị dữ liệu thôcủa các thuộc tính được thay thế bởi các dải hay các mức khái niệm cao hơn

Trang 21

Rời rạc hóa là một hình thức của numerosity reduction, nó rất hữu dụng cho tựđộng tạo các phân cấp khái niệm Rời rạc hóa và tạo các khái niệm phân cấp lànhững công cụ mạnh mẽ cho KTDL, trong đó nó cho phép KTDL ở nhiều mứckhác nhau của khái niệm.

2.3.3.1 Rút gọn dữ liệu dùng Histogram

 Sử dụng kỹ thuật binning để xấp xỉ các phân bố dữ liệu và là một dạng

rút gọn dữ liệu rất phổ biến Chia dữ liệu thành những bucket và lưu trữ giá trị

trung bình (tổng) cho từng bucket

 Một histogram cho một thuộc tính A phân hoạch những phân bố dữ liệu

của A thành những tập con rời nhau, hay gọi là những bucket

 Những bucket này được hiển thị trên một trục ngang, trong khi chiều cao

(và diện tích) của một bucket thông thường sẽ biểu diễn tần suất trung bình của giá trị được biểu diễn bởi bucket đó.

 Nếu mỗi bucket chỉ biểu diễn một cặp giá trị/tần suất của một thuộc tính

đơn lẻ, những bucket đó được gọi là singleton bucket Thông thường, bucket

biểu diễn những miền giá trị liên tục của thuộc tính đã cho

Ví dụ 2.3 Histograms Dữ liệu sau đây là danh sách giá của các mặt hàngthường bán của AllElectronics (được làm tròn về giá trị dollar gần nhất) Các sốđược sắp xếp như sau: 1, 1, 5, 5, 5, 5, 5, 8, 8, 10, 10, 10, 10, 12, 14, 14, 14, 15,

15, 15, 15, 15, 15, 18, 18, 18, 18, 18, 18, 18, 18, 20, 20, 20, 20, 20, 20, 20, 21,

21, 21, 21, 25, 25, 25, 25, 25, 28, 28, 30, 30, 30

Hình 2.4 trình bày một histogram cho dữ liệu sử dụng các singleton bucket

Để rút gọn dữ liệu, thông thường mỗi bucket biểu thị một dải các giá trị liên tụccủa một thuộc tính đã cho Trong hình 2.5, mỗi bucket biểu diễn một dải khácnhau có độ rộng 10 dollar

Hình 2.4: Một histogram cho price sử dụng singleton bucket biểu diễn một cặp

price value/frequency

Trang 22

Hình 2.5: Một histogram có độ rộng bằng nhau cho price

Phân hoạch các giá trị thuộc tính:

Độ rộng bằng nhau: Trong một histogram độ rộng bằng nhau, độ rộng của

từng miền giá trị bucket là một hằng số (như độ rộng $10 của các bucket)

Độ sâu bằng nhau (hay độ cao bằng nhau): Trong một histogram độ sâu

bằng nhau, các bucket được tạo ra sao cho tần suất của từng bucket là một hằng

số (có nghĩa là mỗi bucket chứa đựng cùng một số mẫu dữ liệu kề nhau)

Tối ưu-V: Nếu chúng ta xét tất cả các histogram có thể có của một số bucket

đã cho, histogram tối ưu-V là histogram có độ khác biệt thấp nhất Độ lệch

histogram là một tổng có trọng số của các giá trị gốc mà từng bucket biểu diễn, trong đó trọng số của bucket bằng số giá trị trong bucket.

MaxDiff: Trong một histogram MaxDiff, xét sự khác biệt giữa từng cặp giá

trị liền kề (adjacent) Một biên của bucket được thiết lập giữa từng cặp cho các

cặp có β-1 sự khác biệt lớn nhất, trong đó β là số bucket được người sử dụng xácđịnh

2.3.3.2 Lấy mẫu (Sampling)

Lấy mẫu có thể được sử dụng như một kỹ thuật rút gọn dữ liệu bởi ví nó chophép một tập dữ liệu lớn được biểu diễn bằng một tập mẫu ngẫu nhiên nhỏ hơnnhiều của dữ liệu Giả sử một tập dữ liệu D có N bộ Các phương pháp có thểlấy mẫu D để rút gọn dữ liệu:

Mẫu ngẫu nhiên đơn giản không có sự thay thế (SRSWOR – simple

random sample without replacement) với kích thước n:

o Mẫu này được tạo ra bằng cách rút n bộ của N bộ từ D (n<N), trong đó xác suất để rút một bộ bất kỳ trong D là 1/N, có nghĩa là tất cả các bộ đều có xác

suất bằng nhau

Mẫu ngẫu nhiên đơn giản có sự thay thế (SRSWR – simple random

sample with replacement) với kích thước n:

o Mẫu này tương tự như SRSWOR, ngoại trừ việc mỗi lần một bộ được

rút ra từ D, bộ đó sẽ được ghi lại và sau đó được thay thế Điều này có nghĩa là sau khi một bộ được rút ra, bộ đó sẽ được đưa về lại D để có thể được rút ra lại.

Mẫu cụm (cluster)

Trang 23

o Nếu những bộ trong D được nhóm lại thành M cluster tách rời nhau, thì có thể thu được một SRS của m cluster, trong đó m<M.

o Ví dụ, những bộ trong một cơ sở dữ liệu thường được lấy ra theo mỗi

trang một lần, nhờ đó mỗi trang có thể được xem như một cluster Có thể thu

được một biểu diển được rút gọn của dữ liệu thông qua áp dụng SRSWOR cho

những trang đó, mang lại một mẫu cluster của các bộ.

Mẫu phân tầng:

o Nếu D được chia thành những phần tách rời nhau được gọi là “tầng”, một mẫu phân tầng của D được tạo ra bằng cách lấy ra những SRS tại mỗi tầng.

Điều này giúp đảm bảo một mẫu biểu diễn, đặc biệt khi dữ liệu đối xứng lệch

o Ví dụ có thể thu được một mẫu phân tầng từ dữ liệu khách hàng, trong

đó mỗi tầng được tạo ra cho từng nhóm tuổi khách hàng Bằng cách này, nhómtuổi có số lượng khách hàng nhỏ nhất cũng được đảm bảo sẽ được biểu diễn.Khi rút gọn dữ liệu, phương pháp lấy mẫu thường được sử dụng phổ biến đểước lượng các câu trả lời cho các câu truy vấn tổng hợp Kỹ thuật này có thể xácđịnh một kích thước mẫu đầy đủ để ước lượng một hàm đã cho trong một giớihạn mức lỗi cụ thể Kích thước mẫu có thể rất nhỏ so với kích thước của tập dữliệu Kỹ thuật tạo mẫu là một sự lựa chọn hiển nhiên cho việc cải thiện khôngngừng của tập dữ liệu rút gọn Tập dữ liệu này có thể được tiếp tục cải tiến bằngcách tăng kích thước tập mẫu

Ngoài các phương pháp đã nêu ở trên còn có một số phương pháp khác đểrút gọn dữ liệu như: clustering, rút gọn tập thuộc tính, rút gọn miền giá trị

Trang 24

Hình 2.6: Phương pháp lấy mẫu

2.3.4 Rời rạc hóa dữ liệu và tạo lược đồ phân cấp khái niệm

Các kỹ thuật rời rạc hóa dữ liệu có thể được sử dụng để giảm số lượng cácgiá trị cho một thuộc tính liên tục cho trước bằng cách chia dải giá trị của thuộctính thành các khoảng nhỏ Các nhãn của những khoảng này có thể được sửdụng để thay thế các giá trị dữ liệu thực Sự thay thế số lượng lớn các giá trị củathuộc tính liên tục bằng một số nhỏ các khoảng nhỏ được gán nhãn làm giảmkích thước và đơn giảm hóa dữ liệu gốc Điều này dẫn đến sự biễu diễn ngắngọn, dễ dùng và knowledge-level của các kết quả KTDL

Một phân cấp khái niệm cho một thuộc tính số cho đã cho định nghĩa một sựrời rạc hóa của thuộc tính Các phân cấp khái niệm có thể được sử dụng để rútgọn dữ liệu thu thập và thay thế các khái niệm mức thấp thành các khái niệmmức cao hơn Mặc dù sự chi tiết bị mất đi bởi các phương pháp khái quát hóa dữliệu (data generalization) như vậy nhưng dữ liệu sau khi khái quát hóa có thể có

ý nghĩa hơn và dễ dàng giải thích hơn Điều này góp phần biễu diễn nhất quáncác kết quả khai phá dữ liệu trong nhiều tác vụ khai phá dữ liệu, đây là một yêucầu phổ biến Thêm vào đó, khai phá dữ liệu trên tập dữ liệu thu gọn yêu cầu ítthao tác vào ra và hiệu quả hơn khai phá dữ liệu trên tập dữ liệu lớn hơn, tập dữliệu chưa khái quát hóa Do các lợi ích này, các kỹ thuật rời rạc hóa dữ liệu và

Trang 25

các phân cấp khái niệm được áp dụng trước quá trình khai phá dữ liệu như mộtbước tiền xử lý hơn trong quá trình khai phá dữ liệu Một ví dụ của một phâncấp khái niệm cho thuộc tính price được đưa ra bởi hình 2.6 Nhiều hơn mộtphân cấp khái niệm có thể được định nghĩa cho cùng một thuộc tính để cung cấpcho nhu cầu của các người dùng khác nhau.

Hình 2.7: Một lược đồ phân cấp cho khái niệm price 2.3.4.1 Rời rạc hóa bằng cách phân chia trực quan dùng cho dữ liệu dạng số

Mặc dù các phương pháp rời rạc hóa ở trên là hữu ích trong việc tạo các hệthống phân cấp các hệ thống phân cấp bằng số, Nhiều người dùng thích xem cáckhoảng bằng số được phân hoạch thành cùng dạng để dễ đọc, trực quan và tựnhiên

Ví dụ, mức lương hàng năm thường được chia thành những miền giá trị như[$50,000, $60,000) hơn những miền như [$51263.98, $860872.34) là kết quả thuđược từ một số quá trình phân tích phân cụm phức tạp Luật 3-4-5 có thể được

sử dụng để phân đoạn dữ liệu bằng số thành những đoạn tự nhiên, tương tựnhau Trong trường hợp tổng quát, luật trên phân hoạch miền dữ liệu thành 3, 4hay 5 khoảng có độ dài tương tự nhau, một cách đệ qui theo từng mức, dựa trênmiền giá trị tại những con số có ý nghĩa nhất Chúng ta sẽ minh họa việc sửdụng luật này với những ví dụ dưới đây Luật được thực hiện như sau:

 Nếu một đoạn chứa 3, 6, 7 hay 9 giá trị phân biệt ở ký số ý nghĩa nhất, thì

sẽ phân hoạch miền thành 3 đoạn (3 đoạn có độ rộng bằng nhau cho 3, 6, 9 và 3đoạn trong nhóm 2-3-2 cho 7);

 Nếu một đoạn chứa 2, 4 hay 8 giá trị phân biệt ở ký số ý nghĩa nhất, thì sẽphân hoạch miền thành 4 đoạn có độ rộng bằng nhau

 Nếu một đoạn chứa 1, 5 hay 10 giá trị phân biệt ở ký số ý nghĩa nhất, thìphân hoạch miền thành 5 đoạn độ rộng bằng nhau

Luật trên có thể được áp dụng đệ qui cho mỗi đoạn con, tạo thành một hệthống phân cấp khái niệm cho thuộc tính bằng số đã cho Dữ liệu thực tế thườngchứa nhiều giá trị ngoại lai, mà có thể làm sai lệch phương pháp rời rạc hóa top-down dựa trên giá trị min và max Ví dụ, tài sản của một số ít người có thể lớnhơn rất nhiều so với số khác trong cùng một tập dữ liệu Phương pháp rời rạchóa dựa trên các giá trị tài sản lớn nhất có thể dẫn đến một hệ thống phân cấp có

độ dốc cao Do đó top-level discretization có thể được thực hiện dựa trên miềngiá trị dữ liệu mô tả phần lớn dữ liệu đã cho (Ví dụ khoảng giữa của dữ liệu sau

Trang 26

khi cắt đi mỗi đầu 5%) Các giá trị quá cao hay quá thấp nằm ngoài top-leveldiscretization sẽ hình thành các khoảng riêng biệt

2.3.4.2 Tạo hệ thống phân cấp khái niệm cho dữ liệu phân loại

Dữ liệu phân loại (categorical data) là dữ liệu rời rạc (discrete data) Cácthuộc tính phân loại có một số giới hạn các giá trị phân biệt, không có trật tựgiữa các giá trị Ví dụ: vị trí địa lý, phân loại nghề nghiệp, và chủng loại hànghóa

Phân cấp khái niệm có thể được tự động tạo ra dựa trên sộ lượng phân biệtcủa mỗi thuộc tính trong tập thuộc tính đã cho Một heristic thường dùng là:thuộc tính với nhiều giá trị phân biệt nhất được đặt tại mức thấp nhất của kháiniệm và ngược lại

Xét ví dụ sau đây

Ví dụ 2.7: Tạo hệ thống phân cấp khái niệm dựa trên số lượng các giá trịphân biệt trên mỗi thuộc tính Hệ thống phân cấp khái niệm location cho tậpthuộc tính {street, city, province_or_state, country}

Hình 2.8: Tự động tạo hệ thống phân cấp khái niệm dựa trên số lượng giá trị

phân biệt của các thuộc tính

Ngoài các phương pháp trên còn có một số phương pháp khác để rời rạc hóanhư: Bining, clustering, rời rạc hóa dựa trên Entropy…

2.3 Phương pháp khai phá dữ liệu

Từ những nhiệm vụ trên chúng ta thấy rằng việc khai phá dữ liệu không chỉđơn giản là sử dụng duy nhất một kỹ thuật nào đó Bất cứ phương pháp nào hỗtrợ cho việc tìm kiếm thông tin tốt thì sẽ được sử dụng Tùy thuộc vào cácnhiệm vụ khác nhau mà các phương pháp có thể được chọn, mỗi phương pháp

Trang 27

có điểm mạnh và những mặt hạn chế riêng Chúng ta có thể phân loại nhữngphương pháp khai phá dữ liệu theo các nhóm sau:

hình xác suất Cách thực hiện dựa trên việc kiểm chứng những lý thuyết đã xácđịnh trước và dựa trên việc làm thích hợp những mô hình cho dữ liệu Thôngthường những mô hình này đã được sử dụng bởi những nhà thống kê Do vậycon người phải cung cấp những lý thuyết ứng viên và các mô hình thực hiện

trực tiếp các kinh nghiệm và những giải pháp trong quá khứ Một tình huốngthường là vấn đề đặc biệt đã đối mặt trước đây và cũng đã được giải quyết Đưa

ra một vấn đề mới đặc thù, suy diễn dựa trên tình huống sẽ kiểm tra một tậpnhững tình huống được lưu trữ và tìm những tình huống tương tự Nếu tìnhhuống tồn tại thì những giải pháp tương ứng sẽ được áp dụng cho mô hình mới

và tình huống giải quyết mới sẽ được cập nhật vào hệ thống nhằm phục vụ cholần thực hiện sau

Như chúng ta đã biết thì bộ não con người bao gồm hàng triệu tế bào thần kinhđược kết nối qua khớp thần kinh Những mạng thần kinh được hình thành từ sốlượng lớn những neural mô phỏng, các nút này được kết nối với nhau trong cáchgiống như tế bào thần kinh Tương tự như trong bộ não thật, cường độ kết nối cóthể được thay đổi để đáp lại sự kích thích, điều này cho phép mạng có khả nănghọc

chứng hoặc một quyết định dựa trên item dữ liệu đang xét Dựa trên kết quả củathử nghiệm sẽ xác định nhánh tiếp theo Để phân lớp một item dữ liệu, chúng tabắt đầu từ nút gốc sau đó đi xuống theo các nút phù hợp với kiểm chứng cho đếnkhi gặp nút lá, tại nút này sẽ cho quyết định Cây quyết định còn được dùng thểhiện những hình thức đặc biệt của một tập luật

sự xuất hiện của những thuộc tính, đối tượng nào đó trong dữ liệu Hình thức

tính X1 … XN sẽ dẫn đến thuộc tính Y với độ hỗ trợ là S và độ tin cậy là C

được dẫn ra từ việc thống kê sự xuất hiện của các đối tượng Đặc biệt mạngBayer là một đơn đồ thị có hướng, trong đó mỗi nút thể hiện biến thuộc tính vànhững cạnh thể hiện xác suất phụ thuộc giữa những thuộc tính đó

 Thuật giải di truyền: hay lập trình tiến hóa là cách giải quyết theo chiếnlược tối ưu dựa theo nguyên lý tiến hóa được khảo sát trong tự nhiên Nhữnggiải pháp vấn đề tốt nhất sẽ đi qua giai đoạn chọn lọc và chúng sẽ được kết hợpvới nhau để cho những giải pháp khác tốt hơn Quá trình cứ lặp lại như vậy chođến khi vấn đề được giải quyết hoặc tiến đến một ngưỡng dừng

Trang 28

 Tập mờ: đây là kỹ thuật chính của việc thể hiện và xử lý tính khôngchính xác Sự không chính xác được nảy sinh từ những cơ sở dữ liệu ngày nay:

sự không chính xác, không thể xác định, không nhất quán và mơ hồ… Nhữngtập mờ khai thác tính không chắc chắn để làm cho hệ thống phức tạp trở nên dễquản lý Do vậy những tập mờ tạo thành cách tiếp cận mạnh không chỉ để giảiquyết tính không trọn vẹn, nhiễu hay dữ liệu không chính xác mà còn giúp pháttriển các mô hình không chắc chắn của dữ liệu nhằm tạo ra sự thực thi thôngminh, mềm dẻo hơn so với hệ thống truyền thống

Các đối tượng thuộc tập xấp xỉ dưới là xác định hoàn toàn Các đối tượng thuộctập xấp xỉ trên là phần không xác định Tập xấp xỉ trên của tập thô là hội của tậpxấp xỉ dưới và xấp xỉ biên Một đối tượng thuộc tập biên là xác định nhưngkhông xác định hoàn toàn Vì vậy, tập thô có thể được xem như tập mờ có hàmthành viên ba giá trị: “đúng”, “sai” và “có thể” Giống như tập mờ, tập thô cómột khái niệm toán học để phân lớp dữ liệu Tập thô cũng như tập mờ ít được sửdụng như là một giải pháp đơn lẻ Chúng thường được kết hợp với các phươngpháp khác như suy diễn luật, phân lớp và phân nhóm

2.4 Một số kỹ thuật dùng trong Data Mining

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

2.4.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

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à

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

2.4.1.1 Giới thiệu chung

một ánh xạ từ các quan sát về một sự vật/hiện tượng tớ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 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án củ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ọcmá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ọivới cái tên ngắn gọn là cây quyết định

Trang 29

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ẫn

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

thà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ộ

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:

1 2 3

( , ) ( , , , , , )x yx 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 đó

2.4.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

Vậ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.

Trang 30

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

Câ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

Trang 31

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

2.4.1.3 Ưu điểm của cây quyết định

pháp có một số ưu điểm:

sau khi được giải thích ngắn

cầ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

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ữliệ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ố

tì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

làm cho ta có thể tin tưởng vào mô hình

ngắ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

2.4.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 ra

Trang 32

quyế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ủaluậ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”

2.4.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)

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:

Trang 33

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)%

đượ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

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:

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

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

trong 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ó

định Ngưỡng minconf phản ánh mức độ xuất hiện của Y khi cho trước X (( c

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ác

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:

trong đó:

X’ 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:

Trang 34

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

phổ biến tối đại nếu không tồn tại X  FX(T, I, R, minsup), M X, M  X

2.4.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ô

Luậ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ào

Trang 35

cũ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

2.4.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:

2.4.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:

Trang 36

Hình 3.3: Biến đổi bảng 2 chiều sang mô hình dữ liệu n-chiều

2.4.3.2 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ên

khá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

Vận dụng mô hình dữ liệu n-chiều cho một ví dụ đơn giản về điều tra đời

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ều

Trang 37

hò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:

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:g(x1) = {0,1,0,0,1,1} Số lượng giá trị 1 trong vector g(x1) phản ánh số hộ giađình có đồng thời cả 2 tiện nghi sinh hoạt là “ti vi” và “tủ lạnh”

Bằng các tạo các ánh xạ (MDDM) mới, các phép toán số học cũng như cáchàm tích hợp trên các ánh xạ đó, chúng ta có thể đạt được các phân tích thú vịtrên các bảng của CSDL Mô hình dữ liệu n-chiều được sử dụng rất thích hợpcho việc phân tích dữ liệu thống kê Công cụ phân tích dữ liệu trực tuyến OLAPcủa Microsoft phát triển dựa trên mô hình dữ liệu này

2.4.4 Khoảng cách ngắn nhất

Đây là phương pháp xem các mẫu tin như là những điểm trong không gian

dữ liệu đa chiều Áp dụng ý tưởng này có thể xác định khoảng cách giữa haimẫu tin trong không gian dữ liệu như sau: các mẫu tin có liên hệ với nhau thì rấtgần nhau Các mẫu tin ở xa nhau thì có ít điểm chung Cơ sở dữ liệu mẫu chứa

cá thuộc tính như tuổi, thu nhập và tín dụng Ba thuộc tính mẫu này thành lậpnên không gian dữ liệu ba chiều và có thể phân tích các khoảng cách giữa cácmẫu tin trong không gian này

Trang 38

mà chúng ta không mong muốn Vì vậy chia thu nhập cho 1000 để đạt tới mộtđơn vị đo độ lớn như là tuổi Làm tương tự cho thuộc tính tín dụng Nếu độ đotất cả thuộc tính cùng một độ đo, sẽ có một độ đo khoảng cách đáng tin cậy để

đo các mẫu tin khác nhau Trong ví dụ sẽ dùng độ đo Enclidean, khoảng cáchgiữa khách hàng 1 và khách hàng 2 là 15

2.4.5 K-Láng giềng gần nhất

Khi đã thông dịch các mẫu tin thành các điểm trong một không gian dữ liệunhiều chiều, chúng ta có thể định nghĩa khái niệm của “láng giềng”:

Các mẫu tin ở gần nhau là láng giềng của nhau

Giả sử ta muốn dự đoán thái độ của một tập khách hàng từ một cơ sở dữ liệuvới những mẫu tin mô tả những khách hàng này Giả thuyết cơ sở đòi hỏi để làmmột dự án là những khách hàng cùng loại sẽ có cùng thái độ Trong thuật ngữ ẩn

dụ của không gian dữ liệu đa chiều, một kiểu chỉ là một vùng trong không gian

dữ liệu này Mặt khác, các mẫu tin cùng kiểu sẽ gần nhau trong không gian dữliệu: chúng sẽ là láng giềng của nhau Dựa vào hiểu biết này, để phát triển mộtthuật toán mạnh nhưng rất đơn giản - thuật toán k-láng giềng gần nhất Lýthuyết cơ sở của k-láng giềng gần nhất là “làm như láng giềng của bạn đã làm”.Nếu muốn dự đoán thái độ của một các nhân cụ thể, bắt đầu nhìn vào thái độ củamười người gần gũi với anh ta trong không gian dữ liệu Tính trị trung bình vềthái độ của 10 người này, và trị trung bình này sẽ là cơ sở dự đoán cho cá nhâncủa anh ta Chữ k trong k-láng giềng gần nhất đại diện cho số láng giềng điềutra

K-láng giềng gần nhất đơn giản thật sự không là một kỹ thuật học mà là mộtphương pháp tìm kiếm thuần túy bởi vì tập dữ liệu bản than nó được dùng chỉ để

Trang 39

tham khảo Nó không thể tạo ra một lý thuyết trong lĩnh vực datamining mà giúphiểu cấu trúc tốt hơn Ví dụ như, nếu muốn ra một quyết định cho mỗi yếu tốtrong tập dữ liệu chứa n mẫu tin, thì cần phải so sánh mẫu tin với các mẫu tinkhác Điều này dẫn đến độ phức tạp bậc 2, đặc biệt cho tập cơ sở dữ liệu lớn.Nếu muốn làm một sự phân tích k-láng giềng gần nhất đơn giản đối với một cơ

sở dữ liệu có một triệu mẫu tin, phải thực hiện một ngàn tỷ phép so sánh Cáchtiếp cận như vậy rõ rang là không tốt mặc dầu có nhiều kết quả nghiên cứu đãgiúp tăng tốc độ của quá trình tìm kiếm này Tóm lại các thuật toán data miningkhông nên có độ phức tạp tính toán lớn hơn n*log(n) (trong đó n là số các mẫutin) Trong thực tế chúng ta ít dùng kỹ thuật k-láng giềng gần nhất

Một ví dụ dùng thuật toán k-láng giềng:

Bảng 3.7: Một số ví dụ dùng kỹ thuật k-láng giềng

2.4.6 Phân cụm

Gom cụm dữ liệu là hình thức học không giám sát trong đó các mẫu họcchưa được gán nhãn Mục đích của gom cụm dữ liệu là tim những mẫu đại diệnhoặc gom dữ liệu tương tự nhau (theo một chuẩn đánh giá nào đó) thành nhữngcụm Các điểm dữ liệu nằm trong các cụm khác nhau có độ tương tự thấp hơncác điểm dữ liệu nằm trong một cụm

Phân tích cụm có nhiều ứng dụng rộng rãi, bao gồm nghiên cứu thị trường,nhận dạng mẫu, phân tích dữ liệu và xử lý ảnh Trong kinh doanh, phân tích cụm

có thể giúp các nhà marketing khám phá sự khác nhau giữa các nhóm kháchhàng dựa trên thông tin khác hàng và các đặc trưng của các nhóm khách hàngdựa trên các mẫu mua hàng Trong sinh học, nó có thể được sử dụng để phânloại thực vật và động vật, các mẫu gen với các chức năng tương tự nhau Phântích cụm còn có thể phân loại đất theo công năng hoặc thực tế sử dụng để cóchính sách qui hoạch phù hợp, phân loại các tài liệu trên Web

Các yêu cầu cơ bản của phân tích cụm trong KTDL:

 Có khả năng làm việc hiệu quả với lượng dữ liệu lớn: Phân tích cụm trênmột mẫu của dữ liệu lớn có thể dẫn đến các kết quả thiên lệch Cần phải có cácthuật toán phân cụm trên CSDL lớn

 Có khả năng xử lý các dạng dữ liệu khác nhau: Nhiều thuật toán đượcthiết kế để xử lý dữ liệu bằng số Tuy nhiên, các ứng dụng có thể yêu cầu phântích cụm các dạng dữ liệu khác, như dữ liệu nhị phân, phân loại, trật tự hay sựtrộn lẫn của các kiểu dữ liệu

 Có khả năng khám phá ra các cụm với các dạng bất kỳ: Nhiều thuật toánphân cụm dựa trên các số đo khoảng cách Euclide hay Manhattan Các thuật

Trang 40

toán dựa trên các số đo khoảng cách có xu hướng tìm các cụm hình cầu với kíchthước và mật độ tương tự nhau Tuy nhiên, một cụm (cluster) có thể có hìnhdạng bất kỳ Do đó cần phát triển các thuật toán để tìm các cluster hình dạng bấtkỳ.

 Yêu cầu tối thiểu tri thức lĩnh vực nhằm xác định các tham số đầu vào:Nhiều thuật toán phân cụm đòi hỏi người dùng nhập các tham số trong phân tíchcụm Các kết quả phân cụm có thể bị ảnh hưởng vào các tham số đầu vào Cáctham số thường khó xác định, đặc biệt đối với các tập dữ liệu chứa các đối tượng

dữ liệu nhiều chiều

 Có khả năng làm việc với dữ liệu nhiễu

 Không bị ảnh hưởng vào thứ tự nhập của dữ liệu

 Làm việc tốt trên CSDL có số chiều cao

 Chấp nhận các ràng buộc do người dùng chỉ định

 Có thể hiểu và sử dụng được các kết quả gom cụm

Ở phần này chỉ giới thiệu sơ qua về kỹ thuật phân cụm, chi tiết hơn về kỹthuật này sẽ được giới thiệu trong chương 4

2.4.7 Kỹ thuật hiển thị dữ liệu

Kỹ thuật hiển thị dữ liệu là một phương pháp rất hữu hiệu trong việc pháthiện các mẫu trong tập dữ liệu và có thể dùng khi bắt đầu tiến trình khai phá dữliệu để có thể cảm nhận được giá trị của tập dữ liệu và các mẫu sẽ được tìm thấy

ở đâu Những khả năng này được cung cấp bằng các công cụ hiển thị hướng đốitượng 3 chiều cho phép người sử dụng khai phá các cấu trúc tương tác 3 chiều

Hiện nay, kỹ thuật đang được phát triển bằng kỹ thuật đồ họa cao cấptrong thực tế ảo, cho phép người quan sát không gian dữ liệu nhân tạo, cùng lúcbiến đổi tập dữ liệu Tuy nhiên đối với hầu hết người sử dụng kỹ thuật nàykhông thể truy xuất mà phải nhờ vào các kỹ thuật đồ họa đơn giản có trong đónhững công cụ truy vấn tin hoặc những công cụ data mining Phương pháp đơngiản này có thể cung cấp một lượng thông tin có giá trị Một kỹ thuật cơ bản và

có giá trị cao là lược đồ phân tán: trong kỹ thuật này thông tin trên hai thuộc tínhđược hiển thị trong không gian Descartes Các lược đồ phân tán có thể được sửdụng để nhận dạng tập con dữ liệu đáng quan tâm, vì thế chúng ta chỉ còn tậptrung vào phần còn lại của quá trình data mining

Ngày đăng: 19/12/2014, 20:02

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] PGS.TS Đỗ Phúc (2006), Giáo trình Khai thác Dữ liệu, Trường Đại học Công nghệ thông tin TP. Hồ Chí Minh, Đại học Quốc gia TP. Hồ Chí Minh Sách, tạp chí
Tiêu đề: Giáo trình Khai thác Dữ liệu
Tác giả: PGS.TS Đỗ Phúc
Năm: 2006
[2] Huỳnh Tuấn Anh, Bài giảng DATAWAREHOUSE AND DATA MINING, TRƯỜNG ĐẠI HỌC NHA TRANG (2008) Sách, tạp chí
Tiêu đề: Bài giảng DATAWAREHOUSE AND DATA MINING
[3] Ts.Nguyễn Đình Thúc. Trí tuệ nhân tạo - Mạng Nơron – Phương pháp và ứng dụng – NXB Giáo dục năm 2000 Sách, tạp chí
Tiêu đề: Trí tuệ nhân tạo - Mạng Nơron – Phương pháp và ứng dụng
Nhà XB: NXB Giáo dục năm 2000
[4] PGS.TS Nguyễn Quang Hoan. Nhập môn trí tuệ nhân tạo. Học viện Công nghệ Bưu chính Viễn thông (2007) Sách, tạp chí
Tiêu đề: Nhập môn trí tuệ nhân tạo
[5] Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 . THUẬT GIẢI DI TRUYỀN VÀ ỨNG DỤNG. Đại học Đà Nẵng – 2008 Sách, tạp chí
Tiêu đề: Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 ."THUẬT GIẢI DI TRUYỀN VÀ ỨNG DỤNG
[6] Ths. Phạm Nguyễn Anh Huy, Luận văn thạc sĩ tin học “ Dùng một số thuật toán khai khoáng dữ liệu hỗ trợ truy xuất các địa chỉ Internet ở WebServer ” Sách, tạp chí
Tiêu đề: Dùng một số thuật toán khai khoáng dữ liệu hỗ trợ truy xuất các địa chỉ Internet ở WebServer

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Data mining – một bước trong quá trình khám phá tri thức - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Hình 2.1 Data mining – một bước trong quá trình khám phá tri thức (Trang 13)
Hình 2.2: Tổng quan tiến trình khai phá dữ liệu - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Hình 2.2 Tổng quan tiến trình khai phá dữ liệu (Trang 14)
Hình 2.3: Các hình thức tiền xử lý dữ liệu - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Hình 2.3 Các hình thức tiền xử lý dữ liệu (Trang 15)
Hình 2.4 trình bày một histogram cho dữ liệu sử dụng các singleton bucket. - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Hình 2.4 trình bày một histogram cho dữ liệu sử dụng các singleton bucket (Trang 21)
Hình 2.5:  Một histogram có độ rộng bằng nhau cho price Phân hoạch các giá trị thuộc tính: - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Hình 2.5 Một histogram có độ rộng bằng nhau cho price Phân hoạch các giá trị thuộc tính: (Trang 22)
Hình 2.6:  Phương pháp lấy mẫu - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Hình 2.6 Phương pháp lấy mẫu (Trang 24)
Hình 2.7:  Một lược đồ phân cấp cho khái niệm price 2.3.4.1 Rời rạc hóa bằng cách phân chia trực quan  dùng cho dữ liệu dạng số - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Hình 2.7 Một lược đồ phân cấp cho khái niệm price 2.3.4.1 Rời rạc hóa bằng cách phân chia trực quan dùng cho dữ liệu dạng số (Trang 25)
Hình 2.8:  Tự động tạo hệ thống phân cấp khái niệm dựa trên số lượng giá trị - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Hình 2.8 Tự động tạo hệ thống phân cấp khái niệm dựa trên số lượng giá trị (Trang 26)
Hình 3.1:  Kết quả của cây quyết định - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Hình 3.1 Kết quả của cây quyết định (Trang 30)
Bảng 3.1: Dữ liệu chơi golf - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Bảng 3.1 Dữ liệu chơi golf (Trang 30)
Bảng 3.5: Dữ liệu điều tra việc sở hữu các tiện nghi - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Bảng 3.5 Dữ liệu điều tra việc sở hữu các tiện nghi (Trang 37)
Bảng 3.6: Mẫu dữ liệu khách hàng - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Bảng 3.6 Mẫu dữ liệu khách hàng (Trang 38)
Bảng 3.7: Một số ví dụ dùng kỹ thuật k-láng giềng - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Bảng 3.7 Một số ví dụ dùng kỹ thuật k-láng giềng (Trang 39)
Hình 3.6:  Đồ thị dựa vào hai độ đo - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Hình 3.6 Đồ thị dựa vào hai độ đo (Trang 41)
Hình 3.8:  Mô phỏng kiến trúc mạng neural - ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống ids
Hình 3.8 Mô phỏng kiến trúc mạng neural (Trang 42)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w