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

Khai phá dữ liệu và thuật toán khai phá luật kết hợp

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.24 MB, 124 trang )

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


TRẦN THỊ LIÊN

KHAI PHÁ DỮ LIỆU
VÀ THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP

Chuyên ngành: Công nghệ thông tin
Mã số: 1.01.01

LUẬN VĂN THẠC SĨ


Người hướng dẫn khoa học:
PGS. TS. Đoàn Văn Ban




Hà Nội 2004

2

MỤC LỤC
Trang bìa phụ 1
Lời cảm ơn Error! Bookmark not defined.
Mục lục 2
Danh mục các thuật ngữ 4
Danh mục các bảng 5


Danh mục các hình vẽ 6
Mở đầu 7
Chương 1 Tổng quan về khai phá dữ liệu 9
1.1. Truyền thống tổ chức và khai thác cơ sở dữ liệu 9
1.2. Các chiến lược xử lý và phân phát thông tin 10
1.3. Kho dữ liệu – Data Warehouse 13
1.4. quá trình phát hiện tri thức 16
1.4.1. Phát hiện tri thức 16
1.4.2. Các giai đoạn của quá trình phát hiện tri thức 16
1.5. Khai phá dữ liệu 20
1.5.1. Kiến trúc của hệ thống khai phá dữ liệu 20
1.5.2. Quá trình khai phá dữ liệu 22
1.5.3. Nhiệm vụ khai phá dữ liệu 24
1.5.4. Các thành phần của thuật toán khai phá dữ liệu 27
1.5.5. Một số phương pháp khai phá dữ liệu 28
1.6. Những ứng dụng của khai phá dữ liệu 34
1.7. Một số thách thức trong ứng dụng và nghiên cứu kỹ thuật khai phá dữ liệu
35

3
1.7.1. Các vấn đề về cơ sở dữ liệu 35
1.7.2. Một số vấn đề khác 38
Chương 2 Khai phá luật kết hợp 40
2.1. Các khái niệm cơ sở 40
2.2. Mô tả dữ liệu 44
2.3. Mô tả bài toán 46
2.4. Độ phức tạp của thuật toán khai phá luật kết hợp 48
2.5. Thuật toán Apriori 52
2.5.1. Khai phá tập mục thường xuyên [16] 52
2.5.2. Phát hiện luật kết hợp [16] 59

2.5.3. Cấu trúc dữ liệu cho thuật toán [9] 61
2.6. Thuật toán FP_growth 62
2.6.1. Cây mẫu thường xuyên 64
2.6.2. Khai phá tập mục thường xuyên 69
2.7. Thuật toán Charm 73
2.7.1. Tập mục thường xuyên đóng 74
2.7.2. Sinh luật 79
2.7.3. Chi tiết thuật toán Charm 81
2.8. Tổng hợp một số thuật toán 89
Chương 3 Cài đặt và thử nghiệm 97
3.1. Cấu trúc tệp dữ liệu 97
3.2. Xây dựng chương trình 98
3.3. Kết quả thử nghiệm 102
3.4. Nội dung một số lớp 105
Kết luận 122
Tài liệu tham khảo 123

4
DANH MỤC CÁC THUẬT NGỮ
Thuật ngữ tiếng Anh
Thuật ngữ tiếng Việt
Association
Kết hợp
Bipartite
Lưỡng phân
Classification
Phân lớp
Closed Itemset
Tập mục đóng
Closed frequent Itemsets

Tập mục thường xuyên đóng
Closure operator
Toán tử đóng
Confidence
Độ tin cậy
Data mining
Khai phá dữ liệu
Data mining engine
Mô tơ khai phá dữ liệu
Data Warehouse
Kho dữ liệu
Frequent
Thường xuyên
Frequent pattern tree
Cây mẫu thường xuyên
Itemset
Tập mục
Knowledge
Tri thức
Rule
Luật
Support
Độ hỗ trợ
Transaction
Giao tác


5
DANH MỤC CÁC BẢNG
2.1 Cơ sở dữ iệu D 44

2.2 Độ hỗ trợ của các tập mục. 45
2.3 Các giao tác cơ sở dữ liệu 57
2.4 Các giao tác cơ sở dữ liệu 66
3.1 Thời gian thực hiện và số tập mục tìm đợc của 2 thuật toán Apriori và
Charm. 102



6
DANH MỤC CÁC HÌNH VẼ
1.1 Luồng dữ liệu trong một tổ chức. 16
1.2 Các giai đoạn của quá trình phát hiện tri thức. 18
1.3 Kiến trúc hệ thống khai phá dữ liệu 22
1.4 Quá trình khai phá dữ liệu 23
1.5 Kết quả phân lớp theo lân cận gần nhất. 25
1.6 Mẫu kết quả với nhiệm vụ phân cụm 26
1.7 Mẫu kết quả của phương pháp cây quyết định. 30
1.8 Sơ đồ quá trình khai phá dữ liệu bằng mạng neuron 33
2.1 Các dạng biểu diễn khác nhau của cơ sở dữ liệu. 46
2.2 a) Cơ sở dữ liệu sách, b) Các tập mục thường xuyên và luật kết hợp 49
2.3 Clique lưỡng phân cực đại 50
2.4 Độ phức tạp của việc khai phá. 50
2.5 Diễn biến của thuật toán Apriori 57
2.6 Một cây mẫu thường xuyên 64
2.7 Quá trình xây dựng FP_tree 66
2.8 Cây FP_tree của cơ sở dữ liệu trong bảng 2.1. 67
2.9 Các FP_Tree phụ thuộc. 69
2.10 a) Kết nối Galois, b) Round – Trip 74
2.11 Dàn và các tập mục thường xuyên 75
2.12 Dàn khái niệm thường xuyên 76

