You are on page 1of 51

MỤC LỤC

MỤC LỤC...................................................................................................................................1
DANH MỤC CÁC TỪ VIẾT TẮT............................................................................................2
DANH MỤC CÁC BẢNG.........................................................................................................3
DANH MỤC HÌNH VẼ..............................................................................................................3
...........................................................................................4
Chương 1.....................................................................................................................................4
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU...........................................................................4
1.1 Giới thiệu về khai phá dữ liệu...........................................................................................4
1.2 Các nhiệm vụ của khai phá dữ liệu...................................................................................5
1.3 Các loại dữ liệu được khai phá..........................................................................................6
1.4 Lịch sử phát triển của Khai phá dữ liệu............................................................................6
1.5 Ứng dụng của Khai phá dữ liệu.......................................................................................7
1.6 Phân loại...........................................................................................................................9
1.7 Một số thách thức đặt ra cho việc khai phá dữ liệu.........................................................9
Chương 2...................................................................................................................................10
QUY TRÌNH VÀ PHƯƠNG THỨC THỰC HIỆN KHAI PHÁ DỮ LIỆU............................10
2.1 Quy trình Tổng quát thực hiện Khai phá dữ liệu............................................................10
2.2 Tiến trình khám phá tri thức khi đi vào một bài toán cụ thể...........................................11
Chương 3 ..................................................................................................................................13
MỘT SỐ CÔNG NGHỆ VÀ KỸ THUẬT KHAI PHÁ DỮ LIỆU..........................................13
3.1 Cây quyết định................................................................................................................13
3.1.1 Giới thiệu chung.......................................................................................................13
3.1.2 Các kiểu cây quyết định...........................................................................................14
3.1.3 Ưu điểm của cây quyết định....................................................................................16
3.2 Luật kết hợp...................................................................................................................17
3.2.1 Phát biểu bài toán khai phá luật kết hợp.................................................................18
3.2.2 Các hướng tiếp cận khai phá luật kết hợp...............................................................20
3.3 Mô hình dữ liệu đa chiều...............................................................................................21
3.3.1 Định nghĩa:..............................................................................................................22
3.3.2 Một số thao tác và phép toán cơ bản trong MDDM...............................................22
3.3.2.1 Các phép toán số học.......................................................................................23
3.3.2.1 Các thao tác trên các chiều của MDDM..........................................................24
3.4 Khoảng cách ngắn nhất..................................................................................................26
3.5 K-Láng giềng gần nhất...................................................................................................27
3.6 Phân cụm........................................................................................................................28
3.6.2 Các dạng dữ liệu trong phân tích cụm.....................................................................30
3.6.2.1 Biến trị khoảng..................................................................................................30
3.6.2.2 Các biến nhị phân..............................................................................................33
3.6.2.3 Các biến phân loại (biến định danh), biến thứ tự, và biến tỉ lệ theo khoảng....34
3.6.3 Các phương pháp gom cụm.....................................................................................37
3.6.3.1 Các phương pháp phân hoạch...........................................................................37
3.6.3.2 Các phương pháp phân cấp...............................................................................37
3.6.4 Thuật toán gom cụm bằng phương pháp K-means..................................................38
3.6.4.1 Thuật toán k-means...........................................................................................38
3.6.4.2 Ưu và nhược điểm của thuật toán.....................................................................42
3.6.4.2 Kỹ thuật dùng đối tượng đại diện: Phương pháp k-medoids............................43
3.7 Kỹ thuật hiển thị dữ liệu................................................................................................44
3.8 Mạng Neural..................................................................................................................45
3.9 Thuật toán di truyền.......................................................................................................46
TÀI LIỆU THAM KHẢO.........................................................................................................51

1
DANH MỤC CÁC TỪ VIẾT TẮT
CSDL Cơ sở dữ liệu
KDD Knowledge Discovery and Data Mining – Khai pha
KTDL Khai thác dữ liệu
IDS/IPS Intrusion Detection System/ Intrusion Prevention System
OLAP Online Analytical Processing
KDL Kho dữ liệu
SRSWOR Simple random sample without replacement
SRSWR Simple random sample with replacement
MDDM Dimensional Data Model: Mô hình dữ liệu đa chiều
DM Data mining: Khai phá dữ liệu
DMX Data Mining eXtensions
BIDS Intelligence Development Studio
DSV Data Source View
MSE Mining Structure Editor
MMPB Mining Model Prediction Builder

2
DANH MỤC CÁC BẢNG
Bảng 3.1: Dữ liệu chơi golf.......................................................................................................15
Bảng 3.2: Ví dụ về một CSDL giao dịch – D...........................................................................18
Bảng 3.3: Tập mục thường xuyên minsup = 50%....................................................................19
Bảng 3.4: Luật kết hợp sinh từ tập mục phổ biến ABE............................................................20
Bảng 3.5: Dữ liệu điều tra việc sở hữu các tiện nghi................................................................25
Bảng 3.6: Mẫu dữ liệu khách hàng...........................................................................................26
Bảng 3.7: Một số ví dụ dùng kỹ thuật k-láng giềng..................................................................28
Bảng 3.8: Bảng sự kiện cho biến nhị phân...............................................................................32
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......33
Bảng 3.10: Bảng dữ liệu mẫu chứa các biến ở dạng hỗn hợp...................................................34

DANH MỤC HÌNH VẼ


Hình 2.1: Data mining – một bước trong quá trình khám phá tri thức.....................................11
Hình 2.2: Tổng quan tiến trình khai phá dữ liệu.......................................................................12
Hình 3.1: Kết quả của cây quyết định......................................................................................16
Hình 3.2: Biểu diễn hình học cho mô hình dữ liệu n-chiều (với n=3).....................................22
Hình 3.3: Biến đổi bảng 2 chiều sang mô hình dữ liệu n-chiều...............................................22
Hình 3.4: Các mẫu tin biểu diễn thành điểm trong một không gian bởi các thuộc tính của
chúng và khoảng cách giữa chúng có thể được đo...................................................................27
Hình 3.5: Minh họa thuật toán k-means....................................................................................39
Hình 3.6: Đồ thị dựa vào hai độ đo..........................................................................................45
Hình 3.7: Đồ thị tương tác 3 chiều...........................................................................................45
Hình 3.8: Mô phỏng kiến trúc mạng neural.............................................................................45
Hình 3.9: Một nhóm các tạp chí hay đọc của một không gian mẫu ........................................49
Hình 3.10: tập các giải pháp ngẫu nhiên ban đầu được thể hiện cho thế hệ đầu tiên..............50

3
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ó ý
nghĩa tương tự như: Khai phá tri thức từ CSDL (Knowlegde mining from
database), trích lọc dữ liệu (Knowlegde extraction), phân tích dữ liệu/mẫu
(data/pattern analysis), 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

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

5
 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ệ.
- 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ý ...

6
- 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:

7
◊ 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.
◊ 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ụ.

8
∗ 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ờ…).
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
 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…

9
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ông
thí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ác
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.
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.

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

11
 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 hại bước bất kỳ,
những bước cơ bản của tiến trình được minh họa trong hình trên. Hầu hết nhữ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.

