Tải bản đầy đủ (.docx) (89 trang)

KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU LỚN

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.26 MB, 89 trang )

Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Bộ giáo dục và đào tạo
Trờng đại học bách khoa Hà nội
Trang 1
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Luận văn tốt nghiệp cao
học
ngành: Công nghệ thông tin
Tên đề tài
Khai phá dữ liệu và Phát hiện luật kết hợp trong cơ sở dữ liệu lớn
Ngời hớng dẫn: Tiến sỹ Nguyễn Thanh Thuỷ
Khoa Công nghệ Thông tin, ĐHBKHN

Ngời thực hiện: nguyễn An Nhân
Hà nội - 2001
Trang 2
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Lời nói đầu
Một tổ chức thơng mại có thể sản sinh ra dữ liệu trong hoạt động kinh doanh mà để ghi
chép lại có thể phải mất cả đời ngời. Tình trạng này càng tăng lên kể từ khi xuất hiện
mạng toàn cầu Internet. Mỗi ngày có hàng trăm megabyte, thậm chí nhiều hơn thế dữ
liệu đợc đa lên Internet. Trong tình trạng bội thực về dữ liệu nh vậy, chúng ta phải đối
mặt với nghịch lý mới về khai thác dữ liệu: càng nhiều dữ liệu, càng ít thông tin. Hiện
nay, cũng nh trong tơng lai, các nhà kinh doanh, nhà khoa học hoặc tổ chức thơng mại
không thể đủ thời gian và khả năng đọc và diễn giải theo cách cổ điển tất cả các dữ liệu
sang những thông tin cần thiết. Tuy nhiên, yêu cầu về thông tin không vì thế giảm đi,
mà ngày càng trở nên cần thiết hơn bao giờ hết đã buộc chúng ta phải đề ra và thực hiện
các chiến lợc và phơng pháp chọn, lọc và diễn giải dữ liệu thành các thông tin hữu ích.
Nh thế, các tổ chức bị ngập chìm trong đống dữ liệu khổng lồ, đặc biệt trong một số
lĩnh vực tài chính, ngân hàng, thị trờng chứng khoán và kinh doanh thơng mại, sẽ có cơ
hội khai thác dữ liệu hiệu quả để phát triển.


Mục đích của luận văn là nghiên cứu, tổng hợp kiến thức về khai phá dữ liệu trong
khung nhìn của quá trình phát hiện tri thức đồng thời, chú ý đến dự báo phân lớp nhờ kỹ
thuật cây quyết định và đặc biệt đi sâu tìm hiểu nhiệm vụ phát hiện luật kết hợp trong
cơ sở dữ liệu lớn.
Các thuật toán phát hiện luật kết hợp thờng thực hiện phân tích dữ liệu rất phức tạp, mất
nhiều thời gian trong toàn bộ cơ sở dữ liệu. Vì vậy, tìm các thuật toán nhanh và hiệu quả
để xử lý khối lợng dữ liệu lớn là một thách thức lớn đợc đặt ra. Luận văn trình bày các
giải thuật tiên tiến dùng cho phát hiện luật kết hợp trong cơ sở dữ liệu lớn. Đó là các
thuật toán Apriori, AprioriTid và phân hoạch. Thuật toán phân hoạch có số lần quét cơ
sở dữ liệu ít nhất và khai thác đợc tiềm năng song song của các tài nguyên tính toán.
Trong quá trình tìm hiểu các giải thuật phát hiện luật kết hợp, luận văn đã thiết kế, cài
đặt và đánh giá thuật toán Apriori trên một cơ sở dữ liệu giả định gồm hơn 5000 bản
ghi.
Luận văn cũng tiến hành khảo nghiệm phần mềm ứng dụng thơng mại Oracle Data
Mining Suite (Darwin) nhìn ở góc độ áp dụng các kỹ thuật khai phá dữ liệu.
Luận văn gồm các nội dung chính nh sau:
Chơng 1 giới thiệu chung về lĩnh vực khai phá dữ liệu và mô tả quá trình phát hiện tri
thức trong cơ sở dữ liệu.
Chơng 2 xét đến 10 nhiệm vụ của Khai phá dữ liệu.
Chơng 3 trình bày các kỹ thuật khai phá dữ liệu.
Chơng 4 trình bày về kho dữ liệu, kiến trúc và các khía cạnh thiết kế kho dữ liệu.
Chơng 5 đi sâu hơn về nhiệm vụ phân lớp dựa trên cây quyết định.
Chơng 6 giới thiệu các thuật toán hiệu quả phát hiện luật kết hợp trong cơ sở dữ liệu
lớn.
Chơng 7 là một thực nghiệm cho việc phát hiện luật kết hợp trên một cơ sở dữ liệu kinh
doanh mặt hàng sách.
Chơng 8 khảo nghiệm sơ bộ về một phần mềm Khai phá dữ liệu thơng mại sử dụng các
kỹ thuật đã đề cập nh cây quyết định, mạng nơron và thuật toán k ngời láng giềng gần
nhất. Phần mềm dựa trên nền tảng công nghệ Oracle mà tác giả đã có một thời gian dài
nghiên cứu.

Trang 3
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Lời cảm ơn
Trớc hết , tôi xin chân thành cảm ơn Trờng Đại học Bách khoa Hà nội,
Trung tâm Đào tạo và Bồi dỡng sau đại học và cơ quan nơi tôi đang công
tác đã tạo điều kiện thuận lợi cho tôi trong suốt thời gian học và làm luận
văn cao học.
Tôi xin bày tỏ sự biết ơn sâu sắc đến Thầy giáo, Tiến sỹ Nguyễn Thanh
Thuỷ, ngời đã tận tình hớng dẫn động viên trong suốt quá trình học và đặc
biệt trong thời gian hoàn thành luận văn này.
Tôi xin trân trọng cảm ơn các thầy giáo đã quan tâm, góp ý và nhận xét
cho bản luận văn của tôi.
Tôi cũng xin gửi lời cám ơn đến các thày, cô giáo đã giảng dạy cho tôi trong
suốt thời gian qua.
Nguyễn An Nhân
Trang 4
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Chơng 1. Mở đầu
1.1 Học máy
Luận văn nghiên cứu về lĩnh vực khai phá dữ liệu, liên quan đến kỹ thuật học của máy
tính để phát hiện ra các thông tin mới và có ý nghĩa. ý tởng về học máy xuất phát từ mô
phỏng các cơ thể sống, từ các cây cối hay con amip đến cơ thể sống phát triển nhất là
con ngời. Cây học cách thu nhận ánh sáng tối đa bằng cách hớng các chiếc lá của
mình về phía mặt trời, nhằm tự thích nghi với môi trờng sống. ở mức cao hơn, con ngời
sản sinh ra ngôn ngữ để khai thác các qui luật của thế giới tự nhiên và xã hội. Lý thuyết
về sự tiến hoá chỉ ra rằng các loài sống sót đợc sau quá trình tồn tại là những loài tự
thích nghi tốt nhất với môi trờng sống. Học là một dạng thích nghi và là một đặc tính
trung tâm của cuộc sống thực tế.
Tuy nhiên, một câu hỏi đặt ra liệu các hệ thống máy tính có thể học đợc không và nếu
học đợc, thì có thể thông minh ở mức nào. Có thể xem sẽ không có trí tuệ nhân tạo

(Artificial Intellegence - AI) nếu không có học máy (Machine Learning-ML). Nh vậy,
vấn đề khó khăn là làm thế nào để tạo ra các chơng trình máy tính thông minh theo kiểu
của con ngời. Ngời ta tin rằng ít nhất phải mất 100 năm nữa cho đến lúc tạo ra một ch-
ơng trình máy tính có thể chuyện phiếm về tin tức của một tờ nhật báo. Qua nhiều thăng
trầm theo thời gian, nhiều kết quả nghiên cứu và thử nghiệm trong lĩnh vực trí tuệ nhân
tạo đã không đem lại kết quả nhiều do kỹ thuật về perceptron, mạng nơron nhân tạo đầu
tiên chỉ có thể học đợc những luật đơn giản. Khoảng 20 năm trở lại đây, ngời ta đã tìm
ra nhiều phát hiện mới. Đó là các thuật toán tạo ra cây quyết định cho phân lớp các đối
tợng, các kiến trúc mạng nơron mới và các cách tiếp cận khác nh các thuật toán di
truyền dựa trên lý thuyết tiến hoá. Bên cạnh sự ra đời của những máy tính thế hệ mới
mạnh, việc xây dựng các hệ thống thông minh hớng đến giải quyết các vấn đề thực tế
đặt ra. Tuy nhiên, trí tuệ nhân tạo vẫn còn một khoảng cách xa so với trí tuệ con ngời.
Một vấn đề khác lôi cuốn sự quan tâm nghiên cứu về học máy là lĩnh vực hệ chuyên
gia. Từ lâu, ngời ta đã phát hiện ra rằng kiến thức chuyên gia trong một số lĩnh vực
chuyên môn giống nh chẩn đoán bệnh, phân loại các mẫu bản đồ, có thể biểu diễn dới
dạng các luật đơn giản nếu-thì nhằm tạo ra các chuyên gia nhân tạo có thể đa ra các
lời khuyên trên những vấn đề chuyên môn nh chính sách bảo hiểm hay các luật thuế.
Việc cần làm là xây dựng một tập luật đợc các chuyên gia sử dụng và lu chúng trong cơ
sở tri thức của hệ chuyên gia. Tuy nhiên, vấn đề lớn là tìm ra các luật đúng. Tuy nhiên,
ngay cả đối với các hệ thống đơn giản, không phải dễ dàng có đợc hàng nghìn luật. Việc
thu thập tri thức để đa vào hệ chuyên gia gắn với quá trình phỏng vấn các chuyên gia
trong lĩnh vực liên quan. Công việc này rất khó nhọc và tốn kém. Vì vậy, ngời xây dựng
các hệ thông minh luôn đối mặt với vấn đề tìm ra cách có đợc tri thức chuyên gia để đa
vào hệ thống. Có thể sử dụng các thuật toán học máy để giải quyết vấn đề này. Các
thuật toán học máy có thể sản sinh ra các luật thay vì mất nhiều thời gian làm việc với
các chuyên gia con ngời. Thậm chí, có thể tạo ra các hệ chuyên gia có khả năng học từ
các thất bại của chính hệ thống.
Với các nhận xét nh trên, vấn đề học máy trở thành vấn đề cần sự phát triển nghiên cứu.
Trang 5
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN

1.2 Phát hiện tri thức và Khai phá dữ liệu
Tuy nhiên, một xu hớng khác trong nghiên cứu học máy ngoài ứng dụng trong các hệ
chuyên gia xuất phát từ sự bùng nổ thông tin trong xã hội hiện đại. Hầu hết các tổ chức
đều hình thành các kho dữ liệu lớn có khả năng truy cập đợc. Nhng trên thực tế rất khó
có thể tìm ra các thông tin mong muốn và hữu ích, giống nh việc tìm một cái kim trong
đống sắt vụn càng ngày càng lớn dần. Công việc một hệ máy tính tự động tìm đợc các
mẩu kim cơng thông tin trong số hàng tấn mảnh vụn dữ liệu lu trong cơ sở dữ liệu
(CSDL) dẫn đến một lĩnh vực nghiên cứu mới. Đó là khai phá dữ liệu (Data Mining) và
phát hiện tri thức trong CSDL (Knowledge Discovery in Databases). Về mặt ngữ nghiã,
hai thuật ngữ này có ý nghĩa phân biệt đôi chút. Phát hiện tri thức trong CSDL chỉ toàn
bộ quá trình kết xuất tri thức từ dữ liệu. Theo ngữ cảnh này, tri thức có nghĩa là mối
quan hệ và các mẫu giữa các phần tử dữ liệu. Khai phá dữ liệu đợc dùng để mô tả giai
đoạn phát hiện của quá trình phát hiện tri thức trong CSDL. Việc phát hiện tri thức trong
CSDL không chỉ là một kỹ thuật mà còn là lĩnh vực nghiên cứu đa chủ đề: Học máy,
Thống kê, công nghệ CSDL, Kho dữ liệu và Hệ chuyên gia.
1.3 Khai phá dữ liệu và các công cụ SQL
Các CSDL lớn của các tổ chức có thể ví nh các mỏ dữ liệu bao gồm nhiều gigabytes dữ
liệu với các thông tin tiềm ẩn bên trong không thể dễ dàng tìm ra đợc bằng công cụ SQL
hoặc các công cụ truy vấn khác. Các thuật toán và công cụ khai phá dữ liệu có thể chia
nhóm tối u hoặc các luật nào đó từ các dữ liệu trong CSDL, trong khi SQL chỉ là công
cụ truy vấn, giúp tìm ra các dữ liệu dới các ràng buộc đã biết. Các thuật toán và công cụ
khai phá dữ liệu có thể quan tâm đến toàn bộ hoặc một phần CSDL, có thể sử dụng lặp
đi lặp lại các câu truy vấn SQL và lu kết quả trung gian trong quá trình phát hiện tri
thức.
Tuy nhiên, các công cụ khai phá dữ liệu và công cụ SQL có những bổ trợ lẫn nhau.
Công cụ khai phá dữ liệu không thể thay thế công cụ truy vấn, nhng làm tăng khả năng
khai thác dữ liệu của ngời dùng. Sau đây là một ví dụ đơn giản minh hoạ việc sử dụng
kết hợp các công cụ truy vấn truyền thống và công cụ khai phá dữ liệu. Giả sử một tổ
chức có một kho dữ liệu hàng triệu bản ghi về việc mua sắm của khách hàng trong mời
năm gần đây. Có vô vàn các câu truy vấn thông thờng hay sử dụng từ kho dữ liệu này,

chẳng hạn Ai là ngời đã mua sản phẩm A vào ngày x?, Doanh số của vùng M trong
tháng 7 là bao nhiêu? và vv... Tuy nhiên, có những tri thức tiềm ẩn trong dữ liệu, mà
dùng SQL thì khó có thể phát hiện ra. Ví dụ, các câu hỏi sau Tìm các phân đoạn tối u
của các khách hàng hay chia nhóm các khách hàng dựa trên tiêu chí nào đó, hoặc Xu
hớng quan trọng nhất của hành vi mua sắm của khách hàng là gì?. Tất nhiên, những
câu hỏi này có thể dùng SQL để trả lời bằng cách đa ra tiêu chuẩn phân loại khách
hàng bằng kinh nghiệm và truy vấn CSDL để xem nh thế có đúng hay không. Trong quá
trình thử và sai, con ngời có thể có cảm giác thuộc tính nào là phân hoạch quan trọng
nhất các khách hàng. Tuy nhiên, cách làm nh vậy sẽ không ổn, khi tìm phân đoạn tối u
cho một tập CSDL lớn, trong khi một thuật toán học máy giống nh mạng nơron hoặc
một thuật toán di truyền có thể tìm trả lời trong một thời gian ngắn hơn nhiều, thậm chí
chỉ một vài phút đến một vài giờ. Khi các công cụ khai phá dữ liệu đã tìm đợc một phân
đoạn, lúc đó môi trờng truy vấn sẽ đợc sử dụng để hỏi đáp và phân tích các hồ sơ khách
hàng đợc tìm thấy.
Trang 6
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Có thể nói một cách tổng quát, khi muốn biết những gì một cách chính xác thì hãy sử
dụng SQL, khi muốn biết những gì một cách mờ và ẩn thì hãy tìm đến công cụ khai phá
dữ liệu. Ngời ta cũng thấy rằng các truy vấn theo kiểu mờ rất nhiều và phong phú, điều
này tạo nên mối quan tâm lớn tới lĩnh vực khai phá dữ liệu.
Rõ ràng là việc phát hiện tri thức trong CSDL không phải là một hoạt động riêng. Công
cụ phát hiện tri thức trong CSDL chỉ đợc thực thi tốt dựa trên một nền tảng tổ chức dữ
liệu tốt. Dữ liệu có nhiễu, dữ liệu không đầy đủ, dữ liệu hợp pháp và riêng t cộng với sự
phức tạp của mô hình dữ liệu là những cản trở cần đợc giải quyết trớc. Nền tảng dữ liệu
tốt nhất cho phát hiện tri thức trong CSDL chỉ có thể là một Kho dữ liệu (Data
warehouse), trong đó dữ liệu đã đợc chọn, kết xuất, lọc, làm sạch và tổ chức lại sao cho
đáp ứng đợc tốt nhất yêu cầu truy vấn nghiệp vụ.
1.4 Quá trình phát hiện tri thức
Trong mục này, chúng ta khảo sát quá trình, phân tích các giai đoạn phát hiện tri thức .
Về nguyên lý, quá trình phát hiện tri thức bao gồm 6 giai đoạn sau:

Chọn lọc dữ liệu
Làm sạch
Làm giàu
Mã hoá
Khai phá dữ liệu
Kết xuất báo cáo.
Khai phá dữ liệu chỉ là một giai đoạn của quá trình phát hiện tri thức trong
CSDL. Mặc dù có 6 giai đoạn, nhng quá trình xây dựng và hoàn chỉnh việc phát
hiện tri thức không chỉ qua 6 bớc mà theo chu trình liên tục kiểu xoáy trôn ốc,
trong đó các giai đoạn đợc lặp đi lặp lại, lần sau hoàn chỉnh hơn lần trớc và theo
kiểu thác nớc, trong đó giai đoạn sau dựa trên các kết quả đã đạt đợc của giai
đoạn trớc. Đây là quá trình phát triển biện chứng mang tính triết học của lĩnh vực
phát hiện tri thức và là phơng pháp luận trong việc xây dựng các hệ thống phát
hiện tri thức. Một lu ý nữa là 6 giai đoạn này có thể có các phần công việc liên
quan chặt chẽ đến các quá trình xây dựng một Kho dữ liệu (Data Warehouse).
Chúng ta sẽ thấy rõ hơn khi khảo sát về Kho dữ đợc đề cập ở chơng 4. Có thể có
cùng một việc cần làm nhng đợc nhìn ở góc độ của Kho dữ liệu hay góc độ phát
hiện tri thức trong CSDL.
Chọn lọc dữ liệu
Đây là bớc chọn lọc dữ liệu liên quan trong các nguồn dữ liệu. Chẳng hạn, trong CSDL
về bán hàng, ta chọn ra các dữ liệu về các khách hàng, đặt hàng và hoá đơn. Cụ thể hơn,
dữ liệu chọn ra chính là các bản ghi bao gồm số hiệu khách hàng, tên, địa chỉ, ngày
mua, số lợng và loại hàng.
Làm sạch
Thông thờng, quá trình chọn lọc và làm sạch dữ liệu kết hợp chặt chẽ với nhau và có thể
rất phức tạp nếu dữ liệu đầu vào đợc lấy từ nhiều nguồn không đồng nhất và phải tính
đến việc phải biến đổi và di chuyển dữ liệu về một kho dữ liệu riêng dùng cho khai phá.
Có thể có một vài kiểu làm sạch dữ liệu. Do dữ liệu đầu vào từ nhiều nguồn và có thể
không nhất quán nên cần phải điều hoà (reconcile) các dữ liệu, bao gồm khử các trờng
hợp lặp dữ liệu, thống nhất cách ký hiệu. Một khách hàng có thể có nhiều bản ghi do

Trang 7
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
việc viết sai tên, thay đổi địa chỉ và gây ra sự lầm tởng là có nhiều khách hàng khác
nhau. Thậm chí, có khách hàng cố ý phát âm hoặc viết sai tên hoặc đa thông tin sai liên
quan đến việc họ bị từ chối một vài hình thức khuyến mại hay bảo hiểm.
Quá trình làm sạch có thể áp dụng ngay chính kỹ thuật phát hiện sai lệch của khai phá
dữ liệu để tìm ra các bất thờng trong kho dữ liệu của mình. Tuy nhiên, đây chỉ là một
gợi ý vì mục đích chính của làm sạch là tạo dữ liệu tốt cho khai phá dữ liệu và khai phá
dữ liệu nhằm mục đích hỗ trợ cho các quyết định nghiệp vụ.
Một kiểu nhiễu dữ liệu khác cần làm sạch là sự không nhất quán về miền, ví dụ ngày
11/11/11 không nằm trong phạm vi thời gian do ngời đa dữ liệu vào vô tình đánh sai.
Các kiểu đánh ký hiệu không nhất quán cũng cần đợc chỉnh lại, ví dụ giới tính có bản
ghi ký hiệu là 0/1, có bản ghi là nam/nữ.
Đòi hỏi
thông tin
Oracle Media Server
Oracle Media Server
Quyết định
hành động
Dữ liệu
điều hành
Dữ liệu
ngoài
Phản hồi
Lựa chọn
dữ liệu
Lọc và
Làm sạch
Làm
giàu

