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

Một số phương pháp xây dựng cây quyết định trong khai phá dữ liệu

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.2 MB, 72 trang )



1
MỤC LỤC

MỞ ĐẦU 4

CHƢƠNG 1. TỔNG QUAN 6
1.1. SƠ LƢỢC VỀ KHAI PHÁ TRI THỨC 6
1.1.1. Dữ liệu và tri thức 6
1.1.2. Khai phá tri thức 8
1.1.3. Các quá trình khai phá tri thức 9
1.2. KHAI PHÁ DỮ LIỆU 12
1.2.1. Khái niệm khai phá dữ liệu 12
1.2.2. Mục tiêu của khai phá dữ liệu 13
1.2.3. Chức năng của khai phá dữ liệu 13
1.2.4. Phương pháp khai phá dữ liệu 16
1.2.5. Các kỹ thuật khai phá dữ liệu 20
1.2.6. Các thách thức khi khai phá dữ liệu 25
1.2.7. Các yêu cầu khi khai phá dữ liệu 27
1.2.8. Đánh giá, kết luận 28

CHƢƠNG 2. CÁC KHÁI NIỆM CƠ BẢN 30
2.1. CÂY QUYẾT ĐỊNH 30
2.1.1. Khái niệm chung 30
2.1.2. Xây dựng cây quyết định 33
2.1.3. Cắt tỉa cây quyết định 34
2.1.4. Đánh giá cây quyết định 34
2.2. CƠ SỞ DỮ LIỆU QUAN HỆ 34
2.2.1. Quan hệ 34
2.2.2. Cơ sở dữ liệu quan hệ 35


2.2.3. Đại số quan hệ 36
2.2.4. Phụ thuộc hàm 36
2.2.5. Phụ thuộc hàm xấp xỉ 39

CHƢƠNG 3. MỘT SỐ PHƢƠNG PHÁP XÂY DỰNG CÂY QUYẾT ĐỊNH 42
3.1. THUẬT TOÁN XÂY DỰNG CÂY QUYẾT ĐỊNH 42
3.1.1. Thuật toán CLS 42
3.1.2. Thuật toán ID3 (Interative Dichotomizer) 46
3.1.3. Thuật toán C4.5 50


2
3.1.4. Thuật toán xây dựng cây quyết định dựa trên phụ thuộc hàm 55
3.2. CẮT TỈA CÂY QUYẾT ĐỊNH 59
3.3. ĐÁNH GIÁ CÁC THUẬT TOÁN VÀ KẾT LUẬN 60
3.3.1. Đánh giá 60
3.3.2. Kết luận 61

CHƢƠNG 4. ỨNG DỤNG THỬ NGHIỆM 62
4.1. BÀI TOÁN THỬ NGHIỆM 62
4.1.1. Mô tả bài toán 62
4.1.2. Mục đích thực hiện bài toán 63
4.2. KẾT QUẢ ĐẠT ĐƢỢC 63
4.4. MỘT SỐ HÌNH ẢNH CỦA CHƢƠNG TRÌNH 64
4.4.2. Giao diện hệ thống 64
4.4.3. Giao diện xây dựng cây quyết định 65
4.4.5. Cây quyết định dựa theo thuật toán CLS 65
4.4.6. Cây quyết định theo thuật toán ID3 66
4.4.7. Cây quyết định theo thuật toán C4.5 66
4.4.8. Xây dựng cây quyết định theo phụ thuộc hàm xấp xỉ 67


KẾT LUẬN 68
TÀI LIỆU THAM KHẢO 70



3
DANH MỤC CÁC TỪ VIẾT TẮT
CSDL
Cơ sở dữ liệu
CNTT
Công nghệ thông tin
FDs
Phụ thuộc hàm
Functional Dependencies
AFDs
Phụ thuộc hàm xấp xỉ
Aproximate Functional Dependencies
CLS
Concept Learning System
ID3
Interative Dichotomizer
GA
Thuật toán di truyền
Genetic Algorithm













4

MỞ ĐẦU
Công nghệ thông tin đã và đang trở thành lĩnh vực nghiên cứu, ứng dụng
và triển khai có hiệu quả trong đời sống kinh tế, xã hội. Việc ứng dụng công
nghệ thông tin trong các ngành khoa học, kinh tế, xã hội đã mang lại những hiệu
quả to lớn không thể phủ nhận. Với các ngành khoa học, kinh tế - xã hội nơi có
những kho dữ liệu khổng lồ thì việc tìm kiếm, truy xuất và đưa ra những thông
tin cần thiết phù hợp với thời gian và yêu cầu là không dễ dàng và chính vì thế
một thế hệ mới các phương pháp tiếp cận, phương pháp nghiên cứu, và các kỹ
thuật, công cụ cho phép phân tích, tổng hợp, khai phá tri thức từ dữ liệu một
cách thông minh và hiệu quả đã được các nhà khoa học quan tâm và nghiên cứu.
Một trong những lĩnh vực nghiên cứu các phương pháp ứng dụng khai
phá dữ liệu, tìm kiếm tri thức, kết xuất tri thức … từ dữ liệu là cây quyết định
(decision tree) cũng được nghiên cứu từ nhiều năm trước đây và đã có những kết
quả khả quan và mang lại hướng ứng dụng có hiệu quả cao. Ngày nay, kỹ thuật
khai phá dữ liệu dựa trên cây quyết định đã được áp dụng và mạng lại hiệu quả
cho nhiều ngành, nhiều lĩnh vực như: kinh tế, tài chính, khoa học - kỹ thuật,
ngân hàng, thương mại, giáo dục, y tế,… Các kỹ thuật khai phá dữ liệu bằng cây
quyết định rất đa dạng và phong phú như các kỹ thuật dựa trên các thuật toán
Hunt, ID3, C4.5, … và kỹ thuật xây dựng cây quyết đinh dựa trên các phụ thuộc
hàm trong cơ sở dữ liệu quan hệ.
Với mong muốn làm rõ hơn các kỹ thuật khai phá tri thức từ dữ liệu sử