12
Chương 3
MỘT SỐ CÔNG NGHỆ VÀ KỸ THUẬT KHAI PHÁ DỮ LIỆU
Cho tới nay đã có rất nhiều kỹ thuật có thể áp dụng trong việc khai phá dữ
liệu như: tập mờ, phương pháp Bayes, cây quyết định, lập trình tiến hóa với
thuậ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ảng
cá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ật
AprioriTID, học quy nạp… Chương này chỉ trình bày sơ lược một số kỹ thuật
thường được sử dụng.
3.1 Cây quyết định
Trong lý thuyết quyết định (chẳng hạn quản lí rủi ro), một cây quyết định
(tiếng Anh: decision tree) là một đồ thị của các quyết định và các hậu quả có thể
của nó (bao gồm rủi ro và hao phí tài nguyên). Cây quyết định được sử dụng để
xây dựng một kế hoạch nhằm đạt được mục tiêu mong muốn. Các cây quyết
định được dùng để hỗ trợ quá trình ra quyết định. Cây quyết định là một dạng
đặc biệt của cấu trúc cây.
3.1.1 Giới thiệu chung
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo
(predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượ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
(internal node) tương ứng với một biến; đường nối giữa nó với nút con của nó
thể hiện một giá trị cụ thể cho biến đó. Mỗi nút lá đại diện cho giá trị dự đoá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ọc máy dùng trong cây quyết định được gọi
là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định.
Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai
phá dữ liệu. Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại
diệ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
tới phân loại đó. Một cây quyết định có thể được học bằng cách chia tập hợp
nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính . Quá trình này

13
được lặp lại một cách đệ qui cho mỗi tập con dẫn xuất. Quá trình đệ qui hoàn
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ột
phân loại đơn có thể áp dụng cho từng phần tử của tập con dẫn xuất. Một bộ
phân loại rừng ngẫu nhiên (random forest) sử dụng một số cây quyết định để có
thể cải thiện tỉ lệ phân loại.
Cây quyết định cũng là một phương tiện có tính mô tả dành cho việc tính
toá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án
học và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ
liệu cho trước.
Dữ liệu được cho dưới dạng các bản ghi có dạng:
( x, y ) = ( x1 , x2 , x3 ,..., xk , y )

Biến phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu, phân
loại hay tổng quát hóa. x1 , x2 , x3 ... là các biến sẽ giúp ta thực hiện công việc đó.
3.1.2 Các kiểu cây quyết định
Cây quyết định còn có hai tên khác:
Cây hồi quy (Regression tree): ước lượng các hàm giá có giá trị là số thực
thay vì được sử dụng cho các nhiệm vụ phân loại. (ví dụ: ước tính giá một ngôi
nhà 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ắc
rối chuyện các thành viên đến hay không đến. Có ngày ai cũng muốn chơi golf
như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ách
dựa theo thông tin dự báo thời tiết để đoán xem khi nào người ta sẽ đến chơi
golf. Để thực hiện điều đó, anh cần hiểu được tại sao khách hàng quyết định
chơi và tìm hiểu xem có cách giải thích nào cho việc đó hay không.

14
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) hay
không.
Và tất nhiên là số người đến chơi golf vào hôm đó. David thu được một bộ
dữ liệu gồm 14 dòng và 5 cột.
Dữ liệu chơi golf
Các biến độc lập
Quang cảnh Nhiệt độ Độ ẩm Gió Chơi
Nắng 85 85 không không
Nắng 80 90 có không
Âm u 83 78 không có
Mưa 70 96 không có
Mưa 68 80 không có
Mưa 65 70 có không
Âm u 64 65 có có
Nắng 72 95 không không
Nắng 69 70 không có
Mưa 75 80 không có
Nắng 75 70 có có
Âm u 72 90 có có
Âm u 81 75 không có
mưa 71 80 có không
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ây
quyết định.

15
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 chu
trì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ến
phụ thuộc, play (chơi), là sử dụng biến Outlook. Phân loại theo các giá trị của
biến Outlook, ta có ba nhóm khác nhau: Nhóm người chơi golf khi trời nắng,
nhóm chơi khi trời nhiều mây, và nhóm chơi khi trời mưa.
Kết luận thứ nhất: nếu trời nhiều mây, người ta luôn luôn chơi golf. Và có
một số người ham mê đến mức chơi golf cả khi trời mưa.
Tiếp theo, ta lại chia nhóm trời nắng thành hai nhóm con. Ta thấy rằng khách
hà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 cho
phầ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ưa
gió. Vì hầu như sẽ chẳng có ai chơi golf trong những ngày đó. Vào những hôm
khá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ành
một cấu trúc đơn giản hơn rất nhiều.
3.1.3 Ưu điểm của cây quyết định
So với các phương pháp khai phá dữ liệu khác, cây quyết định là phương
pháp có một số ưu điểm:
• Cây quyết định dễ hiểu. Người ta có thể hiểu mô hình cây quyết định
sau khi được giải thích ngắn.
• Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc không
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ến
phụ (dummy variable) và loại bỏ các giá trị rỗng.

16
• Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ liệu có
giá trị là tên thể loại. Các kỹ thuật khác thường chuyên để phân tích các bộ dữ
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ác
biến tên, trong khi mạng nơ-ron chỉ có thể dùng cho các biến có giá trị bằng số.
• Cây quyết định là một mô hình hộp trắng. Nếu có thể quan sát một
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ời
giải thích cho kết quả quá phức tạp để có thể hiểu được.
• Có thể thẩm định một mô hình bằng các kiểm tra thống kê. Điều này
làm cho ta có thể tin tưởng vào mô hình.
• Cây quyết định có thể xử lý tốt một lượng dữ liệu lớn trong thời gian
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 trong
một thời gian đủ ngắn để cho phép các nhà chiến lược đưa ra quyết định dựa
trên phân tích của cây quyết định.
3.2 Luật kết hợp
Luật kết hợp là một hướng quan trọng trong khai phá dữ liệu. Luật kết hợp
giú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
quyết định. Tìm các luật kết hợp “quý hiếm” và mang nhiều thông tin từ CSDL
tác nghiệp là một trong những hướng tiếp cận chính của lĩnh vực khai phá dữ
liệu.
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ẫn
simcard” 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ết
luận) của luật. Các con số 30%, 25% là độ hỗ trợ của luật (support - số phần

17
trăm các giao dịch chứa cả vế trái và vế phải), còn 80%, 75% là độ tin cậy của
luậ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ật
kết hợp. Độ hỗ trợ bằng 25% có nghĩa là “Trong các khách hàng có sử dụng
điện thoại thì có 25% khách hàng sử dụng điện thoại ID liên tỉnh và điện thoại
IP 171”. Độ tin cậy bằng 75% có nghĩa là “Trong các khách hàng có sử dụng
điện thoại liên tỉnh thì có 75% khách hàng sử dụng điện thoại IP 171”.
3.2.1 Phát biểu bài toán khai phá luật kết hợp
I ={i1 , i2 , …, in } là tập bao gồm n mục (Item – còn gọi là các thuộc tính -
attribute). X ⊆ I được gọi là tập mục (itemset).
T = {t1, t2, … tm} là tập gồm m giao dịch (transacstion – còn gọi là bản ghi
- record), mỗi giao dịch được định danh bởi TID (Transaction Identification).
R là một quan hệ nhị phân trên I và T (hay R ⊆ IxT). Nếu giao dịch t có
chứa mục I thì ta viết (i, t) ∈ R (hoặc iRt). (T, I, R) là ngữ cảnh khai thác dữ
liệu. Một CSDL D, về mắt hình thức, chính là một quan hệ nhị phân R như trên.
Về ý nghĩa, một CSDL là một tập các giao dịch, mỗi giao dịch t là một tập mục,
t ∈ 2I (2I là tập cấc tập con của I).
Ví dụ về CSDL giao dịch: I = {A, B, C, D, E}, T = {1, 2, 3, 4, 5, 6}
Thông tin về các giao dịch cho ở bảng sau:
Định danh giao dịch (TID) Tập mục (itemset)
1 AB DE
2 BC E
3 AB DE
4 ABC E
5 ABCDE
6 BCDE
Bảng 3.2: Ví dụ về một CSDL giao dịch – D
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 giao
dịch trong CSDL D. s(X) = Card(X)/Card(D)%
Tập mục phổ biến: Cho một tập mục X ⊆ I và ngưỡng phổ biến tối thiểu
minsup ∈ (0, 1],(minsup được xác định bởi người sử dụng). Một tập mục X
18
được gọi là một tập phổ biến theo ngưỡng minsup nếu và chỉ nếu độ hỗ trợ của
nó lớn hơn hoặc bằng một ngưỡng minsup: s(X) ≥ minsup.
Ký hiệu FX(T, I, R, minsup) = {X ⊆ I | s(X) ≥ minsup}
Với (T, I, R) trong ví dụ CSDL bảng 1, và giá trị ngưỡng minsup = 50% sẽ
liệt kê các tập mục phổ biến (frenquent-itemset) như sau:
Tập mục phổ biến Độ hỗ trợ (s) tương ứng
B 100%
E, BE 83%
A, C, D, AB, AE, BC, BD,ABE 67%
AD, CE, DE, ABD, ADE, BCE, BDE 50%
Bảng 3.3: Tập mục thường xuyên minsup = 50%
Độ hỗ trợ s của luật kết hợp X → Y là tỷ lệ phần trăm các giao dịch trong D
có chứa X và Y là s(X → Y) = Card(X ∪ Y)/Card(D) %
Luật kết hợp có dạng X  c→ Y trong đó:
X, Y là các tập mục thoả mãn điều kiện X ∩ Y = Ø và c là độ tin cậy.
Độ tin cậy của luật c = s(X ∪ Y)/s(X)%: Là tỷ lệ phần trăm các giao dịch
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ó
lớn hơn hoặc bằng một ngưỡng minconf ∈ (0, 1] nào đó do người dùng xác
định. Ngưỡng minconf phản ánh mức độ xuất hiện của Y khi cho trước X. (( c
≥ minconf) (minimum Confidence))
Luật kết hợp cần tìm là luật kết hợp thoả mãn Minsup và minconf cho trước.
Chúng ta chỉ quan tâm đến các luật có độ hỗ trợ lớn hơn Độ hỗ trợ tối thiểu và
độ tin cậy lớn hơn Độ tin cậy tối thiểu.
Hầu hết các thuật toán khai phá luật kết hợp thường chia thành 2 pha:
Pha 1 : Tìm tất cả các tập mục phổ biến từ cơ sở dữ liệu tức là tìm tất cả các
tập mục X thoả s(X) ≥ minsup.
Pha 2: Sinh các luật tin cậy từ các tập phổ biến đã tìm thấy ở pha 1.
Nếu X là một tập mục phổ biến thì luật kết hợp được sinh ra từ X có dạng:
X’ c X \ X’ ,
trong đó:
19
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:
Luật kết hợp Độ tin cậy c ≥ minconf ?
A   → BE
1 0 %0