Khai phá dữ liệu:
-Nhóm cụm
-Luật kết hợp
-Dự báo
Phân tích
Báo cáo
Di
chuyển
Hình 4.1 Quá trình KDD
Làm giàu
Các nguồn dữ liệu cung cấp cho hệ thống khai phá dữ liệu bao gồm từ các hệ thống dữ
liệu điều hành hàng ngày trong nội bộ một tổ chức, nhng cũng có thể cần các dữ liệu lấy
từ các nguồn bên ngoài khác. Chẳng hạn, dữ liệu về khách hàng đã bao gồm các thông
tin về ngày sinh, thu nhập, số d tài khoản thậm chí có sở hữu các tài sản nh nhà cửa và
xe máy. Tuy nhiên, ta cũng có thể rất cần các thông tin khác về thị trờng, chính sách của
nhà nớc, và ngay cả các số liệu thống kê về dân số học, thu nhập bình quân đầu ngời,
vv... Quá trình này cũng đợc mô tả kỹ khi xây dựng một Kho dữ liệu. Các dữ liệu sẽ đợc
biến đổi và di chuyển dựa trên một số phơng pháp, chẳng hạn dùng cổng kết nối
(gateway), tiện ích (utilities) và lập trình.
Một vấn đề thờng xảy ra khi thu thập dữ liệu từ nhiều nguồn khác nhau là sự không đầy
đủ của dữ liệu. Chẳng hạn, dữ liệu về khách hàng lấy từ một nguồn bên ngoài không có
hoặc có không đầy đủ thông tin về thu nhập. Nếu thông tin về thu nhập là quan trọng
trong việc khai phá dữ liệu để phân tích hành vi khách hàng, rõ ràng là ta không chấp
nhận đa dữ liệu thiếu vào đợc.
Trang 8
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Các dữ liệu ở các khuôn dạng khác nhau cũng cần đợc qui đổi và tính toán lại để đa về
một kiểu thống nhất tiện cho quá trình phân tích, chẳng hạn qui đổi đơn vị tiền tệ, tuổi
hay ngày sinh, địa chỉ chi tiết hay chia theo vùng, vv...
Dữ liệu thay đổi theo thời gian và đa yếu tố thời gian vào dữ liệu cũng là một vấn đề lớn

cần đợc giải quyết và đựợc xem xét trong phần xây dựng Kho dữ liệu ở chơng 4.
Một lu ý là tất cả công việc chuẩn bị dữ liệu này cần phải dựa trên yêu cầu khai phá và
phân tích nghiệp vụ và tổ chức sao cho việc khai thác thuận lợi nhất.
Mã hoá
Các thiết kế để chọn lọc, làm sạch và làm giàu dữ liệu sẽ đợc mã hoá dới dạng các thủ
tục, chơng trình hay tiện ích nhằm tự động hoá việc kết xuất, biến đổi và di chuyển dữ
liệu nhằm mục đích khai phá. Các chơng trình có thể thực hiện các công việc theo định
kỳ để làm tơi dữ liệu cho phân tích.
Khai phá dữ liệu
Bớc khai phá dữ liệu bắt đầu sau khi hệ thống dữ liệu đã đợc xây dựng và chuyển đổi.
Các bớc trớc là công việc của ngời thiết kế và lập trình. Bắt đầu từ bớc này là công việc
của các nhà phân tích và ra quyết định. Chi tiết về các kỹ thuật khai phá dữ liệu đợc
trình bày ở chơng 3.
Kết xuất báo cáo
Các kết quả khai phá dữ liệu cùng với các kết quả từ các công cụ phân tích khác có thể
đợc tổng hợp dới dạng các báo cáo phục vụ cho các mục đích hỗ trợ quyết định khác
nhau.
Quá trình phát hiện tri thức có thể đợc tiến hành theo các bớc đã kể trên và có thể đợc
cải tiến nâng cấp và mở rộng trong quá trình khai thác.
Trang 9
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Chơng 2. Các nhiệm vụ Khai phá dữ liệu
Do sự phát triển mạnh mẽ của các loại hệ thống phát hiện tri thức trong CSDL (KDD)
theo yêu cầu nhằm đáp ứng những đòi hỏi trong nhiều lĩnh vực ứng dụng khác nhau,
việc phát hiện tri thức cũng trở nên đa dạng hơn. Do vậy, nhiệm vụ của phát hiện tri
thức trong CSDL cũng trở nên phong phú và có thể phát hiện rất nhiều kiểu tri thức khác
nhau. Một trong các bớc đầu tiên trong quá trình phát hiện tri thức trong CSDL là quyết
định xem loại kiến thức nào mà thuật toán phát hiện tri thức trong CSDL cần phải kết
xuất từ dữ liệu. Điều này phụ thuộc vào yêu cầu của lĩnh vực ứng dụng và lợi ích của
ngời dùng. Do vậy, việc phân loại và so sánh sự giống nhau, khác nhau giữa các kiểu

nhiệm vụ phát hiện tri thức trong CSDL là vấn đề đáng quan tâm nhằm tạo ra một hệ
thống phát hiện tri thức trong CSDL hiệu ích.
Trong chơng này, chúng ta mô tả mời kiểu nhiệm vụ phát hiện tri thức trong CSDL
chính và đa ra một vài so sánh giữa chúng.
2.1 Phát hiện các luật tối u truy vấn ngữ nghĩa (Semantic Query Optimization
- SQO Rules)
Các luật tối u truy vấn CSDL thông thờng thực hiện một phép biến đổi cú pháp, hay sắp
xếp lại thứ tự của các phép toán quan hệ trong một truy vấn và sản sinh ra một truy vấn
hiệu quả hơn. Các phép biến đổi này thờng dựa trên lý thuyết đại số quan hệ. Các luật
đợc biến đổi trả lại cùng một câu trả lời nh câu truy vấn ban đầu ở bất kỳ trạng thái nào
của CSDL. Ngợc lại, luật tối u truy vấn ngữ nghĩa biến đổi các câu truy vấn ban đầu
thành một truy vấn mới bằng cách thêm vào hoặc xoá đi các mối liên kết, bằng việc sử
dụng tri thức CSDL ngữ nghĩa bao gồm các ràng buộc về tính toàn vẹn và sự phụ thuộc
hàm để sản sinh ra câu truy vấn hiệu quả hơn. Nh vậy câu truy vấn đã biến đổi cũng trả
lại cùng câu trả lời giống nh câu truy vấn ban đầu trong bất kỳ trạng thái nào của CSDL
thoả mãn kiến thức về ngữ nghĩa đợc sử dụng trong phép biến đổi.
Các hệ thống phát hiện luật SQO có thể đợc chia thành 3 lớp:
Các hệ thống hớng truy vấn (hệ thống báo cáo) trong đó thuật toán phát hiện tri
thức trong CSDL nhằm phục vụ các truy vấn CSDL thực của ngời dùng;
Các hệ thống hớng dữ liệu (hệ thống tác nghiệp) trong đó thuật toán phát hiện tri
thức trong CSDL chủ yếu phục vụ sự phân bố dữ liệu trong trạng thái hiện thời
của CSDL;
Các hệ thống lai kết hợp các đặc tính của cả hệ thống hớng truy vấn và hớng dữ
liệu.
Một đặc tính quan trọng của các luật SQO, khác với các kiểu phát hiện tri thức khác, là
việc chọn các thuộc tính để tổng hợp một SQO cần phải tính toán đến chi phí liên quan
nh dùng phơng pháp truy cập nào và sơ đồ chỉ số trong HQT CSDL. Việc này là cần
thiết để tiết kiệm thời gian xử lý truy vấn. Một thuật toán phát hiện tri thức trong CSDL
loại này đòi hỏi phải xem xét tối u chi phí.
Trang 10

Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
2.2 Phát hiện sự phụ thuộc CSDL (Database Dependencies)
Trong mô hình dữ liệu quan hệ, chúng ta đã nghiên cứu quan hệ trong CSDL không tính
đến quan hệ giữa các thuộc tính. Các quan hệ này thờng đợc thể hiện thông qua sự phụ
thuộc dữ liệu hoặc ràng buộc tính toàn vẹn. ở đây sẽ sử dụng thuật ngữ phụ thuộc CSDL
để chỉ sự phụ thuộc dữ liệu kiểu này. Sự phụ thuộc CSDL đợc sử dụng trong thiết kế và
duy trì một CSDL. Phơng pháp phát hiện tự động các sự phụ thuộc CSDL này chính là
một kiểu nhiệm vụ của Khai phá dữ liệu.
2.3 Phát hiện sự sai lệch (Deviation)
Nhiệm vụ này nhằm phát hiện sự sai lệch đáng kể giữa nội dung của tập con dữ liệu
thực và nội dung mong đợi. Hai mô hình sai lệch hay dùng là sai lệch theo thời gian và
sai lệch nhóm. Sai lệch theo thời gian là sự thay đổi có ý nghiã của dữ liệu theo thời
gian. Sai lệch theo nhóm là sự khác nhau không chờ đợi giữa dữ liệu trong hai tập con
dữ liệu, ở đây tính đến cả trờng hợp tập con này thuộc trong tập con kia, nghĩa là xác
định dữ liệu trong một nhóm con của đối tợng có khác đáng kể so với toàn bộ đối tợng
không. Theo cách này, các sai sót dữ liệu hay sự sai lệch so với giá trị thông thờng đợc
phát hiện.
2.4 Phát hiện luật kết hợp (Association Rules)
Ta xét một tập các thuộc tính nhị phân gọi là giỏ (tuple). Các thuộc tính nhị phân gọi là
mục (item). Mỗi một giỏ tơng ứng với một giao dịch của khách hàng, trong đó các mục
có giá trị đúng hoặc sai phụ thuộc vào khách hàng tơng ứng có mua mục đó trong giao
dịch hay không. Loại dữ liệu này thờng dợc gọi là dữ liệu giỏ và thờng đợc thu thập
thông qua công nghệ mã vạch trong các hoạt động kinh doanh siêu thị.
Một luật kết hợp là một quan hệ có dạng X=>Y, X và Y là tập các khoản và X giao Y
bằng rỗng. Mỗi luật kết hợp đợc đặc trng bởi một giá trị gọi là support (Sup) và giá trị
confidence (Conf). Sup đợc xác định nh tỷ lệ số giỏ thoả mãn cả X và Y trên toàn bộ số
giỏ, tức là Sup = |X U Y|/N, trong đó N là tổng số giỏ và |A| ký hiệu là số giỏ bao gồm
tất cả các mục trong tập A. Conf đợc xác định nh tỷ lệ số giỏ thoả mãn cả X và Y trên
toàn bộ số giỏ chỉ thoả mãn X, tức là Conf = |X U Y|/|X|.
Hơn nữa, việc phát hiện luật kết hợp có thể đợc mở rộng cho cả trờng hợp thuộc tính là

