Tải bản đầy đủ (.pdf) (129 trang)

Khai phá dữ liệu với cây quyết định

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.58 MB, 129 trang )


ĐẠI HỌC QUỐC GIA HÀ NỘI
ĐẠI HỌC CÔNG NGHỆ




LÊ THỊ HOÀNG LIÊN




KHAI PHÁ DỮ LIỆU VỚI CÂY QUYẾT
ĐỊNH

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN



Chuyên ngành:
Mã số: 1 .01. 10

Người hướng dẫn khoa học:
PGS.TS VŨ ĐỨC THI









HÀ NỘI - 2007

1
MỤC LỤC

MỞ ĐẦU 3
CHƢƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 4
1.1. Quá trình phát hiện tri thức trong cơ sở dữ liệu 4
1.2. Khai phá dữ liệu 8
1.2.1. Định nghĩa và các yêu cầu trong khai phá dữ liệu 8
1.2.2 Phân loại các hệ thống khai phá dữ liệu 10
1.2.3. Các phương pháp khai phá dữ liệu 15
1.3. Những vấn đề cần quan tâm trong khai phá dữ liệu 22
1.3.1. Những khó khăn trong khai phá dữ liệu 22
1.3.2. Về kết quả của quá trình khai phá dữ liệu 24
1.3.3. Một số hướng nghiên cứu của khai phá dữ liệu hiện nay 24
1.4. Kết luận 26
CHƢƠNG 2: KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT ĐỊNH 27
2.1. Sơ lƣợc về sự phân lớp 27
2.1.1. Các khái niệm cơ bản 27
2.1.2. Quá trình phân lớp 28
2.1.3. Các phương pháp phân lớp 29
2.2. Cây quyết định 31
2.2.1. Định nghĩa 31
2.2.2. Xây dựng cây quyết định 33
2.2.3. Giải thuật ID3 34
2.2.3.1. Entropy 35
2.2.3.2. Information Gain 35
2.2.3.3. Giải thuật ID3 36

2.2.3.4. Những hạn chế của giải thuật ID3 43
2.2.4. Giải thuật mở rộng C4.5 44
2.2.4.1. SplitInfo và Gain Ratio 44
2.2.4.2. Giải thuật C4.5 46
2.2.4.3. Những cải tiến của giải thuật C4.5 48
2.3. Tránh overfitting dữ liệu 50
2.3.1. Tiền cắt tỉa (pre-prunning) 51
2.3.2. Hậu cắt tỉa (post-prunning) 52
2.4. Rút ra các luật từ Cây quyết định 55

2
2.5. Kết luận 56
CHƢƠNG 3: CÂY QUYẾT ĐỊNH MỜ 57
3.1. Giới thiệu 57
3.2. Logic mờ và suy luận xấp xỉ 58
3.2.1. Khái niệm Logic mờ 58
3.2.2. Các khái niệm cơ bản của logic mờ 59
3.2.2.2. Các toán tử logic trên tập mờ 61
3.2.2.4. Hệ Điều khiển/Quyết định mờ(Fuzzy logic Control/Decision
System) 62
3.2.2.5. Các ưu điểm của áp dụng tập mờ để rời rạc hoá dữ liệu 63
3.3. Cây Quyết định Mờ 64
3.3.1. Fuzzy ID3 64
3.3.1.1. Dữ liệu mẫu với biểu diễn mờ 65
3.3.1.2. Entropy mờ và độ đo thông tin mờ 68
3.3.1.3. Định nghĩa ngưỡng 69
3.3.1.4. Thủ tục xây dựng cây quyết định mờ 70
3.3.1.5. Lập luận với Fuzzy ID3 72
3.3.2. Probabilistic Fuzzy ID3 73
3.3.2.1.Không gian mẫu xác định tốt (well-defined sample space) 73

3.2.2.2. Entropy mờ xác xuất 76
3.2.2.3. Thủ tục xây dựng cây quyết định 77
3.4. So sánh các giải thuật ID3, FID3 và PFID3 79
3.5. Kết luận 80
CHƢƠNG 4: CÀI ĐẶT PHẦN MỀM MINH HỌA 81
4.1. Giới thiệu phần mềm 81
4.2. Giao diện của chƣơng trình 83
4.3. Đánh giá 88
KẾT LUẬN CHUNG 89
TÀI LIỆU THAM KHẢO 90
PHỤ LỤC 92

3

MỞ ĐẦU

Trong những thập niên vừa qua, sự phát triển mạnh mẽ của công nghệ
thông tin và ngành công nghiệp phần cứng đã làm cho khả năng thu thập và lưu
trữ thông tin của các hệ thống thông tin tăng nhanh một cách chóng mặt. Bên
cạnh đó việc tin học hoá một cách ồ ạt và nhanh chóng các hoạt động sản xuất,
kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo ra cho chúng ta một
lượng dữ liệu lưu trữ khổng lồ. Hàng triệu cơ sở dữ liệu đã được sử dụng trong
các hoạt động sản xuất, kinh doanh, quản lí , trong đó có nhiều cơ sở dữ liệu
cực lớn cỡ Gigabyte, thậm chí là Terabyte. Các kho dữ liệu ngày càng lớn và
tiềm ẩn nhiều thông tin có ích. Sự bùng nổ đó dẫn tới một yêu cầu cấp thiết là
phải có những kĩ thuật và công cụ mới để biến kho dữ liệu khổng lồ kia thành
những thông tin cô đọng và có ích. Kĩ thuật Khai phá dữ liệu (Data mining) ra
đời như một kết quả tất yếu đáp ứng các nhu cầu đó.
Khám phá tri thức và khai phá dữ liệu (KDD = Knowledge Discovery and
Data mining) đã nhanh chóng trưởng thành trên mọi lĩnh vực, kết hợp với việc

quản lí dữ liệu, khoa học thống kê và mục đích sử dụng tri thức từ khai phá dữ
liệu.
Mục đích của luận văn này là nghiên cứu, tìm hiểu về lĩnh vực khai phá dữ
liệu, các phương pháp, kỹ thuật khai phá dữ liệu và trọng tâm là phương pháp
Cây quyết định và các cải tiến trong Cây quyết định mờ. Để đạt được mục tiêu
đó luận văn được chia làm các phần sau:
Chƣơng 1: Tổng quan về khai phá dữ liệu
Chƣơng 2: Khai phá dữ liệu bằng cây quyết định
Chƣơng 3: Cây quyết định mờ
Chƣơng 4: Cài đặt chƣơng trình minh họa
Kết luận




4

CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU


1.1. Quá trình phát hiện tri thức trong cơ sở dữ liệu
Ngày nay, hầu hết mọi lĩnh vực của đời sống thực phải đối mặt với khối
lượng ngày càng tăng của dữ liệu được thu thập từ các hoạt động của con người
(như dữ liệu giao dịch thị trường, bản ghi việc sử dụng thẻ tín dụng, thông tin về
các cuộc gọi điện thoại, các thống kê của chính phủ) tới các dữ liệu thu thập
được từ bên ngoài (như hình ảnh các thiên thể, cơ sở dữ liệu về phân tử, hoặc
bản ghi y tế). Các công cụ thu thập dữ liệu tự động và các công nghệ cơ sở dữ
liệu phát triển mạnh mẽ tạo ra một lượng dữ liệu khổng lồ được lưu trữ trong các
cơ sở dữ liệu, kho dữ liệu và các nơi lưu trữ thông tin khác. Sự bùng nổ này đã
dẫn tới một yêu cầu cấp thiết là cần có những kĩ thuật và công cụ mới để tự động

chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức có ích. Từ đó, các kĩ
thuật Khai phá dữ liệu đã trở thành tiêu điểm của một lĩnh vực mới nghiên cứu
và ứng dụng về khám phá tri thức (Knowledge Discovery) và khai phá dữ liệu
(Data Mining).
Khám phá tri thức: phát hiện tri thức trong các cơ sở dữ liệu là một quy
trình nhận biết các mẫu hoặc các mô hình dữ liệu với các tính năng: hợp thức,
mới, khả ích và có thể hiểu được.
Khai phá dữ liệu: khai phá dữ liệu là một bước trong quá trình phát hiện tri
thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số quy định
về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong
dữ liệu đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi số
lượng dữ liệu khổng lồ.
Khai phá dữ liệu (data mining) là quá trình khám phá các tri thức mới và
các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có. Khai phá dữ liệu
là một bước của Quá trình khám phá tri thức (Knowledge Discovery Process),
bao gồm:

5
1. Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề.
2. Thu thập và tiền xử lý dữ liệu: Bao gồm quá trình làm sạch dữ liệu (data
cleaning), tích hợp dữ liệu (data integration), chọn dữ liệu(data selection),
biến đổi dữ liệu (data transformation)
3. Khai phá dữ liệu và rút ra các tri thức: Xác định nhiệm vụ khai phá dữ
liệu và lựa chọn kỹ thuật khai phá dữ liệu. Kết quả cho ta một nguồn trí
thức thô.
4. Phân tích và đánh giá kết quả: Dựa trên một số tiêu chí tiến hành kiểm tra
và lọc nguồn trí thức thu được.
5. Sử dụng các tri thức phát hiện được.
Quá trình khám phá tri thức không chỉ là một quá trình tuần tự từ bước đầu
tiên đến bước cuối cùng mà là một quá trình lặp và có quay lại các bước đã qua.

Hình vẽ dưới đây biểu diễn quá trình khám phá tri thức


Hình 1.1: Quá trình khám phá tri thức
Bước thứ nhất là tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bước
này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các
phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của
dữ liệu.

6
Bước thứ hai là thu thập và xử lý thô, còn được gọi là tiền xử lý dữ liệu
nhằm loại bỏ nhiễu, xử lý việc thiếu dữ liệu, biến đổi dữ liệu và rút gọn dữ liệu
nếu cần thiết. Bước này thường chiếm nhiều thời gian nhất trong toàn bộ qui
trình phát hiện tri thức và gồm các khâu sau:
- Làm sạch dữ liệu (Data Cleaning): Loại bỏ dữ liệu nhiễu và dữ liệu không
nhất quán, đây là một bước rất quan trọng trong quá trình tiền xử lý dữ
liệu. Một số lỗi thường mắc phải trong khi thu thập dữ liệu là tính không
đủ chặt chẽ, logic, dữ liệu rỗng, dư thừa, hoặc dữ liệu không hợp lệ. Vì
vậy, dữ liệu thường chứa các giá trị vô nghĩa và không có khả năng kết
nối dữ liệu, ví dụ tuổi = 0. Giai đoạn này sẽ tiến hành xử lý những dạng
dữ liệu không chặt chẽ nói trên. Những dữ liệu dạng này được xem như
thông tin dư thừa, không có giá trị. Bởi vậy, đây là một Giai đoạn rất quan
trọng vì dữ liệu này nếu không được “làm sạch” thì sẽ gây nên những kết
quả sai lệch nghiêm trọng.
- Tích hợp dữ liệu (Data Intergation): tích hợp dữ liệu từ các nguồn khác
nhau như cơ sở dữ liệu, kho dữ liệu, file text,các dữ liệu từ các nguồn ứng
dụng Web,…
- Lựa chọn dữ liệu (Data Selection): Lựa chọn, thu thập những dữ liệu phù
hợp với nhiệm vụ phân tích, trích rút từ các nguồn dữ liệu ban đầu.
- Chuyển đổi dữ liệu (Data Transformation): Dữ liệu được chuyển đổi hay

được hợp nhất về dạng thích 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.


7

Hình 1.2: Sơ đồ quá trình tiền xử lý dữ liệu

Bước thứ ba là khai phá dữ liệu, hay nói cách khác là trích ra các mẫu
hoặc/và các mô hình ẩn dưới các dữ liệu Ở giai đoạn này nhiều thuật toán khác
nhau đã được sử dụng để trích ra các mẫu từ dữ liệu như các nguyên tắc phân
loại, nguyên tắc kết hợp hoặc các mô hình dữ liệu tuần tự,
Bước thứ tư là hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả
và dự đoán. Ở giai đoạn này, các mẫu dữ liệu được chiết xuất ra bởi phần mềm
khai phá dữ liệu. Không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi
nó còn bị sai lệch. Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để chiết
xuất ra các tri thức cần thiết.
Bước thứ năm là sử dụng các tri thức phát hiện được, ở giai đoạn này các
kỹ thuật biểu diễn và trực quan hóa được sử dụng để biểu diễn tri thức khai phá
được cho người sử dụng.
Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được
lấy trung bình trên tất cả các lần thực hiện.

8

1.2. Khai phá dữ liệu
1.2.1. Định nghĩa và các yêu cầu trong khai phá dữ liệu
Khai phá dữ liệu: là sự phân tích dữ liệu quan sát (thường là lớn) để tìm ra
các quan hệ rõ ràng và để tóm tắt (khái quát) dữ liệu theo các cách mới mà vừa
dễ hiểu, vừa hữu ích cho người sở hữu dữ liệu. Các quan hệ và các tóm tắt thu