dụng cây quyết định nhằm phục vụ công tác nghiên cứu chuyên môn cũng như
mong muốn đưa các kỹ thuật khai phá dữ liệu sử dụng cây quyết định vào thực
tế nên tôi lựa chọn thực hiện luận văn tốt nghiệp sau đại học là “Một số phƣơng
pháp xây dựng cây quyết định trong khai phá dữ liệu”. Mục đích khi thực
hiện luận văn này là tổng hợp các kiến thức về kỹ thuật khai phá dữ liệu bằng
các kỹ thuật xây dựng cây quyết định dựa trên các thuật toán và phương pháp
xây dựng cây quyết định dựa trên phụ thuộc hàm của cơ sở dữ liệu quan hệ.
Nội dung chính của luận văn bao gồm 5 chương, trong đó:


5
Chƣơng 1. Tổng quan, chương này trình bày khái quát về các vấn đề về
khai phá dữ liệu, các thách thức gặp phải khi sử dụng các kỹ thuật khai phá dữ
liệu và các ứng dụng của khai phá dữ liệu và tình hình nghiên cứu về khai phá
dữ liệu nói chung và kỹ thuật khai phá dữ liệu sử dụng cây quyết định nói riêng
ở thế giới và nước ta.
Chƣơng 2. Các khái niệm cơ bản, bao gồm các khái niệm cơ bản về
khai phá dữ liệu, cây quyết định, các khái niệm trong cơ sở dữ liệu quan hệ.
Chƣơng 3. Một số phƣơng pháp xây dựng cây quyết định, chương này
là trọng tâm của luận văn đề cập đến phương pháp xây dựng cây quyết định dựa
trên các thuật toán khai phá dữ liệu bằng cây quyết định bao gồm các thuật toán
CLS, ID3, C4.5 và phương pháp xây dựng cây quyết định dựa trên phụ thuộc
hàm xấp xỉ trong cơ sở dữ liệu quan hệ.
Chƣơng 4. Ứng dụng thử nghiệm, chương này so sánh các kỹ thuật xây
dựng cây quyết định và đưa ra bài toán ứng dụng thử nghiệm để từ đó áp dụng
một phương pháp khai phá dữ liệu cho bài toán đã nêu ra, từ đó thiết kế các
modul cho triển khai bài toán.
Chƣơng 5. Đánh giá, kết luận, chương này đưa ra các đánh giá, kết luận
và các phân tích sau khi thực hiện luận văn.
Trong luận văn, các trích dẫn của các tác giả khác liên quan đến lĩnh vực

nghiên cứu đặt trong dấu ngoặc vuông [ ].


6
CHƢƠNG 1. TỔNG QUAN

1.1. SƠ LƢỢC VỀ KHAI PHÁ TRI THỨC
1.1.1. Dữ liệu và tri thức
Trong những năm gần đây, dưới sự tác động mạnh mẽ của khoa học và
công nghệ đặc biệt là công nghệ thông tin và truyền thông thì các dữ liệu cần
được lưu trữ ngày càng lớn do đặc trưng của dữ liệu là thông tin, có thông tin là
có dữ liệu. Chúng ta có thể có nhiều dạng dữ liệu khác nhau cho nhiều lĩnh vực
khác nhau nhưng cũng có thể các dữ liệu lại có một sự quan hệ tương đối mật
thiết và chặt chẽ với nhau và không phải dữ liệu nào thu được cũng hoàn toàn
chính xác hoặc phù hợp với yêu cầu của con người. Từ dữ liệu, con người phải
tiến một bước dài trước khi xác định được tri thức trong khi con người luôn luôn
mong muốn có được một tri thức đúng về một vấn đề cụ thể nào đó.
Tri thức chính là động lực quan trọng trong quá trình phát triển và tiến bộ
của con người nói riêng và văn minh nhân loại nói chung dù rằng những khái
niệm chính xác về tri thức, bản chất của tri thức, quá trình hình thành của tri
thức, mối quan hệ của các đối tượng trong thế giới với tri thức,… vẫn đang được
tranh luận và chưa có câu trả lời thỏa đáng nhưng trong mọi lĩnh vực từ khoa
học, công nghệ, kỹ thuật,… đến kinh tế, văn hóa, xã hội tri thức luôn luôn được
tìm kiếm, phát hiện và tác động ngày càng lớn đến sự phát triển của loài người.
Sự phong phú về thông tin, dữ liệu cùng với khả năng kịp thời khai thác
chúng đã mang lại những năng suất và chất lượng cao trong công tác quản lý,
hoạt động kinh tế, phát triển sản xuất và dịch vụ,… tuy nhiên, các yêu cầu về
thông tin, tri thức trong các dữ liệu đó đặc biệt là công tác quyết định ngày càng
đòi hỏi chất lượng cao hơn, kịp thời hơn và nhều tri thức hơn nhằm hỗ trợ việc
ra quyết định của mình. Không phải ngẫu nhiên mà John Naisbett đã cảnh báo

“Chúng ta đang ngập chìm trong dữ liệu mà vẫn đói tri thức” [1], điều đó cũng
báo trước việc ứng dụng công nghệ thông tin đang chuyển sang một thời kỳ mới
mà mục đích chủ yếu của công nghệ thông tin là giúp con người nhiều hơn trong


7
quá trình tìm kiếm, khai phá tri thức từ dữ liệu, biến đổi từ sự giàu có về thông
tin thành sự giàu có về tri thức.
Các khái niệm thông tin, dữ liệu và tri thức luôn có quan hệ chặt chẽ, mật
thiết với nhau và khó phân biệt được bằng các định nghĩa rõ ràng. Ta có thể hiểu
thông tin như là khái niệm chung nhất bao gồm mọi sự hiểu biết về các sự vật,
hiện tượng, quan hệ,… mà con người thu nhận được qua các giác quan, giao
tiếp, khảo sát, thực nghiệm, nghiên cứu, lý giải,… Dữ liệu có thể được mô tả bởi
các giá trị cho các sự kiện, hiện tượng cụ thể còn tri thức có thể được xem như là
những hiểu biết có mức độ khái quát, về các mối quan hệ có quy luật giữa các
thuộc tính của đối tượng, các sự vật, hiện tượng mà con người thu được sau khi
“chân lý hóa” bằng kinh nghiệm, phân tích dữ liệu hay qua nghiên cứu, lý giải,
suy luận. Hoạt động nhận thức của con người bao gồm việc tìm kiếm tri thức để
tăng cường sự hiểu biết về xã hội và cuộc sống, từ đó có thể tạo nên các kỹ
thuật, công nghệ và giải pháp nhằm cải thiện đời sống của mình. Dưới sự trợ
giúp của công nghệ thông tin, các phương pháp khai phá tri thức từ dữ liệu đã
được từng bước nghiên cứu và các công cụ, giải pháp nhằm tổ chức các kho
thông tin và dữ liệu có khả năng linh hoạt hơn trong việc trợ giúp quyết định
trên nền kiến trúc khách hàng, phục vụ thích hợp, với việc sử dụng các phương
pháp khai phá dữ liệu và phát hiện tri thức hiện đang được nghiên cứu rộng rãi
trên thế giới cũng như ở Việt Nam.
Từ nhiều thế kỷ qua, nếu như khoa học luôn hướng đến việc phát hiện các
tri thức có giá trị phổ biến dưới dạng các nguyên lý, quy luật, định lý,… thì ngày
nay chúng ta càng thấy rõ rằng ngay trong cuộc sống hàng ngày, trong việc quản
lý, kinh doanh,… cũng cần những tri thức có thể có ý nghĩa hẹp hơn, ít phổ biến