2.13 Dàn đầy đủ các tập mục của cơ sở dữ liệu hình 2.2 a 80
2.14 Các tính chất cơ bản của các tập mục và tập định danh. 81
2.15 a) CHARM theo thứ tự từ điển, b) CHARM theo chiều tăng của độ hỗ trợ 83
3.1 Màn hình sau khi khởi động chương trình 98
3.2 Trang Tìm tập mục thường xuyên. 99
3.3 Trang Tìm luật kết hợp 99
3.4 Kết quả khai phá tập mục thường xuyên của thuật toán Apriori 100
3.5 Kết quả khai phá tập mục thường xuyên của thuật toán Charm 101
3.6 Kết quả khai phá luật. 102
3.7 Biểu đồ thời gian thực hiện của 2 thuật toán Aproiri và Charm. 103

7
MỞ ĐẦU
Sự phát triển mạnh mẽ của công nghệ phần cứng đã tạo nên các máy tính
có bộ xử lý tốc độ cao, bộ nhớ dung lượng lớn và với sự phát triển không
ngừng của các hệ thống viễn thông đã tạo điều kiện cho nhiều hệ thống thông
tin phục vụ việc tự động hóa mọi hoạt động nghiệp vụ, sản xuất và kinh
doanh được triển khai với tốc độ tăng trưởng vượt bậc. Với sự phát triển như
thế tạo nên những dòng dữ liệu khổng lồ, tạo thành hiện tượng “bùng nổ”
thông tin. Nhiều hệ quản trị cơ sở dữ liệu mạnh với công cụ phong phú đã
giúp con người khai thác có hiệu quả nguồn tài nguyên dữ liệu lớn nói trên.
Cùng với tính năng khai thác có tính chất tác nghiệp, việc khai thác các
cơ sở dữ liệu phục vụ các yêu cầu trợ giúp quyết định ngày càng có ý nghĩa
quan trọng và là nhu cầu lớn trong nhiều lĩnh vực. Với lượng thông tin ngày
càng phát triển nhanh như vậy thì việc rút ra những “tri thức” có ích để hỗ trợ
cho việc ra quyết định là một điều cần thiết. Từ nhu cầu đó, trong những năm
gần đây đã phát triển mạnh mẽ một lĩnh vực nghiên về tổ chức các kho dữ
liệu, các hệ trợ giúp quyết định, các phương pháp phát hiện tri thức và khai
phá dữ liệu. Trong đó, khai phá dữ liệu và phát hiện tri thức đã trở thành một
lĩnh vực nghiên cứu sôi động, thu hút sự quan tâm của rất nhiều người trên

nhiều lĩnh vực như: hệ cơ sở dữ liệu, thống kê, nhận dạng, học máy, trí tuệ
nhân tạo,
Quá trình phát hiện tri thức gồm nhiều giai đoạn trong đó giai đoạn khai
phá dữ liệu là chủ yếu nhất. Giai đoạn khai phá dữ liệu được thực hiện sau các
khâu tinh lọc và tiền xử lý dữ liệu nhằm tìm ra các mẫu được xem là đáng
quan tâm, mới được coi là tri thức và tri thức có ích khi nó đạt được mục đích
nào đó của hệ thống hoặc của người dùng. Các kỹ thuật khai phá dữ liệu được
chia làm ba mảng cơ bản: phân lớp/phâncụm, luật kết hợp, khai phá chuỗi.

8
Một trong các nội dung cơ bản trong khai phá dữ liệu là phát hiện luật
kết hợp, được đề xuất lần đầu bởi Rakesh Agrawal, Tomasz Imielinski,
Anin Sawami [15] vào năm 1993. Những nghiên cứu này nhằm tìm ra các
tập mục thường xuất hiện đồng thời trong cơ sở dữ liệu và rút ra các luật có
ảnh hưởng của một tập mục đến sự xuất hiện của một (hoặc một tập) mục.
Phương pháp nghiên cứu chính của luận văn là tổng hợp các kết quả dựa
trên các báo cáo khoa học trong một số hội nghị quốc tế và các bài báo
chuyên ngành hoặc phổ biến trên Internet. Luận văn trình bày một số vấn đề
về phát hiện tri thức và một số thuật toán khai phá luật kết hợp cũng như
những kiến thức liên quan đến vấn đề này.
Nội dung luận văn gồm: mở đầu, ba chương và phần kết luận.
Chương 1 Tổng quan về khai phá dữ liệu: giới thiệu tổng quan về tổ
chức, phân phát thông tin, các giai đoạn của quá trình phát hiện tri thức, các
phương pháp, kỹ thuật khai phá dữ liệu.
Chương 2 Khai phá luật kết hợp. Chương này trình bày chi tiết về các
kiến thức liên quan đến khai phá luật kết hợp, một số thuật toán tiêu biểu về
khai phá luật kết hợp cũng như đánh giá độ phức tạp của các thuật toán này.
Chương 3 Cài đặt và thử nghiệm. Trình bày kết quả xây dựng chương
trình thử nghiệm khai phá luật kết hợp trên một số cơ sở dữ liệu.
Những kết quả trong luận văn là bước đầu tìm hiểu và tổng hợp các kết

