Tải bản đầy đủ
Phần 1: TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ

Phần 1: TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ

Tải bản đầy đủ

6

lịch sử để khám phá những qui tắc và cải thiện những quyết định trong tương lai.”.
Với một cách tiếp cận ứng dụng hơn, tiến sĩ Fayyad đã phát biểu: ”KPDL thường
được xem là việc khám phá tri thức trong các cơ sở dữ liệu, là một quá trình trích
xuất những thông tin ẩn, trước đây chưa biết và có khả năng là hữu ích, dưới dạng
các quy luật, ràng buộc, qui tắc trong cơ sở dữ liệu.”. Còn các nhà thống kê thì xem
" KPDL như là một quá trình phân tích được thiết kế thăm dò một lượng cực lớn
các dữ liệu nhằm phát hiện ra các mẫu thích hợp và/ hoặc các mối quan hệ mang
tính hệ thống giữa các biến và sau đó sẽ hợp thức hoá các kết quả tìm được bằng
cách áp dụng các mẫu đã phát hiện được cho tập con mới của dữ liệu". Nói chung,
KPDL là cốt lõi của quá trình khám phá tri thức. Nó gồm có các giải thuật KPDL
chuyên dùng, dưới một số quy định về hiệu quả tính toán chấp nhận được. KPDL là
nhằm tìm ra những mẫu mới, mẫu có tính chất không tầm thường, những thông tin
tiềm ẩn mang tính dự đoán chưa được biết đến và có khả năng mang lại ích lợi.
Nói tóm lại, mục đích chung của việc khám phá tri thức và KPDL là tìm ra
các mẫu được quan tâm nhất và/ hoặc các mô hình tồn tại trong cơ sở dữ liệu,
nhưng chúng lại bị che dấu bởi một số lượng lớn dữ liệu.

1.2. Quá trình khám phá tri thức
Quá trình khám phá tri thức được tiến hành qua 5 bước sau:

Hình 1.1. Quá trình khám phá tri thức

7

1.2.1. Hình thành và định nghĩa bài toán
Đây là bước tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bước này quyết
định cần rút ra những tri thức dạng như thế nào, đồng thời lựa chọn các phương
pháp KPDL thích hợp với mục đích ứng dụng và bản chất của dữ liệu.
1.2.2. Thu thập và tiền xử lý dữ liệu
Trong bước này dữ liệu được thu thập ở dạng thô (nguồn dữ liệu thu thập có thể
là từ các kho dữ liệu hay nguồn thông tin internet). Trong giai đoạn này dữ liệu
cũng được tiền xử lý để biến đổi và cải thiện về chất lượng cho phù hợp với phương
pháp KPDL được chọn lựa trong bước một.
Bước này thường chiếm nhiều thời gian nhất trong quá trình khám phá tri thức.
Các công việc tiền xử lý dữ liệu bao gồm :
1. Xử lý dữ liệu bị mất/ thiếu: Các dữ liệu bị thiếu sẽ được thay thế bởi các
giá trị thích hợp.
2. Khử sự trùng lặp: các đối tượng dữ liệu trùng lặp sẽ bị loại bỏ. Kỹ thuật
này không được sử dụng cho các tác vụ có quan tâm đến phân bố dữ liệu.
3. Giảm nhiễu: dữ liệu nhiễu và các đối tượng tách rời khỏi phân bố chung
sẽ bị loại bỏ khỏi tập dữ liệu.
4. Chuẩn hoá: thông thường là chuẩn hoá miền giá trị của dữ liệu cho phù
hợp.
5. Rời rạc hoá: chính là việc biến đổi các dữ liệu dạng số về dữ liệu với các
giá trị rời rạc.
6. Rút trích và xây dựng đặc trưng mới từ các thuộc tính đã có.
7. Giảm chiều: là loại bỏ bớt các thuộc tính chứa ít thông tin.
1.2.3. KPDL và rút ra các tri thức
Đây là bước quan trọng nhất trong tiến trình khám phá tri thức. Kết quả của
bước này là trích ra được các mẫu và/hoặc các mô hình ẩn dưới một khối lượng lớn
dữ liệu. Một mô hình có thể là một biểu diễn cấu trúc tổng thể một thành phần của