hơn, có độ chính xác thấp hơn, có đời sống ngắn hơn,… nhưng lại đáp ứng và
phù hợp với nhu cầu trực tiếp của con người. Tuy nhiên, để có thể nhận biết
được các tri thức này lại là điều không đơn giản. Một trong những nguồn dữ liệu
quan trọng để từ đó có thể khai phá, phân tích, tổng hợp là các kho thông tin, các
cơ sở dữ liệu phong phú mà con người đã và đang tích lũy được. Khai phá dữ


8
liệu và phát hiện tri thức là một hướng nghiên cứu quan trọng, đang phát triển
mạnh và phù hợp với các công việc quan trọng đó.

1.1.2. Khai phá tri thức
Với khối lượng thông tin do con người khám phá và được lưu trữ ngày
càng nhiều đặc biệt là trong những thập niên gần đây. Dữ liệu được tích lũy
ngày càng nhiều và tốc độ phát triển của dữ liệu tích lũy ngày càng cao. Một số
báo cáo cũng đã nhận định rằng lượng thông tin trên toàn cầu tăng khoảng gấp
đôi sau hai năm, theo đó số lượng cũng như kích cỡ các cơ sở dữ liệu cũng tăng
lên nhanh chóng. Và trong rất nhiều ngành từ kinh tế, xã hội đến khoa học công
nghệ, các nhà nghiên cứu, quản lý, ứng dụng và triển khai đang phải đối mặt với
một thách thức to lớn là trong tay có một khối lượng tài nguyên thông tin khổng
lồ nhưng trong nhiều trường hợp lại thấy thiếu tri thức. Lượng thông tin và dữ
liệu khổng lồ này thực sự đã trở thành nguồn tài nguyên có giá trị bởi thông tin
và dữ liệu là yếu tố then chốt trong quá trình xử lý, điều hành, nghiên cứu,…
Việc khai thác những thông tin, tri thức tiềm ẩn mang tính dự đoán từ các cơ sở
dữ liệu lớn, khổng lồ đã và đang ngày càng trở thành lĩnh vực thiết yếu trong
cuộc sống con người
Những năm năm mươi của thế kỷ trước, cha đẻ của ngành khoa học máy
tính là A. Turing, J.Von Neumann đã phân tích, so sánh, đánh giá và đưa ra
nhiều nhận xét lạc quan về khả năng tư duy của máy tính trong tương lai. Những
thành tựu bước đầu của máy tính để tự động hóa chứng minh các định lý trong

logic toán, trong các trò chơi giải trí trí tuệ cao, phiên dịch,… ngay từ thập niên
năm mươi tuy còn khá thô sơ nhưng cũng đủ để kích thích một chân trời mới
cho nhiều ngành khoa học và công nghệ tri thức cho các thập niên tiếp theo. Và
trong quá trình phát triển đó, con người có dịp tìm hiểu sâu hơn bản thân hoạt
động nhận thức của mình, hệ thống tri thức mà mình tích lũy được, đưa ra các
thuộc tính của tri thức và những đòi hỏi đối với tri thức trong hoạt động thực
tiễn của con người trong một môi trường ngày càng nhiều biến động đồng thời


9
cũng thúc đẩy việc nghiên cứu những phương pháp khoa học mới và giải pháp
công nghệ để biểu diễn, thu thập và tìm kiếm tri thức, xử lý tri thức, quản trị tri
thức nhằm đáp ứng các nhu cầu của con người trong quá trình vận động.
Quá trình phát triển của khai phá tri thức có thể chia theo một số bước
như sau [3]:
- Tri thức chắc chắn và các phương pháp suy luận logic tất định.
- Tri thức không chắc chắn và việc tìm quy luật cho “cái” không chắc chắn
- Tri thức không chắc chắn trong môi trường biến động
Chúng ta có thể tổng hợp khái niệm khai phá tri thức như sau [3]: Khai
phá tri thức (đôi khi còn gọi là khai phá dữ liệu hay khám phá tri thức), một cách
chung nhất là một quá trình phân tích dữ liệu từ nhiều nguồn dữ liệu khác nhau
và tổng hợp dữ liệu thành các tri thức.

1.1.3. Các quá trình khai phá tri thức
Việc khai phá tri thức thông thường có thể mô tả bằng sơ đồ các quy trình
sau [4]:
Xác định vấn đề và không
gian dữ liệu để giải quyết
vấn đề.
Chuẩn bị dữ liệu

Khai phá dữ liệu
Tổng hợp kết quả
và đánh giá kết quả
Triển khai tri thức được
khai phá

Hình 1. Sơ đồ mô tả sơ bộ quá trình khai phá dữ liệu


