Ứ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 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
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 60
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 78
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
DTS Data Transformation Services
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
MDDM Dimensional Data Model: Mô hình dữ liệu đa chiều
MMPB Mining Model Prediction Builder
MSE Mining Structure Editor
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 3
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
MSS Microsoft SQL Server
OLAP Online Analytical Processing
SRSWOR Simple random sample without replacement
SRSWR Simple random sample with replacement
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 82
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 83
Bảng 3.10: Bảng dữ liệu mẫu chứa các biến ở dạng hỗn hợp 83
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 4
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
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 13
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.
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 6
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
Trong quá trình hoàn thành đề tài này tôi đã nhận được sự giúp đỡ chỉ bảo
tậ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ất
mong 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ô! Sinh viên thực hiện
Vũ Thị Vâ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
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ó ý
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.
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 {A
1
, A
2
,… ,A
n
} và {B
1
, B
2
,… ,B
n
} thì
luật kết hợp có dạng {A
1
^A
2
^…^ A
n
) →{B
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ệ.
- 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
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 9
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
đủ 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
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.
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 10
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
∗ 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
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ờ…).
nhau 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ẽ đượ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.
5) 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.
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 12
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
6) Đá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.
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ữ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:
Giai đoạn 1: đầu tiên là phát triển một sự hiểu biết về lĩnh vực ứng dụng và
những tri thức tương ứng. Xác định mục đích của tiến trình khai phá dữ
liệu từ qua điểm của người dùng.
Giai đoạn 2: chuẩn bị dữ liệu để khai phá, thu thập dữ liệu và dữ liệu mẫu
Giai đoạn 3: tiền xử lý dữ liệu, xóa các thông tin bị nhiễu trong dữ liệu,
loại bỏ sự trùng lặp dữ liệu và xác định chiến lược để xử lý dữ liệu bị mất
Giai đoạn 4: chiếu dữ liệu, thu nhỏ dữ liệu và tìm những đặc trưng để khai
phá
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 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;
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 15
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
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
Bin 3: 29, 29, 29
Làm trơn bằng các biên của bin
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
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 16
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
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ở (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ờ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
i
ii
BA
N
BANba
N
BbAa
a
σσσσ
∑∑
==
−
=
−−
=
11
,
)())((
Trong đó:
- N là số các bộ, a
i
và b
i
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
khác riêng biệt: a
1
,a
2
,a
3
a
c
. B có r giá trị riêng biệt: b
1
,b
2
,b
3
b
r
. 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ử ô (A
i
;B
j
) trong đó A=a
i
và B=b
j
. Khi đó χ
2
được tính bởi:
∑∑
,
)()(
11
N
bBcountaAcount
e
ji
=×=
=
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.
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
χ
2
. 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
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 18
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS
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 e
−
+
−
+
−
=
χ
= 284.44 + 121.90 + 71.11 + 30.48 = 507.93
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ế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
−
=
'
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:
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ọ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
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.
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
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 21
Ứ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:
Độ 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
ướ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ị
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 23
Ứ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
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ác
giá 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ộc
tí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ủa
thuộ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ảm
kí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ắn
gọ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út
gọ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ệm
mứ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án
cá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êu
cầ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 ít
thao 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à
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 24
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ớn
hơ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ạc
hó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ền
giá 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
Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 25