B   → AE
6 %7
Không
E   → AB
8 %0

AB   → E 1 0 %0

AE   → B 1 0 %0

BE   → A 8 %0

Bảng 3.4: Luật kết hợp sinh từ tập mục phổ biến ABE
Tập phổ biến tối đại: Cho M ∈ FX(T, I, R, minsup) M được gọi là tập mục
phổ biến tối đại nếu không tồn tại X ∈ FX(T, I, R, minsup), M ≠ X, M ⊂ X
3.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ạng
luậ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ất
hiện trong giao tác của cơ sở dữ liệu chứ không quan tâm về “mức độ” xuât
hiệ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át
hiệ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 để áp
dụ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ô.

20
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ật
quá cụ thể như “mua máy tính IBM PC => mua hệ điểu hành Micorsoft
Windows 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 theo
nhiề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ật
kế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
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ào
nghiê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. Nhu
cầ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ày
cà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ống
phải được đảm bảo. Có rất nhiều thuật toán song song khác nhau đã đề xuất để
có thể không phụ thuộc vào phần cứng.
3.3 Mô hình dữ liệu đa chiều
Mô hình dữ liệu đa chiều (Multi Dimensional Data Model – MDDM) là một
mô hình mà trong đó dữ liệu được thể hiện thông theo không gian n-chiều. Mô
hình này phù hợp đối với các tính toán số học và thống kê: tổng hợp và phân tổ
dữ liệu theo cách khác nhau, các phân tích dữ liệu theo phương pháp hồi quy phi
tham 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:

21
3.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
D1 x D2 x … x Dn là một tập con các số thực U R:
F: B→ U
Ở đây B = D1 x D2 x … x Dn; D1 = Dom(x1), D2 = Dom(x2), …, Dn =
Dom(xn), và U R. B là miền giá trị và U là tập giá trị của ánh xạ f.
Nếu chúng ta xem bộ giá trị (x1, x2, … , xn) như là một điểm trong không
gian n-chiều, và f(x1, x2, … , xn) là giá trị số tương ứng của điểm đó thì số điểm
có trong mô hình dữ liệu này là: Card(D1) x Card(D2) x ... x Card(Dn)
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òn
gọi là các Cube, trong đó bộ (x1,x2,x3) tương ứng với các tọa độ trong không
gian ba chiều và f(x1,x2,x3) là giá trị của các ô trong khối hộp chữ nhật đó. Biểu
diễ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ảng
hai chiều trong một cơ sở dữ liệu (CSDL) sang mô hình dữ liệu n-chiều:

Hình 3.3: Biến đổi bảng 2 chiều sang mô hình dữ liệu n-chiều
3.3.2 Một số thao tác và phép toán cơ bản trong MDDM
Hai thao tác cơ bản có thể thực hiện trên các mô hình dữ liệu n-chiều là phép
lọc và phép chọn. Các phép toán số học (cộng, trừ, nhân, chia) có thể áp dụng

22
trên các MDDM, cũng như các hàm tích hợp (tính tổng – sum, giá trị trung bình
– Average, giá trị nhỏ nhất – Min, giá trị lớn nhất – Max, phương sai – Variant
và độ lệch chuẩn – Standard Deviation) có thể được áp dụng trên giá trị của cá ô
ứng với các chiều của mô hình.
1. Phép lọc
• Cho: T là một ngưỡng (threshold) cho trước; f và
g là 2 mô hình MDDM.
• Phép lọc fT(f,g,T) là thao tác tạo một MDDM mới
g: B → U từ f với định nghĩa như sau:

 f ( x 1x, 2… , , x nn)e uf ( x 1x, 2… , , x n> )T