10
Trong đó, mỗi bước là mỗi quy trình nắm giữ một vai trò riêng và có các
nhiệm vụ khác nhau cho mỗi bước, bao gồm:
Quy trình 1. Xác định vấn đề và không gian dữ liệu để giải quyết vấn
đề (Problem Understanding and Data Understanding). Tại quy trình này, việc
xác định vấn đề và xác định không gian dữ liệu để giải quyết vấn đề bao gồm
chọn lựa các nguồn dữ liệu, phạm vị ứng dụng của không gian bài toán để từ đó
hình thành nên quy mô của bài toán. Việc xác định vấn đề và không gian dữ liệu
để giải quyết vấn đề là chiến lược quyết định thành công hay thất bại trong suốt
quá trình khai phá dữ liệu.
Quy trình 2. Chuẩn bị dữ liệu (Data preparation), bao gồm các 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). Làm sạch dữ liệu chính
là việc trích lọc dữ liệu cần và loại bỏ các dữ liệu nằm ngoài phạm vi của bài
toán nhằm khám phá tri thức theo một số tiêu chí nhất định. Tích hợp dữ liệu,
chọn dữ liệu và biến đổi dữ liệu cho phép tác chuyển đổi, tính toán xử lý để các
dữ liệu có khuôn dạng khác nhau về dạng dữ liệu phù hợp, rút gọn dữ liệu hoặc
chỉnh sửa những dữ liệu sai lệch vì hầu hết các cơ sở dữ liệu lớn thường dư thừa
hoặc sai lệch dữ liệu. Sau bước chuẩn bị, dữ liệu dùng cho khám phá tri thức đã
được làm mịn phù hợp cho bước khai phá dữ liệu tiếp sau.
Quy trình 3. Khai phá dữ liệu (Data Mining), quá trình này bắt đầu khi

hệ thống dữ liệu đã được xây dựng và biến đổi. Tại đây, công việc phân tích và
đưa ra các quyết định lựa chọn khai thác dữ liệu, áp dụng các kỹ thuật xây dựng,
khai phá dữ liệu để trích chọn các mẫu, mô hình, các mối quan hệ ẩn trong dữ
liệu để từ đó khai phá tri thức cần thiết. Các lớp mô hình phổ biến của các
phương pháp khai phá dữ liệu là:
- Mô hình dự đoán bao gồm phân lớp (classification), hồi quy (regression)
và phân cụm (clustering)
- Mô hình phụ thuộc, chẳng hạn như các mô hình đồ thị hoặc ước lượng
mật độ


11
- Mô hình tóm lược như tìm ra các mối quan hệ giữa các trường, các mối
liên kết
- Mô hình kiểm tra sự thay đổi để phát hiện độ lệch trong dữ liệu và tri thức
Quy trình 4. Tổng hợp kết quả và đánh giá kết quả (Evaluation),
Mục đích của giai đoạn này là hiểu tri thức đã tìm được từ việc khai phá
dữ liệu đặc biệt là làm sáng tỏ và dự đoán chúng. Các kết quả khai phá sẽ được
tổng hợp dưới nhiều dạng khác nhau nhằm mục đích hỗ trợ ra quyết định. Nghĩa
là các thông tin hữu ích tìm được từ việc khai phá sẽ chuyển thành dữ liệu gần
gũi với người sử dụng hơn. Kinh nghiệm của các nhà khoa học cho thấy rằng
các mẫu hay các mô hình phát hiện từ việc khai phá dữ liệu không phải lúc nào
cũng đáng quan tâm và có thể trực tiếp sử dụng được ngay, mà quá trình khám
phá tri thức cần phải lặp đi lặp lại nhiều lần có sự điều chỉnh, bước sau dựa vào
kết quả của bước trước đó theo các tri thức khám phá được, lần sau hoàn chỉnh
hơn lần trước.
Các tri thức khám phá được sẽ được đánh giá theo những tiêu chí nhất
định. Để có thế đánh giá các luật được áp dụng trong qui trình khám phá tri
thức, người ta thường chia dữ liệu thành hai tập, huấn luyện trên tập thứ nhất và
kiểm chứng trên tập thứ hai. Có thể lặp lại quy trình này một số lần với các phần

chia khác nhau, sau đó lấy trung bình các kết quả để ước lượng các luật khả thi.
Quy trình 5. Triển khai tri thức đƣợc khai phá (Deployment)
Đây là giai đoạn áp dụng tri thức đã khám phá được vào sử dụng trong
thực tế. Trong một số trường hợp, người ta sử dụng tri thức này mà không cần
đưa vào một hệ thống máy tính. Hoặc là, các tri thức này có thể được đặt vào
máy tính và được khai thác bởi các chương trình, chẳng hạn như đưa chúng vào
làm tri thức cho các hệ chuyên gia, sau đó đưa các kết quả tìm được vào việc sử
dụng thích hợp của người dùng, đây là mục đích cuối cùng của quá trình khám
phá tri thức.
Mặc dù được tóm tắt thành năm giai đoạn như trên, nhưng thực chất quá
trình xây dựng và thực hiện việc khám phá tri thức không chỉ phải tuân theo các


12
bước cố định mà các quá trình này còn có thể được lặp đi lặp lại ở một hoặc một
số giai đoạn, lần sau sẽ hoàn thiện hơn lần trước và giai đoạn sau dựa vào kết
quả của giai đoạn trước và cứ tiếp tục như thế sẽ làm cho quá trình khai phá và
tìm kiếm dữ liệu càng ngày càng hoàn thiện hơn, trong sáng hơn.

1.2. KHAI PHÁ DỮ LIỆU
1.2.1. Khái niệm khai phá dữ liệu
Ngày nay, việc khai phá dữ liệu còn được coi như là việc khai phá tri thức
từ dữ liệu (knowlegde mining from databases), trích lọc tri thức (knowlegde
extraction), phân tích dữ liệu-mẫu (data-partent analysis), khảo cứu dữ liệu (data
archaeology), đào xới, nạo vét dữ liệu (data dredging).
Khai phá dữ liệu (Data Mining) được định nghĩa là quá trình trích lọc các
thông tin có giá trị ẩn trong lượng lớn dữ liệu được lưu trữ trong các CSDL hoặc
các kho dữ liệu,… Khai phá dữ liệu cũng còn được coi là một quá trình tìm
kiếm, khám phá ở nhiều góc độ để tìm ra các mối tương quan, các mối liên hệ
dưới nhiều góc độ khác nhau nhằm tìm ra các mẫu hay các mô hình tồn tại bên

trong cơ sở dữ liệu và đang bị dữ liệu (có khối lượng lớn) che khuất. Để trích rút
các mẫu, mô hình tiềm ẩn có tính “tri thức” ta phải tìm và áp dụng các phương
pháp, kỹ thuật khai phá sao cho các kỹ thuật và phương pháp này phải phù hợp
với tính chất, đặc trưng của dữ liệu và mục đích sử dụng. Tuy khai phá dữ liệu
chỉ là một bước trong quá trình khám phá tri thức từ dữ liệu nhưng nó lại là
bước tiên quyết, quan trọng và ảnh hưởng đến toàn bộ quá trình.
Tóm lại, có thể nói một cách khái quát, khai phá dữ liệu là một quá trình
tìm kiếm thông tin “tri thức” tiềm ẩn trong cơ sở dữ liệu lớn, khổng lồ. Vì thế,
có thể nói rằng hai thuật ngữ khám phá tri thức và khai phá dữ liệu là tương
đương nếu nói ở khía cạnh tổng quan, còn nếu xét ở một góc độ chi tiết thì Khai
phá dữ liệu là một giai đoạn có vai trò quan trọng trong quá trình khám phá tri
thức [5].