8

hệ thống hay cả hệ thống trong cơ sở dữ liệu, hoặc miêu tả cách dữ liệu được nảy
sinh. Còn một mẫu là một cấu trúc cục bộ có liên quan đến vài biến và vài trường
hợp trong cơ sở dữ liệu.
1.2.4. Phân tích và kiểm định kết quả
Bước thứ tư là hiểu các tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả
và dự đoán. Trong bước này, kết quả tìm được sẽ được biến đổi sang dạng phù hợp
với lĩnh vực ứng dụng và dễ hiểu hơn cho người dùng.
1.2.5. Sử dụng các tri thức phát hiện được
Trong bước này, các tri thức khám phá được sẽ được củng cố, kết hợp lại
thành một hệ thống, đồng thời giải quyết các xung đột tiềm năng trong các tri thức
đó. Các mô hình rút ra được đưa vào những hệ thống thông tin thực tế dưới dạng
các môdun hỗ trợ việc đưa ra quyết định.
Các giai đoạn của quá trình khám phá tri thức có mối quan hệ chặt chẽ với
nhau trong bối cảnh chung của hệ thống. Các kỹ thuật được sử dụng trong giai đoạn
trước có thể ảnh hưởng đến hiệu quả của các giải thuật được sử dụng trong những
giai đoạn tiếp theo. Các bước của quá trình khám phá tri thức có thể được 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ả những lần
thực hiện.

1.3. Quá trình KPDL
KPDL là hoạt động trọng tâm của quá trình khám phá tri thức. Thuật ngữ
KPDL còn được một số nhà khoa học gọi là khám phá tri thức trong cơ sở dữ liệu (
knowledge discovery in database ), do Fayyad Smyth và Piatestky-Shapiro đưa ra
năm 1989 . Quá trình này gồm có 6 bước:

9

Hình 1.2. Quá trình KPDL
Quá trình KPDL bắt đầu với kho dữ liệu thô và kết thúc với tri thức được chiết
xuất ra. Các bước của quá trình như sau:
1.3.1. Gom dữ liệu ( gatherin )
Tập hợp dữ liệu là bước đầu tiên trong KPDL. Bước này lấy dữ liệu từ trong một
cơ sở dữ liệu, một kho dữ liệu, thậm chí dữ liệu từ những nguồn cung ứng web.
1.3.2. Trích lọc dữ liệu ( selection )
Ở giai đoạn này dữ liệu được lựa chọn và phân chia theo một số tiêu chuẩn
nào đó.
1.3.3. Làm sạch và tiền xử lý dữ liệu ( cleansing preprocessing preparation ).
Giai đoạn thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một bước
rất quan trọng trong quá trình KPDL. Một số lỗi thường mắc phải trong khi gom dữ
liệu là dữ liệu không đầy đủ hoặc không thống nhất, thiếu chặt chẽ. 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 lại với nhau.

10

Ví dụ Sinh viên có tuổi =200. Giai đoạn thứ ba này nhằm xử lý các dữ liệu như
trên. Những dữ liệu dạng này thường được xem là thông tin dư thừa, không có giá
trị. Bởi vậy đây là một quá trình rất quan trọng. Nếu dữ liệu không được làm sạchtiền xử lý - chuẩn bị trước thì sẽ gây nên những kết quả sai lệch nghiêm trọng về
sau.
1.3.4. Chuyển đổi dữ liệu ( transformation )
Trong giai đoạn này, dữ liệu có thể được tổ chức và sử dụng lại. Mục đích của
việc chuyển đổi dữ liệu là làm cho dữ liệu phù hợp hơn với mục đích KPDL.
1.3.5. Phát hiện và trích mẫu dữ liệu ( pattern extraction and discovery)
Đây là bước tư duy trong KPDL. Ở trong 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. Thuật toán thường dùng để
trích mẫu dữ liệu là thuật toán phân loại dữ liệu, kết hợp dữ liệu, thuật toán mô hình
hoá dữ liệu tuần tự.
1.3.6. Đánh giá kết quả ( evaluation of result )
Đây là giai đoạn cuối cùng trong quá trình KPDL, ở giai đoạn này các mẫu dữ
liệu được chiết xuất ra bởi phần mềm KPDL. Không phải mẫu dữ liệu nào cũng hữu
ích, đôi khi nó còn bị sai lệch. Vì vậy cần phải đưa ra những tiêu chuẩn đánh giá độ
ưu tiên cho các mẫu dữ liệu để rút ra được những tri thức cần thiết.