g(x , x , …, x )= 
1 2 n nếu ngược lại
0
Chúng ta nhận thấy sau phép lọc, g có cùng miền giá trị với ánh xạ t.
2. Phép chọn
Cho: - f (x1, x2, …, xn) là một mô hình n-chiều
- c là một điều kiện trên các miền định nghĩa
- D1' ⊆ D1 , D2' ⊆ D2 , …, Dn' ⊆ Dn là các tập con của D1, D2, … , Dn thỏa danh
sách điều kiện c.
Phép chọn cC(f,g,c) được định nghĩa như sau:
g: D1’ x D2’ x … x Dn’→ U
Khi đó: g(x1, x2, …, xn) = f(x1, x2, …, xn)
Với mọi (x1, x2, …, xn) ∈ D1’ x D2’ x … x Dn’
Mô hình dữ liệu n-chiều g có cùng số chiều với mô hình f.
3.3.2.1 Các phép toán số học
Vì MDDM là một ánh xạ vào không gian số thực do đó chúng ta có thể áp
dụng các phép toán số học (cộng, trừ, nhân, chia) trên các ánh xạ đó để tạo ra
một ánh xạ thứ ba, đó cũng là một MDDM mới có miền giá trị tương đương với
miền giá trị của 2 toán hạng – là 2 MDDM:
Cho: - D1, D2, … , Dn là các miền giá trị rời rạc.
- g(x1, x2, …, xn) và f(x1, x2, …, xn) là 2 MDDM
23
- ⊕ là một phép toán số học như +, -, *, /.
Thì:
- h(x1, x2, …, xn) = f(x1, x2, …, xn) ⊕ r, r # 0 đối với phép chia
- h(x1, x2, …, xn) = f(x1, x2, …, xn) ⊕ g(x1, x2, …, xn), với ⊕ là +, -, *
- h(x1, x2 , …, xn) =

 f ( x 1x ,2… , , x n )/ g ( x 1x ,2… , , x n n) ê ug ( x 1x ,2… , , x n #) 0



0 n ê un g u ol ca i
là các mô hình n-chiều mới.
3.3.2.1 Các thao tác trên các chiều của MDDM
Chúng ta có thể thao tác trên một, hai hay một số chiều của MDDM bằng
cá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ể được
xem như một phép chiếu có tham số trên một số chiều của MDDM.
Ví dụ: giả sử chúng ta có n-1 giá trị xác định x2' ∈ D2 , x3' ∈ D3 , …, x n' ∈ Dn

và một ánh xạ g định nghĩa như sau:


g(X1) = f(X1, X2 = X2’, …, Xn = Xn’), với ∀x1 ∈D1 .
Thì g(x1) sẽ là 1 bảng dữ liệu 1 chiều (y1,y2, … yk). Ở đây k = Card (D1).
Tương tự, nếu chúng ta cố định n-2 chiều D1, D2, … , Dn với những giá trị

cụ thể x ∈D3 "


3
,
x ∈D4 "
4
, …,

x ∈Dn "
n
thì ánh xạ trên 2 chiều D1 và D2:

g(x1,x2) = f(x1, x2,x3 = x3”, …, xn” = xn”) với ∀x1 ∈D1 , ∀x2 ∈D2
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.

24
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 R
nên chúng ta có thể áp dụng các phép tính tổng trung bình cộng min, max
phương sai và độ lệch chuẩn cho các giá trị của các ô trên 1 cột (khi cho x 1 biến
thiê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
các ô của một dòng (khi cho x2 biến thiên trong miền D2 và cố định các miề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
sống dân cư. Giả sử chúng ta có 2 miền định nghĩa D1 = { 101, 102, 103, 104,
105, 106} ứng với danh sách các mã số hộ điều tra và D2 = {“tivi”, “tủ lạnh”,
“xe máy”, “máy giặt”, “điều hòa nhiệt độ”} ứng với việc sở hữu các tiện nghi
sinh 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ảng
theo 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áy
giặ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
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 2
chiều sau đây:
Mã số hộ Có ti vi Có tủ lạnh Có xe máy Máy giặt Điều hòa nhiệt độ
101 1 0 1 0 1
102 1 1 0 1 0
103 1 0 1 1 0
104 0 1 1 0 0
105 1 1 1 1 1
106 1 1 1 0 0
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 sinh
hoạ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:

25
Số lượng mục cần xét là 2. Khi đó µ (“tivi”) = 1; µ (“tủ lạnh”) = 1; µ (“xe
má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ác
hà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ợp
cho 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 OLAP
của Microsoft phát triển dựa trên mô hình dữ liệu này.
3.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 hai
mẫ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ất
gầ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ập
nê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ác
mẫu tin trong không gian này.
Tuổi Thu nhập
Khách hàng 1 32 40.000
Khách hàng 2 24 30.000
8 10
Bảng 3.6: Mẫu dữ liệu khách hàng
Khoảng cách hai khách hàng được tính
26
82 +102 + 82 =15

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
Ví dụ: Tuổi phạm vi: 1→ 100, trong khi thu nhập khoảng từ 0 → 100.000
dollar mỗi tháng. Nếu dùng dữ liệu này mà không hiệu chỉnh cho đúng thì thu
nhập sẽ là một thuộc tính dễ phân biệt hơn rất nhiều so với tuổi và đây là điều
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 độ đo
tấ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ách
giữa khách hàng 1 và khách hàng 2 là 15.
3.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ệu
nhiề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ệu
vớ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àm
mộ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ột
thuậ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ủa

27
mườ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ân
củ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ều
tra.
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ột
phươ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ỉ để
tham khảo. Nó không thể tạo ra một lý thuyết trong lĩnh vực datamining mà giúp
hiể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 tin
khá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ách
tiế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 mining
khô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ẫu
tin). 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


3.6 Phân cụm
Gom cụm dữ liệu là hình thức học không giám sát (unsupervised learning)
trong đó các mẫu học chư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ện hoặc gom dữ liệu tương tự nhau (theo một chuẩn đánh
giá nào đó) thành những cụ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ơn cá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ách
28
hà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àng
dựa trên các mẫu mua hàng. Trong sinh học, nó có thể được sử dụng để phân
loạ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ân
tí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ên
mộ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ác
thuậ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 được thiế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ân tí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án
phân cụm dựa trên các số đo khoảng cách Euclide hay Manhattan. Các thuật
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ích
thước và mật độ tương tự nhau. Tuy nhiên, một cụm (cluster) có thể có hình
dạ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ất
kỳ.
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ích
cụ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ác
tham 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

29
3.6.2 Các dạng dữ liệu trong phân tích cụm
Giả sử một tập dữ liệu dùng để phân tích cụm chứa n đối tượng (các đối
tượng có thể là con người, nhà, tài liệu...). Các thuật toán gom cụm thường xử lý
trên một trong hai cấu trúc dữ liệu sau:
(1) Ma trận dữ liệu: Biểu diễn n đối tượng, như con người, với p biến (còn
được gọi là các phép đo hay các thuộc tính), như tuổi, chiều cao, cân nặng, giới
tính.
Ma trận này biểu diễn mối quan hệ đối tượng theo thuộc tính.
 x11 ... x1f ... x1p 
 ... ... ... ... ... 
 
 x i1 ... xif ... xip 
 
 ... ... ... ... ... 
x n1 ... x nf ... x np 
 

(6.1)
(2) Ma trận phân biệt: Để biểu diễn khoảng cách giữa hai điểm (đối tượng)
trong không gian dữ liệu gồm n đối tượng theo p thuộc tính ta dùng ma trận
phân biệt
 0 
d ( 2,1) 0 
 
d (3,1) d (3,2) 0 
 
     

d ( n,1) d ( n,2)   0

(6.2)
Trong đó d(i,j) là khoảng cách giữa đối tượng i và đối tượng j. Trong trường
hợp tổng quát, d(i,j) là một số không âm và dần về 0 khi 2 đối tượng i và j tương
tự nhau. Bởi vì d(i,j) = d(j,i) và d(i,i) =0 nên ta có ma trận 6.2.
3.6.2.1 Biến trị khoảng
Các biến trị khoảng là độ đo liên tục của các đại lượng tuyến tính đơn giản
như trọng lượng, chiều cao, nhiệt độ, tuổi...Các đơn vị đo ảnh hưởng rất nhiều
đến kết quả gom cụm. Ví dụ, thay đổi đơn vị đo: Mét thay cho inch cho chiều
cao, kg thay cho pound cho cân nặng có thể dẫn đến các cấu trúc cụm khác
nhau. Trong trường hợp tổng quát, biểu diễn một biến bởi đơn vị bé sẽ dẫn đến
một khoảng lớn cho biến đó và nó ảnh hưởng lớn đến kết quả gom cụm. Để
30
tránh sự phụ thuộc vào việc lựa chọn các đơn vị đo, dữ liệu cần phải được chuẩn
hóa. Các phương pháp chuẩn hóa cố gắng đưa tất cả các biến một ảnh hưởng
như nhau. Điều này rất hữu ích khi chúng ta chưa có một tri thức tiên nghiệm
nào về dữ liệu. Tuy nhiên trong một số ứng dụng, người sử dụng có thể cho một
tập các biến nào đó ảnh hưởng nhiều hơn các biến khác. Ví dụ, khi gom cụm các
ứng viên cho môn bóng rổ thì chiều cao được ưu tiên hơn cả.
Để chuẩn hóa các phép đo, một sự lựa chọn là chuyển các phép đo ban đầu
thành các biến không đơn vị. Đối với một biến f có các số đo x1f, x2f...xnf, sự
chuẩn hóa có thể được thực hiện theo các cách sau:
(1) Tính sai số tuyệt đối trung bình sf:
1
sf = ( x1f − m f + x 2f − m f + ... + xnf − m f )
n

(6.3)
1
Trong ddos mf là giá trị trung bình của f, có nghĩa là: mf = ( x1 + x 2 + ... + x n )
n

(2) Tính độ đo chuẩn, hay z-score (chuẩn hóa z):


xif − m f
z if = (6.4)
sf

Dựa vào công thức (6.4) ta thấy rằng sai số tuyệt đối trung bình càng lớn thì
hiện tượng cá biệt càng giảm. Do đó độ đo được chọn sẽ ảnh hưởng đến kết quả
phân tich mẫu cá biệt.
Các độ đo thông dụng cho biến trị khoảng:
(1) Khoảng cách Euclide:
d (i, j ) = ( xi1 − x j1) 2 +( xi 2 − x j 2) 2 +... + ( xin − x jn ) 2 (6.5)
Trong đó i = ( xi1, xi 2,…, xin ), j = ( xj , xj ,…, xj ) là 2 đối tượng dữ liệu n
chiều.
(2) Khoảng cách Manhattan:
d (i , j ) = xi1 −x j1 + xi 2 −x j 2 +... + xin −x jn (6.6)
Cả hai khoảng cách Euclide và Manhattan đều thõa các yêu cầu toán học của
mộ
phương trình khoảng cách:
a. d(i,j)>=0: Khoảng cách phải là một số không âm.
31
b. d(i,j) = 0: Khoảng cách của một đối tượng đến chính nó bằng không.
c. d(i,j) =d(j,i): Khoảng cách là một hàm đối xứng.
d. d(i,j) <= d(j,h) + d(h,j): Tính chất bất đẳng thức tam giác.
(3) Khoảng cách Minkowski:
1
p p
d (i, j ) = ( xi1 − x j1 + xi 2 − x j 2 + ... + xin − x jn
p
) p (6.7)

Trong đó p là một số nguyên dương.


(4) Khoảng cách có trọng:
1
p
d (i, j ) = ( w1 xi1 − x j1 + w2 xi 2 − x j 2
p
+ ... + wn xin − x jn
p
) p (6.8)

Khoảng cách có trọng là sự cải tiến của khoảng cách Minkowski, trong đó có
tính đến ảnh hưởng của từng thuộc tính đến khoảng cách giữa hai đối tượng.
Thuộc tính có trọng số w càng lớn thì càng ảnh hưởng nhiều đến khoảng cách d.
Việc chọn trọng số tùy thuộc vào ứng dụng và mục tiêu cụ thể.
Một biến nhị phân là bất đối xứng nếu có một trạng thái có ý nghĩa quan
trọng hơn (thường được gán là 1). Lúc này thường có xu hướng thiên vị trạng
thái ưu tiên đó. Ví dụ trong chuẩn đoán y khoa người ta thường ưu tiên một
hướng kết luận hơn hướng kia. Do đó những trạng thái chưa rõ ràng (như triệu
chứng bệnh chưa rõ ràng) thì cũng có thể kết luận là 1 để ưu tiên cho bước
chuẩn đoán chuyên sâu hoặc cách ly theo dõi. Một ví dụ của biến nhị phân bất
đối xứng là HIV có 2 trạng thái là dương tính (1) và âm tính (0).
Object j
1 0 sum
1 q r q+r
Object i 0 s t s+t
sum q+s r+t p
Bảng 3.8: Bảng sự kiện cho biến nhị phân
Xét hai đối tượng i và j có các thuộc tính của đối tượng được biểu diễn bằng
các biến nhị phân. Giả sử các biến nhị phân có cùng trọng số. Ta có bảng sự
kiện như bảng 3.8. Trong đó q là số các biến nhị phân bằng 1 đối với cả 2 đối
tượng i và j, s là số các biến nhị phân bằng 0 đối với i nhưng bằng 1 đối với j, r
là số các biến nhị phân bằng 1 đối với i nhưng bằng 0 đối với j, t là số các biến
nhị phân bằng 0 đối với cả hai i và j.

32
3.6.2.2 Các biến nhị phân
Một biến nhị phân chỉ có hai trạng thái là 0 hoặc 1. Biến nhị phân là đối xứng
nếu nếu cả hai trạng thái là tương đương (về mặt ý nghĩa của ứng dụng). Có
nghĩa là không có xu hướng thiên vị trạng thái 1. Ví dụ thuộc tính gender có hai
trạng thái là male hay female tương ứng với hai trạng thái là 0 và 1.
Sự khác nhau của hai đối tượng dựa trên các biến nhị phân đối xứng
(symmetric binary dissimilarity) là:
r +s
d (i, j ) = (6.9)
q + r + s +t

Sự khác nhau của hai đối tượng dựa trên các biến nhị phân bất đối xứng
(asymmetric binary dissimilarity)
r +s
d (i, j ) = (6.10)
q +r +s

Chúng ta có thể đo khoảng cách giữa hai biến nhị phân dựa trên khái niệm
tương tự nhau (similarity) thay vì không tương tự nhau
sim(i,j) = 1 - d(i, j) (6.11)
Hệ số sim(i,j) được gọi là hệ số jaccard.
Ví dụ 6.1: Sự khác nhau giữa các biến nhị phân. Giả sử rằng một bảng các
record của các bệnh nhân (bảng 3.9) chứa các thuộc tính name, gender, fever,
cough, test-1, test-2, test-3 và test-4, trong đó name là thuộc tính định danh,
gender là một thuộc tính đối xứng, và các thuộc tính còn lại là các thuộc tính nhị
phân không đối xứng.
Đối với các giá trị của các thuộc tính không đối xứng, cho các giá trị Y (yes)
và P (positive) bằng 1, các giá trị N (no hay negative) bằng 0. Giả sử rằng
khoảng các đối tượng (bệnh nhân) được tính dựa trên các thuộc tính không đối
xứng.
Name Gender Fever Cough Test-1 Test-2 Test-3 Test-4
Jack M Y N P N N N
Mary F Y N P N P N
Jim M Y Y N N N N
… … … … … … … …
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.
33
Theo phương trình (6.10) khoảng cách giữa các cặp đối tượng là:
0+1
d ( Jack , Marry ) = = 0.33
2+ 0+1
1+1
d ( Jack , Jim ) = = 0.67
1+1+1
1+ 2
d ( Marry , Jim ) = = 0.7
5
1+1+ 2

Các phép đo chỉ ra rằng Marry và Jim có bệnh không giống nhau bởi vì
d(Marry, Jim) là lớn nhất.
3.6.2.3 Các biến phân loại (biến định danh), biến thứ tự, và biến tỉ lệ theo
khoảng
1. Các biến phân loại: Biến phân loại là biến có thể nhận dạng nhiều hơn hai
trạng thái. Ví dụ biến màu sắc có thể có các trạng thái đỏ vàng lục và xanh.
Cho số các trạng thái của một biến định danh là M. Các trạng thái có thể biểu
thị bằng các chữ cái, kí hiệu, hay một tập các số nguyên như 1, 2, 3..., M. Chú ý
rằng các số nguyên này chỉ dùng cho việc trình bày dữ liệu và không biểu diễn
một giá trị nguyên cụ thể nào.
Khoảng cách giữa 2 đối tượng i và j theo biến phân loại có thể được tính dựa
trên hệ số đối xứng đơn giản:
p −m
d (i, j ) = (6.12)
p

Trong đó m là số thuộc tính phân loại có giá trị trùng khớp giữa hai đối
tượng i và j, p là tổng số thuộc tính phân loại.
Ví dụ 6.2: Sự khác nhau giữa các thuộc tính phân loại. Giả sử chúng ta có dữ
liệu mẫu trong bảng 3.10, Ngoại trừ 2 biến object-identifier (biến định danh) và
biến test-1 là biến phân loại đã xem xét (chúng ta sẽ sử dụng test-2 và test-3
trong các ví dụ sau).
Object Test-1 Test-2 Test-3
Identifier (categorical) (ordinal) (ratio-scaled)
1 Code-A Excellent 445
2 Code-B Fair 22
3 Code-C Good 164
4 Code-A Excellent 1,210
Bảng 3.10: Bảng dữ liệu mẫu chứa các biến ở dạng hỗn hợp
34
Ma trận phân biệt cho các đối tượng của bảng trên là:
 0 
d ( 2,1) 0 
 
d (3,1) d (3,2) 0 
 
d ( 4,1) d ( 4,2) d ( 4,3) 0

Ở đây chúng ta có một biến phân loại, test-1, nên p = 1. Do đó ma trận phân
biệt sau
khi tính toán là:
0 
1 0 
 
1 1 0 
 
0 1 1 0

2. Biến thứ tự: Biến thứ tự là biến trên một tập giá trị có xác định quan hệ thứ
tự trên đó, ví dụ hạng xếp loại huy chương vàng, bạc, đồng. Biến thứ tự có thể
rời rạc hoặc liên tục. Các giá trị của một biến thứ tự f có Mf trạng thái. Các trạng
thái được sắp xếp định nghĩa hạng (rank): 1,..., Mf.
Giả sử rằng f là một biến từ một tập các biến thứ tự mô tả n đối tượng. Độ đo
cho biến thứ tự f được xây dựng như sau:
(1) Giá trị của biến f cho đối tượng thứ i là x if, và f có Mf trạng thái đã được
sắp xếp, biểu diễn các cấp 1,..., Mf. Thay thế xif bởi cấp tương ứng của nó, rif ∈
{1,..., Mf}.
(2) Ánh xạ hạng từng biến vào đoạn [0,1] bằng cách thay thế đối tượng i
trong biến f bởi:
xif −1
z if = (6.13)
M f −1

(3) Tính độ phân biệt theo các phương pháp đã biết đối với biến trị khoảng
zif.
Ví dụ 6.3: Sự khác nhau giữa các biến thứ tự. Giả sử chúng ta có dữ liệu mẫu
cho trong bảng 6.3. Biến test-2 là biến thứ tự. Có 3 trạng thái cho biến test-2
theo trật tự sau: fair, good, và excellent, do đó Mf = 3. Đối với bước 1, chúng ta
thay thế mỗi giá trị của test-2 bởi rank của nó, 4 đối tượng lần lượt được gán cho
các rank: 3, 1, 2, 3.

35
Bước 3 chuẩn hóa rank bằng cách ánh xạ theo công thức (6.13) ta được rank
1 --> 0 rank 2 --> 0,5 và rank 3 --> 1.0. Đối với bước 3, chúng ta sử dụng
khoảng cách Euclide, kết quả thể hiện trong ma trận phân biệt sau đây:
0 
1 0 
 
0.5 0.5 0 
 
 0 1.0 0.5 0

3. Biến theo thang tỉ lệ (ratio-scaled variable):


Biến tỉ lệ theo khoảng là độ đo dương trên các tỉ lệ phi tuyến. Ví dụ: Các đại
lượng được biểu diễn theo hàm mũ chẳng hạn: AeBt. Trong đó A, B là các hằng
số dương và t là biến biểu diễn thời gian.
Trong đa số trường hợp ta không thể áp dụng trực tiếp phương pháp độ đo
cho các biến trị khoảng cho loại biến này vì có thể gây sai số lớn.
Phương pháp tốt hơn là tiền xử lý dữ liệu bằng cách chuyển sang logarit
yif=log(xif) sau đó mới áp dụng trực tiếp cho các biến trị khoảng hoặc thứ tự.
Ví dụ 6.4: Sự khác nhau giữa các biến tỉ lệ theo khoảng. Quay lại dữ liệu
mẫu cho trong bảng 6.3. Biến test-3 là biến tỉ lệ theo khoảng. Áp dụng phương
pháp chuyển đổi logarit ta thu được ma trận phân biệt sau:
 0 
1.31 0 
 
0.44 0.87 0 
 
0.43 1.74 0.87 0

4. Biến có kiểu hỗn hợp


CSDL có thể chứa cả 6 loại biến nêu trên. Ta có thể dùng công thức được
gán trọng để kết hợp các hiệu quả của các biến thành phần.

Trong đó δij ( f ) được tính như sau:


- δij ( f ) =0 khi xjf hay xif không tồn tại hoặc xif = xjf = 0.
- δij ( f ) = 1 trong các trường hợp khác.
Ngoài ra dij(f) được tính như sau:

36
- Đối với các biến trị khoảng hay thứ tự: dij(f) là khoảng cách đã được chuẩn
hóa.
- Đối với các biến nhị phân hay phân loại:
+ dij(f) = 0 khi xif = xjf = 0
+ dij(f) = 1 trong các trường hợp khác
3.6.3 Các phương pháp gom cụm
3.6.3.1 Các phương pháp phân hoạch
Đây là phương pháp phân hoạch CSDL D có n đối tượng thành k cụm sao
cho
i) Mỗi cụm chứa ít nhất một đối tượng.
ii) Mỗi đối tượng thuộc về một cụm duy nhất.
iii) k là số cụm được cho trước.
Đây là tiêu chuẩn chung của các phương pháp phân hoạch truyền thống. Gần
đây xuất hiện nhiều phương pháp phân hoạch dựa trên lý thuyết tập mờ thì tiêu
chuẩn (ii) là không quan trọng mà thay vào đó là mức thuộc về một cụm của
một đối tượng nào đó, mức độ này có giá trị từ 0 đến 1. Các phương pháp tiếp
cận phân hoạch:
 K-means: Mỗi cụm được biểu diễn bằng giá trị trung bình của các đối