rời rạc, thậm chí liên tục. Chẳng hạn, các tác giả Srikant và Agrawal đa ra cách giải
quyết bài toán về CSDL khách hàng nhng mỗi mục đợc phân loại theo các mức độ khác
nhau.
2.5 Mô hình hoá sự phụ thuộc (Dependence Modeling)
Nhiệm vụ này liên quan đến việc phát hiện sự phục thuộc trong số các thuộc tính.
Những phụ thuộc này thờng đợc biểu thị dới dạng theo luật nếu-thì: nếu (tiền đề là
đúng) thì (kết luận là đúng). Về nguyên tắc, cả tiền đề và kết luận của luật đều có thể
là sự kết hợp lôgic của các giá trị thuộc tính. Trên thực tế, tiền đề thờng là nhóm các giá
trị thuộc tính và kết luận chỉ là một giá trị thuộc tính. Lu ý là những luật này không phải
hoàn toàn giống với sự phụ thuộc CSDL đợc nêu ở phần 2.2. Hơn nữa, hệ thống có thể
Trang 11
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
phát hiện các luật với nhiều thuộc tính trong phần kết luận của luật. Điều này khác với
luật phân lớp trong đó tất cả các luật cần phải có cùng một thuộc tính do ngời dùng chỉ
ra trong kết luận.
Quan hệ phụ thuộc cũng có thể biểu diễn dới dạng mạng tin cậy Bayes. Đó là một đồ thị
có hớng, không chu trình. Các nút biểu diễn thuộc tính và trọng số của liên kết giữa hai
nút biểu diễn độ mạnh của sự phụ thuộc giữa các nút đó.
2.6 Mô hình hoá nhân quả (Causation Modeling)
Nhiệm vụ này liên quan đến việc phát hiện mối quan hệ nhân quả trong các thuộc tính.
Các luật nhân quả cũng là các luật nếu-thì giống với luật phụ thuộc, nhng luật nhân
quả mạnh hơn luật phụ thuộc. Luật phụ thuộc đơn giản chỉ ra một mối tơng hỗ giữa tiền
đề và kết luận của luật, nhng không có ý nghĩa nhân quả trong quan hệ này. Do vậy, cả
tiền đề và kết luận có thể quan hệ do ảnh hởng của một biến thứ ba, tức là một thuộc
tính hoặc có mặt ở trong tiền đề hoặc trong kết luận. Luật nhân quả không chỉ chỉ ra
mối tơng quan giữa tiền đề và kết luận mà còn cho biết rằng tiền đề thực sự gây ra kết
luận và mối quan hệ giữa hai thành phần này là trực tiếp. Tập các mối quan hệ nhân quả
có thể đợc biểu diễn bởi đồ thị nhân quả.
Thuật toán phát hiện luật nhân quả CAUDISCO áp dụng các phép kiểm tra sự độc lập
thống kê của từng cặp thuộc tính. Sau đó đối với các thuộc tính phụ thuộc lẫn nhau,

thuật toán xác định mối quan hệ có là xác thực, tiềm năng hay chỉ là một liên kết giả tạo
hay không phụ thuộc vào tập các điều kiện thoả mãn bởi quan hệ nhân quả.
Các quan hệ nhân quả cần phụ thuộc thời gian theo một nghĩa là nguyên nhân đi trớc
kết luận. Nguyên nhân và kết luận đều có ít nhất một sự kiện thời gian đi kèm và thời
gian của kết luận phải đi sau thời gian của nguyên nhân. Mặc dù yếu tố thời gian làm rõ
ý nghĩa nhân quả, nhng hệ thống thờng khó phân biệt các liên kết giả tạo.
2.7 Phân cụm (Clustering)
Trong nhiệm vụ này, hệ thống phát hiện tri thức phải tự phát hiện các lớp, sinh ra một sơ
đồ phân lớp tập các dữ liệu giỏ. Một hình dung thô thiển là các giỏ có cùng giá trị thuộc
tính tơng tự nhau đợc phân vào cùng một lớp. Tuy nhiên, chất lợng của việc phân cụm là
một vấn đề khó có thể xác định đợc. Đây là cách xác định theo kiểu nhiều-nhiều bởi vì
bất kỳ thuộc tính nào cũng có thể đợc sử dụng để xác định các cụm và để dự báo các giá
trị của các thuộc tính khác. Điều này trái nguợc với cách xác định nhiều-một liên quan
đến nhiệm vụ phân lớp (một thuộc tính đợc xem nh lớp và tất cả các thuộc tính khác đều
dùng để phán đoán giá trị cho thuộc tính lớp). Khi các lớp đợc tìm ra, thuật toán phân
lớp hoặc một thuật toán tổng hợp cho các lớp có thể đợc áp dụng để tìm ra biệt số hoặc
mô tả đặc trng của các lớp này.
2.8 Phân lớp (Classification)
Trong nhiệm vụ phân lớp, mỗi giỏ thuộc về một lớp nào đó đã đợc xác định trớc. Lớp
của một giỏ đợc chỉ ra bởi giá trị của một thuộc tính lớp do ngời dùng xác định trớc.
Các giỏ bao gồm một tập các thuộc tính dự báo và một thuộc tính phân lớp cụ thể.
Chẳng hạn, một giỏ biểu diễn một bản ghi nhân viên trong đó các thuộc tính dự báo là
Trang 12
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
tuổi, giới tính, trình độ học vấn, ... của nhân viên và thuộc tính phân lớp là trình độ lãnh
đạo của nhân viên. Mục tiêu của thuật toán phân lớp là tìm mối quan hệ nào đó giữa các
thuộc tính dự báo và thuộc tính phân lớp. Nh thế quá trình phân lớp có thể sử dụng mối
quan hệ này để dự báo lớp cho các giỏ mới. Trong trờng hợp các kiến thức đợc phát hiện
biểu diễn dới dạng các luật, các luật đợc phát hiện có thể biẻu diễn theo cách sau: nếu
các thuộc tính dự báo của một giỏ thoả mãn các điều kiện các tiền đề, thì giỏ có lớp chỉ

ra trong kết luận.
2.9 Hồi qui (Regression)
Về khái niệm, nhiệm vụ hồi qui tơng tự nh phân lớp. Điểm khác nhau chính là ở chỗ
thuộc tính để dự báo là liên tục chứ không phải rời rạc. Việc dự báo các giá trị số thờng
đợc làm bởi các phơng pháp thống kê cổ điển, chẳng hạn nh hồi qui tuyến tính. Tuy
nhiên, các phơng pháp mô hình hoá cũng đợc sử dụng chẳng hạn cây quyết định trong
đó nút lá là một mô hình tuyến tính phát sinh từ các giỏ học thuộc về nút đó. Thuật toán
liên quan đến cây quyết định sẽ phát sinh tập các lớp giả (pseudo-class) có giá trị thuộc
tính đích tơng tự nhau, sau đó sử dụng phơng pháp qui nạp luật thay thế các lớp giả
trong luật qui nạp bằng tổ hợp các giá trị của thuộc tính lớp cho các giỏ theo luật.
2.10 Tổng hợp (Sumarization)
Nhiệm vụ tổng hợp chính là sản sinh ra các mô tả đặc trng cho một lớp. Mô tả này là
một kiểu tổng hợp, tóm tắt mô tả các đặc tính có chung của tất cả (hoặc hầu hết) các giỏ
thuộc một lớp. Các mô tả đặc trng thể hiện dới dạng luật có dạng sau: Nếu một giỏ
thuộc về lớp đã chỉ trong tiền đề thì giỏ có tất cả các thuộc tính đã nêu trong kết luận.
Chú ý là luật này có những đặc trng khác biệt so với luật phân lớp. Luật phát hiện đặc
trng cho một lớp chỉ sản sinh khi các giỏ đã thuộc về lớp đó.
2.11 So sánh các nhiệm vụ phát hiện tri thức
Điểm tơng tự và sự khác biệt giữa các nhiệm vụ phát hiện tri thức đợc tóm tắt trong
Bảng 2.1. Cột đầu tiên chỉ ra nhiệm vụ phát hiện tri thức. Cột thứ 2 chỉ ra kiểu tri thức
đợc phát hiện có thể là hớng Hệ quản trị cơ sở dữ liệu (HQT CSDL) nh luật SQO hoặc
phụ thuộc CSDL, hay mục đích chung (các nhiệm vụ phát hiện khác). Tri thức hớng
HQT CSDL thờng dùng trong thiết kế và giao dịch của một CSDL. Tuy nhiên, tri thức
hớng HQT CSDL cũng có thể dùng cho việc kiểm tra các luật tối u truy vấn ngữ nghĩa
để cải thiện việc hiểu lĩnh vực ứng dụng. Trong khi tri thức theo kiểu mục đích chung có
thể sử dụng mục đích tuỳ thuộc nhu cầu của ngời dùng trong nghĩa mở. Tri thức theo
mục đích chung có thể sử dụng hiệu quả trong HQT CSDL. Tuy vậy, điểm khác biệt
quan trọng là tri thức hớng HQT CSDL yêu cầu độ chính xác cao hơn so với tri thức
theo mục đích chung.
Bảng 2.1: So sánh các nhiệm vụ phát hiện tri thức trong CSDL

Trang 13
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Nhiệm vụ
phát hiện tri
thức trong
CSDL
Kiểu phát
hiện tri thức
Mục đích
chính của
phát hiện tri
thức
Kiểu dự báo Đòi hỏi phát
hiện tri thức
SQO Hớng HQT
CSDL
Tối u truy vấn nhiều-nhiều
(không có
học)
Độ chính xác
tuyệt đối
Sự phụ thuộc
CSDL
Hớng HQT
CSDL
Thiết kế và
duy trì CSDL
nhiều-nhiều
(không có
học)

Độ chính xác
tuyệt đối
Phát hiện sự
sai khác
Mục đích
chung
Xác định trội Không có học Ngời dùng xác
định ý nghĩa
Phát hiện liên
kết
Mục đích
chung
Dự báo, Xác
định trội
nhiều-nhiều
(học)
Ngời dùng xác
định độ chính
xác và tần suất
Sự phụ thuộc Mục đích
chung
Dự báo, mô tả nhiều-nhiều
(không có
học)
Độ chính xác
cao
Nhân quả Mục đích
chung
Dự báo, mô tả nhiều-nhiều
(không có

học)
Độ chính xác
cao
Nối cụm Mục đích
chung
Dự báo, mô tả nhiều-nhiều
(không có
học)
chủ quan (Độ
chính xác
cao?)
Phân lớp Mục đích
chung
Dự báo Nhiều-một (có
học)
Độ chính xác
cao
Hồi qui Mục đích
chung
Dự báo Nhiều-một (có
học)
Độ chính xác
cao
Tổng hợp Mục đích
chung
Mô tả một-nhiều (có
học)
Tính phổ biến
cao
Cột thứ ba trong bảng chỉ ra mục đích chính của việc phát hiện tri thức. Cột này đợc