quả đã có về khai phá dữ liệu nói chung và khai phá luật kết hợp nói riêng.
Phần cài đặt và thử nghiệm mô tả lại các thuật toán đã có, chưa có điều kiện
để ứng dụng vào thực tế. Những kết quả này là cơ sở để tác giả tiếp tục
nghiên cứu sâu hơn sau này.

9
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
Có rất nhiều cách quan niệm về khai phá dữ liệu (Data mining) ý chung
có thể hiểu là quá trình tìm kiếm, khám phá, xem xét dữ liệu dưới nhiều mức
độ nhằm tìm ra mối liên hệ giữa các thành phần dữ liệu và phát hiện ra
những xu hướng, hình mẫu và những kinh nghiệm quá khứ tiềm ẩn trong kho
dữ liệu vì vậy rất phù hợp với mục đích phân tích dữ liệu hỗ trợ cho công việc
điều hành và ra quyết định [1]. Khai phá dữ liệu là quá trình trợ giúp quyết
định, trong đó chúng ta tìm được những mẫu thông tin chưa biết và tiềm ẩn từ
kho dữ liệu lớn, phức hợp.
Để thực hiện khai phá hiệu quả thì phải biểu diễn dữ liệu dưới dạng trực
quan (Data Visualization). Khi phân tích dữ liệu người ta không những muốn
dữ liệu là những con số mà còn muốn thấy hình ảnh của dữ liệu để phát hiện
ra những thông tin mới, những xu hướng phát triển của đối tượng mà dữ liệu
mô tả.
1.1. TRUYỀN THỐNG TỔ CHỨC VÀ KHAI THÁC CƠ SỞ DỮ LIỆU
Việc dùng các phương tiện tin học để tổ chức và khai thác cơ sở dữ liệu
(CSDL) đã được phát triển từ những năm 60. Từ đó cho đến nay, rất nhiều cơ
sở dữ liệu đã được tổ chức, phát triển và khai thác ở mọi quy mô và ở khắp
các lĩnh vực hoạt động của con người và xã hội. Theo như đánh giá cho thấy,
lượng thông tin trên thế giới cứ sau 20 tháng lại tăng gấp đôi. Kích thước và
số lượng cơ sở dữ liệu thậm chí còn tăng nhanh hơn. Với sự phát triển mạnh
mẽ của công nghệ phần cứng máy đã tạo ra các máy tính có bộ xử lý tốc độ
cao, các bộ nhớ có dung lượng lớn và cùng với hệ thống mạng viễn thông
người ta đã xây dựng các hệ thống thông tin nhằm tự động hóa mọi hoạt động

kinh doanh của mình. Điều này tạo ra một dòng dữ liệu tăng lên không ngừng

10
vì ngay từ các giao dịch đơn giản nhất như một cuộc gọi điện thoại, sử dụng
thẻ tín dụng,… đều được ghi vào máy tính. Số này đã trở nên khổng lồ bao
gồm các cơ sở dữ liệu cực lớn cỡ gigabytes và thậm chí terabytes lưu trữ các
dữ liệu kinh doanh như thông tin khách hàng, dữ liệu lịch sử các giao dịch, dữ
liệu bán hàng, các tài khoản, các khoản vay, sử dụng vốn, … Nhiều hệ quản
trị cơ sở dữ liệu mạnh với các công cụ phong phú và thuận tiện đã giúp cho
con người khai thác có hiệu quả các nguồn tài nguyên dữ liệu. Mô hình cơ sở
dữ liệu quan hệ và ngôn ngữ truy vấn chuẩn (SQL) đã có vai trò hết sức quan
trọng trong việc tổ chức và khai thác cơ sở dữ liệu đó. Cho đến nay, không
một tổ chức kinh tế nào là không sử dụng hệ quản trị cơ sở dữ liệu và các hệ
công cụ báo cáo, ngôn ngữ hỏi đáp nhằm khai thác các cơ sở dữ liệu phục vụ
cho hoạt động nghiệp vụ của mình.
1.2. CÁC CHIẾN LƯỢC XỬ LÝ VÀ PHÂN PHÁT THÔNG TIN
Chúng ta đang sống trong thời đại của nền kinh tế trí thức. Mọi hoạt
động của chúng ta muốn đạt hiệu quả cao, giành được thắng lợi trong thế cạnh
tranh gay gắt thì nhất thiết phải có những phương pháp để có được những
thông tin, tri thức cần thiết một cách nhanh và chính xác.
Việc áp dụng công nghệ thông tin vào thực tiễn sản xuất nghiệp vụ đã
mang lại những hiệu quả và lợi ích to lớn. Công nghệ ngày càng được phát
triển, hoàn thiện hơn để đáp ứng những yêu cầu ngày càng cao của thực tế
nghiên cứu, quản lý sản xuất và nghiệp vụ. Sự mở rộng qui mô áp dụng từ
những ứng dụng đơn lẻ đến các hệ thống thông tin cỡ lớn đã dẫn đến những
thành công vượt bậc trong nghiệp vụ. Các hệ thống thông tin từ chỗ chỉ giải
quyết những xử lý công việc hàng ngày nay đã tiến tới đáp ứng được những
yêu cầu thông tin ở mức độ cao hơn. Các nhà quản lý điều hành không những
biết được công việc đang diễn ra như thế nào mà còn biết cái gì sẽ xảy ra sau