tượng trong cụm.
 K-medoids: Mỗi cụm được biểu diễn bằng một trong các đối tượng nằm
gần tâm của cụm.
3.6.3.2 Các phương pháp phân cấp
Đây là các phương pháp tạo phân cấp cụm chứ không phải tạo các phân
hoạch các đối tượng. Phương pháp này không cần xác định số cụm ngay từ đầu.
Số cụm sẽ do khoảng cách giữa các cụm hoặc do điều kiện dừng quyết định. Hai
cách tiếp cận gồm: Gộp và Tách.
 Gộp:
(1) Xuất phát từ mỗi đối tượng và một cụm chứa nó.
(2) Nếu 2 cụm đủ gần nhau (dưới một ngưỡng nào đó) sẽ được gộp lại
thành một cụm duy nhất.

37
(3) Lặp lại bước 2 đến khi chỉ tất cả các cụm được gộp lại thành 1 cụm
hay đến khi điều kiện dừng.
 Tách:
(1) Xuất phát từ một cụm duy nhất là toàn bộ không gian.
(2) Chọn cụm có độ phân biệt cao nhất (ma trận phân biệt có phần tử lớn
nhất hay trị trung bình lớn nhất) để tách đôi. Bước này sẽ áp dụng các phương
pháp phân hoạch đối với cụm đã chọn.
(3) Lặp lại bước 2 cho đến khi mỗi đối tượng thuộc một cụm hoặc đạt
điều kiện dừng (đủ số cụm cần thiết hay khoảng cách giữa các cụm đạt ngưỡng
đủ nhỏ).
Ngoài ra còn có các phương pháp như:
- Phương pháp dựa trên mật độ.
- Phương pháp dựa trên mô hình.
- Phương pháp dựa trên lưới.
3.6.4 Thuật toán gom cụm bằng phương pháp K-means
Thuật toán k-means phân hoạch một tập n object vào trong k cluster sao
cho các đối tượng trong một cluster có độ tương tự cao và các đối tượng trong
các cluster khác nhau có độ tương tự thấp. Mỗi cluster được đại diện bởi trọng
tâm (cluster mean) của nó. Phương pháp k-means phân hoạch một đối tượng vào
các cụm dựa trên khoảng cách của đối tượng đó đến trọng tâm của các cụm. Một
đối tượng được phân vào một cluster nếu khoảng cách từ đối tượng đó đến
cluster đang xét là nhỏ nhất. Sau đó các cluster mean được cập nhật. Quá trình
lặp đi lặp lại cho đến khi hàm mục tiêu đồng qui. Một cách điển hình, hàm mục
tiêu square-error được sử dụng:
k 2