tinh lọc từ cột thứ hai. Mục đích chính của tri thức hớng CSDL hoàn toàn cụ thể: tối u
câu truy vấn (nh trờng hợp luật SQO) và thiết kế và duy trì CSDL (nh trong trờng hợp sự
phụ thuộc CSDL). Tri thức kiểu này thờng đợc dùng cho một sự kết hợp các mục đích
dự báo, mô tả và xác định trội.
Dự báo liên quan đến xác định giá trị của các thuộc tính trên cơ sở các giá trị của các
thuộc tính khác. Kỹ thuật đặc trng là Phân lớp và Hồi qui. Tuy nhiên, dự báo cũng dựa
trên quan hệ Nhân quả và mô hình hoá sự phụ thuộc cũng nh phát hiện luật liên kết.
Mô tả liên quan đến việc phát hiện tri thức trừu tợng nhng hiểu đợc bởi ngời dùng. Mô
tả thờng gắn với tổng hợp, thông tin gộp. Do vậy, mô tả là mục tiêu chính của nhiệm vụ
Tổng hợp và Phân cụm. Đối với cả Tổng hợp và Phân cụm, việc mô tả các thuộc tính
chung nhau bởi các tập hợp dữ liệu đợc quan tâm. Hơn nữa, việc mô tả cũng khá quan
trọng trong các nhiệm vụ xác định phụ thuộc và quan hệ Nhân quả. Chú ý là mục tiêu
chính của phát hiện tri thức phụ thuộc vào dạng mà tri thức biểu diễn. Chẳng hạn, mạng
nhân quả thích hợp hơn cho mục tiêu mô tả hơn là Luật về sự phụ thuộc.
Trang 14
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Ta sử dụng thuật ngữ xác định trội (highlighting) để xác định các mẫu, những qui luật
hay những bất thờng đặc biệt trong dữ liệu. Tính chất cơ bản của các mẫu đặc biệt này
là chúng có một giá trị bất ngờ hoặc một tần suất tơng đối không mong đợi. Hơn nữa,
khác với tri thức đợc phát hiện cho các mục đích mô tả, các mẫu này không cần thiêt
thể hiện dới dạng trừu tợng. Ví dụ điển hình là thăm dò sự sai khác với thông tin đợc
phát hiện chỉ đơn giản là danh sách các điểm dữ liệu lệch ra ngoài. Nhiệm vụ phát hiện
luật liên kết có thể đợc xem là một dạng xác định trội, bởi lẽ một trong các đòi hỏi rõ
ràng của luật liên kết là tần suất tơng đối tối thiểu (giá trị support) trong dữ liệu.
Cột thứ t chỉ ra loại dự báo liên quan đến từng nhiệm vụ phát hiện tri thức. Mặc dù các
nhiệm vụ SQO và Sự phụ thuộc CSDL phát hiện tri thức hớng CSDL và theo mục tiêu cụ
thể, nhng cũng có các nhiệm vụ dự báo liên quan đến kiểu này. Nói chung, các nhiệm
vụ SQO, Sự phụ thuộc CSDL, Liên kết, Nhân quả, Sự phụ thuộc và Phân cụm có kiểu dự
báo nhiều-nhiều trong đó giá trị của một vài thuộc tính có thể dùng để dự báo giá trị của
các thuộc tính khác. Một cách nhìn khác về quan hệ nhiều-nhiều là xem xét các nhiệm

vụ nh một dạng phát hiện không có học, bởi vì ngời dùng không chỉ ra thuộc tính mục
tiêu và hệ thống có sự tự chủ hoàn toàn để quyết định thuộc tính nào sẽ đợc đa ra trong
tri thức. Nhiệm vụ phát hiện sự sai khác không hoàn toàn đúng với mục tiêu dự báo nh-
ng có thể nói nó liên quan đến việc phát hiện không có học.
Nhiệm vụ Phân lớp và Hồi qui liên quan đến dự báo nhiều-một trong đó giá trị của
nhiều thuộc tính có thể sử dụng để dự báo giá trị của một thuộc tính do ngời dùng xác
định trớc. Đối với nhiệm vụ Tổng hợp, từ lớp của một giỏ dữ liệu, chúng ta có thể dự
báo giá trị (hoặc khoảng giá trị, giá trị trung bình,...) của các thuộc tính khác. Theo đó,
nhiệm vụ Tổng hợp thuộc về dự báo một-nhiều. Phân lớp, Hồi qui và Tổng hợp có thể
xem nh một dạng của phát hiện có học, bởi vì ngời dùng chỉ ra thuộc tính đích (hay
thuộc tính lớp) và hệ thống phải phát hiện quan hệ nào đó giữa thuộc tính này và các
thuộc tính khác. Tri thức đợc phát hiện phải bao gồm quan hệ đó. Do vậy, tính tự chủ
của hệ thống chỉ ở chỗ xác định các thuộc tính liên quan đến giá trị thuộc tính đích và
có hạn chế hơn so với các nhiệm vụ không có học. Tuy nhiên, các nhiệm vụ không có
học có thể chuyển thành có học.
Cột thứ năm chỉ ra các đòi hỏi cần đợc thoả mãn bởi các tri thức đợc phát hiện liên quan
đến độ chính xác của kết quả.
Các đặc tính khác của phát hiện tri thức nh tính thông minh và tính hữu dụng không bao
gồm trong bảng trên bởi vì chúng mang tính chủ quan và thay đổi lớn trong mỗi nhiệm
vụ trong từng lĩnh vực cụ thể.
Phát hiện tri thức hớng CSDL (SQO và Sự phụ thuộc CSDL) có độ chính xác đúng. Đây
là điểm khác biệt quan trọng so với các đòi hỏi của các nhiệm vụ phát hiện tri thức
khác. Nhiệm vụ phát hiện sự sai khác liên quan đến phát hiện tri thức với mức ý nghĩa
do ngời dùng xác định. Nhiệm vụ Liên kết cũng nh thế (với ngỡng Confidence) và tần
suất tơng đối (ngỡng support). Nhiệm vụ tổng hợp liên quan đến phát hiện tri thức có
tính phổ biến cao tức là luật đợc phát hiện phải bao hàm một số lớn dữ liệu (mà các
nhiệm vụ khác nh Phân lớp không có đòi hỏi nh vậy).
Các nhiệm vụ khác nh Sự phụ thuộc, Nhân quả, Phân lớp và Hồi qui chủ yếu liên quan
đến phát hiện tri thức có độ chính xác cao.
Trang 15

Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Chơng 3. Các kỹ thuật Khai phá dữ liệu
Khai phá dữ liệu là bớc tiếp theo của quá trình phát hiện tri thức và là giai đoạn quan
trọng nhất. Chúng ta sẽ khảo sát một số thuật toán nhận dạng và học máy một cách tổng
quan và sau đó sẽ đi sâu vào một số phần ở các chơng sau.
Vì tri thức có nhiều dạng thể hiện khác nhau nên việc phát hiện tri thức cũng đa dạng và
cần nhiều kỹ thuật và phơng pháp để sử dụng. Chúng ta sẽ quan tâm đến các kỹ thuật
sau:
Các công cụ truy vấn, các kỹ thuật thống kê, hiển thị
Công cụ phân tích trực tuyến (OLAP)
Học dựa trên trờng hợp (k ngời láng giềng gần nhất)
Cây quyết định
Luật kết hợp
Mạng nơron
Thuật toán di truyền
3.1 Các công cụ truy vấn, các kỹ thuật thống kê, hiển thị
Hiện nay, phần lớn các hệ thống CSDL điều hành, CSDL báo cáo và kho dữ liệu vẫn
dùng chủ yếu những công cụ truy vấn SQL cho việc khai thác dữ liệu đầu ra. Với các
công cụ truy vấn này, nguời dùng sẽ đạt đợc các thông tin chính xác. Với một số công
cụ phân tích SQL tốt, ngời lãnh đạo, nhà phân tích, ngời quản lý có thể kết xuất dữ liệu
ra theo cách tuỳ biến (ad-hoc), đáp ứng yêu cầu hỗ trợ quyết định đến khoảng 80 %.
Phần còn lại, ớc tính 20%, là các thông tin tiềm ẩn, đòi hỏi phải có kỹ thuật cao hơn và
thờng dùng cho các tổ chức lớn có kho dữ liệu lớn. 20% có thể là thông tin vô cùng
quan trọng quyết định sự thành công trong môi trờng cạnh tranh.
Chúng ta sẽ sử dụng một ví dụ minh hoạ trong cả chơng để biểu diễn quá trình phát
hiện tri thức trong CSDL. Một nhà sách có CSDL về các khách hàng mua sách theo các
chủ đề về thiếu nhi, thể thao, âm nhạc và kỹ thuật. Mục tiêu của quá trình khai phá dữ
liệu là tìm ra các nhóm khách hàng có đặc tính chung để thực hiện các hoạt động tiếp
thị. Do đó, chúng ta quan tâm đến các câu hỏi chẳng hạn nh Hồ sơ điển hình của một
độc giả về sách thiếu nhi là gì? hoặc Có mối tơng quan nào giữa sự quan tâm đến

sách thiếu nhi và quan tâm đến sách kỹ thuật?.
Tuổi trung bình của khách hàng là 46, thu nhập trung bình là 700000. Thú vị hơn khi ta
thấy trong số 400 ngời mua sách thiếu nhi có rất ít ngời (30) mua sách kỹ thuật. Những
con số thống kê rất quan trọng, vì chúng đa ra một chuẩn để phán xét hiệu quả của các
thuật toán học và nhận dạng. Chúng ta cũng thấy qua con số thống kê tuổi của những
ngời mua sách thiếu nhi là thấp và ngời mua sách kỹ thuật là thấp nhất. Khi xem xét số
liệu của những khách hàng mua hai loại sách, ta cũng sẽ thấy thú vị. Nếu tìm hiểu sâu
hơn về khả năng mua sách theo độ tuổi chúng ta cũng thấy một bức tranh khác về khách
hàng.
Trang 16
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Sự khác biệt thú vị xảy ra khi ta thống kê theo các nhóm con. Các khách hàng mua sách
thiếu nhi thờng tập trung ở độ tuổi 30, nhng khách hàng mua sách thể thao thì trải rộng
qua nhiều độ tuổi khác nhau.
Rõ ràng, SQL có thể thu thập đợc các thông tin chi tiết dựa trên cấu trúc của dữ liệu và
những thông tin này có thể rất hữu ích cho các mục đích hỗ trợ quyết định.
3.2 Các công cụ phân tích trực tuyến
Nh đã biết, công nghệ CSDL hiện nay chủ yếu dựa theo mô hình quan hệ. Trong mô
hình quan hệ, dữ liệu biểu diễn dới dạng các bảng có quan hệ với nhau. Do vậy, hình
dung dữ liệu thờng là phẳng tức là hai chiều theo bản ghi và theo các cột thuộc tính.
Các câu hỏi chỉ dựa trên bảng hai chiều tơng đối đơn giản và không cho phép đạt đợc
các thông tin phức tạp và có giá trị. Việc phân tích dữ liệu nhiều khi đa ra những câu
hỏi phức tạp hơn bao gồm nhiều ràng buộc chẳng hạn nh số sách thể thao bán đợc
trong tháng 3 ở khu vực Đông Anh cho những ngời có độ tuổi từ 20 đến 30 là bao
nhiêu?. Những câu hỏi nh vậy đợc gọi là câu truy vấn nhiều chiều. Những câu truy vấn
nhiều chiều không phải dễ dàng trả lời trên những bảng dữ liệu phẳng. Và mô hình dữ
liệu quan hệ không còn hiệu quả cho kiểu phân tích này. Các công cụ phân tích trực
tuyến đặt ra để giải quyết vấn đề này nhờ dựa trên công nghệ mô hình dữ liệu nhiều
chiều. Một cách chuẩn tắc, công cụ phân tích trực tuyến hay công cụ phân tích trực
tuyến đa chiều (MOLAP) lu dữ liệu dới khuôn dạng đa chiều, đặc biệt sẵn sàng cho