13
1.2.2. Mục tiêu của khai phá dữ liệu
Qua những nội dung đã trình bày ở trên, chúng ta có thể hiểu một cách sơ
lược rằng khai phá dữ liệu là quá trình tìm kiếm thông tin hữu ích, tiềm ẩn và
mang tính dự báo trong các cơ sở dữ liệu lớn. Việc khai phá dữ liệu nhằm các
mục đích chính như sau:
- Khai thác những thông tin tiềm ẩn mang tính dự đoán từ những cơ sở dữ
liệu lớn dựa trên các công cụ khai phá dữ liệu nhằm dự đoán những xu
hướng trong tương lai nhằm giúp các đối tượng cần tri thức khai phá như:
các tổ chức, doanh nghiệp, nhà nghiên cứu,… nhằm đưa ra những quyết
định kịp thời, được định hướng trên những tri thức được khám phá mang
lại;
- Thực hiện phân tích xử lý, tính toán dữ liệu một cách tự động cho mỗi quá
trình xử lý dữ liệu để tìm ra tri thức.


1.2.3. Chức năng của khai phá dữ liệu
Như trên đã trình bày, việc khai phá dữ liệu có thể được thực hiện dựa
trên nhiều dạng lưu trữ dữ liệu và nhiều hệ thống cơ sở dữ liệu khác nhau. Các
chức năng của khai phá dữ liệu có thể dựa trên các dạng của các mô hình từ cơ
sở dữ liệu thông qua hai loại chính là loại khai phá dữ liệu dựa trên các công
việc khai phá dữ liệu mô tả và khai phá dữ liệu dự báo:
- Khai phá dữ liệu mô tả sẽ mô tả các thuộc tính tổng quát của dữ liệu trong
từng cơ sở dữ liệu dựa trên các phân tích và mô tả một tập các mẫu đã biết
trong khả năng nhận thức của con người, giúp con người có thể hiểu rõ
hơn về tri thức và dữ liệu của họ.
- Khai phá dữ liệu loại dự báo sẽ thực hiện việc suy luận trên dữ liệu để đưa
ra các dự báo nhằm phân tích tập dữ liệu huấn luyện và tạo ra một mô
hình cho phép dự đoán các mẫu, mô hình mới chưa biết


14
Trong một số trường hợp các đối tượng có thể phân tích dữ liệu nhằm tìm
ra mô hình một cách song song do không thể tìm ra được mô hình nào là phù
hợp, chính vì vậy để có thể khai phá
Trong vài trường hợp, người dùng có lẽ không có ý kiến về dạng mô hình
trong dữ liệu của họ, những cái nào có thể thú vị, vì thế họ có lẽ thích tìm kiếm
nhiều dạng mô hình khác nhau một cách song song. Vì vậy điều quan trọng là
làm sao để có một hệ thống khai phá dữ liệu có thể khai phá được đa dạng mô
hình chứa đựng được nhiều ứng dụng và mong đợi khác nhau của người dùng.
Hơn nữa, các hệ thống khai phá dữ liệu nên có thể khám phá các mô hình ở
nhiều mức độ trừu tượng khác nhau. Mặt khác, các hệ thống cơ sở dữ liệu cũng
nên cho phép người sử dụng xác định rõ các gợi ý chỉ dẫn hoặc làm tập trung
việc tìm kiếm các mô hình thú vị. Vì các mô hình có lẽ không nắm bắt được tất
cả dữ liệu trong cơ sở dữ liệu, nên một tiêu chuẩn do độ chắc chắn và độ tin cậy
thường được gắn kết với từng mẫu được khám phá [5]

Các chức năng của khai phá dữ liệu được thể hiện thông qua các bước
phân tích và xử lý dữ liệu bao gồm phân tích sự kết hợp và phân cụm, phân tích
và dự báo, Các phương pháp phân tích dùng để khai phá dữ liệu có thể được
xem xét dưới đây.

1.2.3.1 Phân tích luật kết hợp (Association Analysis)
Phân tích luật kết hợp là việc khám phá các luật kết hợp thể hiện các điều
kiện giá trị thuộc tính xảy ra thường xuyên cùng nhau trên tập dữ liệu đã cho.
Phân tích luật kết hợp thường sử dụng trong các lĩnh vực phân tích về thương
mại hay các giỏ hàng siêu thị (market basket) [5].

1.2.3.2. Phân cụm (Cluster Analysis)
Cách thức phân cụm dựa trên các đối tượng dữ liệu mà không cần tới
nhãn lớp đã biết. Các nhãn lớp không có mặt trong dữ liệu huấn luyện do chúng
không thể xác định trước được. Sự phân cụm được sử dụng để sinh ra các nhãn


15
một cách đơn điệu phục vụ cho khai phá. Các đối tượng được phân cụm dựa trên
nguyên tắc làm “tăng tối đa sự giống nhau của một lớp và làm giảm thiểu sự
khác nhau giữa các lớp” (maximizing the intraclass similarity and minimizing
the interclass similarity). Các cụm đối tượng hình thành sao cho các đối tượng
trong cùng một nhóm có sự giống nhau cao nhất còn các đối tượng khác nhau ở
các cụm khác thì không giống nhau. Mỗi cụm được hình thành có thể xem như
là một lớp các đối tượng, từ lớp các đối tượng thì các luật có thể được trích
chọn. Sự phân cụm cũng giúp cho các cách thức phân loại một cách dễ dàng và
các thông tin được thu thập thành một hệ thống có thứ bậc [5].

1.2.3.3. Phân lớp và dự đoán (Classification and Prediction)
Một trong các phương pháp phân tích dữ liệu dùng trong khai phá dữ liệu