được thông qua khai phá dữ liệu thường gọi là các mô hình (models) hoặc khuôn
mẫu (patterns). Ví dụ như các phương trình tuyến tính, các luật, các nhóm, các
đồ thị, các cấu trúc cây, các khuôn mẫu lặp lại theo thời gian.
Đây là một khoa học liên ngành mới, giao của thống kê học, học máy, quản
trị dữ liệu và các cơ sở dữ liệu, nhận dạng khuôn mẫu, trí tuệ nhân tạo, và các
lĩnh vực khác. Tất cả chúng liên quan đến các khía cạnh cụ thể của phân tích dữ
liệu, chúng có nhiều thứ chung, nhưng mỗi môn có các bài toán và phương pháp
giải quyết phân biệt và đặc trưng.
Ở trên ta nhắc đến “dữ liệu quan sát – observational data”, đối lập với “dữ liệu
thực nghiệm – experimental data”. Khai phá dữ liệu thường làm việc trên dữ liệu
mà đã thực sự được thu thập trước đó cho mục đích khác với việc phân tích của
khai phá dữ liệu (chẳng hạn, chúng được thu thập nhằm cập nhật tất cả các giao
dịch trong một ngân hàng). Điều này có nghĩa rằng các mục tiêu của khai phá dữ
liệu không được xác định trong chiến lược thu thập dữ liệu. Điều này là một
trong những điểm để phân biệt khai phá dữ liệu với thống kê. Với thống kê, dữ
liệu thường được thu thập bằng cách sử dụng các chiến lược hiệu quả để trả lời
các câu hỏi xác định trước. Với lý do này, khai phá dữ liệu thường được coi là
phân tích dữ liệu thứ cấp (secondary)
Định nghĩa trên cũng đề cập đến các tập dữ liệu trong khai phá dữ liệu thường là
lớn. Nếu chỉ làm việc trên tập dữ liệu nhỏ, chúng ta hoàn toàn mới chỉ thảo luận
phân tích dữ liệu kiểu cổ điển như công việc của các nhà thống kê. Khi đối mặt
với dữ liệu lớn, các bài toán mới sẽ nảy sinh như các bài toán liên quan đến các
vấn đề lưu trữ và truy cập dữ liệu, hay các vấn đề cơ bản như là làm thế nào để
xác định các đại diện của dữ liệu, làm thế nào phân tích dữ liệu trong thời gian
chấp nhận được, làm thế nào để quyết định xem một mối liên hệ chỉ đơn thuần
là sự xuất hiện ngẫu nhiên không phản ánh một thực tế nào cả.

9
Thông thường, dữ liệu có sẵn chỉ bao gồm một mẫu (sample) từ một tập
đầy đủ dữ liệu trong khi mục đích của khai phá dữ liệu là khái quát hóa

(generalize) từ mẫu đó cho toàn bộ tập dữ liệu. Chẳng hạn chúng ta mong muốn
dự đoán hành vi của các khách hàng tương lai, hoặc dự đoán các tính chất của
cấu trúc proteins mà chúng ta chưa bao giờ nhìn thấy trước đó. Những khái quát
hóa như vậy có thể không thể có được bằng các cách tiếp cận thống kê chuẩn vì
dữ liệu thường không phải là các mẫu “ngẫu nhiên” mà là “mẫu tiện lợi”
(“convenience samples”) hoặc “mẫu cơ hội” (“opportunity samples”). Đôi khi
chúng ta muốn tóm tắt hoặc nén một tập dữ liệu lớn theo một cách sao cho kết
quả là dễ hiểu, không có bất cứ một ý niệm nào của khái quát hóa cả như trong
trường hợp tóm tẳt dữ liệu điều tra dân số đầy đủ của một quốc gia, hoặc một cơ
sở dữ liệu gồm hàng triệu giao dịch bán lẻ.
Quá trình đi tìm các quan hệ trong một tập dữ liệu – tìm các mô hình và
khuôn mẫu biểu diễn tóm tắt, hữu ích, tiện lợi và chính xác một số khía cạnh của
dữ liệu – có thể chia ra theo các bước sau:
- Xác định nhiệm vụ khai phá: Xác định mục tiêu của bài toán cần giải
quyết, bản chất và cấu trúc của mô hình hay khuôn mẫu cần được sử dụng
là trực quan, phân cụm, phân lớp, hồi qui, hay tìm kiếm mẫu,…
- Quyết định làm thế nào để định lượng và so sánh độ phù hợp của các mô
hình hay khuôn mẫu khác nhau đối với dữ liệu (tức là lựa chọn hàm định
giá- score function)
- Chọn lựa một phương pháp tìm kiếm và tối ưu, tìm ra các khuôn mẫu và
mô hình “tốt/tối ưu” từ cấu trúc (dạng) của khuôn mẫu và mô hình đã xác
định trong bước đầu. Tiêu chuẩn “tốt/tối ưu” là dựa trên hàm định giá đã
chọn.
- Đưa ra chiến lược quản trị dữ liệu để cài đặt hiệu quả cho phương pháp
tìm kiếm và tối ưu.
Các yêu cầu trong khai phá dữ liệu
Các hệ thống khai phá có thể sinh ra hàng nghìn thậm chí hàng triệu mẫu.
Những đôi khi chỉ có một số ít trong chúng là đáng quan tâm đối với người
dùng. Hơn nữa, ta cũng không thể biết liệu hệ thống khai phá dữ liệu có thể sinh
ra tất cả các mẫu hữu ích, đáng quan tâm hay không bởi vì trong một cơ sở dữ


10
liệu khổng lồ luôn chứa nhiều điều tiềm ẩn mà ta không biết trước, ta chỉ có thể
biết những gì mà hệ thống đưa ra.
Các mô hình và mẫu tìm thấy trong các tập dữ liệu phải là mới, điều đó là
tất nhiên. Sẽ có rất ít giá trị khi tìm ra các mối quan hệ đã thiết lập trước trừ khi
mục đích của công việc là xác nhận giả thuyết, xác định xem một khuôn mẫu
tồn tại trong một tập dữ liệu mới không, hoặc các mối quan hệ cần thiết. Rõ
ràng, tính mới (novelty) phải được đo một cách tương đối đối với tri thức đã có
trước (tri thức tiên nghiệm) của người sử dụng.
Trên thực tế, thường chỉ có một phần và thậm chí là ít trong số các mẫu và
mô hình được sinh ra từ hệ thống khai phá là có ích đối với người sử dụng. Các
mẫu đáng quan tâm là các mẫu phải thỏa mãn các yêu cầu cơ bản sau:
- Có tính chất mới, lạ.
- Có tiềm năng sử dụng.
- Dễ hiểu đối với người sử dụng.
- Có độ tin cậy.
- Biểu diễn, chứa đựng tri thức

1.2.2 Phân loại các hệ thống khai phá dữ liệu
Như ta đã biết, khai phá dữ liệu là một khoa học liên ngành của thống kê
học, học máy, quản trị dữ liệu và các cơ sở dữ liệu, nhận dạng khuôn mẫu, trí
tuệ nhân tạo, và các lĩnh vực khác. Vì có nhiều dạng khác nhau của nhiều ngành
tham gia vào việc khai phá dữ liệu nên việc nghiên cứu về khai phá dữ liệu phải
chỉ ra được một sự khác nhau lớn về các hệ thống khai phá dữ liệu. Do vậy việc
phân loại các hệ thống khai phá dữ liệu là cần thiết. Việc phân loại các hệ thống
khai phá dữ liệu giúp người dùng có khả năng phân biệt được các hệ thống khai
phá dữ liệu và tìm được hệ thống phù hợp đối với các nhu cầu của họ. Hệ thống
khai phá dữ liệu có thể được phân lớp dựa theo nhiều tiêu chí khác nhau [12],
như sau:

- Phân loại dựa theo các dạng cơ sở dữ liệu được khai phá, ở dây ta có thể
phân loại tiếp, dựa theo các tiêu chí khác nhau, như các mô hình hay dạng
dữ liệu, hoặc các ứng dụng có liên quan. Phân lớp dựa theo các mô hình

11
dữ liệu thì chúng ta có thể có hệ thống khai phá dữ liệu quan hệ, giao
dịch, hướng đối tượng, quan hệ đối tượng, hoặc kho dữ liệu. Còn nếu
phân lớp dựa theo các dạng không gian của dữ liệu được vận dụng thì
chúng ta cỏ thể có hệ thống khai phá dữ liệu không gian, dữ liệu chuỗi
thời gian, dữ liệu văn bản, hoặc hệ thống khai phá dữ liệu đa phương tiện
hoặc một hệ thống khai phá dữ liệu web.
- Phân loại dựa theo các dạng tri thức mà các hệ thống này khai phá. Nghĩa
là dựa trên các chức năng khai phá dữ liệu, như sự mô tả, phân biệt, kết
hợp, phân lớp, phân nhóm, phân tích dư thừa và phân tích tiến hóa. Ngoài
ra, các hệ thống khai phá dữ liệu có thể được phân biệt dựa trên mức độ
trừu tượng của tri thức được khai phá, bao gồm tri thức tổng quát (có độ
trừu tượng cao), tri thức cơ bản (mức độ dữ liệu thô), hoặc tri thức ở đa
mức độ (quan tâm đến nhiều mức độ trừu tượng).
- Phân loại dựa theo các kỹ thuật khai phá dữ liệu cơ bản được sử dụng.
Các kỹ thuật này có thể được mô tả dựa theo mức độ tương tác của người
dùng được liên quan (ví dụ như: các hệ thống hoạt động độc lập, các hệ
thống khảo sát tương tác các hệ thống điều khiển truy vấn) hoặc dựa vào
các phương pháp phân tích dữ liệu được sử dụng (ví dụ như: học máy,
nhận biết mẫu, thống kê, mạng nơron, ). Thường thì một hệ thống khai
phá dữ liệu tinh vi sẽ chấp nhận đa kỹ thuật khai phá dữ liệu hoặc một kỹ
thuật tích hợp bằng cách kết nối từ nhiều ưu điểm, thành quả của một vài
phương pháp riêng lẻ khác.
- Các hệ thống khai phá dữ liệu còn có thể được phân loại dựa các ứng
dụng được đưa vào. Ví dụ như, có thể có các hệ thống khai phá dữ liệu
thích hợp đặc biệt riêng cho lĩnh vực tài chính, viễn thông, ngân hàng, thị

trường chứng khoán, phân tích gian lận, phân tích DNA…
Ở đây, ta sẽ xem xét việc phân loại các hệ thống khai phá dữ liệu theo chức
năng của hệ thống.

12

Hình 1.3: Phân loại các hệ thống khai phá dữ liệu theo chức năng
Như trong hình 1.3, ta thấy có 5 loại hệ thống :
1. Phân tích dữ liệu khám phá (Exploratory Data Analysis – EDA)
- Như tên gọi, mục đích ở đây đơn giản là khám phá (explore) dữ liệu
mà không có ý tưởng rõ ràng nào về cái chúng ta tìm kiếm. Điển hình, các
kỹ thuật EDA là tương tác và trực quan, và có rất nhiều phương pháp hiển
thị đồ họa hiệu quả đối với các tập dữ liệu ít chiều và nhỏ. Khi số chiều
(số các biến -n) tăng, sẽ trở nên rất khó để trực quan đám mây các điểm
trong không gian n chiều. Với n lớn hơn 3 hoặc 4, cần phải sử dụng các
kỹ thuật chiếu như là phân tích các thành phần chính để tạo ra hình chiếu
ít mất mát thông tin của dữ liệu xuống không gian ít chiều hơn. Một lượng
lớn dữ liệu có thể khó trực quan hiệu quả, dù vậy các mẫu dữ liệu với độ
phân giải thấp hơn có thể được hiển thị và tóm tắt và phải chấp nhận việc
có thể bỏ qua một số chi tiết quan trọng.
2. Xây dựng mô hình mô tả (Descriptive modeling)
- Mục tiêu của một mô hình mô tả là mô tả tất cả dữ liệu hoặc quá trình
sinh ra dữ liệu. Ví dụ về các mô tả như vậy bao gồm các mô hình cho

13
phân bố xác suất chung của dữ liệu (ước lượng hàm mật độ), phân hoạch
không gian dữ liệu n chiều thành các nhóm (phân tích phân cụm và phân
đoạn - cluster analysis and segmentation), và các mô hình mô tả mối liên
hệ giữa các biến (mô hình phụ thuộc - dependency modeling). Ví dụ,
trong phân tích phân đoạn, mục đích là để nhóm các bản ghi tương tự như

việc phân đoạn thị trường của các cơ sở dữ liệu thương mại. Ở đây mục
đích là để chia các bản ghi thành các nhóm sao cho các khách hàng giống
nhau được đặt trong cùng một nhóm. Điều này cho phép các nhà quảng
cáo, các nhân viên makerting quảng bá một cách hiệu quả nhằm thu được
tối ưu lợi nhuận với chi phí thấp. Số nhóm ở đây được chọn bởi các nhà
nghiên cứu, không có số “đúng”. Điều này trái với phân tích phân cụm
với mục đích là để khám phá các nhóm “tự nhiên” từ dữ liệu, ví dụ như
dữ liệu về khoa học.
3. Xây dựng mô hình dự đoán (predictive modeling): phân lớp và hồi qui
Mục đích là để xây dựng một mô hình mà cho phép giá trị của một biến
được dự đoán từ các giá trị đã biết của các biến khác. Trong phân lớp, biến
được dự đoán có giá trị là kiểu phân lớp (categorical), trong khi đó với hồi
qui, biến cần dự đoán là định lượng. Thành ngữ “dự đoán” được sử dụng ở
đây là sử dụng chung. Chẳng hạn, khi chúng ta muốn dự đoán giá trị của thị
trường chứng khoán ở một ngày trong tương lai, hoặc cũng có thể muốn
chuẩn đoán của một bệnh nhân,
- Sự phân biệt chính giữa việc dự đoán và việc mô tả là việc dự đoán có
một biến mục tiêu duy nhất (biến cần dự đoán) ví dụ như giá trị thị
trường, loại bệnh,… trong khi các bài toán mô tả không có một biến như
vậy làm trung tâm của mô hình.
- Mô hình dự đoán được chia thành hai loại, phân lớp và hồi qui:
Mục tiêu của phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu.
Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng mô hình và sử
dụng mô hình để phân lớp dữ liệu.
• Bước 1: một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu
dữ liệu sẵn có. Mỗi mẫu tương ứng với một lớp, được quyết định bởi một
thuộc tính gọi là thuộc tính lớp. Các mẫu dữ liệu này còn được gọi là tập
dữ liệu huấn luyện (data trainning set). Các nhãn lớp của tập dữ liệu huấn