khai thác trực tiếp. Ngoài ra, có các công cụ nhiều chiều đợc gọi là công cụ phân tích
trực tuyến kiểu quan hệ (ROLAP) bao gồm một cơ cấu đa chiều có kết nối đến dữ liệu
thực sự lu dới dạng mô hình quan hệ. Đây là mô hình lai cho phép lu dữ liệu hai chiều
và phân tích đa chiều.
Điểm khác biệt giữa các công cụ phân tích trực tuyến và khai phá dữ liệu là công cụ
phân tích trực tuyến không học, chúng không tạo ra tri thức mới mà chỉ thể hiện và tổng
hợp các dữ liệu chính xác ở nhiều góc độ nhìn khác nhau. Các thuật toán khai phá dữ
liệu thông minh hơn và chúng không cần dạng lu trữ đặc biệt nào mà thờng dựa ngay
vào các CSDL quan hệ.
3.3 K ng ời láng giềng gần nhất
Khi chúng ta biểu diễn bản ghi dữ liệu nh một phần tử trong không gian nhiều chiều, thì
chúng ta có thể xác định khái niệm láng giềng. Giả thiết chúng ta muốn dự báo hành vi
của một tập khách hàng với một CSDL mô tả về các khách hàng đó. Giả định cơ bản đòi
hỏi để làm dự báo nh vậy là khách hàng cùng một kiểu sẽ có cùng một hành động.
Trong hình dung về không gian dữ liệu, một kiểu không gì khác hơn là một vùng dữ
liệu. Nói cách khác, bản ghi có cùng kiểu sẽ phân bố ở gần nhau trong không gian dữ
liệu và chúng sẽ là hàng xóm của nhau. Dựa trên ý tởng này, chúng ta có thể phát
triển một thuật toán học rất đơn giản nhng hiệu quả k ngời láng giềng gần nhất. Luận
đề của k ngời láng giềng gần nhất là làm nh láng giềng làm. Nếu chúng ta muốn dự
báo hành vi của một cá nhân nào đó, chúng ta bắt đầu nhìn vào hành vi của chẳng hạn
10 cá nhân gần với anh ta nhất trong không gian dữ liệu. Và giá trị trung bình của các
hành vi của các hàng xóm này sẽ là dự báo cho hành vi của anh ta. Số k trong k láng
giềng gần nhất chỉ số láng giềng đợc xem xét.
K láng giềng gần nhất đơn giản cha phải là một kỹ thuật học, mà gần nh là một phơng
pháp tìm kiếm. Nếu nó dự báo cho từng phần tử trong tập dữ liệu có n bản ghi thì chíng
ta phải so sánh từng bản ghi với tất cả các bản ghi còn lại và nh thế độ phức tạp sẽ là
bậc 2
n
và không đáp ứng cho tập dữ liệu lớn. Nếu chúng ta muốn phân tích k láng giềng
Trang 17

Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
gần nhất đơn giản của một CSDL có hàng triệu bản ghi thì chúng ta phải làm một nghìn
tỷ phép so sánh. Cách tiếp cận nh vậy rõ ràng là không cho phép tăng qui mô dữ liệu và
hoàn toàn không khả thi đối với các CSDL lớn.
Một vấn đề của quá trình k láng giềng gần nhất là độ đo tức là xác định khoảng cách
giữa hai phần tử của không gian. Do các thuộc tính có nhiều khuôn dạng khác nhau, có
thể là giá trị liên tục hoặc rời rạc hoặc mờ chẳng hạn là số, nhng có thể là miền
(domain) hoặc thời gian, là văn bản hoặc nhiều dạng khác, nên việc tìm một độ đo hiệu
quả là rất khó. Các thuộc tính quan trọng có thể có một trọng số cao hơn trong công
thức tính độ đo.
Việc áp dụng thuật toán k láng giềng gần nhất chỉ là dự báo hiệu quả trong một số trờng
hợp nhất định. Chẳng hạn, với tập dữ liệu phân bố tơng đối đều trong cả không gian, k
láng giềng gần nhất sẽ không nói lên đợc gì nhiều. Nhng nếu trong không gian khách
hàng có thu nhập khác nhau lớn, chắc chắn các hành vi mua sắm cũng khác nhau và nh
vậy thuật toán k ngời láng giềng gần nhất có thể hữu ích.
3.4 Cây quyết định
Khi ta có các dữ liệu về hành vi khách hàng và muốn dự báo các khách hàng có đặc
điểm gì khi có cùng các đặc trng các hành vi. Nh thế dẫn đến việc ta phải phân lớp các
khách hàng thành các nhóm và sẽ có hành vi đặc trng của nhóm đó.
Ta đang xét CSDL về những khách hàng mua sách. Thông tin về khách hàng bao gồm
tuổi, thu nhập, nghề nghiệp,... Ta cần dự báo một kiểu khách hàng khi hỏi các thuộc tính
đã biết của họ để đoán nhận. Chẳng hạn, ta muốn dự báo ai sẽ mua các sách thiếu nhi.
Thuộc tính liên quan có thể là tuổi và thu nhập. Trong hai thuộc tính, có thể tuổi quan
trọng hơn, nghĩa là nếu dựa trên cơ sở tuổi của một ngời có thể dự báo anh ta có mua
sách thiếu nhi hay không. Hơn nữa, chúng ta cũng cần phải nghiên cứu xem có một ng-
ỡng tuổi hay không để tách biệt những ngời mua sách thiếu nhi và ngời không quan
tâm. Theo cách này, chúng ta có thể bắt đầu với thuộc tính đầu tiên, tìm ra một ngỡng
nào đó, rồi chuyển sang thuộc tính tiếp theo, lại tìm một ngỡng nào đó và lặp lại quá
trình này cho đến khi có đợc sự phân lớp đúng và cuối cùng là tạo ra cây quyết định. Có
nhiều thuật toán về dựng cây quyết định. Cơ sở toán học và mô tả quá trình phân lớp

nhờ cây quyết định đợc trình bày kỹ ở trong chơng 5 và chơng 8.
3.5 Luật kết hợp
Trong thực tế, những chuyên gia về kinh doanh và tiếp thị rất thích các luật đại thể nh:
90% phụ nữ có xe máy đỏ và đeo đồng hồ Thuỵ sỹ thì dùng nớc hoa hiệu Chanel.
Những thông tin nh vậy rất hữu ích cho việc định hớng cho các hoạt động tiếp thị và
kinh doanh. Vấn đề là liệu có thể tìm đợc các kiểu luật nh vậy nhờ các công cụ khai phá
dữ liệu hay không. Câu trả lời là có và trong lĩnh vực khai phá dữ liệu, đó chính là
nhiệm vụ phát hiện luật kêt hợp. Giả sử ta có một CSDL về các khách hàng với các
thông tin nh màu và kiểu xe máy, kiểu đồng hồ yêu thích và một số sản phẩm mà họ
muốn mua, lúc đó ta có thể phát hiện các luật tơng tự nh trên.
Việc phát triển một thuật toán phát hiện luật này trong một CSDL lớn không khó. Tuy
nhiên, vấn đề là ở chỗ có thể có rất nhiều luật kiểu này và ta chỉ biết một tập hợp nhỏ dữ
liệu trong CSDL lớn. Chẳng hạn, chỉ có một số không nhiều phụ nữ có xe máy đỏ và
đeo đồng hồ Thuỵ sỹ. Số lợng các luật kết hợp trong một CSDL lớn gần nh vô hạn.
Thuật toán sẽ không thể phát hiện hết các luật và không phân biệt đợc luật nào là thông
tin thực sự có giá trị và thú vị.
Trang 18
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Vậy luật kết hợp nào là thực sự có giá trị và thú vị? Chẳng hạn ta có luật: Âm nhạc, Thể
thao => Thiếu nhi, nghĩa là những ngời mua sách Âm nhạc và Thể thao thì cũng mua
sách về Thiếu nhi. Lúc đó ta quan tâm đến số lợng trờng hợp khách hàng thoả mãn luật
này hay độ hỗ trợ (support) cho luật này. Giá trị support cho luật chính là: phần trăm số
bản ghi có cả Âm nhạc, Thể thao, Thiếu nhi hay tất cả những ngời thích cả 3 loại sách.
Tuy nhiên, giá trị support là không đủ. Có thể có trờng hợp ta có một nhóm tơng đối
những ngời đọc cả ba loại sách nhng lại có một nhóm lớn hơn nhiều những ngời đọc cả
sách âm nhạc, thể thao nhng không thích sách thiếu nhi. Trong trờng hợp này tính kết
hợp rất yếu, mặc dù support tơng đối cao. Nh vậy, chúng ta cần thêm một độ đo phụ. Đó
là độ tin cậy (confidence). Trong trờng hợp này, confidence chính là phần trăm các bản
ghi có sách thiếu nhi trong số các bản ghi có sách âm nhạc và Thể thao.
Thực tế, luật kết hợp chỉ hữu ích trong khai phá dữ liệu nếu chúng ta đã có một ý tởng

