ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THẾ VINH ÁP DỤNG LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU CHO DỮ LIỆU NGÂN HÀNG ĐẦU TƯ VÀ PHÁT TRIỂN VIỆT NAM Ngành : CÔNG NGHỆ THÔN
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THẾ VINH
ÁP DỤNG LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU CHO DỮ LIỆU NGÂN HÀNG ĐẦU TƯ VÀ
PHÁT TRIỂN VIỆT NAM
Ngành : CÔNG NGHỆ THÔNG TIN
Mã số : 1.01.10
LUẬN VĂN THẠC SỸ
Người hướng dẫn khoa học: PGS TS NGÔ QUỐC TẠO
HÀ NỘI, 2006
Trang 2MỤC LỤC
MỤC LỤC 2
BẢNG CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT 4
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU 5
LỜI MỞ ĐẦU 6
CHƯƠNG 1 KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC 8
1.1 Khai phá dữ liệu 8
1.1.1 Tổng quan về khai phá dữ liệu 8
1.1.2 Nhiệm vụ chính của khai phá dữ liệu 9
1.1.3 Các dạng dữ liệu có thể khai phá 10
1.1.4 Kiến trúc hệ thống khai phá dữ liệu Error! Bookmark not defined 1.1.5 Quá trình khai phá dữ liệu Error! Bookmark not defined 1.1.6 Các thành phần khai phá dữ liệu Error! Bookmark not defined 1.1.7 Một số phương pháp khai phá dữ liệu Error! Bookmark not defined 1.1.9 Các ứng dụng của khai phá dữ liệu Error! Bookmark not defined 1.1.10 Phân loại các hệ thống khai phá dữ liệu Error! Bookmark not defined 1.1.11 Những khó khăn trong việc khai phá dữ liệu Error! Bookmark not defined
2.2 Công nghệ khám phá tri thức (KDD) Error! Bookmark not defined
2.2.1 Khám phá tri thức là gì? Error! Bookmark not defined 2.2.2 Vai trò và các mục tiêu chính của KDD Error! Bookmark not defined 2.2.3 Quá trình phát hiện tri thức Error! Bookmark not defined
CHƯƠNG 2 LUẬT KẾT HỢP Error! Bookmark not defined.
2.1 Một số định nghĩa về luật và luật kết hợp Error! Bookmark not defined 2.2 Tính chất của luật kết hợp Error! Bookmark not defined
2.2.1 Tính chất của tập mục phổ biến Error! Bookmark not defined 2.2.2 Các tính chất của luật kết hợp Error! Bookmark not defined
2.3 Những đặc trưng cơ bản của luật Error! Bookmark not defined
2.3.1 Không gian tìm kiếm Error! Bookmark not defined 2.3.2 Độ hỗ trợ Error! Bookmark not defined
2.4 Những hướng tiếp cận chính Error! Bookmark not defined
CHƯƠNG 3 MỘT SỐ THUẬT TOÁN KHAI PHÁ DỮ LIỆU THEO PHƯƠNG PHÁP LUẬT KẾT HỢP Error! Bookmark not defined.
Trang 33.1 Khai phá luật kết hợp boolean đơn chiều và đơn mứcError! Bookmark not defined
3.1 1 Thuật toán Apriori Error! Bookmark not defined 3.1.2 Thuật toán Partition (kỹ thuật BFS và giao tập hợp của các tập mục) Error! Bookmark not defined
3.1.3 Thuật toán FP-Growth (kỹ thuật DFS và đếm tần suất xuất hiện tập mục) Error! Bookmark not defined
3.1.4 Thuật toán Eclat (kỹ thuật DFS và giao tập mục) Error! Bookmark not defined
3.2 Khai phá luật kết hợp định lượng Error! Bookmark not defined 3.3 Khai phá luật kết hợp trừu tượng, đa mức Error! Bookmark not defined 3.4 Luật kết hợp có thuộc tính số và hạng mục Error! Bookmark not defined 3.5 Luật kết hợp mờ Error! Bookmark not defined
3.5.1 Luật kết hợp mờ với thuộc tính số được đánh trọng sốError! Bookmark not defined 3.5.2 Chuyển luật kết hợp mờ về luật kết hợp với thuộc tính số Error! Bookmark not defined
CHƯƠNG 4 ỨNG DỤNG THỬ NGHIỆM Error! Bookmark not defined.
4.1 Đặt vấn đề Error! Bookmark not defined 4.2 Mô hình thử nghiệm Error! Bookmark not defined 4.3 Chương trình thử nghiệm Error! Bookmark not defined
KẾT LUẬN Error! Bookmark not defined.
Những vấn đề đã được giải quyết trong luận văn Error! Bookmark not defined Hướng nghiên cứu trong tương lai Error! Bookmark not defined
TÀI LIỆU THAM KHẢO 11
Trang 4BẢNG CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT Bảng từ viết tắt
Công nghệ thông tin Information Technology CNTT
Khai phá tri thức trong dữ liệu Knowledge Discovery in Data KDD
Khám phá tri thức Knowledge Discovery KPTT Ngân hàng Đầu tư và Phát triển
Việt Nam
Bank for Investment and Development of Viet Nam BIDV
Trang 5DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU Danh mục hình vẽ
Hình 1.1 Kiến trúc hệ thống khai phá dữ liệu Error! Bookmark not defined Hình 1.2 Quá trình khai phá dữ liệu Error! Bookmark not defined Hình 1.3 Ví dụ về cây quyết định Error! Bookmark not defined Hình 2.1 Dàn cho tập I={1,2,3,4} Error! Bookmark not defined Hình 3.1 Cây FP-Growth đếm mức phổ biến Error! Bookmark not defined Hình 3.2 Cây điều kiện FP - Tree Error! Bookmark not defined Hình 3.3 Mức hoạt động của giải thuật Error! Bookmark not defined Hình 3.4 Mô phỏng dữ liệu cây băm Error! Bookmark not defined Hình 3.5 Cây cấu trúc thân Error! Bookmark not defined Hình 3.6 Mô phỏng sự kết hợp đầu và thân Error! Bookmark not defined Hình 4.1 Danh sách các file dữ liệu của phân hệ tiền gửi Error! Bookmark not defined Hình 4.2 Trình tự xử lý trong ứng dụng thử nghiệm Error! Bookmark not defined Hình 4.3 Dữ liệu của hệ thống trước khi rời rạc và mờ hoá Error! Bookmark not defined Hình 4.4 Dữ liệu của hệ thống sau khi rời rạc và mờ hoá Error! Bookmark not defined Hình 4.5 Màn hình giao diện chính của chương trình Error! Bookmark not defined Hình 4.6 Màn hình giao diện hiển thị dữ liệu gốc Error! Bookmark not defined Hình 4.7 Màn hình giao diện hiển thị dữ liệu sau khi được rời rạc và mờ hoáError! Bookmark
not defined
Hình 4.8 Sự phụ thuộc của thời gian xử lý vào fminsupp Error! Bookmark not defined Hình 4.9 Sự phụ thuộc của số lượng tập phổ biến và luật tin cậy vào giá trị fminsuppError!
Bookmark not defined
Hình 4.10 Sự phụ thuộc của số lượng luật vào độ tin cậy tối thiểu fminconfError! Bookmark
not defined
Hình 4 11 Sự thay đổi kích thước CSDL tác động tới thời gian thực hiện khai phá Error!
Bookmark not defined
Hình 4.12 Sự phụ thuộc của số lượng tập phổ biến và luật kết hợp vào ngưỡng tập mờError!
Bookmark not defined
Trang 6Danh mục bảng biểu
Bảng 1: CSDL khám và chuẩn đoán bệnh tim của 17 bệnh nhânError! Bookmark not defined Bảng 2: Rời rạc hoá thuộc tính số rời rạc hữu hạn hoặc thuộc tính hạng mụcError! Bookmark
not defined
Bảng 3: Rời rạc hoá thuộc tính số “Lượng cholesterol trong máu” và “Tuổi”Error! Bookmark
not defined
Bảng 4: CSDL về khám và chuẩn đoán bệnh tim mạch của 13 bệnh nhânError! Bookmark not
defined
Bảng 5: Bảng các ký hiệu sử dụng trong thuật toán khai phá luật kết hợp mờError! Bookmark
not defined
Bảng 6: TF -giá trị các thuộc tính tại các bản ghi đã được mờ hoá Error! Bookmark not
defined
Bảng 7: C1 - tập tất cả các tập thuộc tính có lực lượng bằng 1Error! Bookmark not defined Bảng 8: F2 - tập thuộc tính phổ biến có lực lượng bằng 2 Error! Bookmark not defined Bảng 9: Các luật mờ được sinh ra từ CSDL trong bảng 4 Error! Bookmark not defined
LỜI MỞ ĐẦU
Trong những thập kỷ gần đây, với sự phát triển mạnh mẽ của công nghệ điện tử,
sự ra đời của các bộ nhớ có dung lượng lớn, bộ xử lý tốc độ cao cùng với các 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 hoá 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 vì ngay từ những giao dịch đơn giản nhất như một cuộc gọi điện thoại, kiểm tra sức khoẻ,
sử dụng thẻ tín dụng,v.v đều được ghi vào trong máy tính Cho đến nay, con số này đã trở lên khổng lồ bao gồm các cơ sở dữ liệu lớn cỡ gigabytes và thậm chí terabytes lưu trữ các dữ liệu kinh doanh ví dụ dữ liệu 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, dữ liệu các tài khoản, các khoản vay, sử dụng vốn,v.v Nhiều hệ quản trị cơ sở dữ liệu (CSDL) 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
Cùng với chức năng khai thác có tính chất tác nghiệp, việc khai thác các CSDL 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 to
Trang 7lớn trong mọi lĩnh vực hoạt động kinh doanh, quản lý Dữ liệu được thu thập và dữ liệu ngày càng nhiều nhưng người ra quyết định trong quản lý kinh doanh lại cần những thông tin bổ ích, những “tri thức” rút ra từ những nguồn dữ liệu đó hơn là chính những nguồn
dữ liệu đó cho việc ra quyết định của mình Các nhu cầu đó đã được biết đến từ lâu nhưng mới thực sự bùng nổ từ thập niên 90 Do đó những năm gần đây đã phát triển mạnh mẽ một loạt các lĩnh vực nghiên cứu về tổ chức các kho dữ liệu và kho thông tin 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 nghiên cứu của nhiều chuyên gia trong các lĩnh vực như hệ cơ sở dữ liệu, thống kê, chiết xuất thông tin, nhận dạng, học máy, trí tuệ nhân tạo .v.v Phần lớn các kỹ thuật chính được áp dụng trong lĩnh vực khai phá dữ liệu được kế thừa từ các lĩnh vực trên Các bài toán chủ yếu trong KPDL là phân lớp/dự đoán, phân cụm, khai phá luật kết hợp, khai phá chuỗi,v.v Lĩnh vực này cũng là điểm hội tụ và giao thoa của rất nhiều lĩnh vực khác KPDL đã và đang được ứng dụng thành công vào thương mại, tài chính và thị trường chứng khoán, sinh học, y học, giáo dục, viễn thông,v.v
Do KPDL là một lĩnh vực rộng lớn nên trong luận văn này chỉ đề cập đến khía cạnh khai phá dữ liệu bằng luật kết hợp dựa trên nền tảng của một số nghiên cứu đã được thực hiện
Trang 8CHƯƠNG 1 KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC
1.1 Khai phá dữ liệu
1.1.1 Tổng quan về khai phá dữ liệu
Hàng nghìn năm nay vấn đề về tổ chức khai thác dữ liệu là vấn đề mà con người phải giải quyết Đến nay vấn đề này vẫn chưa giải quyết được triệt để Các chuyên gia trong lĩnh vực khác nhau trong quá trình hoạt động của mình thu thập được một khối lượng kiến thức khổng lồ nhưng tổ chức cơ sở dữ liệu đó thành một hệ thống để phân tích đưa ra những thông tin cần thiết trên cơ sở dữ liệu đã được tập hợp là một vấn đề rất phức tạp
Các hệ thống tồn tại một cách chồng chéo khiến các thông tin thừa xảy ra nhiều
và vấn đề xử lý số liệu lớn và rất phức tạp Có một nghịch lý là chúng ta thu thập thông tin nhanh hơn rất nhiều việc xử lý thông tin
Cuối thế kỷ 20, phương pháp phân tích số liệu một cách trí tuệ (là phương pháp khai thác thông tin trực tiếp từ dữ liệu thô) đã thu hút được sự quan tâm của các nhà khoa học Những thử nghiệm đã được áp dụng trong nhiều lĩnh vực như phân tích thị trường tài chính, ngân hàng, đánh giá khả năng cho vay, phân tích đánh giá những mạo hiểm trong đầu tư được tiến hành rất nhiều Đây là vấn đề đặc biệt khó khi ta có một lượng thông tin khổng lồ Bài toán cần giải quyết ở đây là phân tích số liệu ra sao? Con người
và máy tính sẽ kết hợp với nhau như thế nào, con người sẽ làm những gì và những gì giao cho máy móc Dự đoán các vấn đề trên trong tương lai là rất khó nhưng quan trong nhất
là hiểu được giới hạn con người và giới hạn của các thiết bị máy móc Theo John Neumal thì số lượng neural của một người là 1020 bit mặc dù chúng ta không sử dụng hết số lượng này Một số nhà bác học đã mô phỏng các hành vi nhận dạng của não bộ (ví dụ mạng Hopfield) cho chúng ta khả năng nhận dạng tương tự như não người Các mẫu đã được huấn luyện để nhận dạng sẽ kích thích ở một vùng đã được xác định trước Người ta đã tính được rằng nếu một hệ thống được thiết lập từ 1020 Neural thì ghi nhận được 5.1018 mẫu khác nhau bằng 5% số lượng Neural Đây cũng chính là số lượng mẫu lớn nhất mà
Trang 9con người có thể nhớ được Đó là con số khổng lồ mà thiết bị điện tử không có khả năng đạt được Tuy nhiên, tốc độ của các Neural sinh học quá chậm do với các công nghệ tính toán hiện nay Vấn đề này có lý do là ở Neural sinh học tốc độ phản ứng nhỏ hơn Neural nhân tạo 8 lần Từ hai yếu tố số lượng và tốc độ của Neural ta xác định được khả năng sử dụng hệ thống trí tuệ nhân tạo trong quá trình KDD là quá trình khai thác thông tin từ cơ
sở dữ liệu Không có một chương trình máy tính nào hiện nay cũng như trong khoảng thời gian sắp tới có thể mô tả được độ phong phú của trí tuệ con người Tốt nhất chúng ta nên hạn chế các bài toán của con người trong lĩnh vực tổ chức công việc Máy móc tốt nhất là tập trung vào việc tìm kiếm tri thức mới(các quy luật ẩn dưới khối dữ liệu khổng lồ)
Các hệ thống KDD có thể xác định một cách hình tượng là các bộ tăng tốc cho trí tuệ con người Ứng dụng của hệ thống KDD yêu cầu phải có nghệ thuật biểu diễn và phương pháp tổ chức các bài toán Kết quả cuối cùng là lời giải dựa trên những thông tin
đã thu thập được Chìa khóa của vấn đề sử dụng KDD không phải lựa chọn một hoặc vài thuật toán KDD đã biết mà dựa vào việc phân tích dữ liệu bằng tổ hợp các phương pháp
Ta có thể lấy ví dụ trong lĩnh vực y tế Đầu thế kỷ 21, loài người đã biết được 105 triệu trứng bệnh, 105 mẫu thuốc 104 các loại bệnh khác nhau Rõ ràng nếu không có sự giúp
đỡ của KDD thì việc khám phá ra tri thức trong đó là điều không thể đối với bất kỳ chuyên gia nào
Chúng ta có thể coi tri thức như thông tin tích hợp bao gồm các sự việc và những quan hệ của chúng mà ta có thể lĩnh hội, khám phá hoặc học tập Nói một cách khác, tri thức có thể là dữ liệu ở mức trìu tượng hoá và khái quát cao
1.1.2 Nhiệm vụ chính của khai phá dữ liệu
Trong mọi hoạt động sản xuất - kinh doanh - quản lý thì yếu tốt thành công luôn gắn liền với việc nắm bắt, thống kê và khai thác thông tin hiệu quả Giờ đây KPDL đã và đang trở thành một trong những hướng nghiên cứu chính của lĩnh vực khoa học máy tính
Trang 10và công nghệ tri thức Do đó có thể coi mục đích chính của quá trình KPDL là một tả và
dự đoán mà các mẫu KPDL phát hiện được đều nhắm vào mục đích này
Để đạt được hai mục đích chính trên, nhiệm vụ chính của KPDL bao gồm:
Phân lớp: là việc học một hàm ánh xạ (hay phân loại) từ một mẫu dữ liệu vào một trong số các lớp đã được xác định trước
Hồi quy: là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán
có giá trị thực
Phân nhóm: là việc mô tả chung để tìm ra các tập dữ liệu xác định hay các nhóm
để mô tả dữ liệu Các nhóm có thể tách riêng, phân cấp hoặc chồng lên nhau Có nghĩa là
dữ liệu có thể vừa thuộc nhóm này vừa thuộc nhóm kia
Tóm tắt: liên quan đến các phương pháp tìm kiếm một mô tả cho một tập con dữ
liệu Các kỹ thuật tóm tắt thường được áp dụng cho các phân tích dữ liệu tương tác có tính thăm dò và tạo báo cáo tự động
Mô hình phụ thuộc: là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa các
biến Các mô hình phụ thuộc tồn tại dưới hai mức: mức cấu trúc của mô hình xác định các biến nào là phụ thuộc cục bộ vào nhau và mức định lượng của một mô hình xác định
độ mạnh của sự phụ thuộc theo một thước đo nào đó
Dò tìm biến đổi và phát hiện độ lệch: tập trung vào khai thác những thay đổi đáng
kể nhất trong dữ liệu từ các giá trị chuẩn hoặc được đo trước đó
1.1.3 Các dạng dữ liệu có thể khai phá
Do KPDL được ứng dụng rộng rãi nên có rất nhiều kiểu dữ liệu khác nhau được chấp nhập trong KPDL Dưới đây là một số kiểu dữ liệu điển hình:
CSDL quan hệ: là các CSDL tác nghiệp được tổ chức theo mô hình dữ liệu quan
hệ ( như Oracle, IBM, DB2, MS SQL, v.v )