14

luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương
pháp này còn được gọi là học có giám sát (supervised learning) khác với
phân cụm dữ liệu là học không có giám sát (unsupervised learning).
• Bước 2: sử dụng mô hình để phân lớp dữ liệu. Trước hết chúng ta phải
tính độ chính xác của mô hình. Nếu độ chính xác là chấp nhận được, mô
hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong
tương lai.
Hồi qui khác với phân lớp dữ liệu ở chỗ, hồi qui dùng để dự đoán về các
giá trị liên tục còn phân lớp dữ liệu thì chỉ dùng để dự đoán về các giá trị
rời rạc.
4. Khám phá các khuôn mẫu và luật
Ba kiểu hệ thống liệt kê ở trên là liên quan đến xây dựng mô hình, ngoài ra
còn có các ứng dụng khai phá dữ liệu về dò tìm khuôn mẫu. Ví dụ như đưa ra
các hành vi lừa đảo bằng cách dò tìm các vùng không gian xác định bởi các
kiểu giao dịch khác nhau mà ở đó các điểm dữ liệu khác về ý nghĩa thống kê
đối với phần còn lại. Một ứng dụng khác là trong thiên văn học, dò tìm các
ngôi sao hoặc các ngân hà bất thường có thể dẫn đến các khám phá các hiện
tượng chưa biết đến hay là nhiệm vụ tìm ra các tổ hợp các mặt hàng thường
xuyên xuất hiện trong các cơ sở dữ liệu giao dịch. Bài toán này rất được chú
ý trong khai phá dữ liệu và đã được giải quyết dựa trên các luật kết hợp
(association rules)
5. Khôi phục thông tin dựa trên nội dung (Retrieval by content)
Người sử dụng có một khuôn mẫu và muốn tìm các khuôn mẫu giống vậy
trong tập dữ liệu. Yêu cầu này được thường đặt ra đối với các tập dữ liệu văn
bản và hình ảnh. Với văn bản, khuôn mẫu có thể là tập các từ khóa và người
sử dụng mong muốn tìm các tài liệu hay các trang web thích hợp. Với hình
ảnh, người dùng có thể có ảnh mẫu, một phác thảo của ảnh hoặc một mô tả
đặc trưng của ảnh, và muốn tìm các hình ảnh tương tự từ một tập dữ liệu ảnh.
Trong cả hai trường hợp, định nghĩa độ giống nhau và các chi tiết của chiến
lược tìm kiếm là quan trọng.



15
1.2.3. Các phương pháp khai phá dữ liệu
Với những mục đích chính của khai phá dữ liệu là dự đoán, mô tả, phát
hiện các mẫu và luật, người ta có thể phân nhóm các phương pháp khai phá dữ
liệu như sau:
 Phân loại (Classfication).
 Hồi qui (Regression).
 Phân cụm (Clustering).
 Kết hợp (Association)
 Tổng hợp (Summarization).
 Mô hình ràng buộc (Dependency modeling).
 Biểu diễn mô hình (Model Evaluation).
 Dò tìm biến đổi và độ lệch (Change and Deviation Dectection):
Discovering the most significant changes in the data set
 Kiểm định mô hình (Model Evaluation)
 Phương pháp tìm kiếm (Search Method)
 ….
Ngoài ra, tùy thuộc vào phương pháp khai phá dữ liệu được sử dụng, các
kỹ thuật từ các ngành khác có thể được áp dụng như mạng nơron (Neural
Networks), tập mờ (Fuzzy Sets), tập thô (Rough Sets), phân tích chuỗi thời gian
(time series analysis), mạng Bayesian (Bayesian Networks),…
Mục này sẽ trình bày một số phương pháp thông dụng thường dùng đế khai
phá dữ liệu, đó là: phương pháp Phân cụm (data mining with Clustering),
phương pháp Luật kết hợp (data mining with Association Rules), phương pháp
Thuật giải di truyền ( Genetic Algorithm-GA), phương pháp K- lân cận gần nhất
(k-nearest neighbor algorithm), phương pháp Mạng nơron (data mining with
Neural Networks). Do đây không phải là trọng tâm của luận văn nên các phương
pháp này chỉ được trình bày một cách sơ lược về ý tưởng chứ không đi sâu vào

chi tiết. Riêng phương pháp Cây quyết định (data mining with Decision Tree) sẽ

16
được trình bày chi tiết trong các phần sau và đây cũng là phần trọng tâm của
luận văn.
1.2.3.1. Phân cụm dữ liệu
Mục tiêu chính của phương pháp phân cụm dữ liệu là sắp xếp các đối tượng
theo từng cụm (số lượng và tên của cụm chưa được biết trước). Các đối tượng
được gom cụm sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm
là lớn nhất và mức độ tương tự với các đối tượng nằm trong các cụm khác nhau
là nhỏ nhất. Phân cụm dữ liệu là một ví dụ của phương pháp học không có thầy.
Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định
nghĩa trước các mẫu dữ liệu huấn luyện. Vì thế, có thể coi phân cụm dữ liệu là
một cách học bằng quan sát (learning by observation), trong khi phân lớp dữ
liệu là học bằng ví dụ (learning by example). Trong phương pháp này ta sẽ
không thể biết kết quả các cụm thu được sẽ như thế nào khi bắt đầu quá trình. Vì
vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm
thu được.
Kỹ thuật phân cụm có thể được chia thành hai cách, đó là phân cụm theo
từng phần (Partitional Clustering) hoặc phân cụm theo thứ bậc (Hierarchical
Clustering). Kết quả thu được là các tập mẫu dữ liệu được rút trích ra từ cơ sở
dữ liệu lớn, chúng có chung các tính chất nào đó. Các tập dữ liệu được tạo thành
nhỏ hơn, dễ hiểu hơn, hữu ích hơn cho các hoạt động khác [13].
Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị
trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web… Ngoài ra
phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lí cho các thuật
toán khai phá dữ liệu khác.
1.2.3.2. Khai phá luật kết hợp
Mục tiêu của phương pháp này là phân tích dữ liệu trong cơ sở dữ liệu
nhằm phát hiện và đưa ra những mối liên hệ giữa các giá trị dữ liệu. Đó chính là

tập các luật kết hợp. Luật kết hợp thu được thường có dạng một mệnh đề có 2
vế: A  B
Trong đó A gọi là tiền đề, B gọi là mệnh đề kết quả. Hai thông số quan
trọng của luật kết hợp là độ hỗ trợ (Support) và độ tin cậy (Confidence). Ý
tưởng của việc khai thác luật kết hợp có nguồc gốc từ việc phân tích dữ liệu mua
hàng của khách hàng và nhận ra rằng: “Một khách hàng mua mặt hàng x
1
và x
2


