Công đoạn khai phá tri thức được thực hiện qua cácquá trình thu thập, tinh lọc dữ liệu để tìm các mẫu hình tri thức có ý nghĩa sử dụng rất nhiều kỹ thuật như học máy, nhận dạng, thống kê
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TIỂU LUẬN KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
TÌM HIỂU KHAI PHÁ DỮ LIỆU-KHO DỮ LIỆU
TRONG CƠ SỞ DỮ LIỆU ORACLE
Người thực hiện: Nguyễn Đạt Tiến
Mã số: CH1102018
Giảng viên phụ trách: PGS.TS Đỗ Phúc
Hà Nội, tháng 11 năm 2012
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 4
CHƯƠNG I – PHÁT TRIỂN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 4
1.1 Tổng quan khai phá dữ liệu 6
1.2 Tiền xử lý dữ liệu cho khai phá 7
1.3 Các thể hiện, biểu diễn kết quả khai phá 7
1.4 Kiến trúc cơ bản hệ thống khai phá dữ liệu 8
CHƯƠNG II – CÁC CHỨC NĂNG CƠ BẢN KHAI PHÁ DỮ LIỆU 9
2.1 Khai phá luật kết hợp 9
2.2 Phân lớp 11
2.3 Khai phá dữ liệu với gộp nhóm 14
CHƯƠNG III – CÔNG CỤ KHAI PHÁ DỮ LIỆU ODM 15
3.1 Các thuật toán ODM khai phá dữ liệu 15
3.2 Các bước khai phá dữ liệu 15
3.3 Các thành phần của ODM 15
3.4 Thực hiện các bước khai phá dữ liệu trong ODM 15
CHƯƠNG IV – SỬ DỤNG ODM KHAI PHÁ DỮ LIỆU 16
4.1 Một số định hướng khai phá dữ liệu 16
4.2 Xây dựng các công cụ hỗ trợ 16
4.3 Tiến hành một số thử nghiệm khai phá dữ liệu 16
KẾT LUẬN 17
TÀI LIỆU THAM KHẢO 18
Trang 3BẢNG KÝ HIỆU CÁC TỪ VIẾT TẮT
KDD Knowledge Data Discovery Phát hiện tri thức dữ liệu
ODM Oracle Data Mining Công cụ khai phá dữ liệuDMS Data Mining Server Máy chủ khai phá dữ liệu
Trang 4LỜI MỞ ĐẦU
Tiềm năng phát sinh và thu thập dữ liệu trong vòng vài thập kỷ qua
đã tăng một cách nhanh chóng Xu hướng máy tính hóa các doanh nghiệp,các tổ chức, các giao dịch chính phủ cùng với sự phát triển của các công cụthu thập dữ liệu như dử dụng mã vạch, máy quét văn bản, hình ảnh đến cácthiết bị quan sát vệ tinh từ xa, sử dụng rộng rãi world wide web đã làm thếgiới ngập trong hàng núi dữ liệu Qua rất nhiều năm, dữ liệu đang bị chônvùi vào lịch sử Có thể nói chúng ta đang rất giàu thông tin nhưng vẫnnghèo thông tin bởi vì chưa có các công cụ phân tích tự động và hữu hiệu hỗtrợ con người nhận thức được dữ liệu Lỗ hổng giữa dữ liệu và thông tin đãthúc đẩy sự phát triển công nghệ mới trợ giúp thông minh biến dữ liệu thànhtri thức và thông tin có ích, đó là công cụ khai phá dữ liệu Với công cụ này
sẽ làm cho dữ liệu chết trở thành mỏ vàng tri thức Việc khai phá và tìmkiếm tri thức tiềm tàng từ khối lượng dữ liệu khổng lồ đã có nhằm phục vụcho những nhu cầu sử dụng thông tin cao hơn như trong các hệ chuyên giahay hỗ trợ quyết định Công đoạn khai phá tri thức được thực hiện qua cácquá trình thu thập, tinh lọc dữ liệu để tìm các mẫu hình tri thức có ý nghĩa
sử dụng rất nhiều kỹ thuật như học máy, nhận dạng, thống kê, phân loại,mạng nơ-ron (neural network), các giải thuật di truyền, quy nạp luật
Tiểu luận này tập trung giới thiệu, đánh giá một số công nghệ,phương pháp cơ bản khai phá dữ liệu trong các cơ sở dữ liệu lớn và kho dữliệu Trên cơ sở đó, sử dụng và đánh giá được các công cụ hỗ trợ khai phá
dữ liệu Oracle Đó là nền tảng cơ bản hướng tới thử nghiệm khai phá dữ liệutrong một số kho dữ liệu thực với hy vọng thu nhận được các mô hình vàquy luật có ý nghĩa và giá trị cao Một động cơ thúc đẩy việc thử nghiệmkhai phá dữ liệu là muốn xem xét, đánh giá việc xây dựng thiết kế của các
hệ CSDL tác nghiệp và kho dữ liệu sao cho tích lũy những dữ liệu có trithức cao
Tiểu luận bao gồm 4 chương:
Chương I: Giới thiệu tổng quan các khái niệm cơ bản, xu hướng pháttriển tất yếu các thách thức và các giải pháp của khai phá dữ liệu Các bướctiến hành, các nhiệm vụ và các phương pháp được liệt kê trong chương này
hỗ trợ các kiến thức cơ bản cho công cuộc khai phá tri thức từ CSDL và kho
Trang 5Chương II Giới thiệu các chức năng, thuật toán của công cụ khai phá
dữ liệu Trên cơ sở đó so sánh đánh giá để gợi ý các lựa chọn hướng đi,công cụ và kỹ thuật khi tiến hành khai phá dữ liệu Chương này nhằm mô tảmột bức tranh tổng thể cách tiếp cận các phương pháp theo góc độ đơn giảnhóa tối đa và tăng tính thực thi cho giải pháp khai phá dữ liệu Nội dungchương này sẽ là cơ sở nền tảng kỹ thuật để cài đặt các công cụ và thực thikhai phá dữ liệu Đó là các mô tả thuật toán, kỹ thuật cải thiện hiệu năng,đánh giá so sánh các nhiệm vụ khai phá dữ liệu như luật kết hợp, phân lớp,gộp nhóm với các thuật toán dựa trên các phương pháp xác suất, thống kê,mạng nơron
Chương III: Giới thiệu và đánh giá cách sử dụng ODM-công cụ hỗtrợ khai phá dữ liệu của oracle được tích hợp trong hệ quản trị CSDL Oracle9i Một số nhiệm vụ và chức năng trong ODM đã được cải tiến từ cácphương pháp cơ bản khai phá dữ liệu ODM đã cung cấp giao diện lập trìnhứng dụng như các đối tượng, packages cho phép thực hiện khai phá dữ liệutrong CSDL Oracle Các giao diện API được viết và thực thi trên nền Java.Chương này cũng mô tả trình tự thực hiện các bước sử dụng ODM thực hiệnkhai phá dữ liệu
Chương IV; Trên cơ sở sử dụng công cụ ODM, xây dựng một số giaodiện trợ giúp người dùng khai phá dữ liệu trên CSDL Oracle Chương nàycũng đề cập một số nhu cầu khai phá dữ liệu trên kho dữ liệu ngành bảohiểm và thuế dựa trên một số tri thức nghiệp vụ khi tham gia xây dựng ứngdụng tác nghiệp cho các ngành này Mô tả tiến hành thử nghiệm khai phátrên một số dữ liệu giả định và dữ liệu của các lĩnh vực bảo hiểm và thuế.Việc áp dụng có tính chất thử nghiệm theo khía cạnh kỹ thuật và hiểu biếtnghiệp vụ tích lũy được trong quá trình triển khai ứng dụng Tuy nhiên, để
có được các kết quả thật sự có giá trị đòi hỏi cần có sự đầu tư, tham gia trựctiếp của chính các chuyên gia chuyên ngành
Em xin chân thành cảm ơn Phó giáo sư-Tiến sĩ Đỗ Nhơn và các bạncùng lớp đã có nhiều ý kiến quý báu giúp em hoàn thành tiểu luận này
Trang 6CHƯƠNG I PHÁT TRIỂN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU1.1 Tổng quan khai phá dữ liệu
1 Khai phá dữ liệu là gì?
- Các khái niệm dữ liệu, thông tin và tri thức
Quá trình tìm những thông tin có giá trị, những xu hướng phát triển và những yếu
tố tác động lên chúng chính là quá trình phát hiện tri thức từ CSDL (Knowledge
Discovery) Khai phá dữ liệu là một tập các kỹ thuật được sử dụng để tự động
khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập dữ liệu rất lớn và phức tạp, tìm ra những mẫu tiềm ẩn trong tập dữ liệu đó.
2 Tiến trình phát triển – tại sao ?
Khai phá dữ liệu được xem như là xu hướng tất yếu của ngành công nghệ thông tin với tiến trình phát triển : tạo lập, thu thập dữ liệu, quản trị dữ liệu (lưu trữ và truy cập), phân tích và hiểu biết dữ liệu.
3 Các chức năng khai phá dữ liệu
a Phân tích kết hợp
Chức năng khai phá luật kết hợp nhằm
phát hiện các luật kết hợp, chỉ ra các điều
kiện một tập hợp dữ liệu xuất hiện cùng
nhau.
b Phân lớp và dự báo
Phân lớp là quá trình tìm một tập hợp các mô hình (hoặc các hàm mô tả phân biết các lớp dữ liệu và sử dụng mô hình để dự báo lớp cho các đối tượng mới Hàm phân lớp là một ánh xạ từ một mẫu dữ liệu vào một trong các lớp đã biết.
Trang 7c Phân tích gộp nhóm
Phân tích gộp nhóm là quá trình xác định
lớp (chưa biết trước) cho các đối tượng theo
thuộc tính của chúng Các đối tượng được
gộp nhóm sao cho các phần tử trong cùng
nhóm là giống nhau nhất (theo một tiêu
chuẩn nào đó), các phần tử khác nhóm giống
nhau ít nhất.
4 Khai phá dữ liệu trên các loại dữ liệu nào ?
Nêu đặc trưng và khả năng áp dụng khai phá dữ liệu trên các loại dữ liệu như CSDL quan hệ, kho dữ liệu, CSDL không gian, dữ liệu văn bản, website… Các CSDL quan hệ là một trong những kho chứa phổ biến, giàu thông tin nhất và là dạng dữ liệu chủ yếu để nghiên cứu khai phá dữ liệu Kho dữ liệu là môi trường tốt nhất cho khai phá dữ liệu hoạt động hiệu quả.
5 Quá trình phá triển tri thức – KDD
Bước 1 : Nhận thức lĩnh vực ứng dụng.
Bước 2 : Tập hợp và tiền xử lý dữ liệu
Bước 3 : Khai phá dữ liệu : Chọn mục đích: phân lớp, luật kết hợp, gộp nhóm…
Chọn phương pháp: Mạng nơron, cây quyết định…
Bước 4 : Hậu xử lý : Diễn giải tri thức khám phá được.
Trang 81.3 Các thể hiện, biểu diễn kết quả khai phá.
Để việc khai phá dữ liệu có hiệu quả hệ thống DM phải cho khả năng thể hiện được các kết quả mẫu khai phá được theo nhiều dạng như : các luật, các bảng, các
sơ đồ dạng bar, piece, cây quyết định…
1.4 Kiến trúc cơ bản hệ thống khai phá dữ liệu
Trang 9CHƯƠNG II CÁC CHỨC NĂNG CƠ BẢN KHAI PHÁ DỮ LIỆU
2.1 Khai phá luật kết hợp
2.1.1 Các khái niệm luật kết hợp
Cho I={i1,i2, ,im} là tập các item D là tập các giao dịch, mỗi giao dịch T
là một tập các item, có nghĩa TI Ta nói transaction T chứa X, một tập concủa I nếu XI
Một luật kết hợp có dạng XY với XI, YI, XY=
Luật XY có độ hỗ trợ (support) S nếu có s% transaction của D chứaXY
S(XY)= P(XY) (II.1.1)
Luật XY có độ tin cậy (confidence) C-nếu có c% giao dịch trong D nếuchứa X cũng chữ Y
ngưỡng tin cậy tối
thiểu (minconf) được
là frequent itemset (tập thường xuyên)
Khai phá luật kết hợp là tiến trình gồm hai bước sau :
1) Tìm tất cả các frequent itemset : tập này có độ hỗ trợ ≥ minsup
Trang 102) Sử dụng các frequent itemset và (2.1.2) để sinh luật mạnh.
2.1.2 Các loại khai phá luật kết hợp
Theo các loại giá trị:
C/K, số
Boolean: If Age(X, “Young” Then Mua(X,“C”)
IF tuổi (X,“30 39”) THEN mua(X,“Tivi”)Dựa trên các chiều
dữ liệu
1 chiều: mua(X,“Máy tính”)mua(X,“máy in”)Nhiều chiều: tuổi(X,“30 39”)mua(X,“Tivi”)Dựa trên các mức
tổng quát dữ liệu
Tuổi(X,“30 39”) mua(X,“Laptop”)Tuổi(X,“30 39”) mua(X,“Máy tính”)
2.1.3 Khai phá luật kết hợp boolean đơn chiều
1 Thuật toán Apriori tìm các tập frequent itemset
* Bước kết nối:
Để tìm tập ứng cử viên Lk là k-itemset được sinh từ Lk-1 bằng cách nối Lk-1
với Lk-1: với mọi cặp li,lj của Lk-1 có k-2 cặp phần tử giống nhau và một cặpphần tử khác nhau, sẽ đưa k-2 phần tử của li và lj phần tử li[k-1] và lj[k-1]vào Ck
* Bước loại bớt:
Để giảm kích cỡ của Ck thuật toán Apriori thực hiện loại bớt các phần tửtrong Ck sẽ không thuộc Lk như sau: nếu tập bất kỳ tập con k-1 item của Ck
không thuộc Lk-1 thì nó sẽ bị loại bỏ khỏi Ck
2 Sinh luật từ các tập frequent itemset
- frequent itemset 1 sinh ra tất cả các tập con của s 1 và s≠
- s có luật “s(1-s)” neus ((sup_count(1)/sup_count(s))≥minconf
2.1.4 Cải thiện thuật toán
1 Kỹ thuật hàm băm – đếm itemset
2.Giảm giao dịch: Giảm số các giao dịch phải truy đọc trong mỗi bước lặp
3 Phân hoạch dữ liệu: Kỹ thuật này dùng để tìm tập ứng cử
4 Lấy mẫu điển hình-khai phá trên tập con dữ liệu
2.1.5 Đánh giá phân tích luật kết hợp
Trang 11- Hình thức biểu diễn mẫu là luật “If Then” dễ hiểu.
- Kết quả của kỹ thuật này là những luật đáng quan tâm
- Tuy nhiên, điểm yếu của các phân tích quy nạp luật ở chỗ số lượng luật
có thể nhiều điểm khó kiểm soát và kích thước phức tạp tính toán hàmmũ
- Giải pháp: tận dụng các cơ chế phân tán và xử lý song song
2.2 Phân lớp
Mục đích nhiệm vụ phần lớp là dự đoán giá trị lớp (đã biết tập giá trịlớp) của thuộc tính đích dựa trên giá trị các thuộc tính đầu vào Luật phânlớp là luật dự đoán trong đó phần điều kiện NẾU (IF) là tổ hợp các điều kiệntrên các thuộc tính dự đoán, phần kết quả THÌ (THEN) gán giá trị cho thuộctính đích
2.2.1 Phân lớp – một quá trình hai bước
Bước 1: Xây dựng mô hình – Học
Mô hình được xây dựng bằng cách phân tích tập dữ liệu huấn luyện, sửdụng các thuật toán phân lớp và thể hiện mô hình theo luật phân lớp, câyquyết định hoặc các công thức toán học, mạng noron
Bước 2: Sử dụng mô hình-phân lớp:
Áp dụng mô hình cho tập dữ liệu
kiểm thử với các lớp dữ liệu đã xác định
để kiểm tra và đánh giá độ chính xác của
mô hình Nếu độ chính xác chấp nhận
được sẽ sử dụng mô hình để phân lớp
cho dữ liệu chưa biết lớp, hoặc cho
tương lai
2.2.2 Xây dựng các tập dữ liệu
Một đặc điểm của chức năng phân lớp là cần có chiến lược cho việcchuẩn bị ba tập dữ liệu (có cấu trúc thuộc tính dự đoán là giống nhau): Tậphuấn luyện, tập kiểm thử đã biết lớp và tập mới chưa xác định lớp nào
Trang 122.2.3 Phân lớp bằng học cây quyết định
a Các định nghĩa
Học cây quyết định là một phương pháp học phân lớp với hàm phân lớp
là cây quyết định Cây quyết định phân lớp bằng cách sắp các trường hợpthành cây từ gốc đến lá Mỗi nút trên tương ứng các thuộc tính của mộttrường hợp, mỗi nhánh tương ứng với một giá trị có thể có của thuộc tính,nút lá mang giá trị lớp của trường hợp
Độ đo entropy – Độ đo sự hỗn tạp của S gọi là độ đo Entropy, ký hiệu là Entropy(S)
Cho một tập S:S{s1,s2, ,sn} Một hàm phân loại tập S, phân các phần tửcủa tập S thành các lớp khác nhau: Entropy(S)=
log (2.4.1);Trong đó pi là xác suất của số phần tử thuộc lớp thứ i trong tập S
Độ đo lợi ích thông tin Gain:
) (
* )
( )
,
(
) (
v A
value v
S
S S
Entropy A
b Khai phá với học cây quyết định
* Thuật toán xây dựng cây quyết định
ID3(tập ví dụ, Thuộc tính đích, Tập thuộc tính)
Trang 13- Đầu tiên chọn một thuộc tính làm gốc, sinh ra các node con, mỗi nodeứng với một giá trị có thể của thuộc tính được chọn.
- Chia tập ví dụ thành các tập con ứng với các giá trị có thể của thuộctính được chọn, gán các tập con tương ứng các node con
- Lặp lại quá trình với các node con cho đến khi tất cả các ví dụ đượcgán với các node lá đã biết giá trị hàm đích
Vấn đề quan trọng là chọn thuộc tính nào để phân chia tập ví dụ huấnluyện tại mỗi thời điểm, ID3 dùng phương pháp Max-Gain để chọn thuộctính tốt nhất
* Biến cây thành luật
Tri thức được biểu diễn trong cây quyết định có thể được trích lọc vàbiểu diễn thành dạng luật IF THEN Một luật là một đường đi từ gốc tới lámỗi cặp giá trị và thuộc tính theo con đường đó tạo ra một vị từ trong tiền tố(phần IF) Nút lá giữ giá trị lớp dự đoán, là hậu tố của mệnh đề (phầnTHEN)
Đánh giá các phương pháp cây quyết định:
- Ưu điểm:
Cây quyết định có thể sinh ra các luật dễ hiểu
Cây quyết định thực hiện phân lớp không đòi hỏi tính toán nhiều
Có thể sử dụng cho cả biến liên tục, biến phân loại và với các dữ liệuthiếu
Cây quyết định chỉ rõ các trường quan trọng cho dự báo phân lớp quamột số phép đo như độ đo lợi ích thông tin, độ quan trọng thống kê,
- Điểm yếu:
Cây quyết định có độ chính xác kém với bài toán giá trị liên tục
Lỗi khi tỉa bớt cây với quá nhiều lớp
Chi phí huấn luyện lớn
2.2.4 Phân lớp bayees
Phân lớp bayees là phương pháp phân lớp thống kê dự đoán xác suất cácthành viên thuộc lớp Các phân lớp Bayees cho tính chính xác và tốc độ caokhi áp dụng vào các CSDL lớn
Trang 14a Lý thuyết Bayees
Công thức Bayees là: P(H|X)=P(X|H)P(H)/P(X) (2.5.1)
b. Phân lớp Naive Bayees
- Mỗi dữ liệu ví dụ được biểu diễn bằng một vecto X=(x1,x2, ,xn) mô tả n
độ đo của n thuộc tính A1, ,An
- Giả sử có m lớp C1, ,Cm Cho trường hợp X chưa biết lớp, phân lớp sẽ
dự đoán X thuộc lớp Ci có xác xuất điều kiện X cao nhất nghĩa là
)
| (C X P C
Trong đó theo công thức Bayees ta có P(Ci|X)=P(X|Ci)P(Ci)/P(X)
- Nếu P(X) là hằng chỉ cần tìm max P(X|Ci)P(Ci) Nếu xác suất đến trướcchưa biết và giả sử P(C1)=P(C2) thì tìm Ci có max P(X|Ci)P(Ci)
- Nếu dữ liệu có nhiều thuộc tính chi phí tính toán P(X|Ci) có thể rất lớn,với giả thiết các thuộc tính độc lập điều kiện lớp thì có thể tính P(X|
a Mạng nơron (Neural Network)
Mạng nơron được xem như một mô hình liên kết các đơn vị xử lý, mỗiđơn vị xử lý được mô tả như sau:
Trang 15b Huấn luyện mạng thuật toán lan truyền ngược
Mạng nơron là tập các đơn vị vào/ra liên kết trong đó mỗi liên kết thểhiện bằng một trọng số Quá trình học phân lớp của mạng nơron bằng cáchđiều chỉnh các trọng số sao cho dự báo lớp đúng nhất Học lan truyền ngược
là quá trình lặp trên tập các ví dụ huấn luyện và so sánh với các lớp thực sựcủa chúng và trọng số được điều chỉnh sao cho bình phương trung bình cósai số tối thiểu (Least Means Square-LMS) Các điều chỉnh được làm theohướng “ngược” nghĩa là từ tầng ra đến tầng ẩn, xuống đến tầng ẩn đầu tiên
2.3 Khai phá dữ liệu với gộp nhóm
2.3.1 Phân tích gộp nhóm.
Khác với phân lớp, trong quá trình gộp nhóm lớp của mỗi đối tượng
là chưa biết trước Chức năng gộp nhóm có thể được sử dụng độc lập đểphân hoạch dữ liệu, quan sát các đặc điểm đối tượng của mỗi nhóm và tậptrung phân tích tập các nhóm hoặc có thể sử dụng như là tiền xử lý cho cácthuật toán khác như phân lớp, đặc điểm hóa Gộp nhóm là học trên quan sátchứ không phải là học trên ví dụ và bao gồm hai thành phần: Phát hiện lớp
và hình thành mô tả mỗi nhóm như trong phân lớp
2.3.2 Các phương pháp phân hoạch
Cho một CSDL với N đối tượng, phương pháp phân hoạch xây dựng K(K≤N) phân hoạch, trong đó mỗi phân hoạch biểu diễn một nhóm Điều đónghĩa là phân lớp dữ liệu thành K nhóm thỏa mãn:
1) Mỗi nhóm phải chứa ít nhất một đối tượng.
2) Mỗi đối tượng chỉ thuộc một nhóm.