1.4. Chức năng của KPDL
KPDL có hai chức năng chính: mô tả (description) và dự đoán (prediction).
Công việc KPDL mô tả sẽ mô tả các tính chất hoặc đặc tính chung của dữ liệu
trong cơ sở dữ liệu, nghĩa là phân tích và mô tả một tập mẫu đã biết (a set of known
sample) trong khả năng nhận thức của con người nhằm giúp họ hiểu rõ hơn, sâu hơn
về dữ liệu.
Còn công việc KPDL dự đoán sẽ thực hiện việc suy luận dựa trên dữ liệu hiện
hành để cho ra các dự báo, nghĩa là phân tích tập dữ liệu huấn luyện và tạo ra một
hoặc vài mô hình cho phép dự đoán các mẫu mới chưa biết (unseen new examples).

11

1.5. Các kỹ thuật KPDL
Có nhiều kỹ thuật khác nhau được sử dụng để KPDL nhằm thực hiện hai chức
năng mô tả và dự đoán. Với mỗi chức năng thì có các kỹ thuật KPDL tương ứng với
nó.
- Kỹ thuật KPDL mô tả: có nhiệm vụ mô tả các tính chất hoặc các đặc tính chung
của dữ liệu trong CSDL hiện có. Một số kỹ thuật khai phá trong nhóm này là:
phân cụm dữ liệu (Clustering), tổng hợp (Summarisation), trực quan hoá
(Visualization), phân tích sự phát triển và độ lệch (Evolution and deviation
analyst),….
- Kỹ thuật KPDL dự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào việc suy diễn
trên cơ sở dữ liệu hiện thời. Một số kỹ thuật khai phá trong nhóm này là: phân
lớp (Classification), hồi quy (Regression), cây quyết định (Decision tree),
thống kê (statictics), mạng nơron (neural network), luật kết hợp (association
rules),….
Một số kỹ thuật phổ biến thường được sử dụng để KPDL hiện nay là :
1.5.1. Phân lớp dữ liệu:
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 gồm hai bước: xây dựng mô hình, sử dụng mô hình để phân lớp dữ liệu. Mô
hình được sử dụng để dự đoán nhãn lớp khi mà độ chính xác của mô hình chấp
nhận được.
1.5.2. Phân cụm dữ liệu:
Mục tiêu của 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 những đối tượng thuộc cùng một lớp là tương đồng
nhau.
1.5.3. 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 mối liên hệ giữa các giá
trị dữ liệu trong cơ sở dữ liệu. Đầu ra của giải thuật luật kết hợp là tập luật kết hợp
tìm được. Phương pháp khai phá luật kết hợp gồm có hai bước:

12

-

Bước 1: Tìm ra 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 thông qua việc tính độ hỗ trợ và thoả 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, luật phải thoả mãn
độ hỗ trợ và độ tin cậy cực tiểu.