17
thì cũng mua mặt hàng y với xác suất là c%”. Chẳng hạn: phân tích cơ sở dữ liệu
bán hàng nhận được thông tin về những khách hàng mua máy tính có khuynh
hướng mua phần mềm ứng dụng văn phòng trong cùng lần mua được miêu tả
trong luật kết hợp sau:
“Máy tính => Phần mềm ứng dụng văn phòng ”
[Độ hỗ trợ: 5%, độ tin cậy: 65%]
Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật. Chúng
tương ứng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá. Độ hỗ trợ
5% có nghĩa là 5% của tất cả các tác vụ đã phân tích chỉ ra rằng máy tính và
phần mềm ứng dụng văn phòng là đã được mua cùng nhau. Còn độ tin cậy 65%
có nghĩa là 65% các khách hàng mua máy tính cũng mua phần mềm.
Khai thác các luật kết hợp từ cơ sở dữ liệu là việc tìm các luật có độ hỗ trợ
và độ tin cậy lớn hơn ngưỡng mà người sử dụng xác định từ trước.
Luật kết hợp tuy khá đơn giản nhưng những thông tin mà luật đem lại là rất
đáng kể và hỗ trợ không nhỏ trong quá trình ra quyết định
Khai phá luật kết hợp được thực hiện qua 2 bước:
• Bước 1: tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác
định qua tính độ hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu.

• Bước 2: sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải
thỏa mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu.
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như
marketing có chủ đích, phân tích quyết định, quản lí kinh doanh, phân tích giỏ
mua hàng…
1.2.3.3. Giải thuật di truyền
Giải thuật di truyền (Genetic Algorithms) là thuật ngữ dùng để chỉ một lớp
các thuật toán tìm kiếm chung trên nguyên tắc mô phỏng quần thể gien tự nhiên
để tìm ra giải pháp cần thiết. Giải thuật không phụ thuộc vào những thông tin
hoặc những ước lượng có trước về sự phân bố các tham số của các đối tượng sẽ
được phân lớp.
Nguyên lý cơ bản của những giải thuật này là duy trì một quần thể
(population) các gien có cấu trúc xác định làm đại diện cho các phương pháp
giải quyết một vấn đề. Quần thể này được phát triển trên cơ sở cạnh tranh lẫn

18
nhau trong điều kiện biến động có kiểm soát, bao gồm sự tái tổ hợp
(recombination) hay còn gọi là trao đổi chéo (crossover), và đột biến gien
(mutation) của các cá thể trong quần thể. Những cá thể có độ thích nghi cao hơn
sẽ được lựa chọn cho thế hệ sau.
Khi giải thuật kết thúc, người ta đã chứng minh được rằng những cá thể ưu
tú nhất, có mức độ thích nghi cao nhất với yêu cầu của bài toán sẽ được chọn.
Các hoạt động trao đổi chéo và đột biến gien sẽ góp phần tạo ra những bộ gien
mới, làm thay đổi bộ mặt của quần thể. Tuy xảy ra với tần số thấp, nhưng với số
lượng cá thể lớn và kéo dài qua nhiều thế hệ, những hoạt động này bảo đảm sẽ
không bỏ sót những giải pháp tối ưu không được tạo ra ngay ban đầu.
Giải thuật di truyền đã được John Holland (trường Đại học Tổng hợp
Michigan) mô tả từ những nǎm đầu của thập kỷ 70. Những phân tích trên lý
thuyết đã chứng minh giải thuật di truyền có thể tích lũy được những tri thức
trong quá trình tìm kiếm bằng cách cố gắng đạt được sự cân bằng giữa nhu cầu

khám phá những vùng mới trong không gian tìm kiếm, và nhu cầu tập trung vào
những vùng có hiệu nǎng cao trong không gian đó. Bằng cách theo dõi quá trình
tìm kiếm với những cấu trúc gien cụ thể, giải thuật có thể được sử dụng trên
phạm vi rộng để giải quyết nhiều bài toán tối ưu. Trên thực tế, giải thuật di
truyền đã được ứng dụng thành công trong nhiều lĩnh vực như tìm đường, quan
sát máy (machine vision), thiết kế chế tạo máy, các hệ thống điều khiển ống dẫn
dầu, học máy, khám phá tri thức
1.2.3.4. Giải thuật K- lân cận gần nhất (K-nearest neighbor)
K- lân cận gần nhất (k-nearest neighbor algorithm) là phương pháp truyền
thống khá nổi tiếng theo hướng tiếp cận thống kê đã được nghiên cứu trong
nhiều năm qua. Đây là một phương pháp để phân loại các hiện tượng dựa trên
các đặc trưng quan sát được.
Trong giải thuật, mỗi đặc trưng được gán cho một chiều để tạo thành một
không gian đặc trưng đa chiều. Một tập huấn luyện các đối tượng với lớp đã biết
trước (đã phân loại sẵn) sẽ được xử lí bằng cách trích rút đặc trưng (lấy ra một
số đặc trưng) và được biễu diễn (vẽ sơ đồ) vào trong không gian đặc trưng đa
chiều đó. Khoảng cách từ biểu diễn của đối tượng đến gốc trong mỗi chiều được
xem là vec-tơ đặc trưng. Đây là giai đoạn huấn luyện hay học.

19
Giai đoạn kiểm tra bắt đầu với các hiện tượng (phenomena) cần phân loại
(lớp của từng hiện tượng chưa được biết trước) và trích rút ra cùng tập các đặc
trưng như với tập huấn luyện. Khoảng cách hình học được tính toán giữa vec-tơ
đặc trưng mới với mỗi vec-tơ đặc trưng có sẵn từ tập huấn luyện để tìm ra k vec-
tơ đặc trưng gần nhất. Và lớp mà có chứa số phần tử nằm trong tập k hàng xóm
là nhiều nhất sẽ là lớp của hiện tượng mà ta đang cần phân loại.
Giải thuật này sẽ đòi hỏi cường độ tính toán cao khi tập huấn luyện trở nên
lớn vì vậy k-lân cận gần nhất thường được áp dụng cho các tập dữ liệu nhỏ hoặc
tập dữ liệu có giới hạn về kích thước. Một số tối ưu được đưa ra nhằm giảm số
lượng khoảng cách được thực sự tính toán ví dụ như phân hoạch không gian đặc

trưng, và chỉ tính các khoảng cách với các vec-tơ thuộc một vùng lân cận cụ thể
nào đó.
1.2.3.5. Mạng nơron
Mạng nơron nhân tạo là một mô hình tính toán mô phỏng hệ thần kinh của
con người. Khi sử dụng mạng nơron chúng ta phân biệt được hai giai đoạn:
- Giai đoạn mã hóa – mạng nơron được đào tạo để thực hiện một nhiệm
vụ nào đó. Nhà thiết kế mạng neuron phải tạo ra một sơ đồ mã hóa các
mẫu (pattern) của bài toán thành các đại lượng số để đưa vào mạng.
Việc chọn lựa một sơ đồ mã hóa thích hợp đóng vai trò quyết định cho
sự thành công hay thất bại trong việc học của mạng. Các mẫu (pattern)
của bài toán được mã hóa thành các vector số. Các kết nối giữa các
thành phần, hay neuron, cũng được biểu diễn bằng các giá trị số. Cuối
cùng, sự biến đổi của các mẫu cũng là kết quả của các phép toán số
học, thông thường là phép nhân ma trận.
- Giai đoạn giải mã- giai đoạn mạng được sử dụng để phân loại các mẫu,
nhận dạng, dự đoán hoặc tối ưu.
Các giải thuật và kiến trúc dùng để cài đặt mạng neuron thường được huấn
luyện hay tạo điều kiện chứ không được lập trình một cách tường tận. Cho một
tập dữ liệu huấn luyện vào hệ thống mạng để mạng tự huấn luyện, tự điều chỉnh
dần qua từng lớp mạng và cho dữ liệu ra, quá trình này có thể được lặp đi lặp lại
nhiều lần. Và đây chính là sức mạnh chủ yếu của tiếp cận này.