là phương pháp phân lớp và dự đoán.
Phân lớp là quá trình lập một tập các mô hình hoặc các chức năng, nhiệm
vụ. Quá trình phân lớp bao gồm mô tả và phân biệt các khái niệm và các lớp dữ
liệu nhằm mục đích dự báo lớp đối tượng mà chúng ta không biết nhãn của nó.
Mô hình của đối tượng được rút ra dựa trên sự phân tích một tập dữ liệu huấn
luyện.
Dự đoán là quá trình liên quan đến việc dự đoán giá trị dữ liệu và dự đoán
nhãn của lớp. Nó thường được sử dụng để dự đoán giá trị dữ liệu hơn là dự đoán
nhãn lớp.
Sự phân lớp và dự đoán cần phải được quyết định trước sau bằng những
sự phân tích thích hợp. Điều này nhằm cố gắng nhận dạng và loại bỏ các thuộc
tính không có tham gia vào quá trình phân lớp hoặc dự đoán.


16
Phân lớp
Data
Data
Data
Dữ liệu huấn luyện
Thuật toán phân lớp
Dữ liệu kiểm tra
Data
Dữ liệu không nhìn thấy
Data Data
Công cụ phân lớp
If a then b
If x then y
If c then d
Đánh giá


Hình Quy trình phân lớp điển hình [9]

1.2.4. Phƣơng pháp khai phá dữ liệu
Hiện nay, có nhiều phương pháp khai phá dữ liệu được sử dụng phụ thuộc
vào cách tiếp cận như các phương pháp phân tích, tổng hợp dữ liệu lớn trên mô
hình thống kê, mạng neural, lý thuyết tập thô hoặc tập mờ, biểu diễn tri thức,…
Phương pháp khai phá dữ liệu so với một số phương pháp khai phá tri thức khác
có một số lợi thế là khai phá dữ liệu có thể sử dụng với các dữ liệu có nhiễu, dữ
liệu không đầy đủ hoặc dữ liệu biến đổi liên tục.
Trong phần này, trình bày một cách sơ lược về một số phương pháp khai
phá dữ liệu thông dụng đang được sử dụng, đó là: phương pháp khai phá dữ liệu
sử dụng phân cụm (data mining with Clustering), phương pháp khai phá dữ liệu
sử dụng luật kết hợp (data mining with Association Rules), phương pháp khái
phá dữ liệu sử dụng mạng neural (data mining with Neural Networks), phương
pháp khai phá dữ liệu sử dụng thuật giải di truyền (Genetic Algorithm-GA),
phương pháp khai phá dữ liệu sử dụng hệ chuyên gia, phương pháp khai phá dữ
liệu sử dụng thống kê. Các phương pháp này do không phải là trọng tâm của


17
luận văn nên 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 khai phá dữ liệu sử dụng cây quyết định (data
mining with Decision Tree) sẽ được trình bày chi tiết trong phần sau và đây
cũng là phần trọng tâm của luận văn.

1.2.4.1. 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 có chất lượng 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.

1.2.4.2. Phương pháp thống kê
Đây là một trong nhưng nền tảng của lý thuyết khai phá dữ liệu, các cách
thức sử dụng của phương pháp này là:
- Thông kê các dữ liệu, hoạt động hoàn toàn theo dữ liệu
- Cần có sự định hướng của người dùng để xác định nguồn gốc của dữ liệu
cũng như nơi lưu trữ của dữ liệu
- Không sử dụng tri thức có sẵn về lĩnh vực cần khai phá,…

1.2.4.3. Phương pháp phân cụm
Phân cụm là kỹ thuật nhóm các mẫu dữ liệu tương tự nhau theo các đặc
trưng của chúng. Kỹ thuật này cho phép phân chia dữ liệu thành các cụm sao
cho trong mỗi cụm sẽ có sự tương đồng theo một tiêu chuẩn nào đó. Các luật
ràng buộc giữa các thành viên trong cụm sẽ được xây dựng từ các mối quan hệ
giữa chúng tùy thuộc vào mức độ “giống nhau” của các thành viên tham gia cụm
trong đó số lượng các cụm có thể là không xác định trước. Kỹ thuật phân cụm
có thể dùng các cách thức khác nhau như phân cụm từng phần hoặc phân cụm
theo thứ bậc. Kết quả thu được là các tập mẫu được trích chọn từ các cơ sở dữ


18
liệu lớn và chúng có chung một số tính chất nào đó. Kết quả này có thể coi đó
chính là tri thức, là thông tin hữu ích để sử dụng hoặc tạo thành các tập dữ liệu
nhỏ hơn, dễ hiểu hơn,…[6].

1.2.4.4. Phương pháp luật kết hợp
Khai phá dữ liệu bằng phương pháp luật kết hợp xuất phát từ nhu cầu
thực tiễn là để phân tích dữ liệu giao dịch trên thị trường, chẳng hạn phân tích
các đặc tính đối với những mặt hàng có xu hướng được mua đồng thời,…

Khai phá luật kết hợp được hình thành từ việc quan sát, thống kê mức độ
thường xuyên xảy ra đồng thời giữa các tập thuộc tính trong cơ sở dữ liệu nhằm
phát hiện ra các luật kết hợp giữa các thành phần dữ liệu trong cơ sở dữ liệu lớn.
Kết quả của kỹ thuật này là tập các luật kết hợp, chúng là một dạng biểu diễn tri
thức có thể được sử dụng cho các hoạt động khác

1.2.4.5. Phương pháp mạng neural
Kỹ thuật khai phá dữ liệu sử dụng mạng neural ngày càng phổ biến và
ứng dụng rộng rãi nhất là các ngành công nghiệp mở như nhận diện sổ sai tài
chính, chuẩn đoán bệnh trong y học, nhận dạng các khách hàng sử dụng dịch vụ
hoặc nhận dạng các thẻ giao dịch giả mạo,…[6]. Phương pháp này dựa trên nền
tảng toán học với khả năng huấn luyện được dựa theo mô hình thần kinh của con
người.
Khi cho một tập dữ liệu huấn luyện vào một hệ thống mạng, hệ thống
mạng sẽ tự huấn luyện, tự điều chỉnh qua từng lớp mạng và cho dữ liệu kết quả
đầu ra, các quá trình thực hiện có thể lặp đi lặp lại nhiều lần đến khi mạng học
theo tập dữ liệu thành công.
Huấn luyện dữ liệu bằng mạng neural 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