1.5.4. Hồi quy:
Phương pháp hồi quy tương tự như là phân lớp dữ liệu. Nhưng khác ở chỗ nó
dùng để dự đoán các giá trị liên tục còn phân lớp dữ liệu dùng để dự đoán các giá trị
rời rạc.
1.5.5. Giải thuật di truyền:
Là quá trình mô phỏng theo tiến hoá của tự nhiên. Ý tưởng chính của giải thuật
là dựa vào quy luật di truyền trong biến đổi, chọn lọc tự nhiên và tiến hoá trong sinh
học.
1.5.6. Mạng nơron:
Đây là một trong những kỹ thuật KPDL được ứng dụng phổ biến hiện nay. Kỹ
thuật này phát triển dựa trên một nền tảng toán học vững vàng, khả năng huấn luyện
trong kỹ thuật này dựa trên mô hình thần kinh trung ương của con người.
Kết quả mà mạng nơron học được có khả năng tạo ra các mô hình dự báo, dự
đoán với độ chính xác và độ tin cậy cao. Nó có khả năng phát hiện ra được các xu
hướng phức tạp mà kỹ thuật thông thường khác khó có thể phát hiện ra được. Tuy
nhiên phương pháp mạng nơ ron rất phức tạp và quá trình tiến hành nó gặp rất nhiều
khó khăn: đòi hỏi mất nhiều thời gian, nhiều dữ liệu, nhiều lần kiểm tra thử nghiệm.
1.5.7. Cây quyết định.
Kỹ thuật cây quyết định là một công cụ mạnh và hiệu quả trong việc phân lớp
và dự báo. Các đối tượng dữ liệu được phân thành các lớp. Các giá trị của đối tượng
dữ liệu chưa biết sẽ được dự đoán, dự báo. Tri thức được rút ra trong kỹ thuật này
thường được mô tả dưới dạng tường minh, đơn giản, trực quan, dễ hiểu đối với
người sử dụng.

13

1.6. Các dạng dữ liệu có thể khai phá được
-

CSDL quan hệ

-

CSDL đa chiều

-

CSDL giao dịch

-

CSDL quan hệ - đối tượng

-

CSDL không gian và thời gian

-

CSDL đa phương tiện.

1.7. Các lĩnh vực liên quan và ứng dụng của KPDL
1.7.1. Các lĩnh vực liên quan đến khám phá tri thức và KPDL
Khám phá tri thức và KPDL được ứng dụng trong nhiều ngành và lĩnh vực
khác nhau như: tài chính ngân hàng, thương mại, y tế, giáo dục, thống kê, máy học,
trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán toán học, tính toán song song với tốc độ
cao, thu thập cơ sở tri thức cho hệ chuyên gia,…Trong đó KPDL rất gần gũi với
lĩnh vực thống kê, sử dụng các phương pháp thống kê để phát hiện ra các mẫu, các
luật bên trong dữ liệu. Kho dữ liệu và các công cụ phân tích trực tuyến cũng liên
quan đến khám phá tri thức và KPDL.

Thống kê
Cơ sở dữ liệu

Y tế, giáo dục

Thương mại

Tài
hàng

chính

KPDL

ngân

Máy học, trí tuệ
nhân tạo

……..
Thông tin học

Hình 1.3. Các lĩnh vực liên quan đến KPDL

14

1.7.2. Ứng dụng của KPDL
KPDL được vận dụng trong nhiều lĩnh vực khác nhau nhằm khai thác nguồn
dữ liệu phong phú được lưu trữ trong các hệ thống thông tin. Tuỳ theo bản chất của
từng lĩnh vực, việc vận dụng KPDL có những cách tiếp cận khác nhau.
KPDL được vận dụng có hiệu quả để giải quyết các bài toán phức tạp trong
những ngành đòi hỏi kỹ thuật cao như: tìm kiếm mỏ dầu từ ảnh viễn thám, xác định
vùng gãy trong ảnh địa chất để dự đoán thiên tai, cảnh báo hỏng hóc trong các hệ
thống sản xuất.
Phân nhóm và dự đoán là những công cụ rất cần thiết cho việc quy hoạch và
phát triển hệ thống quản lý và sản xuất trong thực tế như: dự đoán tải sử dụng điện
năng cho các công ty cung cấp điện, lưu lượng viễn thông cho các công ty điện
thoại, mức độ tiêu thụ sản phẩm cho các nhà sản xuất, giá trị của sản phẩm trên thị
trường cho các công ty tài chính hay phân nhóm khách hàng tiềm năng.
Ngoài ra KPDL còn được áp dụng trong việc giải quyết các vấn đề xã hội
như: phát hiện tội phạm hay tăng cường an ninh xã hội và mang lại những hiệu quả
thiết thực cho các hoạt động trong đời sống hàng ngày.
Một số ứng dụng cụ thể như sau :
- KPDL được sử dụng để phân tích dữ liệu, hỗ trợ ra quyết định.
- Trong sinh học: nó dùng để tìm kiếm, so sánh các hệ gen và thông tin di
truyền, tìm mối liên hệ giữa các hệ gen và chuẩn đoán một số bệnh di truyền.
- Trong y học: KPDL giúp tìm ra mối liên hệ giữa các triệu chứng, chuẩn đoán
bệnh.
- Tài chính và thị trường chứng khoán: KPDL dùng để phân tích tình hình tài
chính, phân tích đầu tư, phân tích cổ phiếu.
- Khai thác dữ liệu web.
- Trong thông tin kỹ thuật: KPDL dùng để phân tích các sai hỏng, điều khiển và
lập lịch trình.