20
Phương pháp này đặc biệt phát huy sức mạnh trong các bài toán đòi hỏi các
kỹ năng dựa vào nhận thức, hay các bài toán thiếu một cú pháp định nghĩa rõ
ràng như:
- Bài toán phân loại (classification): quyết định một giá trị đưa vào thuộc
loại hay nhóm nào
- Bài toán nhận dạng mẫu (pattern recognition): nhận dạng cấu trúc trong
các dữ liệu có thể là bị nhiễu.

- Bài toán dự đoán (prediction): chẳng hạn như nhận dạng bệnh từ các
triệu chứng, nhận dạng tác nhân từ các hiệu ứng,…
- Bài toán tối ưu (optimization): tìm một tổ chức ràng buộc tốt nhất
- Bài toán lọc nhiễu (Noise filtering): hay phân biệt các tín hiệu với nền,
tìm ra các thành phần không quan trọng trong một tín hiệu.
Với khai phá dữ liệu, huấn luyện dữ liệu bằng mạng nơron sẽ cho ra các kết
quả có ý nghĩa từ cơ sở dữ liệu lớn ẩn chứa nhiều lỗi hoặc thiếu sót bên trong,
tức là không phải tốn thời gian gia công nhiều trước khi đưa vào cho mạng học,
đây là một vấn đề khó và phức tạp đối với các phương pháp khai thác khác. Tuy
nhiên phương pháp này còn phức tạp và có nhiều khó khăn trong việc chọn và
xây dựng các hàm tính toán cho mạng để phù hợp với yêu cầu bài cũng như việc
chọn mô hình mạng, lựa chọn thời điểm để mạng dừng huấn luyện cũng không
hề đơn giản. Kết quả mà mạng cho ra thường không dễ hiểu đối với mọi người
mà chỉ có ý nghĩa đối với các nhà chuyên môn và chưa đáp ứng được yêu cầu về
thời gian do phải huấn luyện dữ liệu nhiều lần.

1.2.4. Các ứng dụng thực tiễn của Khai phá dữ liệu
Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh
vực như: thống kê, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán học, tính toán song
song và tốc độ cao, thu thập tri thức cho các hệ chuyên gia, quan sát dữ
liệu,…Đặc biệt phát hiện tri thức và khai phá dữ liệu rất gần gũi với các lĩnh vực
thống kê, sử dụng các phương pháp thống kê để mô hình hóa dữ liệu và phát
hiện các mẫu, luật,…

21
Hiện nay kĩ thuật khai phá dữ liệu đang được áp dụng một cách rộng rãi
trong rất nhiều lĩnh vực kinh doanh và đời sống khác nhau như y tế, marketing,
ngân hàng, viễn thông, internet… Điều đó được minh chứng bằng thực tế:
- Chẩn đoán bệnh trong y tế dựa trên kết quả xét nghiệm đã giúp cho bảo
hiểm y tế Australia phát hiện ra nhiều trường hợp xét nghiệm không

hợp lí tiết kiệm được 1 triệu $/năm
- British Telecom đã phát hiện ra những nhóm người thường xuyên gọi
cho nhau bằng mobile và thu lợi được hàng triệu USD
- IBM Surf – Aid đã áp dụng Khai phá dữ liệu vào phân tích các lần đăng
nhập Web vào các trang có liên quan đến thị trường để phát hiện sở
thích khách hàng, từ đó đánh giá hiệu quả của việc tiếp thị qua Web và
cải thiện hoạt động của các Website
- Trang Web mua bán qua mạng Amazon cũng tăng doanh thu nhờ áp
dụng Khai phá dữ liệu trong việc phân tích sở thích mua bán của khách
hàng….
Các ứng dụng điển hình của phát hiện tri thức và khai phá dữ liệu:
 Bảo hiểm: phân tích rủi ro, thông tin cá nhân,…
 Tài chính và thị trường chứng khoán : phân tích tình hình tài chính
và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán.
Phê duyệt vay vốn, lãi suất, phát hiện gian lận
 Phân tích dữ liệu và hỗ trợ ra quyết định.
 Điều trị y học và chăm sóc y tế: chuẩn đoán bệnh, phân tích mối liên
hệ giữa triệu chứng bệnh, chuẩn đoán và phương pháp điều trị (chế
độ dinh dưỡng, thuốc )
 Điều khiển và lập lịch trình
 Sản xuất và chế biến: Qui trình, phương pháp chế biến và xử lý xử
cố
 Text mining & Web mining : phân lớp văn bản và các trang web,
tóm tắt văn bản, …

22
 Lĩnh vực khoa học : Quát sát thiên văn, dữ liệu gene, dữ liệu sinh vật
học, tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ
gene và một số bệnh di truyền.
 Mạng viễn thông : Phân tích các cuộc gọi điện thoại và hệ thống

giám sát lỗi, sự cố, chất lượng dịch vụ…
1.3. Những vấn đề cần quan tâm trong khai phá dữ liệu
Tuy có rất nhiều phương pháp đa dạng được ứng dụng trong khai phá dữ
liệu nhưng việc giải quyết các bài toán thực tế gặp không ít khó khăn và thách
thức lớn từ việc tiền xử lý dữ liệu, khai phá dữ liệu cho đến việc trình bày và sử
dựng tri thức đã được tìm ra.
1.3.1. Những khó khăn trong khai phá dữ liệu
Trong thực tế, dữ liệu tồn tại trong nhiều dạng và thường phức tạp, đa
dạng, nhập nhằng, mang tính thời gian, không đầy đủ, quá lớn hoặc bị nhiễu,
Khai phá dữ liệu có khả năng chấp nhận một số kiểu dữ liệu khác nhau điển hình
như sau:
Cơ sở dữ liệu quan hệ (relational databases): là các dữ liệu tác nghiệp được
tổ chức theo mô hình dữ liệu quan hệ, do hầu hết các hệ quản trị cơ sở dữ liệu
đều hỗ trợ dạng cơ sở dữ liệu quan hệ như Oracle, MS SQL Server, IBM DB2,
MS Access,…
Cơ sở dữ liệu đa chiều (multidimention structures, data warehouses, data
mart ): là các kho dữ liệu được tập hợp và chọn lọc từ nhiều nguồn dữ liệu khác
nhau. Dạng dữ liệu này chủ yếu phục vụ cho quá trình phân tích cũng như khai
phá tri thức và hỗ trợ quá trình ra quyết định.
Cơ sở dữ liệu giao tác (transactonal databases): đây là dạng dữ liệu tác
nghiệp có các bản ghi thường là các giao tác, thường gặp trong ngân hàng,
thương mại điện tử,…
Cơ sở dữ liệu quan hệ – hướng đối tượng (object relational databases): là
dạng dữ liệu lai giữa hai mô hình quan hệ và hướng đối tượng.
Dữ liệu không gian và thời gian (spatial, temporal, and time-series data): là
dạng dữ liệu có tích hợp thuộc tính về không gian như dữ liệu bản đồ hoặc thời
gian như dữ liệu cước điện thoại.