11
đó, có nghĩa là thông tin mang tính phân tích và hệ thống thông tin có khả
năng hỗ trợ quyết định. Tuy nhiên việc xây dựng một hệ thống như thế gặp
phải một số hạn chế về mặt kỹ thuật, đặc biệt là khi kích thước cũng như độ
phức tạp của môi trường thông tin tăng nhanh. Những hệ thống thông tin xây
dựng theo phương pháp truyền thống không làm hài lòng người sử dụng và
các nhà quản lý hệ thống thông tin.
Những mục tiêu nêu trên không dễ gì đạt được bởi vì dữ liệu ngày một
nhiều, lưu trữ phân tán ở nhiều dạng không tương thích với nhau, thậm chí
còn ở những dạng phi cấu trúc. Nhiều hệ cơ sở dữ liệu đã được xây dựng
không tương thích với nhau và không tương thích với những hệ thông tin mới
được xây dựng. Nhiều khách hàng không thoả mãn với những hệ thống thông
tin hiện thời.
Internet đã mở ra nhiều khả năng và triển vọng cho các doanh nghiệp,
cung cấp cho chúng ta lượng thông tin phong phú, rất cần thiết cho các hoạt
động của chúng ta. WWW cung cấp nhiều thông tin về mọi lĩnh vực của xã
hội loài người, từ các công trình nghiên cứu, kết quả học tập, thông tin quảng
cáo, du lịch, các loại trò chơi giải trí, thương mại điện tử, v.v Rất nhiều hoạt
động của chúng ta có thể thực hiện được thông qua Internet. Tuy nhiên, một
vấn đề đặt ra là làm thế nào để tổ chức, khai thác được những khối lượng dữ
liệu khổng lồ và đa dạng đó được?
Về phía người sử dụng, các khó khăn gặp phải thường là
1. “Không thể tìm thấy dữ liệu cần thiết”
 Dữ liệu rải rác ở rất nhiều hệ thống với các giao diện và công
cụ khác nhau, khiến tốn nhiều thời gian chuyển từ hệ thống
này sang hệ thống khác.

12
 Có thể có nhiều nguồn thông tin đáp ứng được đòi hỏi, nhưng
chúng lại có những khác biệt và rất khó phát hiện thông tin

nào là đúng.
2. “Không thể lấy ra được dữ liệu cần thiết”
 Thường xuyên phải có chuyên gia trợ giúp, dẫn đến công việc
dồn lại.
 Có những loại thông tin không thể lấy ra được nếu không mở
rộng khả năng làm việc của hệ thống có sẵn.
3. “Không thể hiểu dữ liệu tìm thấy”
 Mô tả dữ liệu nghèo nàn và thường xa rời với các thuật ngữ
nghiệp vụ quen thuộc.
4. “Không thể sử dụng được dữ liệu tìm thấy”
 Kết quả thường không đáp ứng về bản chất dữ liệu và thời gian
tìm kiếm.
 Dữ liệu phải chuyển đổi bằng tay vào môi trường làm việc của
người sử dụng.
Những vấn đề về hệ thống thông tin:
1. “Phát triển các chương trình khác nhau là không đơn giản”
 Một chức năng được thể hiện ở rất nhiều chương trình, nhưng
việc tổ chức và sử dụng lại nó là rất khó khăn do hạn chế về kỹ
thuật.
 Chuyển đổi dữ liệu từ các khuôn dạng tác nghiệp khác nhau để
phù hợp với người sử dụng là rất khó khăn.
2. “Duy trì những chương trình này gặp rất nhiều vấn đề”
 Một thay đổi ở một ứng dụng sẽ ảnh hưởng đến tất cả các ứng
dụng khác có quan hệ.
 Thông thường sự phụ thuộc lẫn nhau giữa các chương trình
không rõ ràng hoặc là không xác định được.
 Do sự phức tạp của công việc chuyển đổi cũng như toàn bộ quá
trình bảo trì dẫn đến mã nguồn của các chương trình trở nên hết
sức phức tạp.


13
3. “Khối lượng dữ liệu lưu trữ tăng rất nhanh”
 Không kiểm soát được khả năng chồng chéo dữ liệu trong các
môi trường thông tin dẫn đến khối lượng dữ liệu tăng nhanh.
4. “Quản trị dữ liệu phức tạp”
 Thiếu những định nghĩa chuẩn, thống nhất về dữ liệu dẫn đến
việc mất khả năng kiểm soát môi trường thông tin.
 Một thành phần dữ liệu tồn tại ở nhiều nguồn khác nhau.
Giải pháp cho tất cả các vấn đề nêu trên chính là việc xây dựng một kho
chứa dữ liệu (Data Warehouse).
1.3. KHO DỮ LIỆU – DATA WAREHOUSE
Theo John Ladley kỹ nghệ kho dữ liệu (Data Warehouse Technology) là
tập các phương pháp, kỹ thuật và các công cụ có thể kết hợp, hỗ trợ nhau để
cung cấp thông tin cho người sử dụng trên cơ sở tích hợp từ nhiều nguồn dữ
liệu, nhiều môi trường khác nhau.
Định nghĩa [4] kho dữ liệu (Data Warehouse - DW) là tuyển tập các cơ
sở dữ liệu tích hợp, hướng chủ đề, được thiết kế để hỗ trợ cho chức năng trợ
giúp quyết định, mà mỗi đơn vị dữ liệu đều liên quan tới một khoảng thời gian
cụ thể.
Kho dữ liệu thường rất lớn tới hàng trăm GB hay thậm chí hàng
Terabyte.
Kho dữ liệu được xây dựng để tiện lợi cho việc truy cập theo nhiều
nguồn, nhiều kiểu dữ liệu khác nhau sao cho có thể kết hợp được cả những
ứng dụng của các công nghệ hiện đại và kế thừa được từ những hệ thống đã
có sẵn từ trước. Dữ liệu phát sinh từ các hoạt động hàng ngày và được thu
thập xử lí để phục vụ công việc nghiệp vụ cụ thể của một tổ chức thường
được gọi là dữ liệu tác nghiệp (operational data) và hoạt động thu thập xử lí