19
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.
Một mạng neural hoạt động tốt sẽ có khả năng tự “học” qua các lần huấn
luyện mà không cần sự can thiệp gì vào trong khi hệ thống đang làm việc, khả
năng tự điều chỉnh này là một điểm mạnh so với các phương pháp khác của
mạng nơron.
Các kết quả của mạng có khả năng tạo ra các mô hình dự báo với độ chính
xác cao và có khả năng phát hiện các xu hướng phức tạp mà con người cũng như

các kỹ thuật thông thường không thể phát hiện được: Do có khả năng tạo ra
được các mô hình có độ chính xác cao nên phương pháp này đáp ứng được các
nhiệm vụ đặt ra của khai phá dữ liệu như phân lớp, dự báo, mô hình hóa,…
Tuy nhiên phương pháp này cũng có một số mặt yếu như 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 toán thường
không đơn giản và việc chọn mô hình mạng cũng có thể gặp khó khăn, cũng như
việc 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. Hơn nữa, về vấn đề thời gian, mạng hoạt động đòi
hỏi phải có thời gian do phải huấn luyện dữ liệu nhiều lần, mà trong kinh tế thị
trường đầy cạnh tranh thì đòi hỏi phải có những quyết định ngoài sự chính xác
còn phải nhanh chóng kịp thời thì mới hiệu quả.

1.2.4.6. Phương pháp thuật giải di truyền
Là phương pháp mô phỏng quá trình tiến hóa tự nhiên, ý tưởng của
phương pháp này là dựa vào các quy luật chọn lọc, biến đổi và tiến hóa tự nhiên
trong sinh học. Với phương pháp này, tập dữ liệu ban đầu được gọi là các quần
thể xuất phát, sau đó qua các thao tác giống như việc lai ghép, biến đổi và đột
biến để thay đổi quần thể ban đầu. Đối với phương pháp này, sự thích nghi của
dữ liệu được xác định bởi các hàm đánh giá-thích nghi theo từng giai đoạn. Quá
trình tiến hóa khiến cho dữ liệu có tính “thích nghi” ngày càng cao.


20

1.2.4.7. Phương pháp Cây quyết định
Phương pháp Cây quyết định được coi là một công cụ mạnh và phổ biến
trong việc phân lớp (classifcation) và dự báo (prediction) dữ liệu, tức là các đối
tượng dữ liệu sẽ được phân thành các lớp hoặc là các giá trị dữ liệu chưa biết sẽ
được dự đoán. Trong phương pháp này, tri thức được mô tả dưới dạng đơn giản,

trực quan, dễ hiểu đối với người sử dụng. Tuy nhiên, nó đòi hỏi phải có một
không gian nhất định để mô tả tri thức trong giới hạn có thể hiểu được của con
người. Phương pháp này sẽ được trình bày chi tiết trong Chương 3. Một số
phương pháp xây dựng cây quyết định

1.2.5. Các kỹ thuật khai phá dữ liệu
Các kỹ thuật khai phá dữ liệu bao gồm các kỹ thuật chính như sau:
Kỹ thuật khai phá dữ liệu mô tả: có nhiệm vụ mô tả về các tính chất hoặc
các đặc tính chung của dữ liệu trong CSDL hiện có. Các kỹ thuật này gồm có:
phân cụm (clustering), tóm tắt (summerization), trực quan hóa (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)

1.2.5.1. Kỹ thuật khai phá dữ liệu dự đoán
Kỹ thuật này 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.5.2. 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à nhóm các đối tượng
tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng
một lớp là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không