ban đầu về cái chúng ta muốn biết. Điều này minh hoạ vấn đề là không có thuật toán
nào tự động đa cho chúng ta mọi thứ cần thiết trong CSDL. Một thuật toán tìm ra nhiều
luật có thể cũng tìm ra rất nhiều các luật không có giá trị trong khi thuật toán khác chỉ
tìm ra hạn chế một số luật kết hợp không có điều chỉnh cũng có thể bị mất các thông tin
quí giá.
3.6 Mạng nơron
Một điều rất thú vị là các kỹ thuật học máy đã sử dụng nhiều lĩnh vực nghiên cứu khác
nhau. Thuật toán di truyền mô phỏng từ sinh học, mạng nơron mô hình hóa bộ óc con
ngời. Học là một đặc tính quan trọng của tự nhiên, tất yếu nảy sinh trong các lĩnh vực
nghiên cứu khác nhau về cơ thể sống và cung cấp cho chúng ta các mô hình thích hợp
về các hành vi học. Theo lý thuyết Freud và các kết quả nghiên cứu gần đây cho thấy trí
óc con ngời đợc mô tả nh một mạng nơron. Bộ óc con ngời bao gồm một số lớn các
nơron (khoảng 10
11
) đợc nối kết với nhau bởi một số lợng lớn các khớp thần kinh. Một
nơron đơn lẻ đợc kết nối với các nơron khác bởi vài nghìn khớp thần kinh nh vậy. Mặc
dù các nơron đợc mô tả nh các khối đơn của bộ óc, trí não con ngời có thể xử lý các
nhiệm vụ rất phức tạp nh ta đã thấy. Sự tơng tự của mô hình mạng nơron nhân tạo cho ta
một kỹ thuật thú vị cho phép tạo ra các máy học đuợc các vấn đề phức tạp hơn.Các
mạng nh vậy có thể đợc xây dựng sử dụng phần cứng đặc biệt nhng cũng hoàn toàn có
thể tạo ra các chơng trình phần mềm chạy đợc trên các máy tính thông thờng. Cụ thể,
một mạng nơron bao gồm một tập các nút : nút đầu vào nhận các tín hiệu vào, nút đầu
ra đa ra các tín hiệu ra và một số không hạn chế các lớp trung gian bao gồm các nút
trung gian. Có nhiều kiến trúc khác nhau cho mạng nơron và mỗi trong chúng sử dụng
các cách kết nối mạng khác nhau và chiến lợc học khác nhau để thực hiện các nhiệm
vụ. Khi sử dụng mạng nơron, chúng ta phải phân biệt hai giai đoạn: giai đoạn mã hoá
trong đó mạng nơron đợc học để thực hiện một nhiệm vụ nào đó và giai đoạn giải mã
trong đó mạng đợc sử dụng để phân lớp, làm dự báo hoặc thực hiện bất cứ nhiệm vụ
học nào liên quan. Có một vài dạng mạng nơron nhng chúng ta sẽ xét qua ba loại chính
sau:

Perceptrons
Mạng lan truyền ngợc (Back propagation networks)
Mạng tự tổ chức Kohonen (Kohonen Self-organized Map)
Perceptron là dạng tổ chức sơ khai của mạng nơron lần đầu tiên đa ra bởi Frank
Rosenblatt năm 1958. Một perceptron là một mạng đơn giản gồm hai lớp với các đơn
vị đầu vào gọi là điểm thu nhận ảnh, các đơn vị trung gian gọi là các điểm kết hợp và
Trang 19
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
các điểm ra gọi là điểm đáp ứng. Perceptron có thể học các luật đơn giản và nh vậy có
thể đợc dùng để thực hiện các nhiệm vụ phân lớp đơn giản. Tuy nhiên, ngời ta đã chỉ ra
rằng lớp các bài toán có thể giải đợc bằng một máy có kiến trúc perceptron rất hạn chế.
Trong hai chục năm trở lại đây, mạng nơron nhân tạo đã đợc nghiên cứu nhiều với các
kiến trúc phức tạp hơn có thể giải quyết nhiều bài toán phức tạp hơn. Một trong các phát
triển chính đó là các lớp ẩn và từ đó dẫn đến khái niệm mạng lan truyền ngợc.
Mạng lan truyền ngợc không chỉ có các nút đầu vào và đầu ra mà còn có một tập các
lớp trung gian với các nút ẩn. Trong giai đoạn ban đầu, một mạng lan truyền ngợc có
các trọng số ngẫu nhiên cho các khớp thần kinh (hay liên kết) của nó. Khi chúng ta dạy
mạng học, chúng ta cho một tập các dữ liệu học chạy qua mạng. Với mỗi lần học, giá trị
đầu ra thực sự của mạng lại đợc so sánh với giá trị ra đòi hỏi thực tế. Nếu có sự khác
nhau giữa câu trả lời của mạng và câu trả lời thực tế thì các trọng số của các nút và khớp
thần kinh mạng đợc điều chỉnh. Quá trình này lặp đi lặp lại cho đến khi kết quả tính
toán của mạng đạt đợc độ chính xác cần thiết. Khi cấu trúc của mạng đã xác định sau
quá trình học, có thể dùng mạng để phân lớp các đối tợng cha biết.
Mạng lan truyền ngợc đã có sự cải thiện hơn về khả năng so với kiến trúc perceptron.
Tuy nhiên, chúng cũng có các bất lợi. Mạng nơron lan truyền ngợc cần một tập dữ liệu
học rất lớn. Một vấn đề khác là mặc dù nói rằng mạng nơron học nhng chúng không
cho chúng ta một hình dung rõ ràng về chúng đã học cái gì, mà chỉ là những hộp đen, đ-
a ra câu trả lời nhng không cung cấp cho chúng ta một suy luận làm thế nào để đa ra
câu trả lời đó.
Kohonen đã đa ra một phiên bản khác hoàn toàn về mạng nơron mà hiện nay đợc gọi là

mạng nơron tự tổ chức. Mạng nơron này đợc xem nh phiên bản nhân tạo của các bản đồ
tồn tại bên trong bộ óc nh các bản đồ nhìn, bản đồ không gian núi,... Mạng nơron tự tổ
chức là một tập hợp các nơron hoặc đơn vị mà mỗi trong chúng có kết nối với các đơn
vị khác là hàng xóm xung quanh. Các bản đồ Kohonen thờng hai chiều. Trong các cài
đặt ban đầu, mạng nơron tự tổ chức đợc gán giá trị ngẫu nhiên. Trong giai đoạn học, các
vector này đợc điều chỉnh dần dần để đa ra không gian tốt hơn. Một cách tự nhiên hình
dung quá trình học của bản đồ tự tổ chức là các phim Kohonen. Phim Kohonen là hàng
loạt các khung hình chỉ ra vị trí của các vector và liên kết của chúng với các đơn vị bên
cạnh.
3.7 Thuật toán di truyền
Nhờ các tơng tác hấp dẫn giữa công nghệ và tự nhiên và các phơng tiện can thiệp kỹ
thuật, chúng ta hiểu tự nhiên nhiều hơn. Ngợc lại, tự nhiên là một nguồn mô phỏng cho
các ý đồ kỹ thuật. ý tởng này đợc áp dụng cho lĩnh vực khoa học máy tính liên quan
đến tính toán tiến hoá và sinh học. Tính toán tiến hoá bao hàm việc giải quyết dựa trên
áp dụng các cơ cấu tiến hoá theo các hớng: các thuật toán di truyền, lập trình tiến hoá
và chiến lợc tiến hoá. Ba vấn đề này có mối quan hệ chặt chẽ. Các thuật toán di truyền
đợc xem nh kỹ thuật học máy thành công nhất.
Ta thấy quá trình tiến hoá tự nhiên dựa trên hai vấn đề: quá trình chọn lọc tự nhiên hay
sự sống sót của các cá thể thích nghi và DNA nh một kỹ thuật cho các vấn đề mã di
truyền. Theo thuyết tiến hoá của Darwin, mỗi loài đợc duy trì qua các cá thể sống và chỉ
có các cá thể nào thích nghi tốt nhất đối với môi trờng sẽ sống sót. DNA có cấu trúc
xoắn kép và thông tin đợc lu trong các phân tử DNA cấu thành từ 4 khối đặc trng bởi 4
chữ cái (C, G, A và T) chứa đựng toàn bộ thông tin di truyền của một cá thể ngời hay
bất kỳ một tạo hoá sống nào. Tập hợp các lệnh di truyền cơ thể ngời dài 3 tỷ chữ cái.
Trang 20
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Mỗi cá thể thừa hởng vài đặc trng của cha và vài đặc trng của mẹ. Sự khác nhau giữa
mọi ngời nh hình dạng, màu da là do mật mã di truyền khác nhau.
Một câu hỏi thú vị là tại sao tự nhiên lại sử dụng cơ cấu này cho tối u và phát triển. Cơ
cấu chọn lọc tự nhiên có những thuận lợi và bất lợi. Quá trình chọn lọc tự nhiên liên

quan đến rất nhiều các cơ thể sống qua nhiều thời gian và hoạt động của sinh vật sống.
Một bất lợi khác là việc tiến hoá loài sinh vật phụ thuộc vào các cơ hội. Các loài sinh
vật tiến hoá nhờ vào sự đột biến ngẫu nhiên của gen, nhng cơ hội mà một đột biến nh
vậy thực sự dẫn tới cái gì đó có ý nghĩa thật hiếm hoi.
Trang 21
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Chơng 4. kho dữ liệu
Kho dữ liệu (DataWarehouse) là một hớng công nghệ áp dụng cho các ứng dụng công
nghệ tin học trong các doanh nghiệp và tổ chức. Thuật ngữ này gợi nên hình ảnh của
nhà băng dữ liệu rộng lớn đợc bắt nguồn từ các hệ thống trên khắp thế giới, với đông
đảo các nhà phân tích của công ty khai thác những thông tin quí giá giúp công ty của họ
thu đợc nhiều lợi nhuận hơn.
Một cách cơ bản, kho dữ liệu cung cấp dữ liệu lịch sử cho các ứng dụng hỗ trợ quyết
định. Những ứng dụng nh vậy bao gồm báo cáo, xử lý phân tích trực tuyến (Online
Analysis Procesing - OLAP), hệ thống thông tin điều hành (Executive Information
System - EIS) và khai thác dữ liệu.
Kho dữ liệu chứa các thông tin tập trung hoá và thống nhất. Thống nhất ở đây nghĩa là
đã đợc làm sạch, hợp nhất và thiết kế lại, có thể ít nhiều phức tạp tuỳ thuộc vào việc có
bao nhiêu hệ thống cung cấp thông tin cho một kho và khác nhau trong việc xử lý cùng
một thông tin nh thế nào.
- Kho dữ liệu khác với cơ sở dữ liệu tác nghiệp hoặc hệ thống xử lý giao tác trực
tuyến (OLTP) ở mục đích và thiết kế của chúng. Một hệ thống xử lý giao tác trực
tuyến đợc thiết kế và tối u với dữ liệu đa vào và các cập nhật. Trong khi kho dữ
liệu đợc tối u hoá cho mục đích báo cáo và khôi phục dữ liệu và thờng là một hệ
thống chỉ - đọc. Một hệ thống xử lý giao tác trực tuyến chứa các dữ liệu cần thiết
để điều hành kinh doanh hàng ngày, nhng kho dữ liệu chứa các dữ liệu đợc sử
dụng để phân tích kinh doanh. Dữ liệu trong một hệ thống xử lý giao tác trực
tuyến đợc cập nhật thờng xuyên và có độ linh hoạt cao với những phần tử dữ liệu
có thể cha hoàn chỉnh hoặc không biết ở thời điểm vào. Kho dữ liệu chứa những
dữ liệu lu trữ, ổn định, các lỗi giao tác đã đợc điều chỉnh. Do mục đích của chúng