14
loại dữ liệu này được gọi là xử lí giao dịch trực tuyến (Online Transaction

Processing - OLPT). Kho dữ liệu trái lại phục vụ cho việc phân tích với kết
quả mang tính thông tin cao. Các hệ thống thông tin thu thập xử lí dữ liệu loại
này còn gọi là hệ xử lí phân tích trực tuyến (OnLine Analytical Processing -
OLAP).
Một kho dữ liệu có thể được coi là hệ thống thông tin với những thuộc
tính sau:
- Là một tập dữ liệu được thiết kế có nhiệm vụ phân tích, sử dụng các dữ
liệu từ các ứng dụng khác nhau.
- Hỗ trợ cho một số người dùng có liên quan với các thông tin liên quan.
- Là dữ liệu chỉ đọc.
- Nội dung của nó được cập nhật thường xuyên theo cách thêm thông tin.
- Chứa các dữ liệu lịch sử và hiện tại cung cấp các thông tin để phát hiện
các xu hướng của các hoạt động nghiệp vụ.
- Chứa các bảng dữ liệu có kích thước lớn, phức hợp.
- Những câu hỏi thường trả về một tập kết quả liên quan đến toàn bộ
bảng và các liên kết nhiều bảng.
Cấu trúc kho dữ liệu được xây dựng dựa trên hệ quản trị cơ sở dữ liệu
quan hệ, có chức năng giống như kho lưu trữ thông tin trung tâm. Trong đó,
dữ liệu tác nghiệp và phần xử lý được tách riêng khỏi quá trình xử lý kho dữ
liệu. Kho lưu trữ trung tâm được bao quanh bởi các thành phần được thiết kế
để làm cho kho dữ liệu có thể hoạt động, quản lý và truy nhập được từ người
dùng đầu cuối cũng như từ các nguồn dữ liệu.

15
Dòng dữ liệu trong một tổ chức (cơ quan, xí nghiệp, công ty, v.v.) có thể
mô tả khái quát như sau [4]:



Hình 1.1 Luồng dữ liệu trong một tổ chức.

Dữ liệu cá nhân (Personal Data) không thuộc phạm vi quản lý của hệ
quản trị kho dữ liệu. Nó chứa các thông tin được trích xuất ra từ các hệ thống
dữ liệu tác nghiệp, kho dữ liệu và từ những kho dữ liệu cục bộ của những chủ
đề liên quan bằng các phép gộp, tổng hợp hay xử lý bằng một cách nào đó.
Để lấy được những thông tin có ích từ các kho dữ liệu khổng lồ, người ta
sử dụng công nghệ khai phá dữ liệu.
Ngân hàng dữ
liệu (Dữ liệu
hiện tại)

Kho dữ liệu tác
nghiệp.
Kho dữ liệu
(dữ liệu lịch sử )
Quầy dữ liệu (Data
Mart)
( dữ liệu tóm tắt,
dữ liệu lịch sử)
Siêu DL (MetaData)

Kho dữ liệu cá
nhân


16
1.4. QUÁ TRÌNH PHÁT HIỆN TRI THỨC
Phát hiện tri thức trong các cơ sở dữ liệu là quá trình nhận biết những
mẫu hoặc mô hình trong dữ liệu có các tính năng: hợp thức, mới, có ích và dễ
hiểu. Mục đích của phát hiện tri thức là phát hiện những tri thức có ích tiềm
ẩn trong tập cơ sở dữ liệu lớn mà trước đó chưa được phát hiện. Thực hiện

quá trình đó gọi là quá trình phát hiện tri thức trong cơ sở dữ liệu [1].
1.4.1. Phát hiện tri thức
Như Jonh Naisbell đã nói “Chúng ta đang chìm ngập trong dữ liệu mà
vẫn đói tri thức”. Dữ liệu thường cho bởi các giá trị mô tả các sự kiện, hiện
tượng cụ thể còn tri thức là gì? Có thể có những định nghĩa rõ ràng để phân
biệt các khái niệm dữ liệu, thông tin, tri thức hay không? Khó mà định nghĩa
chính xác nhưng phân biệt chúng trong những ngữ cảnh nhất định là rất cần
thiết, và có thể làm được. Thông tin là một khái niệm rất rộng, khó có thể đưa
ra một định nghĩa chính xác cho khái niệm này. Cũng không định nghĩa cho
khái niệm tri thức cho dù chỉ hạn chế trong phạm vi những những tri thức
được chiết suất từ các cơ sở dữ liệu. Tuy nhiên, có thể hiểu đơn giản tri thức
là một biểu thức trong một ngôn ngữ nào đó diễn tả một (hoặc nhiều) mối
quan hệ giữa các thuộc tính trong các dữ liệu đó. Các ngôn ngữ thường được
sử dụng để biểu diễn tri thức là các khung, cây và đồ thị, các luật, các công
thức trong ngôn ngữ logic mệnh đề hoặc tân từ cấp một, các hệ thống phương
trình Ví dụ như các luật mô tả các thuộc tính của dữ liệu, các mẫu thường
xuyên xảy ra, các nhóm đối tượng trong cơ sở dữ liệu, v.v
1.4.2. Các giai đoạn của quá trình phát hiện tri thức
Phát hiện tri thức là một quá trình truy xuất tri thức từ cơ sở dữ liệu. Tri
thức mà ta nói ở đây thường được sử dụng để giải quyết một loạt nhiệm vụ