21
tương đồng. 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 bạn 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. 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.5.3. Phân lớp dữ liệu và hồi qui
Mục tiêu của phương pháp 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 (training data set). Các nhãn lớp của tập dữ liệu huấn
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ó thầy (supervised learning) khác với phân
cụm dữ liệu là học không có thầy (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. Phương pháp 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.


22

1.2.5.4. Khai phá luật kết hợp
Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa

các giá trị dữ liệu trong CSDL. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập
luật kết hợp tìm được.
Các luật kết hợp là một dạng biểu diễn tri thức, hay chính xác là dạng mẫu
của hình thành tri thức. Phương pháp nhằm phát hiện ra các luật kết hợp giữa
các thành phần dữ liệu trong cơ sở dữ liệu. Mẫu đầu ra của giải thuật khai phá
dữ liệu là tập các luật kết hợp tìm được.
Nhược điểm cơ bản của phương pháp này là sự gia tăng nhanh chóng khối
lượng tính toán và các thông số. Tuy nhiên, với sự phát triển nhanh chóng và
mạnh mẽ của phần cứng thì vấn đề này cũng được khắc phục.

1.2.5.5. Khai phá dữ liệu sử dụng mạng Neural
Mạng Neural là một phương pháp khai phá dữ liệu phát triển dựa trên cấu
trúc toán học với khả năng học trên mô hình hệ thần kinh con người.
Mạng Neural có thể đưa ra ý nghĩa các dữ liệu phức tạp hoặc không chính
xác và có thể được sử dụng để chiết suất các mẫu và phát hiện xu hướng quá
phức tạp mà con người cũng như các kỹ thuật máy tính khác không thể phát hiện
được.
Một trong ưu điểm phải kể đến của mạng Neural là khả năng tạo ra các
mô hình dự đoán do độ chính xác cao, có thể áp dụng cho nhiều các bài toán
khác nhau, đáp ứng được các nhiệm vụ đặt ra của khai phá dữ liệu như: phân
lớp, phân nhóm, mô hình hoá, dự báo…
Mẫu chiết suất bằng mạng Neural được thể hiện bằng một trong những
nút đầu của mạng. Mạng Neural sử dụng các hàm số chứ không sử dụng các
hàm biểu tượng để tính mức tích cực của các nút đầu ra và cập nhật các trọng số
của nó.


23
Đặc điểm của mạng Neural là không cần gia công dữ liệu nhiều, trước khi
bắt đầu quá trình học như các kỹ thuật khác. Tuy nhiên, để có thể sử dụng mạng

Neural có hiệu quả cần phải xác định các yếu tố khi thiết kế mạng như:
- Mô hình mạng là gì?
- Mạng cần bao nhiêu nút?
- Số lớp ẩn sử dụng cho mạng là như thế nào?
- Khi nào thì việc học dừng?
Ngoài ra còn có nhiều bước quan trọng cần phải làm để tiền xử lý dữ liệu
trước khi đưa vào mạng Neural để mạng có thể hiểu được.
Mạng Neural được đóng gói với những thông tin trợ giúp của các chuyên
gia đáng tin cậy và được họ đảm bảo các mô hình này làm việt tốt. Sau khi học,
mạng có thể được coi là một chuyên gia trong lĩnh vực thông tin mà nó vừa
được học.

1.2.5.6. Khai phá dữ liệu sử dụng thuật giải di truyền
Đây là phương pháp không chỉ thực hiện phát hiện tri thức mà còn phục
vụ rất nhiều bài toán khác. Ví dụ bài toán tối ưu hoá hoặc lập lịch. Tư tưởng của
thuật toán là áp dụng quy luật của sự chọn lọc tự nhiên. Người ta mô phỏng tập
dữ liệu ban đầu bằng ký tự nhị phân và gọi là những quần thể xuất phát. Bằng
các thao tác lai ghép, đột biến chúng ta biến đổi quần thể gene ban đầu và loại đi
một số gene, làm cho số lượng gene trong quần thể là không thay đổi. Một hàm
thích nghi được xây dựng để xác định mức độ thích nghi ngày càng cao. Về mặt
lý thuyết giải thuật di truyền cho ta lời giải tối ưu toàn cục (khác với phương
pháp mạng Neural). Tuy nhiên, người ta cũng hạn chế lời giải với một mức độ
thích nghi nào đó để hạn chế số lượng các bước xây dựng quần thể.
Nói theo nghĩa rộng, giải thuật di truyền mô phỏng lại hệ thống tiến hoá
trong tự nhiên, chính xác hơn là các giải thuật chỉ ra tập các cá thể được hình


24
thành, được ước lượng và biến đổi như thế nào. Ví dụ như xác định xem làm thế
nào để lựa chọn các cá thể tạo giống và lựa chọn các cá thể nào để loại bỏ.

Giải thuật di truyền là một giải thuật tối ưu hoá, được sử dụng rất rộng rãi
trong việc tối ưu hoá các kỹ thuật khai phá dữ liệu trong đó có kỹ thuật mạng
Neural. Sự kết hợp của nó với các giải thuật khai phá dữ liệu ở chỗ tối ưu hoá là
cần thiết để xác định các giá trị tham số nào tạo ra các luật tốt nhất.

1.2.5.7. Khai phá dữ liệu sử dụng cây quyết định
Phân lớp khai phá dữ liệu luật là một cách tiếp cận quan trọng trong qusa
trình khai phá dữ liệu, mục tiêu nhằm tạo ra một tập luật tương đối nhỏ có đọ
đúng đắn cao từ cơ sở dữ liệu lớn. Cây quyết định được cọi là phương pháp tiếp
cận truyền thống cho phép phân lớp luật [16]. Cây quyết định đưa ra cách tiếp
cận heuristic nhằm tìm kiếm các thuộc tính tốt nhất và dẫn đến kết quả cao nhất.
Tuy nhiên, cây quyết định có một số hạn chế khi triển khai lựa chọn thuộc tính
khi xây dựng cây. Các hạn chế của cây quyết định là các trường hợp phân rã và
tái tạo, vấn đề khi phân rã là khi cây quyết định cần phân chia dữ liệu nhiều lần
để có thể nhận biết được toàn bộ dữ liệu mẫu. Vấn đề khi tái tạo là một cây con
cần được xây dựng lại nhiều lần làm cho cây quyết định có độ sâu quá lớn và
khó hiểu.
Cây quyết định là một mô tả tri thức dạng đơn giản nhằm phân các đối
tượng dữ liệu thành một số lớp nhất định. Các nút của cây được gán nhãn là tên
của các thuộc tính, các cạnh được gán các giá trị có thể của các thuộc tính, các lá
mô tả các lớp khác nhau. Các đối tượng được phân lớp theo các đường đi trên
cây, qua các cạnh tương ứng với giá trị của thuộc tính của đối tượng tới lá.
Quá trình xây dựng cây quyết định là quá trình phát hiện ra các luật phân
chia dữ liệu đã cho thành các lớp đã được định nghĩa. Trong thực tế, tập các cây
quyết định có thể có đối với bài toán này rất lớn và rất khó có thể duyệt hết một
cách tường tận.


25
Có nhiều phương pháp xây dựng cây quyết định khi khai phá dữ liệu, đó

là các phương pháp sử dụng các thuật toán CLS, ID3, C4.5,… và một phương
pháp tương đối tiên tiến hiện nay và đang là tâm điểm được nghiên cứu là
phương pháp xây dựng cây quyết định dựa trên phụ thuộc hàm.

1.2.6. Các thách thức khi khai phá dữ liệu
Mặc dù các phương pháp được ứng dụng trong khai phá dữ liệu rất phong
phú và đa dạng cho việc giải quyết các bài toán thực tế hiện nay. Tuy nhiên vấn
đề này gặp không ít khó khăn và thách thức lớn từ việc chuẩn bị cho đến việc
khai phá cũng như việc trình bày và sử dụng tri thức đã được tìm thấy.

1.2.6.1. Khó khăn về cơ sở dữ liệu
Việc khai phá dữ liệu thường dựa trên một tập cơ sở dữ liệu lớn, các dữ
liệu trong thực tế thường phức tạp, nhập nhằng, đa dạng, có tính chất thời gian,
không đầy đủ hoặc nhiễu,… Ngoài ra, cơ sở dữ liệu có thể được lưu trữ phân
tán, với số lượng thuộc tính và bản ghi quá đa dạng và phong phú dẫn đến độ
phức tạp của bài toán quá lớn, không gian tìm kiếm rộng.
Vấn đề dữ liệu phụ thuộc vào thời gian cũng gây không ít khó khăn khi
khai phá, các dữ liệu này phụ thuộc vào thời gian và tính chất của dữ liệu thay
đổi vào thời điểm quan sát hay khai phá nên tính đúng đắn hay tri thức khai phá
được phụ thuộc vào thời điểm sử dụng. Có những dữ liệu chỉ đúng trong từng
thời điểm nhất định nên chính điều này có thể gây nên các hiệu ứng phụ khi khai
phá dữ liệu.
Một số khó khăn nữa khi khai phá dữ liệu liên quan đến cơ sở dữ liệu là
các thuộc tính không phù hợp, các bộ giá trị không đầy đủ gây nên nhầm lẫn
hoặc ảnh hưởng tới quá trình khai phá. Đôi khi, các thuộc tính còn bị thiếu gây
nên các giá trị của dữ liệu bị giảm.

×