15

- Trong thông tin thương mại: dùng để phân tích dữ liệu người dùng, phân tích
dữ liệu marketing, phân tích đầu tư, phát hiện các gian lận.

1.8. Các thách thức và hướng phát triển của KPDL.
Việc khám phá tri thức và KPDL hiện nay đang phát triển rất mạnh mẽ và đạt
được nhiều thành tựu quan trọng trong một số lĩnh vực, song những việc này vẫn
gặp phải một số khó khăn cần giải quyết như:
- Đối với các cơ sở dữ liệu quá lớn với số lượng bản ghi lớn hơn 1012 bản ghi,
số thuộc tính lớn hơn 102 thuộc tính thì khó khăn trong việc tìm ra mối quan hệ
giữa các thuộc tính và tổng quát hoá dữ liệu.
- Một vấn đề khó khăn nữa là theo thời gian thì một số kết quả tri thức rút ra từ
tập mẫu dữ liệu không còn phù hợp nữa.
- Dữ liệu bị thiếu hoặc bị nhiễu.
- Quan hệ giữa các trường thuộc tính phức tạp
- Khó khăn trong việc sử dụng các kết quả của data mining vào trong thực tế,
việc kết hợp tri thức thu được thành hệ thống và biến đổi về dạng thích hợp cho
người dùng có thể hiểu và đánh giá được cũng như tích hợp kết quả khai phá dữ liệu
với các hệ thống khác gặp khó khăn.
Hướng phát triển của khám phá tri thức và KPDL là vượt qua được tất cả
những thách thức trên; chú trọng vào việc mở rộng ứng dụng để đáp ứng cho mọi
lĩnh vực trong đời sống xã hội; tăng tính hữu ích của việc KPDL trong những lĩnh
vực đã sử dụng nó; tạo ra các phương pháp KPDL linh động, uyển chuyển để xử lý
số lượng dữ liệu lớn một cách hiệu quả; tạo ra tương tác người sử dụng tốt, giúp
người sử dụng tham gia điều khiển quá trình KPDL, định hướng hệ thống KPDL
trong việc phát hiện các mẫu đáng quan tâm; tích hợp KPDL vào trong các hệ cơ sở
dữ liệu; ứng dụng KPDL để KPDL web trực tuyến. Một vấn đề quan trọng trong
việc phát triển khám phá tri thức và KPDL đó là an toàn và bảo mật thông tin trong
KPDL.

16

Phần 2: CÂY QUYẾT ĐỊNH VÀ CÁC THUẬT TOÁN KHAI PHÁ DỮ LIỆU
BẰNG CÂY QUYẾT ĐỊNH
2.1 Cây quyết định
2.1.1 Mô tả
Cây quyết định (decision tree) là công cụ dùng để phân lớp dữ kiện, nó có
cấu trúc cây. Mỗi cây quyết định là một tượng trưng cho một sự quyết định của một
lớp các dữ kiện nào đó. Mỗi nút trong cây là tên của một lớp hay một phép thử
thuộc tính c ụ thể nào đó, phép thử này phân chia không gian trạng thái các dữ kiện
tại nút đó thành các kết quả có thể đạt được của phép thử. Mõi tập con được phân
chia của phép thử là không gian con của các sự kiện, nó tương ứng với một vấn đề
con của sự phân lớp.
2.1.2 Định nghĩa cây quyết định
Trong lý thuyết quyết định, một cây quyết định (decision tree) là một đồ thị
của các quyết định và hậu quả có thể của nó (bao gồm cả 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.
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 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 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ị dự đoán của 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.
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 hoá một tập dữ liệu cho
trước.