Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
MỤC LỤC
MỤC LỤC...................................................................................................................................1
DANH MỤC CÁC TỪ VIẾT TẮT............................................................................................4
DANH MỤC CÁC BẢNG.........................................................................................................5
DANH MỤC HÌNH VẼ..............................................................................................................5
LỜI NÓI ĐẦU............................................................................................................................7
Chương 1.....................................................................................................................................9
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU...........................................................................9
1.1 Giới thiệu về khai phá dữ liệu...........................................................................................9
1.2 Các nhiệm vụ của khai phá dữ liệu.................................................................................10
1.3 Các loại dữ liệu được khai phá........................................................................................11
1.4 Lịch sử phát triển của Khai phá dữ liệu..........................................................................11
1.5 Ứng dụng của Khai phá dữ liệu.....................................................................................12
1.6 Phân loại các phương pháp khai phá dữ liệu.................................................................13
1.7 Một số thách thức đặt ra cho việc khai phá dữ liệu.......................................................13
Kết chương................................................................................................................................14
Chương 2...................................................................................................................................14
QUY TRÌNH VÀ PHƯƠNG THỨC THỰC HIỆN KHAI PHÁ DỮ LIỆU............................14
2.1 Quy trình tổng quát thực hiện Khai phá dữ liệu..............................................................14
2.2 Tiến trình khám phá tri thức khi đi vào một bài toán cụ thể...........................................15
2.3 Tiền xử lý dữ liệu............................................................................................................16
2.3.1 Làm sạch dữ liệu......................................................................................................17
2.3.1.1 Các giá trị thiếu.................................................................................................17
2.3.1.2 Dữ liệu nhiễu.....................................................................................................18
2.3.2 Tích hợp và chuyển đổi dữ liệu................................................................................19
2.3.2.1 Tích hợp dữ liệu................................................................................................19
2.3.2.2 Biến đổi dữ liệu.................................................................................................21
2.3.3 Rút gọn dữ liệu (Data reduction).............................................................................22
2.3.3.1 Rút gọn dữ liệu dùng Histogram.......................................................................23
2.3.3.2 Lấy mẫu (Sampling)..........................................................................................24
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..........................................26
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ố............27
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...................................28
2.4 Phương pháp khai phá dữ liệu.........................................................................................28
2.5 Một số kỹ thuật dùng trong Data Mining ......................................................................30
2.5.1 Cây quyết định.........................................................................................................30
2.5.1.1 Giới thiệu chung................................................................................................30
2.5.1.2 Các kiểu cây quyết định....................................................................................31
2.5.1.3 Ưu điểm của cây quyết định.............................................................................33
2.5.2 Luật kết hợp............................................................................................................33
2.5.2.1 Phát biểu bài toán khai phá luật kết hợp..........................................................34
2.5.2.2 Các hướng tiếp cận khai phá luật kết hợp........................................................36
2.5.3 Mô hình dữ liệu đa chiều........................................................................................37
2.5.3.1 Định nghĩa:.......................................................................................................37
2.4.3.2 Các thao tác trên các chiều của MDDM..........................................................38
2.5.4 Khoảng cách ngắn nhất...........................................................................................39
2.5.5 K-Láng giềng gần nhất............................................................................................40
2.5.6 Phân cụm.................................................................................................................41
1
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
2.5.7 Kỹ thuật hiển thị dữ liệu..........................................................................................42
2.5.8 Mạng Neural............................................................................................................43
2.5.8.1 Tổng quan.........................................................................................................43
2.5.8.2 Mô hình mạng Nơron........................................................................................44
2.5.9Thuật toán di truyền..................................................................................................45
2.5.9.1 Giới thiệu chung................................................................................................45
2.5.9.2 Các bước cơ bản của giải thuật di truyền..........................................................46
Kết chương................................................................................................................................48
Chương 3...................................................................................................................................49
ỨNG DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU TRONG HỆ THỐNG IDS.......................49
3.1 Giới thiệu chung .............................................................................................................49
3.2 Hệ thống IDS.................................................................................................................49
3.2.2 Hệ thống phát hiện xâm nhập - IDS ........................................................................49
3.1.2.1 Giới thiệu về IDS..............................................................................................49
3.2.2.2 Vai trò, chức năng của IDS..............................................................................50
3.2.2.3 Mô hình hệ thống IDS mức vật lý ....................................................................51
3.2.2.4 Cấu trúc và hoạt động bên trong của hệ thống IDS:.........................................51
3.2.2.5 Phân loại............................................................................................................55
3.3 Khai phá dữ liệu trong IDS.............................................................................................56
3.3.1 NIDS dựa trên khai phá dữ liệu ..............................................................................56
3.3.1.1. Nguồn dữ liệu Audit:.......................................................................................56
3.3.1.2 Xử lý dữ liệu kiểm toán thô và xây dựng các thuộc tính..................................58
3.3.1.3 Các phương thức khai phá dữ liệu trong NIDS................................................59
3.3.2 Tình hình trong nước...............................................................................................63
3.3.3 Tình hình thế giới.....................................................................................................63
3.3.3.1. Phát triển lọc phát hiện xâm nhập tuỳ chỉnh sử dụng khai phá dữ liệu:..........64
3.3.3.2. ADAM: Một thử nghiệm về việc thực hiện việc ứng dụng khai phá dữ liệu
trong hệ thống phát hiện xâm nhập ..............................................................................67
3.3.3.3. Một Framework về việc xây dựng các thuộc tính và các mô hình cho hệ thống
phát hiện xâm nhập (MADAM ID):.............................................................................69
3.3.3.4. Học luật cho phát hiện bất thường (Learning Rules for Anomaly Detection
-LERAD):......................................................................................................................70
3.3.3.5. Phát hiện xâm nhập dựa trên Entropy:.............................................................72
3.3.3.6. MINDS – Minnesota Intrusion Detection System:..........................................75
Kết chương................................................................................................................................81
Chương 4...................................................................................................................................82
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...............................................................................................................82
4.1 Dẫn nhập ........................................................................................................................82
4.2 Thuật toán phân cụm ......................................................................................................82
4.2.1 Các dạng dữ liệu trong phân tích cụm.....................................................................82
4.2.1.1 Biến trị khoảng..................................................................................................83
4.2.1.2 Các biến nhị phân..............................................................................................85
4.2.1.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....86
4.2.2 Các phương pháp gom cụm.....................................................................................88
4.2.2.1 Các phương pháp phân hoạch...........................................................................88
4.2.2.2 Các phương pháp phân cấp...............................................................................89
4.2.3 Thuật toán gom cụm bằng phương pháp K-means..................................................89
4.2.3.1 Thuật toán k-means...........................................................................................90
2
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
4.2.3.2 Kỹ thuật dùng đối tượng đại diện: Phương pháp k-medoids............................93
4.3 Sơ đồ phân tích thiết kế chương trình ............................................................................94
..................................................................................................................................................94
4.3.1 Tập hợp dữ liệu và tiền xử lý ..................................................................................95
4.3.1.1 Tập hợp dữ liệu.................................................................................................95
4.3.1.2 Tiền xử lý..........................................................................................................96
4.3.2 Khai phá dữ liệu phát hiện tấn công từ chối dịch vụ...............................................97
4.3.2.1 Các mẫu bất thường của tấn công từ chối dịch vụ............................................97
4.3.2.2 Khai phá dữ liệu ...............................................................................................99
4.3.3 Biểu diễn dữ liệu....................................................................................................100
Kết chương..............................................................................................................................101
Chương 5.................................................................................................................................102
KẾT QUẢ ĐẠT ĐƯỢC – ĐÁNH GIÁ, KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.............102
5.1 Cài đặt...........................................................................................................................102
5.2 Kết quả đạt được .........................................................................................................103
5.3 Kết luận.........................................................................................................................109
5.4 Hướng phát triển...........................................................................................................110
Kết chương..............................................................................................................................110
TÀI LIỆU THAM KHẢO.......................................................................................................111
3
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
DANH MỤC CÁC TỪ VIẾT TẮT
AS
Analysis Services
BIDS
Intelligence Development Studio
BI Dev Studio
Business Intelligent Developtment
BSM
Basic Security Module
CSDL
Cơ sở dữ liệu
DM
Data mining: Khai phá dữ liệu
DMX
Data Mining eXtensions
DDoS
Distributed Denial of Service
DoS
Denial of Service
DSV
Data Source View
DTS
Data Transformation Services
HIDS
Host Intrusion Detection System
IDS/IPS
Intrusion Detection System/ Intrusion Prevention System
KDD
Knowledge Discovery and Data Mining
KTDL
Khai thác dữ liệu
KDL
Kho dữ liệu
LERAD
Learning Rules for Anomaly Detection
MDDM
Dimensional Data Model: Mô hình dữ liệu đa chiều
MINDS
Minnesota Intrusion Detection System
MMPB
Mining Model Prediction Builder
MSE
Mining Structure Editor
MSS
Microsoft SQL Server
NIDS
Network Intrusion Detection System
OLAP
Online Analytical Processing
SRSWOR
Simple random sample without replacement
SRSWR
Simple random sample with replacement
4
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
DANH MỤC CÁC BẢNG
Bảng 2.1: Tần số quan sát.........................................................................................................21
Bảng 2.2: Dữ liệu chơi golf.......................................................................................................32
Bảng 2.3: Ví dụ về một CSDL giao dịch – D...........................................................................34
Bảng 2.4: Tập mục thường xuyên minsup = 50%....................................................................35
Bảng 2.5: Luật kết hợp sinh từ tập mục phổ biến ABE............................................................36
Bảng 2.6: Dữ liệu điều tra việc sở hữu các tiện nghi................................................................39
Bảng 2.7: Mẫu dữ liệu khách hàng...........................................................................................40
Bảng 2.8: Một số ví dụ dùng kỹ thuật k-láng giềng..................................................................41
Bảng 3.1: Các bản ghi của giao thức Telnet Records...............................................................59
Bảng 3.2: Ví dụ về các luật RIPPER từ các bản ghi Telnet......................................................60
Bảng 3.3: Mẫu tập dữ liệu huấn luyện......................................................................................71
Bảng 3.4: Thuật toán LERAD...................................................................................................71
Bảng 3.5: Các đặc điểm dựa trên cửa sổ thời gian....................................................................77
Bảng 3.6: Đặc điểm dựa trên Connection-window...................................................................77
Bảng 3.7 Tổng kết một số nghiên cứu NIDS của thế giới........................................................81
Bảng 4.1: Bảng sự kiện cho biến nhị phân...............................................................................85
Bảng 4.2: 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......86
Bảng 4.3: Bảng dữ liệu mẫu chứa các biến ở dạng hỗn hợp.....................................................86
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.....................................15
Hình 2.2: Tổng quan tiến trình khai phá dữ liệu.......................................................................16
5
Ứ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................................................................................17
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.........................................................................................................................24
Hình 2.5: Một histogram có độ rộng bằng nhau cho price......................................................24
Hình 2.6: Phương pháp lấy mẫu..............................................................................................26
Hình 2.7: Một lược đồ phân cấp cho khái niệm price..............................................................27
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............................................................................................................................28
Hình 2.9: Kết quả của cây quyết định......................................................................................32
Hình 2.10: Biểu diễn hình học cho mô hình dữ liệu n-chiều (với n=3)...................................37
Hình 2.11: Biến đổi bảng 2 chiều sang mô hình dữ liệu n-chiều.............................................38
Hình 2.12: 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...................................................................40
Hình 2.13: Đồ thị dựa vào hai độ đo........................................................................................43
Hình 2.14: Đồ thị tương tác 3 chiều.........................................................................................43
Hình 2.15: Mô phỏng kiến trúc mạng neural...........................................................................44
Hình 3.1: Mô hình mạng xử dụng IDS.....................................................................................50
Hình 3.2: Các thành phần của một hệ thống IDS......................................................................51
Hình 3.3: Mô hình hoạt động của hệ thống IDS.......................................................................52
Hình 3.4: Mô hình thu thập dữ liệu ngoài luồng.......................................................................52
Hình 3.5: Mô hình thu thập dữ liệu trong luồng.......................................................................53
Hình 3.6: Module phân tích, phát hiện tấn công.......................................................................53
Hình 3.7: HIDS (Host Intrusion Detection System).................................................................55
Hình 3.8: NIDS (Network Intrusion Detection System)...........................................................55
Hình 3.9: Định dạng Header TCP của dữ liệu nhị phân kiểm toán..........................................58
Hình 3.10: Mẫu dữ liệu TCP DUMP........................................................................................58
Hình 3.11: Ví dụ về các chuỗi thường xuyên có hành động xen vào hoặc nhiễu.....................65
Hình 3.12: Phát triển bộ lọc tuỳ chỉnh với khai phá dữ liệu.....................................................66
Hình 3.13: Giai đoạn huấn luyện của ADAM..........................................................................67
Hình 3.14: Khai phá xâm nhập với ADAM..............................................................................68
Hình 3.15: Luồng dữ liệu MADAMID.....................................................................................69
Hình 3.16: Luồng hoạt động của phát hiện xâm nhập dựa trên Entropy..................................74
Hình 3.17: Hệ thống MINDS....................................................................................................76
Hình 3.18: Module phân tích kết hợp MINDS.........................................................................78
Hình 3.19: Các phương thức sắp xếp mẫu................................................................................79
Hình 4.1: Minh họa thuật toán k-means....................................................................................90
Hình 4.2: Nguyên lý chung của một tiến trình phát hiện xâm nhập sử dụng kỹ thuật phân cụm
...................................................................................................................................................94
Hình 5.1 Giao diện chính .......................................................................................................103
Hình 5.2 Tiền xử lý dữ liệu.....................................................................................................104
Hình 5.3 Giao diện khai phá...................................................................................................105
Hình 5.4 Màn hình khai phá dữ liệu của giao thức HTTP......................................................106
Hình 5.5 Màn hình tự động khai phá......................................................................................107
6
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
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ông
tin 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ột
tí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ứa
những giá trị nhất định nào đó. Tuy nhiên, theo thống kê thì chỉ có một lượng
nhỏ 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ẫn
tiế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 đã
7
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
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 and
Data Mining).
Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên
cứ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ệt
Nam 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
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.
Nội dung của đồ án gồm các chương sau:
Chương 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
Trong chương sẽ giới thiệu về khai phá dữ liệu, các nhiệm vụ của khai
phá dữ liệu, các loại dữ liệu được khai phá, lịch sử phát triển của khai phá dữ
liệu, ứng dụng, phân loại các phương pháp cũng như đưa ra những thách thức
đối với việc 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
Chương trình bày về quy trình đi từ tổng quát để thực hiện khai phá dữ
liệu đi đến tiến trình khai phá dữ liệu khi đi vào một bài toán cụ thể nào đó, cũng
như đi vào giới thiệu chi tiết một bước khá quan trọng trong tiến trình này đó là
Tiền xử lý dữ liệu. Ngoài ra trong chương này cũng cho biết về các phương
pháp khai phá dữ liệu và các kỹ thuật khai phá dữ liệu thường được sử dụng mà
cụ thể ở đây là 9 kỹ thuật: cây quyết định, luật kết hợp, mô hình dữ liệu đa chiều
khoảng cách ngắn nhất, K- láng giềng gần nhất, phân cụm, kỹ thuật hiển thị dữ
liệu, mạng neural và thuật toán di truyền.
Chương 3: ỨNG DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU TRONG HỆ
THỐNG IDS
Chương giới thiệu chi tiết về hệ thống phá hiện xâm nhập: định nghĩa, mô
hình, phân loại, cấu trúc và hoạt động bên trong; đi vào tìm hiểu việc ứng dụng
khai phá dữ liệu trong hệ thống IDS. Đồng thời cho biết được tình hình trong
nước và thế giới về việc ứng dụng khai phá dữ liệu trong hệ thống IDS và đã đi
vào cụ thể một số nghiên cứu của thế giới trong lĩnh vực này.
Chương 4: 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
Trong chương này trình bày việc đưa kỹ thuật khai phá dữ liệu phân cụm
vào một bài toán cụ thể - Phát hiện tấn công DoS. Mà cụ thể thuật toán sẽ sử
dụng ở đây là thuật toán k-mediods. Đồng thời đưa ra sơ đồ phân tích thiết kế
chương trình…
Chương 5: KẾT QUẢ ĐẠT ĐƯỢC – ĐÁNH GIÁ, KẾT LUẬN VÀ
HƯỚNG PHÁT TRIỂN
8
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
Chương này đưa ra một số yêu cầu về việc cài đặt để có thể chạy được
chương trình Demo đính kèm đồ án, các kết quả đã đạt được của đồ án, những
tổng kết và phương hướng phát triển của đồ án.
Sau đây sẽ trình bày chi tiết nội dung của đồ án.
Chương 1
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Giới thiệu về khai phá dữ liệu
Khai phá dữ liệu được định nghĩa là quá trình trích xuất các thông tin có giá
trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu, kho
dữ liệu. Cụ thể hơn đó là tiến trình trích lọc, sản sinh những tri thức hoặc những
9
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
mẫu tiềm ẩn, chưa biết nhưng hữu ích từ các cơ sở dữ liệu lớn. Đồng thời là tiến
trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính khái
quát, tính qui luật hỗ trợ tích cực cho các tiến trình ra quyết định. Hiện nay,
ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý
nghĩa tương tự như: Khai phá tri thức từ CSDL, trích lọc dữ liệu, phân tích dữ
liệu/mẫu, khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredredging).
Nhiều người coi khai phá dữ liệu và một số thuật ngữ thông dụng khác là khám
phá tri thức trong CSDL (Knowledge Discovery in Databases-KDD) là như
nhau. Tuy nhiên trên thực tế khai phá dữ liệu chỉ là một bước thiết yếu trong quá
trình Khám phá tri thức trong CSDL.
Để 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
hoặ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ồm
có: 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ích
luậ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 ra
cá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ồm
có: 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ĩnh
vự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ệu
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.
Khai phá những luật phân biệt: khai phá những đặc trưng, những thuộc
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ân
biệ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ững
triệ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.
10
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
Khám phá luật kết hợp: khai phá sự kết hợp giữa những đối tượng trong
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).
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ựa
trê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ộc
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.
Dự báo: dự báo giá trị có thể đúng củ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.
Khám phá quy luật biến đổi: tìm những tập luật phản ánh những hành vi
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ững
yế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ết
cá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ình
quan hệ. Hầu hết những hệ quản trị cơ sở dữ liệu hiện nay đều hỗ trợ mô hình
nà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 trong
siê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 lai
giữ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ình
phâ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ệ.
11
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
- Những năm 1980: Hoàn thiện lý thuyết về CSDL quan hệ và các hệ quản
trị 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, khoa
họ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ết
tậ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ỗ, khai
phá 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 áp
dụ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ệu
trong 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át
hiệ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ương
phá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 định
phâ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:
◊ 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 cho
dị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.
12
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
◊ 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
Nhân sự:
◊ Giúp nhà tuyển dụng chọn ứng viên thích hợp nhất cho nhu cầu của
công ty
Y học:
◊ Hỗ trợ bác sĩ phát hiện ra bệnh của bệnh nhân dựa trên các xét nghiệm
đầu vào
An ninh, an toàn mạng
◊ Ứng dụng trong hệ thống phát hiện xâm nhập trái phép IDS/IPS để
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
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ủa
khá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ào
nê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ính
tiềm năng
1.6 Phân loại các phương pháp khai phá dữ liệu
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ất
kế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ụng
các kỹ thuật OLAP, kỹ thuật máy học (cây quyết định, mạng neural, thuật giải
tiế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 trong
nhiề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ông
còn phù hợp.
Dữ liệu bị thiếu hoặc nhiễu
13
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
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…
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
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
14
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
1)
2)
3)
4)
5)
6)
7)
Quá trình này gồm các bước:
Làm sạch dữ liệu (data cleaning): Loại bỏ nhiễu hoặc các dữ liệu không
thích hợp.
Tích hợp dữ liệu (data integration): Tích hợp dữ liệu từ các nguồn khác
nhau như: CSDL, Kho dữ liệu, file text…
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.
Chuyển đổi dữ liệu (data transformation): Trong bước này, dữ liệu sẽ được
chuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực hiện các thao
tác nhóm hoặc tập hợp.
Khai phá dữ liệu (data mining): Là giai đoạn thiết yếu, trong đó các phương
pháp thông minh sẽ được áp dụng để trích xuất ra các mẩu dữ liệu.
Đánh giá mẫu (pattern evaluation): Đánh giá sự hữu ích của các mẫu biểu
diễn tri thức dựa vào một số phép đo.
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ững
giai đ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:
15
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
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ừ quan đ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 để khai
phá
Giai đ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ết
trong trường hợp cụ thể đang xét. Lựa chọn những phương pháp tìm kiếm
mẫ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ìm
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ập
những thể hiện bao gồm những luật phân lớp, cây, sự hồi quy và phân
nhóm.
Giai đoạn 8: thông dịch lại những mẫu đã được khai phá dưới các hình
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ững
công việc trước đây đều tập trung ở bước 7 là giai đoạn khai phá dữ liệu. Tuy
nhiê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ất
nhiề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
16
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
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
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 bao
gồ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.
Hình 2.3: Các hình thức tiền xử lý dữ liệu
2.3.1 Làm sạch dữ liệu
Dữ liệu trong thực tế thường không đầy đủ, nhiễu, và không nhất quán. Quá
trình là sạch dữ liệu sẽ cố gắng điền các giá trị thiếu, loại bỏ nhiễu, và sửa chữa
sự không nhất quán của dữ liệu.
2.3.1.1 Các giá trị thiếu
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 khi
nhã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ính
vớ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ăm
giá 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ếu
cá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ùng
17
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
một giá trị phổ biến- "Unknown". Do đó, mặc dù đây là một phương pháp đơn
giả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.
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ụng
hình thức Bayesian. Ví dụ, sử dụng các thuộc tính khác của khách hàng trong
tậ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ên
giá trị thiếu tìm được theo phương pháp này chính xác hơn các phương pháp
khá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ủa
bin, 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 thay
thế 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 trong
một bin được dùng nhận biết biên của bin. Mỗi giá trị của bin khi đó được
thay 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, 15
Bin 2: 21, 21, 24
Bin 3: 25, 28, 34
Làm trơn bằng giá trị trung bình của bin:
Bin 1: 9, 9, 9
Bin 2: 22, 22, 22
Bin 3: 29, 29, 29
Làm trơn bằng các biên của bin
18
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
Bin 1: 4, 4, 15
Bin 2: 21, 21, 24
Bin 3: 25, 25, 34
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ìm
một đường thẳng tối ưu để khít với 2 thuộc tính (hay 2 biến), do đó một thuộc
tí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 2
thuộ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áp
cho 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 động
nà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ở (logicbased 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ời
rạ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ều
kho chứa. Dữ liệu có thể được chuyển đổi sang các hình thức thích hợp cho
KTDL. 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ết
hợ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ư trong
quá 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ác
nhau có thể phù hợp với nhau. Ví dụ, customer_id và cus_id chỉ là một thuộc
tí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ộc
tí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.
19
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
- 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ính
cũ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
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ộc
tí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ằng
cách tính hệ số tương quan:
N
a A, B =
∑ (ai − A)(bi − B)
i =1
Nσ Aσ B
N
=
∑ (a b ) − N AB
i =1
i i
Nσ Aσ B
Trong đó:
- N là số các bộ, ai và bi tương ứng là các giá trị của các thuộc tính A, B trong
bộ thứ i.
- σ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=
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ì
A, B tương quan âm, có nghĩa là A tăng thì B giảm Nếu r A,B = 0 thì A và B
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ính
khá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: b 1,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à r
hàng giá trị B. Giả sử ô (Ai;Bj) trong đó A=ai và B=bj. Khi đó χ2 được tính bởi:
C
r
χ = ∑∑
2
(oij − eij ) 2
eij
i =1 j =1
Trong đó oij là tần số quan sát của sự kiện chung (A i;Bj) và eij là tần số mong
đợi của (Ai;Bj) được tính bởi:
e11 =
count ( A = ai ) × count ( B = b j )
N
,
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 ta
kết luận rằng A và B phụ thuộc.
20
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
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
χ . Giả sử rằng một nhóm 1500 người được điều tra. Giới tính của mỗi người
được chú ý. Mỗi người được hỏi xem có thích tiểu thuyết hư cấu hay không. Vì
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:
Male
Female
Total
fiction
250 (90)
200 (360)
450
Non-fiction
50 (210)
1000 (840)
1050
Total
300
1200
1500
Bảng 2.1: Tần số quan sát
trong đó giá trị trong dấu ngoặc đơn là tần số mong đợi (được tính dựa trên
công thức tính eij). Giả sử ta tính e11
2
e11 =
count (male) × count ( fiction) 300 × 450
=
= 90,
N
1500
Khi đó χ2 được tính như sau:
χ2 =
(250 − 90) 2 (50 − 210) 2 (200 − 360) 2 (1000 − 840) 2
+
+
+
90
210
360
840
= 284.44 + 121.90 + 71.11 + 30.48 = 507.93
Mức tự do cho bảng 2.1 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ết
hợ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 trong
việ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ệu
thô đượ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 trong
mộ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ình
KTDL.
Các phương pháp chuẩn hóa dữ liệu:
21
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
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à max A là giá trị lớn nhất và giá trị nhỏ nhất của thuộc
tí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
[newmin A, new max A] bằng biểu thức chuyển đổi:
v' =
v − min A
(new _ max A − new _ min A ) + new _ min A
max A − min 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:
v' =
v− A
σA
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ủa
thuộ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:
v' =
v
10 j
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ọn
củ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ẹn
củ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ới
KTDL 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ông
liê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ước
tậ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ác
22
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
tham số mô hình thay vì phải lưu giữ dữ liệu thật) hay các phương pháp không
dù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.
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ức
khá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àng
thườ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ục
củ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ác
nhau có độ rộng 10 dollar.
23
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
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
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ó cho
phé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ơn
24
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
nhiề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
đó 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)
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
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óm
tuổ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ới
hạ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ông
ngừ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ằng
cá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ị...
25