E = ∑∑ p − mi
i =1 p∉Ci

Trong đó, p là đối tượng thuộc cluster Ci, mi là trọng tâm của cluster Ci.
3.6.4.1 Thuật toán k-means
Input:
+ k: Số các cluster.
+ D: Một tập dữ liệu chứa n đối tượng
38
Output: Một tập k cluster.
Method:
(1) Chọn ngẫu nhiên k đối tượng từ D làm trọng tâm ban đầu của k cluster;
(2) repeat
(3) Gán (hay gán lại) mỗi đối tượng cho cluster mà nó gần nhất, dựa trên
việc so sánh các khoảng cách của đối tượng đó đến các cluster..
(4) Cập nhật các giá trị trung bình của các cluster
(5) until không có sự thay đổi trong các cluster
Ví dụ 6.5: Gom cụm bằng phân hoạch k-means. Giả sửu có một tập các
đối tượng được phân bố trong không gian như hình (6.1 a). Cho k=3.

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


Hình 3.5 a: Chọn ngẫu nhiên 3 đối tượng làm 3 trọng tâm ban đầu của 3
cluster. Ba đối tượng này được đánh dấu +. Mỗi đối tượng còn lại được phân bổ
vào một cluster nếu đối tượng đó gần trọng tâm của cluster đó nhất. Ta được 3
cluster được khoanh vùng bằng các đường gạch chấm như hình vẽ.
Hình 3.5 b: Trọng tâm của mỗi cluster được cập nhật. các trọng tâm sau
khi được cập nhất được đánh dấu +. Sử dụng các trọng tâm cluster mới, phân bổ
lại các đối tượng vào các cluster dựa trên khoảng cách gần nhất của đối tượng
đó với các trọng tâm cluster. Các cluster kết quả được khoanh bằng các đường
chấm.
Hình 3.5 c: Lặp lại như các bước trong hình 3.5 b. Các cluster kết quả
được khoanh bằng các đường liền nét.
Lặp lại như trong hình 3.5 b, kết quả không có sự thay đổi. Dừng thuật
toán.
39
Kết quả thu được là 3 cluster được khoanh bằng các đường liền nét.
Ví dụ 6.6: Cho tập điểm
x1= {1, 3} = {x11, x12}
x2 = {1.5, 3.2} = {x21, x22}
x3 = {1.3, 2.8} = {x31, x32}
x4 = {3, 1} = {x41, x42}
Dùng thuật toán k-means để gom cụm với k = 2.
Bước khởi tạo:
- Khởi tạo ma trận phân hoạch M có 4 cột tương ứng với 4 điểm và 2 dòng
tương ứng với 2 cluster. Các phần tử trong ma trận ( mij với i = 1, 2; j= 1, 4)
được gán giá trị khởi tạo 0.
x1 x2 x3 x4
c1 0 0 0 0
c2 0 0 0 0
- Chọn x1, x2 lần lượt làm trọng tâm ban đầu cho 2 cluster c1, c2. Trọng tâm của 2
cluster lần lượt là:
v1 = {1, 3} = {v11, v12}; v2 = {1.5, 3.2} = {v21, v22}.
- Cập nhật ma trận phân hoạch M:
x1 x2 x3 x4
c1 1 0 0 0
c2 0 1 0 0
Bước 1:
- Gán các đối tượng vào các cluster:
Tính các khoảng cách Euclide:
d (v1, x1) = ( x11 − v11) 2 + ( x12 − v12) 2 = (1− 1) 2 + ( 3− 3) 2 = 0
d (v 2, x1) = ( x11 − v21) 2 + ( x12 − v22) 2 = (1−1.5) 2 + ( 3− 3.2) 2 = 0.538
Xếp x1 vào cụm c1.
d (v1, x 2) = ( x 21 − v11) 2 + ( x22 − v12) 2 = (1.5−1) 2 + ( 3.2− 3) 2 = 0.538
d (v 2, x 2) = ( x21 − v21) 2 + ( x22 − v22) 2 = (1.5−1.5) 2 + ( 3.2− 3.2) 2 = 0
Xếp x2 vào cụm c2.
d (v1, x3 ) = ( x31 − v11) 2 + ( x32 − v12 ) 2 = (1.3−1) 2 + ( 2.8− 3) 2 = 0.360

40
d (v 2, x3) = ( x31 − v21) 2 + ( x32 − v22 ) 2 = (1.3−1.5) 2 + ( 2.8− 3.2) 2 = 0.447
Xếp x3 vào cụm c1.
d (v1, x4) = ( x41 − v11) 2 + ( x42 − v12) 2 = ( 3−1) 2 + (1− 3) 2 = 2.828

d (v2, x 4) = ( x41 − v21) 2 + ( x42 − v22) 2 = ( 3−1.5) 2 + (1− 3.2) 2 = 2.663


Xếp x4 vào cụm c2.
- Cập nhật lại ma trận phân hoạch ta được:
x1 x2 x3 x4
c1 1 0 1 0
c2 0 1 0 1
Bước 2: Cập nhật lại trọng tâm các cluster:
m11x11 + m12x 21 + m13 x31 + m14x 41 1*1+ 0*1.5+ 1*1.3+ 0* 3
v11 = = = 1.15
m11 +12 +m13 + m14 1+ 0+ 1+ 0

m11x12 + m12x 22 + m13 x32 + m14x 42 1* 3+ 0* 3.2+ 1* 2.8+ 0*1


v12 = = = 2.9
m11 +12 +m13 + m14 1+ 0+ 1+ 0

m21x11 + m22x21 + m23 x31 + m24x41 0*1+ 1*1.5+ 0*1.3+ 1* 3


v21 = = = 2.25
m21 + 22 +m23 + m24 0+ 1+ 0+ 1

m21x12 + m22x 22 + m23 x32 + m24x 42 0*1+ 1*1.5+ 0*1.3+ 1* 3


v 22 = = = 2.1
m21 + 22 +m23 + m24 0+ 1+ 0+ 1

Quay lại bước 1:


- Gán các đối tượng vào các cluster:
Tính các khoảng cách Euclide:
d (v1, x1) = ( x11 − v11) 2 + ( x12 − v12) 2 = (1−1.15) 2 + ( 3− 2.9) 2 = 0.180
d (v2, x1) = ( x11 − v21) 2 + ( x12 − v22) 2 = (1− 2.25) 2 + ( 3− 2.1) 2 = 1.54
Xếp x1 vào cụm c1.
d (v1, x2) = ( x21 − v11) 2 + ( x22 − v12) 2 = (1.5−1.15) 2 + ( 3.2− 2.9) 2 = 0.461
d (v2, x 2) = ( x21 − v21) 2 + ( x22 − v22) 2 = (1.5− 2.25) 2 + ( 3.2− 2.1) 2 = 1.415
Xếp x2 vào cụm c2.
d (v1, x3) = ( x31 − v11) 2 + ( x32 − v12 ) 2 = (1.3−1.15) 2 + ( 2.8− 2.9) 2 = 0.180