17
trong những lĩnh vực nhất định. Do đó việc phát hiện tri thức không phải là
phát hiện mọi tri thức bất kỳ mà phát hiện tri thức nhằm giải quyết tốt nhiệm
vụ đề ra. Vì vậy, quá trình phát hiện tri thức là sự tương tác của con người với
công cụ tin học qua các giai đoạn sau:
Giai đoạn 1: xác định và định nghĩa vấn đề: tìm hiểu lĩnh vực ứng dụng
và nhiệm vụ đặt ra, xác định các tri thức đã có và mục tiêu của người dùng.
Tạo lập tập dữ liệu đích bằng cách chọn từ cơ sở dữ liệu một tập giá trị biến
và các mẫu được quan tâm, trên đó ta thực hiện quá trình phát hiện tri thức.

Giai đoạn 2: thu thập và tiền xử lý dữ liệu : bao gồm làm sạch dữ liệu,
thu gọn và rút bớt số chiều của dữ liệu để tập trung vào những thuộc tính chủ
chốt đối với việc phát hiện tri thức.
Giai đoạn 3: khai phá dữ liệu, bao gồm: chọn nhiệm vụ khai phá dữ liệu
dựa vào mục tiêu của quá trình phát hiện tri thức: xếp loại, phân nhóm hay hồi
quy Chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc khai phá
dữ liệu để tìm các mẫu có ý nghĩa dưới dạng biểu diễn tương ứng (cây quyết
định, luật dẫn xuất, biểu thức hồi quy, ).
Giai đoạn 4: giải thích các mẫu và đánh giá kết quả đã được khai phá ở
giai đoạn 3.

18
Giai đoạn 5: sử dụng các tri thức đã được phát hiện.
Hình 1.2 Các giai đoạn của quá trình phát hiện tri thức.
Lý luận và thực tiễn thực hiện các quá trình phát hiện tri thức mà ta xét ở
đây là sự tiếp thu, sử dụng và phát triển nhiều thành tựu và công cụ của các
lĩnh vực đã phát triển trước đó như: lý thuyết nhận dạng, hệ chuyên gia, trí tuệ
nhân tạo, Nhưng đặc điểm cơ bản của lý luận về phát hiện tri thức là phát
hiện tri thức trực tiếp từ dữ liệu, do đặc điểm đó mà nó có những điểm mới,
phân biệt với các ngành đã có từ trước. Ví dụ như hệ chuyên gia thì cơ sở tri
thức được hình thành từ kinh nghiệm và kiến thức của các chuyên gia là chủ
yếu, với nhiều bài toán nhận dạng thì tập các dạng mẫu thường là cho trước,
Còn đối với lý thuyết phát hiện tri thức; các dạng mẫu, các giả thuyết được
phát hiện từ việc khai phá các kho dữ liệu.
Nếu phát hiện tri thức là toàn bộ quá trình truy xuất tri thức từ cơ sở dữ
liệu thì khai phá dữ liệu là giai đoạn chủ yếu của quá trình đó [1]. Như trên đã



Xác định và định nghĩa

vấn đề

Thu thập và tiền xử
lý dữ liệu

Khai phá dữ liệu
Giải thích kết quả và
đánh giá

Sử dụng tri thức được
phát hiện


5
4
3
2
1

19
trình bày, trong quá trình phát hiện tri thức, khâu khai phá dữ liệu được thực
hiện sau các khâu tinh lọc và tiền xử lý dữ liệu, tức là việc khai phá để tìm ra
các mẫu có ý nghĩa được tiến hành trên tập dữ liệu có hy vọng là sẽ phù hợp
với từng nhiệm vụ khai phá chứ không phải khai phá hết dữ liệu với một thời
gian đủ dài để lấy được một mẫu không thực sự có ích như khái niệm thống
kê trước đây. Vì vậy, khai phá dữ liệu thường bao gồm việc thử tìm mô hình
phù hợp với tập dữ liệu và tìm kiếm các mẫu từ tập dữ liệu theo mô hình đó.
Ví dụ ta có mô hình là một luật kết hợp thì mẫu là các yếu tố tham gia cùng
với độ hỗ trợ, độ tin cậy trong các luật tương ứng. Mặc dù các mẫu có thể
được trích lọc từ bất kỳ cơ sở dữ liệu nào, nhưng chỉ có những mẫu được xem