23
Cơ sở dữ liệu đa phương tiện (Multimedia database) : là dạng dữ liệu âm

thanh (audio), hình ảnh (video), Text & WWW,… Dạng dữ liệu này đang rất
phổ biến trên internet.
Đối với các cơ sở dữ liệu khổng lồ có sẵn, có dung lượng lớn hàng gigabyte
hoặc có thể hàng terabyte với hàng triệu, hàng trăm triệu bản ghi, rất khó khăn
trong khai phá dữ liệu. Để giải quyết vấn đề này người ta đưa ra một ngưỡng
nào đó cho cơ sở dữ liệu của mình, bằng các phương pháp như chiết xuất mẫu,
ứng dụng phương pháp xấp xỉ hoặc xử lý song song.
Với vấn đề về kích thước dữ liệu lớn, nghĩa là số lượng các thuộc tính, các
bản ghi lớn dẫn đến kích thước bài toán cũng như độ phức tạp của bài toán sẽ
lớn. Khi khai phá dữ liệu sẽ phát sinh ra các vấn đề nan giải, như không gian tìm
kiếm tăng, sinh nhiều luật thừa, nhiều mô hình hay mẫu thừa, trùng lặp. Để khắc
phục giảm kích thước của bài toán thì ta phải sử dụng các tri thức biết trước để
loại bỏ những phần không thích hợp.
Vấn đề về dữ liệu phụ thuộc thời gian cũng gây không ít khó khăn. Nó là
cơ sở dữ liệu có nội dung thay đổi theo thời gian, bị ảnh hưởng và phụ thuộc vào
thời điểm quan sát, thời điểm khai phá, cũng như sau khi khai phá. Do vậy các
mẫu được khai phá trước có thể bị mất giá trị hay vô nghĩa đối với thời điểm sử
dụng hoặc thậm chí có thể phát sinh ra các hiệu ứng phụ làm sai lệch kết quả. Để
giải quyết vấn đề này, chứng ta phải nâng cấp và cải thiện các mẫu, mô hình và
có thể xem các thay đổi này là mục đích để khai phá và tìm kiếm các mẫu bị
thay đổi.
Đặc biệt là vấn đề các thuộc tính bị thiếu, các thuộc tính của dữ liệu mà
không đầy đủ có thể làm cho giá trị dữ liệu đó vô nghĩa. Giả sử có các thuộc tính
dùng để phân biệt các yếu tố cần quan tâm mà nếu thiếu chúng thì dẫn đến lỗi và
kết quả được đưa ra sẽ không được như mong muốn. Cơ sở dữ liệu trong thực tế
rất thường xảy ra trường hợp này. Càng nghiêm trọng hơn là nếu các thuộc tính
quan trọng mà bị thiếu thì việc khai phá dữ liệu cho kết quả khác hẳn với thực tế
dẫn đến việc ra quyết định đến vấn đề này là sai lệch nghiêm trọng.
Vấn đề nhập nhằng, không chắc chắn của dữ liệu cũng đáng được quan
tâm. Đối với các thuộc tính nhập nhằng, không chắc chắn làm phát sinh lỗi, điều

này phụ thuộc vào kiểu dữ liệu của các bộ giá trị. Các bộ giá trị thì thường phải
phụ thuộc vào tập các giá trị định danh, mà tập giá trị định danh thì có thể sắp

24
xếp theo thứ tự từng phần hoặc đầy đủ. Việc dự đoán và phân tích mô hình dựa
vào tính ngẫu nhiên của các giá trị được sinh ra và sử dụng để xác định tính
đúng đắn của dữ liệu.
1.3.2. Về kết quả của quá trình khai phá dữ liệu
Với các mẫu, mô hình thu được trong quá trình khai phá dữ liệu, cần chú ý
một số vấn đề sau:
- Tính quá khớp (Overfitting): Một khi thuật toán ứng dụng tìm kiếm để
cho ra một mô hình kết quả mà mô hình này có thể bị tình trạng “khớp dữ
liệu” với dữ liệu mẫu, tức là kết quả tìm kiếm không có khả năng đáp ứng
cho các tri thức dữ liệu mới, dẫn đến mô hình hoạt động không hiệu quả.
Cách khắc phục tình trạng này là kiểm tra chéo (cross-validation) kết hợp
với việc thực hiện theo nguyên tắc nào đó hoặc là sử dụng thêm các biện
pháp thống kê khác.
- Tính dễ hiểu của mô hình kết quả: Điều quan trọng nhất là kết quả thu
được trong quá trình khai phá dữ liệu là tính để hiểu đối với người dùng.
Cho nên các thuật toán được đưa ra phải dễ dàng mô tả kết quả dưới dạng
đồ họa (graphic), trực quan, với cấu trúc của mô hình đơn giản, dễ dàng
biểu diễn các tri thức bởi các ngôn ngữ tự nhiên và các kỹ thuật cây phân
cấp khác.
- Sự tác động của người sử dụng vào các tri thức thu được: Vấn đề biểu
diễn các tri thức qua các biểu đồ, đồ thị, bảng biểu, cây, các luật, các dạng
mô hình khác là rất quan trọng trong khai phá dữ liệu, đây là giai đoạn
cuối và cũng là mục đích cuối cùng của việc khám phá tri thức. Những tri
thức này được sử dụng để phân tích, dự đoán sự phân bố xác suất dữ liệu
trước đó hay phục vụ cho một công đoạn khai phá ra tri thức mới hoặc hỗ
trợ cho người sử dụng ra quyết định ngay trong lĩnh vực đó hoặc chúng có

thể được tổng hợp lại dưới dạng các báo cáo để hỗ trợ cho các quyết định
khác nhau.
1.3.3. Một số hướng nghiên cứu của khai phá dữ liệu hiện nay
- OLAM (OnLine Analytical Mining): Là sự tích hợp của khai phá dữ liệu
và công nghệ phân tích trực tuyến (OLAP - On-Line Analytical
Processing). OLAM khám phá được nhiều tri thức khác nhau từ các kiểu
dữ liệu khác nhau với tính chính xác và hiệu quả, có khả năng mở rộng và

×