d (v2, x3) = ( x31 − v21) 2 + ( x32 − v22 ) 2 = (1.3− 2.25) 2 + ( 2.8− 2.1) 2 = 1.18
Xếp x3 vào cụm c1.

41
d (v1, x 4) = ( x41 − v11) 2 + ( x42 − v12) 2 = ( 3−1.15) 2 + (1− 2.9) 2 = 2.652

d (v2, x4) = ( x41 − v21) 2 + ( x42 − v22) 2 = ( 3−1.15) 2 + (1− 2.9) 2 = 1.331
Xếp x4 vào cụm c2.
- Cập nhật lại ma trận phân hoạch:
x1 x2 x3 x4
c1 1 1 1 0
c2 0 0 0 1
Bước 2: Cập nhật lại trọng tâm cho các cluster
m11x11 + m12x 21 + m13 x31 + m14x 41 1*1+ 1*1.5+ 1*1.3+ 0* 3
v11 = = = 1.27
m11 +12 +m13 + m14 1+ 1+ 1+ 0

m11x12 + m12x22 + m13 x32 + m14x 42 1* 3+ 1* 3.2+ 1* 2.8+ 0*1


v12 = = =3
m11 +12 +m13 + m14 1+ 1+ 1+ 0

m21x11 + m22x 21 + m23 x31 + m24x41 0*1+ 0*1.5+ 0*1.3+ 1* 3


v 21 = = =3
m21 + 22 +m23 + m24 0+ 0+ 0+ 1

m21x12 + m22x 22 + m23 x32 + m24x 42 0*1+ 0*1.5+ 0*1.3+ 1* 3


v 22 = = =1
m21 + 22 +m23 + m24 0+ 0+ 0+ 1

Ma trận phân hoạch thay đổi do đó ta quay lại bước 2 và tiếp tục cho đến
khi ma trận phân hoạch không thay đổi.
3.6.4.2 Ưu và nhược điểm của thuật toán
a. Ưu điểm:
+ Tương đối nhanh. Độ phức tạp của thuật toán là O(tkn), trong đó:
- n: Số đối tượng trong không gian dữ liệu.
- k: Số cụm cần phân hoạch.
- t: Số lần lặp (t thường khá nhỏ so vơi n).
+ K-means phù hợp với các cụm có dạng hình cầu.
b. Khuyết điểm:
+ Không đảm bảo đạt được độ tối ưu toàn cục và kết quả đầu ra phụ thuộc
nhiều vào việc chọn k điểm khởi đầu. Do đó phải chạy lại thuật toán với
nhiệu bộ khởi đầu khác nhau để có được kết quả đủ tốt.
+ Cần phải xác định trước số cụm.
+ Khó xác định số cụm thực sự mà không gian dữ liệu có. Do đó có thể
phải thử với các giá trị k khác nhau.
42
+ Khó phát hiện các loại cụm có hình dạng phức tạp khác nhau và nhất là
các dạng cụm không lồi.
+ Không thể xử l. nhiễu và mẫu cá biệt.
+ Chỉ có thể áp dụng khi tính được trọng tâm.
3.6.4.2 Kỹ thuật dùng đối tượng đại diện: Phương pháp k-medoids
Thuật toán k-means không chính xác trong trường hợp dữ liệu dữ liệu bị
nhiễu bởi vì một đối tượng với giá trị rất lớn có thể ảnh hưởng rất nhiều trong
việc phân bố dữ liệu vào các cụm. Để khắc phục lỗi trên, thay vì dùng giá trị
trung bình của các đối tượng trong một cluster làm điểm đại diện cho cluster,
chúng ta có thể dùng một đối tượng thực sự để đại diện cho cluster đó. Mỗi đối
tượng còn lại được phân vào cụm mà đối tượng đại diện tương tự với nó nhất.
Phương pháp phân hoạch dựa trên nguyên lý cực tiểu các sự khác nhau giữa mỗi
đối tượng và đối tượng đại diện tương ứng. Do đó hàm mục tiêu absolute-error
được sử dụng:
k
E = ∑∑ p − o j
j =1 p∉C j

Trong đó p là điểm trong không gian biểu diễn một đối tượng trong
cluster Cj ; và oj là đối tượng đại diện của của Cj. Trong trường hợp tổng quát,
thuật toán lặp cho đến khi mỗi đối tượng đại diện là một medoid thực sự, có
nghĩa là nó nằm ở trung tâm của cluster tương ứng. Đây chính là ý tưởng cơ bản
của phương pháp k-medois.
Thuật toán k-medoids
Input: Tập dữ liệu D; số cluster k.
Output: k cluster.
Method:
(1) Chọn ngẫu nhiên k đối tượng Oi (i=1..k) làm trung tâm (medoids) ban đầu
của cụm.
(2) Repeat
(3) Gán (hoặc gán lại) từng đối tượng còn lại vào cụm có trung tâm gần điểm
đang xét nhất.
(4) Với mỗi đối tượng trung tâm
43
- Lần lượt xét các đối tượng không là trung tâm (non-medoids) x.
- Tính độ lợi S khi hoán đổi Oi bởi x
S được xác định như sau:
S = Ex – EOi
- Nếu S<0 thì thay thế Oi bởi x.
(5) Until không có sự thay đổi trong các cluster.
Ưu điểm: K-medoids làm việc được với nhiễu và biệt lệ.
Khuyết điểm: K-medoid chỉ hiệu quả khi tập dữ liệu không quá lớn vì có độ
phức tạp là O(k(n-k)2t). Trong đó:
n: Số điểm trong không gian dữ liệu.
k: Số cụm cần phân hoạch.
t: Số lần lặp, t khá nhỏ so với n.
3.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át
hiệ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 đối
tượ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ấp
trong 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úc
biế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ày
khô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 đơn
giả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ập
trung vào phần còn lại của quá trình data mining.

44
Hình 3.6: Đồ thị dựa vào hai độ đo
Trong ví dụ hình trên, chúng ta đã tạo đồ thị dựa vào hai độ đo: thu nhập
và tuổi. Ta thấy rằng những người tuổi trung bình có thu nhập thấp sẽ có khuynh
hướng đọc các tạp chí âm nhạc. Một phương pháp khám phá tập dữ liệu tốt hơn
rất nhiều là thông qua môi trường tương tác 3 chiều và hình 3.7 minh họa khả
năng này.

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


3.8 Mạng Neural
Vào năm 1980, các nhà nghiên cứu bắt đầu phát triển mạng Neural với
nhiều kiến trúc phức tạp nhằm khắc phục những hạn chế trước đây. Dùng kỹ
thuật mạng Neural có thể phân tích một cơ sở dữ liệu như hình 3.8.

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


45
Hình trên mô tả một kiến trúc mạng Neural đơn giản dùng để biểu diễn
việc phân tích cơ sở dữ liệu tiếp thị. Trong đó thuộc tính được chia thành ba lớp
tuổi và được đưa vào ba nút nhập riêng rẽ: thuộc tính sở hữu nhà, xe cũng có
một nút nhập riêng và bốn nút nhận dạng bốn vùng. Mỗi nút nhập tương ứng với
một quyết định Yes/No đơn giản. Tương tự như thế cho các nút xuất: mỗi tạp
chí là một nút.
Các nút nhập được nối toàn bộ với các nút ẩn và các nút ẩn được nối toàn
bộ với các nút xuất. Trong mạng, các nhánh giữa các nút đầu có trọng lượng
bằng nhau. Trong quá trình “dạy”, mạng nhận những mẫu nhập và xuất tương
ứng với những record trong cơ sở dữ liệu và cập nhật lại trọng lượng của các
nhánh cho đến khi tất cả nút nhập kết được với nút xuất thích hợp.
Các nhánh tô đậm cho thấy mối liên hệ nào đó giữa những người đọc tạp
chí xe hơi và tạp chí hài có cùng lứa tuổi nhỏ hơn 30, có xe hơi và ở vùng 3.
Nhưng mạng không cung cấp luật để nhận dạng mối kết hợp này. Mạng Neural
biểu diễn tốt trên sự phân lớp yêu cầu và có thể được sử dụng rất hữu ích trong
data mining.

3.9 Thuật toán di truyền


Có một mối kết hợp tuyệt vời giữa công nghệ và tự nhiên, nguyên lý đó
là thuyết tính toán về sự tiến hóa. Thuyết tính toán về sự tiến hóa là phương
pháp giải quyết vấn đề bằng cách áp dụng kỹ thuật tiến hóa. Lĩnh vực này đưa ra
3 mô tả độc lập bao gồm: các thuật toán về di truyền, lập trình về sự tiến hóa và
chiến lược tiến hóa. Tất cả 3 mô tả này đã được nghiên cứ lần đầu tiên trong hai
thập niên 1960 và 1970, nhưng mãi cho tới cuối thập niên 1980 thì chúng mới
bắt đầu được chấp nhận. Và thời gian này, các nhà nghiên cứu bắt đầu nhận thấy
mối quan hệ rõ ràng giữa máy tính và sinh học . Hiện tại, các thuật toán di
truyền đang được xem là kỹ thuật máy học thành công nhất. Tự nhiên đã cung
cấp nguồn cảm hứng cho hai vấn đề: ”quá trình chọn lọc tự nhiên” là một kỹ
thuật để giải quyết vấn đề. Và DNA như một kỹ thuật mã hóa vấn đề.