là đáng quan tâm xét theo một phương diện nào đó mới được coi là tri thức.
Các mẫu là đáng quan tâm nếu chúng mới, có lợi, đáng được xem xét.
Ta có thể coi khai phá dữ liệu giống như một quá trình phát hiện các mẫu
mới phục vụ cho việc phân tích và phát hiện tri thức. Khai phá dữ liệu được
sử dụng để tạo ra giả thuyết. Ví dụ như để xác định các yếu tố rủi ro khi cho
vay tín dụng, kỹ thuật khai phá dữ liệu phải phát hiện được những người có
thu nhập thấp và nợ nhiều là những người có mức rủi ro cao, ngoài ra kỹ thuật
khai phá dữ liệu cũng phát hiện ra những quy luật mà nhà phân tích có thể
chưa tìm ra ví dụ tỉ lệ giữa thu nhập trên nợ và tuổi cũng là các yếu tố xác
định mức độ rủi ro. Để làm được điều này, khai phá dữ liệu sử dụng các thông
tin trong quá khứ.
Khai phá dữ liệu được xây dựng dựa trên việc sử dụng các thuật toán
mới, được định hướng theo nhu cầu kinh doanh để có thể giải quyết tự động
các bài toán kinh doanh bằng các kỹ thuật dễ dùng và có thể hiểu được. Các
kỹ thuật hiện đang được nghiên cứu và sử dụng bao gồm: cây quyết định,
mạng nơ ron, phương pháp láng giềng gần nhất, các luật suy diễn,

20
Khai phá dữ liệu không thuộc ngành công nghiệp nào. Nó sử dụng các
kỹ thuật thông minh để khai phá các tri thức tiềm ẩn trong dữ liệu. Có thể
xem khai phá dữ liệu ngày nay đang ở trạng thái giống như việc quản trị dữ
liệu vào những năm 60, khi mà các ứng dụng quản trị dữ liệu đều không tuân
theo một nguyên tắc chung nào cho đến khi mô hình dữ liệu quan hệ ra đời
cùng với sức mạnh của ngôn ngữ truy vấn đã thúc đẩy việc phát triển các ứng
dụng quản trị dữ liệu mạnh mẽ. Tuy vậy, hiện nay trên thế giới đã có rất nhiều
ngành công nghiệp sử dụng kỹ thuật khai phá dữ liệu để phục vụ cho hoạt
động nghiệp vụ của mình và bước đầu thành công như ngành tài chính, y học,
hóa học, bảo hiểm, sản xuất, giao thông Các kết quả đạt được cho thấy mặc
dù kỹ thuật khai phá dữ liệu hiện nay vẫn còn nhiều vấn đề nổi cộm, nhưng
với những tri thức mà con người chưa cung cấp được thì khai phá dữ liệu có

một tiềm năng to lớn trong việc tạo ra những thuận lợi đáng kể trong các hoạt
động nghiệp vụ, sản xuất và kinh doanh.
1.5. KHAI PHÁ DỮ LIỆU
Khai phá dữ liệu là một bước trong quá trình phát hiện tri thức. Nó bao
hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn
trong các tập dữ liệu lớn (các kho dữ liệu). Về bản chất, khai phá dữ liệu liên
quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các
mẫu hình có tính chính quy trong tập dữ liệu.
1.5.1. Kiến trúc của hệ thống khai phá dữ liệu
Khai phá dữ liệu là một bước trong quá trình phát hiện tri thức từ số
lượng lớn dữ liệu lưu trữ trong các cơ sở dữ liệu, kho dữ liệu hoặc các nơi lưu
trữ khác. Bước này có thể tương tác lẫn nhau giữa người sử dụng hoặc cơ sở

21
tri thức, những mẫu đáng quan tâm được đưa cho người dùng hoặc lưu trữ
như là tri thức mới trong cơ sở tri thức.
Kiến trúc của hệ thống khai phá dữ liệu có các thành phần như sau [6]:
+ Cơ sở dữ liệu, kho dữ liệu: đó là một hoặc một tuyển tập các cơ sở dữ
liệu, kho dữ liệu Các kỹ thuật làm sạch dữ liệu, tích hợp, lọc dữ liệu có thể
thực hiện trên dữ liệu.
+ Cơ sở dữ liệu hoặc kho dữ liệu phục vụ: là kết quả lấy dữ liệu có liên
quan trên cơ sở yêu cầu khai phá dữ liệu của người dùng.
+ Cơ sở tri thức: đó là lĩnh vực tri thức được sử dụng để huớng dẫn việc
tìm hoặc đánh giá các mẫu kết quả thu được.
+ Mô tơ khai phá dữ liệu (data mining engine): bao gồm tập các modul
chức năng để thực hiện các các nhiệm vụ mô tả đặc điểm, kết hợp, phân lớp,
phân cụm dữ liệu,
+ Đánh giá mẫu: thành phần này sử dụng các độ đo và tương tác với
modul khai phá dữ liệu để tập trung vào tìm các mẫu quan tâm.
+ Giao diện người dùng: đây là modul giữa người dùng và hệ thống khai

phá dữ liệu. Cho phép người dùng tương tác với hệ thống trên cơ sở những
truy vấn hay tác vụ, cung cấp những thông tin cho việc tìm kiếm.

22

Hình 1.3 Kiến trúc hệ thống khai phá dữ liệu.
1.5.2. Quá trình khai phá dữ liệu
Giao diện người dùng
Đánh giá mẫu
Mô tơ khai phá dữ liệu
(DM engine)
CSDL hay kho dữ liệu
phục vụ
Kho dữ
liệu
CSDL
Lọc dữ liệu
Làm sạch dữ liệu
Tổ hợp dữ liệu
Cơ sở
tri thức