khác nhau, hệ thống xử lý giao tác trực tuyến và kho dữ liệu sử dụng những chiến
lợc mô hình hoá dữ liệu khác nhau. Sự d thừa hầu nh không tồn tại trong hệ thống
xử lý giao tác trực tuyến bởi vì những dữ liệu d thừa làm phức tạp việc cập nhật.
Vì vậy, hệ thống xử lý giao tác trực tuyến đợc chuẩn hoá cao độ và thờng dựa trên
mô hình quan hệ. Nhng d thừa lại cần có trong kho dữ liệu, làm đơn giản hoá việc
truy nhập của ngời sử dụng và tăng cờng việc thực hiện bằng cách tối thiểu hoá số
lợng các bảng phải đợc kết nối với nhau. Các kho dữ liệu có thể sử dụng cả mô
hình quan hệ và mảng đa chiều.
4.1. Các khái niệm cơ bản
4.1.1. Kho dữ liệu là gì?
Định nghĩa:
Kho dữ liệu là một hệ thống quản lý các dữ liệu hớng chủ đề, tích hợp, phụ thuộc thời
gian, không bị phá huỷ, đợc thiết kế để phục vụ cho các hệ trợ giúp quyết định.
Trang 22
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
- -H ớng chủ đề: Các hệ tác nghiệp kinh điển tập trung quanh các ứng dụng của tổ
chức, công ty trong khi kho dữ liệu liên quan tới các chủ đề chung. Ví dụ, các ứng
dụng của một công ty bảo hiểm là bảo hiểm nhân thọ, bảo hiểm an sinh, giáo dục
trong khi các chủ đề chung là đối tợng là khách hàng, chính sách, phí bảo
hiểm.v .v ..
-Tích hợp: đây là khía cạnh quan trọng nhất của một kho dữ liệu. Kho dữ liệu lấy thông
tin từ các hệ thống tác nghiệp khác nhau trong các tổ chức. Những hệ thống này có thể
lu trữ cùng một thông tin bằng nhiều cách khác nhau, tức là giới tính của một khách
hàng có thể đợc lu trữ dới dạng có/không, 0 hoặc 1, nam hoặc nữ trong nhiều hệ thống
khác nhau. Tuy nhiên, khi phải lu trữ thông tin này trong kho dữ liệu thì cần phải xác
định một kế hoạch chung. Nhờ đó, sự không nhất quán của các hệ thống tác nghiệp
khác nhau đợc loại bỏ và dữ liệu đợc đa vào theo một cách thống nhất. Khái niệm tơng
tự cũng đợc áp dụng cho các tên cột, tên phụ lục, các thuộc tính. v.v..
Các HT tác
Các HT tác

nghiệp
nghiệp
Kho
Kho
Dữ
Dữ
liệu
liệu
Đ. T.T. Hà
Đ. T.T. Hà
Đỗ
Đỗ
Thanh
Thanh


Đỗ
Đỗ
Thị Thanh
Thị Thanh


Hà, Đỗ
Hà, Đỗ
Thanh
Thanh
Đỗ
Đỗ
Thị Thanh
Thị Thanh



CSDL A
CSDL B
CSDL C
CSDL
D
D
So_
So_
du
du
balance
balance
Sodu
Sodu
_TK
_TK
Tien
Tien
_mat
_mat
So_
So_
du
du
_tai_
_tai_
khoan
khoan

CSDL A
CSDL B
CSDL C
CSDL D
Hình 4.1 Đa dữ liệu vào kho dữ liệu một cách thống nhất
-Không bị phá huỷ: Không nh trong hệ tác nghiệp, dữ liệu trong kho dữ liệu không đợc
sửa đổi. Định nghĩa này chỉ mang tính nguyên tắc. Thực tế có rất nhiều kho dữ liệu cho
phép thay đổi dữ liệu trong kho. Tuy nhiên, việc này dẫn đến các vấn đề nghiêm trọng
khác, sẽ đợc giải thích sau đây.
Trang 23
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
Cập nhật
Cập nhật
Xoá
Xoá
Th
Th
êm
êm
Tra cứu
Tra cứu
Truy vấn
Truy vấn
Các
Các
hệ thống
hệ thống
tác
tác
nghiệp

nghiệp
Kho
Kho
Dữ
Dữ
liệu
liệu
Truyền
Truyền
tải dữ
tải dữ
liệu
liệu
Hình 4.2 Sơ đồ tích hợp kho dữ liệu và các hệ thống tác nghiệp
-Phụ thuộc thời gian: Định nghĩa này cho thấy sự phân biệt giữa hệ thống tác nghiệp và
kho dữ liệu. Những điểm sau làm rõ hơn định nghĩa:
+ Dữ liệu trong kho dữ liệu đợc lu trữ một cách đặc thù theo chu kỳ thời gian lâu
hơn các hệ thống tác nghiệp.
+ Kho dữ liệu lu giữ các giá trị hiện tại cho bất kỳ cột nào ở các thời điểm khác
nhau, trong khi một hệ thống điều hành nói chung chỉ một giá trị hiện tại đơn lẻ đợc lu
trữ.
+ Các bảng trong kho dữ liệu có một cột đặc biệt để biểu diễn chiều thời gian.
+ Các dữ liệu đợc đợc lu trữ dới dạng một sê ri các bản sao. Mỗi bản sao biểu thị
một khoảng thời gian.
+ Cột biểu diễn chiều thời gian cũng là một bộ phận của các chỉ mục trong các
bảng đợc lu trữ.
+ Các truy vấn trong kho dữ liệu phần lớn trong một khoảng thời gian.
4.1.2. Các kiểu kho dữ liệu
- Kiểu kho dữ liệu mà đợc sử dụng phụ thuộc vào các hoạt động nghiệp vụ của xí
nghiệp và các kiểu hỗ trợ quyết định cần có.

-Một trong những kiểu đơn giản nhất của kho dữ liệu, là kho dữ liệu điều hành
(Operational Data System - ODS). Đó là một cơ sở dữ liệu nghiệp vụ đã đợc sao chép và
điều chỉnh lỗi. Kho dữ liệu điều hành thờng đợc sử dụng chính để hình thành những báo
cáo điều hành định kỳ và thực hiện các giao tác cụ thể cho các phân tích mang tính tổng
hợp.
- Tuỳ thuộc vào yêu cầu tổng hợp của một tổ chức hoặc công ty, một kho dữ liệu
điều hành có thể đợc cập nhật hàng tháng, hàng tuần, hay thờng xuyên hơn. Lợi
ích chủ yếu là tăng cờng việc thực thi trong hệ thống tác nghiệp, do các chức năng
Trang 24
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN
báo cáo và truy vấn đợc tải từ hệ thống xử lý xử lý giao tác trực tuyến sang kho dữ
liệu điều hành.
-
Kho dữ liệu
(xí nghiệp)
Chợ dữ liệu
(phòng ban)
công cụ
truy vấn,
OLAP
ứng dụng
Dữ liệu tài sản (legacy)
Dữ liệu
tác nghiệp
Kho dữ liệu
(xí nghiệp)
Chợ dữ liệu
(phòng ban)
Khai phá
Dữ liệu

Các nguồn
dữ liệu
bên ngoài
Hình 4.3 Kiến trúc kho dữ liệu
Khi một tổ chức hoặc công ty chỉ cần tạo ra các báo cáo và ít thực hiện các phân tích
hoặc nghiên cứu thị trờng, kho dữ liệu điều hành là một giải pháp phù hợp. Tơng tự, nếu
tổ chức hoặc công ty xử lý tơng đối ít giao dịch mỗi ngày, có lẽ không cần tổ chức một
kho dữ liệu điều hành. Thay vào đó, có thể sử dụng hệ thống tác nghiệp để làm báo cáo.
Một kiểu kho dữ liệu khác là Chợ dữ liệu (Data Mart). Chợ dữ liệu thờng đợc giới hạn
trong một phạm vi nhất định. Các thông tin của nó thờng đợc lấy từ một văn phòng hoặc
quá trình kinh doanh đơn lẻ, ví dụ chúng có thể đợc sử dụng để phân tích thông tin bán
hàng trong một khu vực hoặc cho một dây chuyền sản xuất cụ thể. Chợ dữ liệu thờng
chỉ chứa đựng dữ liệu tổng kết, nhng chúng có thể đợc kết nối với các kho dữ liệu điều
hành để lấy ra đợc những chi tiết giao dịch khi cần. Đôi khi các thông tin này do các
phòng công nghệ thông tin quản lý,, nhng chúng thờng đợc quản lý trực tiếp bởi ngời sử
dụng trong một phòng hoặc nhóm làm việc.
- Trong khi các phân tích nghiệp vụ tại các phòng ban đợc thực hiện ở Chợ dữ liệu,
thì nhiều ứng dụng xử lý phân tích trực tuyến nh các hệ thống thông tin điều hành
và các ứng dụng khai phá dữ liệu lại cần nhiều thông tin đợc thu thập từ toàn bộ
hoạt động của tổ chức xí nghiệp. Kho dữ liệu xí nghiệp đợc sử dụng cho kiểu tập
hợp và phân tích dữ liệu này. Do phạm vi và sự phức tạp của nó, kho dữ liệu xí
nghiệp thờng đợc quản lý tập trung bởi phòng công nghệ thông tin. Đây là kiểu
phức tạp nhất của kho dữ liệu, bởi vì dữ liệu phải đợc tích hợp, biến đổi và di
chuyển từ nhiều hệ thống tác nghiệp theo một chủ đề chung.
Các hệ thống tác nghiệp là các nguồn dữ liệu chủ yếu cho kho dữ liệu xí nghiệp. Các hệ
thống tác nghiệp này và các nguồn dữ liệu khác sẽ có những dữ liệu không tơng thích
Trang 25

×