46
Trong “Nguồn gốc của muôn loài”, Darwin mô tả lý thuyết về sự tiến hóa:
“sự chọn lọc tự nhiên” là khái niệm trung tâm. Mỗi loài có một sự sinh sản thừa,
trong cuộc đấu tranh mạnh mẽ giành sự sống, chỉ có những loài nào thích nghi
tốt nhất đối với môi trường thì mới sống sót.
Năm 1953, Jame Watson và Francis Crick phát hiện ra cấu trúc xoắn kép
của DNA. Thông tin di truyền được lưu trữ trong phần tử DNS dài, bao gồm 4
khối, điều này có nghĩa là tất cả thông tin di truyền của các nhân con người,
hoặc của bất kỳ một tạo vật sống nào, đều được đặt trong một ngôn ngữ chỉ có 4
ký tự (C, G, A và T trong ngôn ngữ di truyền). Tập hợp của các chỉ thị di truyền
cho loài người vào khoảng 3 tỷ ký tự. Mỗi cá nhân đều thừa hưởng vài đặc tính
của người cha hoặc người mẹ. Sự khác nhau giữa các cá nhân như màu tóc hay
màu mắt, và các bệnh bẩm sinh được gây nên bởi sự khác biệt về mã di truyền.
Sự chọn lọc tự nhiên có hai mặt thuận lợi và không thuận lợi. Mặt bất lợi
rõ ràng là sự sinh sản quá mức của các cá thể. Một bất lợi khác là toàn bộ tiến
trình đạt được rất ít mục đích, vì sự cải thiện của các loài phụ thuộc vào các yếu
tố thay đổi môi trường. Các loài có thể tiến hóa bằng cách đột biến Gen ngẫu
nhiên. Công thức xây dựng thuật toán di truyền để giải quyết vấn đề như sau:
Đặt ra bộ mã tốt, hoàn hảo để mã hóa vấn đề dưới dạng chuỗi bao gồm
một số ký tự giới hạn
Sáng chế ra một môi trường nhân tạo trong máy tính để các giải pháp có
thể kết nối lại với nhau. Cung cấp đối tượng có thể xét đoán được sự thành công
hay thất bại mà thuật ngữ của chuyên gia gọi là “hàm thích nghi”.
Để kết hợp các giải pháp, cần thực hiện các thao tác chéo – các chuỗi gen
của người cha và người mẹ được cắt ra và sau khi thay đổi thì được kết lại với
nhau. Trong việc tái tạo, tất cả các trường hợp đột biến có thể được áp dụng.
Khởi đầu, ta cung cấp một “số người” hoàn toàn khác nhau, và yêu cầu
máy tính thực hiện “sự tiến hóa” bằng cách loại bỏ các giải pháp xấu trên mỗi
thế hệ và thay thế chúng bởi con cháu hoặc sự đột biến tốt. Dừng lại khi một gia
đình gồm các giải pháp tốt đã được hình thành.

47
Ưu điểm và khuyết điểm của các thuật toán di truyền luôn tồn tại song
song. Hai hạn chế là sự sinh sản quá nhiều và tính chất ngẫu nhiên trong tiến
trình tìm kiếm. Các cách giải bằng những thuật toán di truyền được mã hóa
thành các ký hiệu, vì vậy thường là dễ đọc, đó là một thuận lợi hơn so với mạng
neural.
Áp dụng cho bài toán data mining, giả sử ta muốn phát hiện một nhóm
các tạp chí thường được đọc từ một cơ sở dữ liệu tạp chí dùng thuật toán di
truyền. Bước đầu, tìm bộ mã tốt, mã hóa các vấn đề dưới dạng chuỗi các ký tự
có giới hạn, đưa ra cách thức để: mô tả các tạp chí như một tập các điểm trong
không gian mà đang điều tra. Hình 3.9 chỉ một nhóm các tạp chí hay đọc của
một không gian mẫu dưới dạng 5 điểm.
Các điểm mô tả các vùng chứa các tạp chí trong không gian tìm kiếm,
đường viềm giữa hai điểm được định nghĩa bằng một đường thẳng cách đều hai
điểm. Kết quả của việc phân chia thành vùng khác nhau từ định nghĩa của các
đường viềm được gọi là lược đồ Voronoi. Sử dụng kỹ thuật của lược đồ
Voronoi, ta có thể chia không gian mẫu thành các khu vực khác nhau tùy thuộc
vào tập các điểm đã tìm thấy. Trong trường hợp này, sẽ có 5 vùng ứng với 5 lớp
“thô” trên không gian mẫu. Nếu dùng nhiều điểm hướng dẫn sẽ có nhiều vùng
con tốt hơn trên không gian mẫu.
Trong bài toán tìm tạp chí thường đọc, ta có thể chọn một chuỗi kết hợp 5
điểm hướng dẫn là một mã. Một vật riêng lẻ trong không gian tìm kiếm gồm 10
số thực mô tả sự kết hợp 5 điểm. Để bắt đầu thuật toán di truyền với các vật thể,
mỗi vật thể mô tả bằng 5 điểm. Ở giai đoạn đầu, các điểm này được chọn một
cách ngẫu nhiên. Bắt đầu với 20 vật thể mô tả 20 giải pháp ngẫu nhiên có liên
quan đến vấn đề. Hình 3.10 là tập các giải pháp ngẫu nhiên ban đầu được thể
hiện cho thế hệ đầu tiên.
Bước tiếp theo là một hàm “Fitness” cho các vật thể. Trong trường hợp
hiện tại, điều này rất đơn giản, ta chỉ việc tính khoảng cách trung bình của các
điểm trong không gian mẫu tới điểm hướng dẫn gần nhất. Tập các điểm hướng
dẫn sẽ cho kết quả tốt nếu khoảng cách trung bình của các điểm trong không

48
gian mẫu tới điểm hướng dẫn gần nhất là nhỏ nhất. Hình 3.10 cho thấy các giải
pháp đưa ra hầu hết phụ thuộc vào khoảng cách trung bình. Mối quan tâm là
quan hệ chéo và quan hệ đột biến. Trong trường hợp, quan hệ chéo đơn giản lấy
3 điểm từ một cá thể, 2 điểm từ một cá thể khác, trao đổi chúng, và bằng cách
này tạo ra 2 con cháu từ cha mẹ chúng. Đối với đột biến, đơn giản hơn: ta chỉ
chuyển ngẫu nhiên vài điểm của một cá thể trong không gian tìm kiếm. Dùng
thao tác chéo và đột biến, chúng ta có thể tạo ra thế hệ các giải pháp mới cho
vấn đề. Sau một số thế hệ, sẽ tìm thấy tính ổn định cho không gian mẫu như
hình 3.9.

Hình 3.9: Một nhóm các tạp chí hay đọc của một không gian mẫu

49
Hình 3.10: tập các giải pháp ngẫu nhiên ban đầu được thể hiện cho thế hệ đầu
tiên

50
TÀI LIỆU THAM KHẢO
[1] R. Agrawal, T. Imielinski, and A. Swami. Mining association rules between
sets of items in large databases. In Proc. of the ACM SIGMOD Conference on
Management of Data, pages 207–216, 1993.
[2] R. Agrawal, H. Mannila, R. Srikant, H. Toivonen, and A. I. Verkamo. Fast
discovery of association rules. In Advances in Knowledge Discovery and Data
Mining, pages 307–328, 1996.
[3] R. Agrawal and R. Srikant. Fast algorithms for mining association rules. The
International Conference on Very Large Databases, pages 487–499, 1994.
[4] R. Agrawal and R. Srikant. Mining sequential patterns. In P. S. Yu and A. L.
P. Chen, editors, Proc. 11th Int. Conf. Data Engineering, ICDE, pages 3–14.
IEEE Press, 6–10 1995.
[5] N. F.Ayan, A. U. Tansel, and M. E. Arkun. An efficient algorithm to update
large itemsets with early pruning. In Knowledge Discovery and Data Mining,
pages 287–291, 1999.
[6] R. J. Bayardo, Jr. Efficiently mining long patterns from databases. In
Proceedings of the 1998 ACM SIGMOD international conference on
Management of data, pages 85–93. ACM Press, 1998.
[7] F. Bodon and L. R´onyai. Trie: an alternative data structure for data mining
algorithms. to appear in Computers and Mathematics with Applications, 2003.
[8] S. Brin, R. Motwani, J. D. Ullman, and S. Tsur. Dynamic itemset counting
and implication rules for market basket data. SIGMOD Record (ACM Special
Interest Group on Management of Data),26(2):255, 1997.

51

You might also like