23
Các thuật toán khai phá dữ liệu thường được miêu tả như những chương
trình hoạt động trực tiếp trên tệp dữ liệu. Với phương pháp học máy và thống
kê trước đây, thường thì bước đầu tiên là các thuật toán nạp toàn bộ tệp dữ
liệu vào bộ nhớ. Khi chuyển sang các ứng dụng công nghiệp liên quan đến
việc khai phá các kho dữ liệu lớn, mô hình này không thể đáp ứng được bởi vì
không thể nạp hết dữ liệu vào bộ nhớ mà còn khó có thể chiết xuất dữ liệu ra
những tệp đơn giản để phân tích.

Quá trình khai phá dữ liệu được mô tả bởi mô hình sau:
Hình 1.4 Quá trình khai phá dữ liệu.
Quá trình khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn đề
cần giải quyết. Tiếp đến là xác định dữ liệu liên quan dùng để xây dựng giải
pháp. Bước tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành
dạng sao cho thuật toán khai phá dữ liệu có thể hiểu được.
Bước tiếp theo là chọn thuật toán khai phá dữ liệu thích hợp và thực hiện
việc khai phá dữ liệu để tìm được các mẫu có ý nghĩa dưới dạng biểu diễn
tương ứng (luật kết hợp, cây quyết định ).
Kết quả thu được mẫu phải có đặc điểm mới. Độ mới có thể được đo
tương ứng với độ thay đổi trong dữ liệu, hoặc bằng tri thức. Thường thì độ đo
Xác định
nhiệm vụ
Xác định dữ liệu
liên quan
Thu thập và
tiền xử lý DL
Thuật toán
khai phá DL




Mẫu
DL trực
tiếp


Thống kê,
tóm tắt


24
mới của mẫu được đánh giá bằng một hàm logic hoặc hàm độ đo mới, độ đo
bất ngờ của mẫu.
Với thuật toán và nhiệm vụ khai phá dữ liệu khác nhau thì dạng mẫu
chiết xuất được cũng rất khác nhau. Mẫu chiết xuất được có thể là một mô tả
xu hướng, có thể là dưới dạng văn bản, một đồ thị, …
1.5.3. Nhiệm vụ khai phá dữ liệu
Mục đích của khai phá dữ liệu là chiết xuất ra các tri thức có lợi cho kinh
doanh hay nghiên cứu khoa học. Do đó ta có thể coi mục đích của khai thác
dữ liệu sẽ là mô tả và dự đoán. Các mẫu mà khai phá dữ liệu phát hiện được
nhằm vào mục đích này. Dự đoán liên quan đến việc sử dụng các biến hoặc
các trường trong cơ sở dữ liệu để chiết xuất ra các mẫu là dự đoán được
những giá trị chưa biết hoặc những giá trị trong tương lai của các biến đáng
quan tâm. Mô tả tập trung vào việc tìm kiếm các mẫu mô tả dữ liệu mà con
người có thể hiểu được.
Để đạt được hai mục đích này, nhiệm vụ chính của khai phá dữ liệu bao
gồm như sau:
Phân lớp: cho phép ta sắp xếp các thực thể với cùng một số thuộc tính
giống nhau vào một lớp. Công việc này giống phân loại nhưng có điểm khác
biệt là chưa có sự định nghĩa các lớp từ trước. Phương pháp này rất có ích
trong giai đoạn đầu của quá trình nghiên cứu khi ta biết rất ít về đối tượng cần
nghiên cứu, nó là tiền đề để tiến hành các phương pháp khác về phát hiện tri
thức. Nhiệm vụ là học một hàm ánh xạ (hay phân loại) một mẫu dữ liệu vào
một trong số các lớp đã xác định (Hand 1981; Weiss & Kulikowski 1991.)

25

Hình 1.5 Kết quả phân lớp theo lân cận gần nhất.
Ví dụ về việc sử dụng phương pháp phân lớp trong khai phá dữ liệu là

ứng dụng phân lớp các xu hướng trong thị trường tài chính và ứng dụng tự
động xác định các đối tượng đáng quan tâm trong cơ sở dữ liệu ảnh lớn. Hình
1.5 thể hiện đầu ra của nhiệm vụ khai phá dữ liệu phân lớp dữ liệu trên làm
hai lớp. Dựa vào kết quả phân lớp đó mà các tổ chức tín dụng quyết có cho
khách hàng vay hay không.
Có nhiều phương pháp phân lớp trong đó nổi tiếng nhất là phương pháp
K lân cận.
Hồi quy: hồi quy là một hàm học mà ánh xạ mục dữ liệu thành một biến
dự đoán có giá trị thực. Có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ
hồi quy, ví dụ như khả năng đánh giá tử vong của bệnh nhân khi biết các kết
quả xét nghiệm chẩn đoán, dự đoán nhu cầu tiêu thụ một sản phẩm mới bằng
một hàm chi tiêu quảng cáo,
Phân cụm: là việc mô tả chung để tìm ra các tập xác định các cụm hay
các loại mô tả dữ liệu. Các cụm có thể tách riêng nhau hay phân cấp hoặc gối
lên nhau. Có nghĩa là một mục dữ liệu có thể vừa thuộc cụm này vừa thuộc
cụm kia. Các ứng dụng khai phá dữ liệu có nhiệm vụ phân cụm như phát hiện







Không cho
vay
Cho vay
Nợ
Thu nhập

×