ĐẠ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
MỤC LỤC
BẢNG KÝ HIỆU CÁC TỪ VIẾT TẮT 5
LỜI MỞ ĐẦU 6
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ác thiế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ôn vùi vào lịch sử. Có thể nói chúng ta
đang rất giàu thông tin nhưng vẫn nghè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ành tri 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ìm kiế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
gia hay hỗ trợ quyết định. Công đoạn khai phá tri thức được thực hiện qua các quá
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 6
CHƯƠNG I 8
PHÁT TRIỂN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 8
1.1.Tổng quan khai phá dữ liệu 8
1.2.Tiền xử lý dữ liệu cho khai phá 9
1.3.Các thể hiện, biểu diễn kết quả khai phá 10
1.4.Kiến trúc cơ bản hệ thống khai phá dữ liệu 10
CHƯƠNG II 11
CÁC CHỨC NĂNG CƠ BẢN KHAI PHÁ DỮ LIỆU 11
2.1.Khai phá luật kết hợp 11
2.2.Phân lớp 13
3
2.3.Khai phá dữ liệu với gộp nhóm 17
Khó khăn với các trọng số các độ đo 19
Nhạy cảm với các tham số ban đầu (Số lớp K) 19
CHƯƠNG III 20
CÔNG CỤ KHAI PHÁ DỮ LIỆU ODM 20
Oracle 9i Data mining (ODM) được nhúng trong CSDL Oracle 9i hỗ trợ người
phát triển ứng dụng tích hợp khai phá dữ liệu với các ứng dụng CSDL trong
môi trường Oracle 9i 20
3.1.Các thuật toán ODM khai phá dữ liệu 20
3.2.Các bước khai phá dữ liệu 21
3.3.Các thành phần của ODM 22
3.4.Thực hiện các bước khai phá dữ liệu trong ODM 22
CHƯƠNG IV 24
SỬ DỤNG ODM KHAI PHÁ DỮ LIỆU 24
4.1.Một số định hướng khai phá dữ liệu 24
4.2.Xây dựng các công cụ hỗ trợ 26
4.3.Tiến hành một số thử nghiệm khai phá dữ liệu 27
KẾT LUẬN 29
Trong khuôn khổ của tiểu luận chưa có điều kiện để nghiên cứu, tìm hiểu được
đầy đủ các định hướng khi phá trên các dữ liệu thật và đưa ra kết quả cụ thể. Tiểu
luận mới chỉ khai phá được một phần lý thuyết và tìm hiểu một số mô hình thuật
toán khai phá tri thức trong các CSDL Oracle như khai phá luật kết hợp trong các
giao dịch bán lẻ, sản phẩm BHNT, phân loại, gộp nhóm khách hàng. Các kết quả
này chưa mang nhiều ý nghĩa thực tế, nhưng có thể đánh giá được về mặt thời
gian và dự ổn định của các mô hình và thuật toán 29
Kết quả đạt được: 29
Và một số định hướng phát triển chính: 29
TÀI LIỆU THAM KHẢO 30
4
BẢNG KÝ HIỆU CÁC TỪ VIẾT TẮT
Từ Tiếng Anh Tiếng Việt
CSDL Database Cơ sở dữ liệu
KDD Knowledge Data Discovery Phát hiện tri thức dữ liệu
DM Data Mining Khai phá dữ liệu
ODM Oracle Data Mining Công cụ khai phá dữ liệu
DMS Data Mining Server Máy chủ khai phá dữ liệu
5
LỜ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ác thiế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ôn vùi
vào lịch sử. Có thể nói chúng ta đang rất giàu thông tin nhưng vẫn nghè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ành tri
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ìm kiế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 gia hay
hỗ trợ quyết định. Công đoạn khai phá tri thức được thực hiện qua các quá
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ệu
trong 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ệm
khai 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ó tri
thứ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át
triể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ước
tiế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
dữ liệu.
6
Chươ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ản
hóa tối đa và tăng tính thực thi cho giải pháp khai phá dữ liệu. Nội dung
chươ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 thi
khai 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 Oracle
9i. Một số nhiệm vụ và chức năng trong ODM đã được cải tiến từ các
phươ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ệu
trong 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ện
khai 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ố giao
diện trợ giúp người dùng khai phá dữ liệu trên CSDL Oracle. Chương này
cũng đề cập một số nhu cầu khai phá dữ liệu trên kho dữ liệu ngành bảo
hiểm và thuế dựa trên một số tri thức nghiệp vụ khi tham gia xây dựng ứng
dụ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ết
nghiệ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ực
tiế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ạn
cùng lớp đã có nhiều ý kiến quý báu giúp em hoàn thành tiểu luận này.
7
CHƯƠNG I
PHÁT TRIỂN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU
1.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.
8
c. 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.
6. Các thách thức và giải pháp cơ bản
Nêu một số thách thức và giải pháp khắc phục, với thách thức cơ bản là khối
lượng lớn dữ liệu lớn và tận dụng các giải pháp xử lý song song.
1.2. Tiền xử lý dữ liệu cho khai phá
9
1.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
10
CHƯƠ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={i
1
,i
2
, ,i
m
} 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 T⊆I. Ta nói transaction T chứa X, một tập con
của I nếu X⊆I.
Một luật kết hợp có dạng X⇒Y với X⊂I, Y⊂I, X∩Y=∅
Luật X⇒Y có độ hỗ trợ (support) S nếu có s% transaction của D chứa
X∪Y.
S(X⇒Y)= P(X∪Y) (II.1.1)
Luật X⇒Y có độ tin cậy (confidence) C-nếu có c% giao dịch trong D
nếu chứa X cũng chữ Y.
C(X⇒Y)=
X
YXS
YXP
∪
=
(
)|(
(II.1.2)
Các luật thỏa mãn
ngưỡng hỗ trợ tối
thiểu (minsup) và
ngưỡng tin cậy tối
thiểu (minconf) được
gọi là các luật mạnh.
Một tập các itim
có k phần tử được
gọi là k_itemset. Ví
dụ tập {A,B,C] được
gọi là tập 3_itemset.
Một tập thường xuyên itemset là số các giao dịch chứa tập itemset. Tập
itemset thỏa mãn minsup nếu tập thường xuyên itemset lớn hơn ích của
minsu và tổng số các giao dịch. Nếu tập item thỏa mãn minsup thì xem như
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.
11
2) 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
Loại Ví dụ
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 L
k
là k-itemset được sinh từ L
k-1
bằng cách nối L
k-1
với L
k-1
: với mọi cặp l
i
,l
j
của L
k-1
có k-2 cặp phần tử giống nhau và một cặp
phần tử khác nhau, sẽ đưa k-2 phần tử của l
i
và l
j
phần tử l
i
[k-1] và l
j
[k-1]
vào C
k
.
* Bước loại bớt:
Để giảm kích cỡ của C
k
thuật toán Apriori thực hiện loại bớt các phần tử
trong C
k
sẽ không thuộc L
k
như sau: nếu tập bất kỳ tập con k-1 item của C
k
không thuộc L
k-1
thì nó sẽ bị loại bỏ khỏi C
k
.
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
12
- 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àm
mũ.
- 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ân
lớ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ện
trên các thuộc tính dự đoán, phần kết quả THÌ (THEN) gán giá trị cho thuộc
tí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ây
quyế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ệc
chuẩ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ập
huấ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.
13
2.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ợp
thà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ột
trườ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)=
∑
=
−
n
i
ii
pp
1
2
log.
(2.4.1);
Trong đó p
i
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
Avaluev
v
SEntropy
S
S
SEntropyASGain
∑
∈
−
(2.4.3)
Trong đó |s
v
| là số các phần tử tập S khi thuộc tính A mang trị v, |S| là số
phần tử tập S.
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)
14
- Đầ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ộc
tí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ụ được
gá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ấn
luyện tại mỗi thời điểm, ID3 dùng phương pháp Max-Gain để chọn thuộc
tí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ần
THEN)
Đá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ệu
thiếu.
Cây quyết định chỉ rõ các trường quan trọng cho dự báo phân lớp qua
mộ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ác
thành viên thuộc lớp. Các phân lớp Bayees cho tính chính xác và tốc độ cao
khi áp dụng vào các CSDL lớn.
15
a. 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=(x
1,
x
2
, ,x
n
) mô tả n
độ đo của n thuộc tính A
1
, ,A
n
.
- Giả sử có m lớp C
1
, ,C
m
. 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 C
i
có xác xuất điều kiện X cao nhất nghĩa là
)|( XCPCX
ii
⇔⊂
mj ≤≤∀1
, j≠i
Trong đó theo công thức Bayees ta có P(C
i
|X)=P(X|C
i
)P(C
i
)/P(X)
- Nếu P(X) là hằng chỉ cần tìm max P(X|C
i
)P(C
i
). Nếu xác suất đến trước
chưa biết và giả sử P(C
1
)=P(C
2
) thì tìm C
i
có max P(X|C
i
)P(C
i
)
- Nếu dữ liệu có nhiều thuộc tính chi phí tính toán P(X|C
i
) 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|
C
i
)=ΠP(X
k
|C
i
) với k=1 n
Trong đó P(X
k
|C
i
) được tính như sau: Với giả sử A
k
là thuộc tính giá trị tên
thì P(X
k
|C
i
)=S
ik
/S
i
, trong đó S
ik
là số ví dụ huấn luyện của lớp C
i
có giá trị X
k
với A
k
, S
i
là số ví dụ thuộc lớp C
i
.
- Để phân lớp cho đối tượng X chưa biết lớp: Tính các giá trị P(X|C
i
) cho
mọi lớp C
i
và X thuộc lớp C
i
khi và chỉ khi P(X|C
i
)=Max(P(X|
C
i
)P(C
i
)
2.2.5 Phân lớp bằng mạng Nơron
Mạng nơron học theo cách tương tự như sự ghi nhớ của con người bằng
cách kiểm tra dữ liệu hàng trăm, thậm chí hàng ngàn lần để tổ chức các mẫu
hình cơ bản, sau đó sử dụng mẫu hình xử lý cho các tình huống hiện tại. Các
ứng dụng mạng nơron truyền thẳng được xây dựng dựa trên các nhân tố ảnh
hưởng đến sự thay đổi của dữ liệu đã được chứng minh ra khá mạnh và hiệu
quả trong các bài toán dự báo, phân tích và phân loại dữ liệu. Mạng nơron
truyền thẳng nhiều lớp với thuật toán lan truyền ngược được sử dụng nhiều
nhất.
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:
16
b. 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 theo
hướ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ập
trung 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ác
thuậ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át
chứ 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.
17
Một kỹ thuật đơn giản nhất là chia N thành K tập con có thể, thử phân
hoạch lần đầu, sau đó lặp các bước phân hoạch bằng cách chuyển các đối
tượng từ nhóm này sang nhóm khác và đánh giá theo tiêu chuẩn gần nhất
của các đối tượng trong nhóm.
Kỹ thuật dựa tâm-Thuật toán k-mean
- Chọn ngẫu nhiên K đối tượng.
- Các đối tượng còn lại sẽ được gán vào các nhóm được coi là gần đối
tượng đó nhất dựa trên khoảng cách giữa đối tượng với tâm.
- Tính toán lại giá trị trung bình của mỗi nhóm.
- Các bước trên được lặp cho đến khi đạt hội tụ. Tiêu chuẩn sai số toàn
phương:
2
∑∑
−=
i
mpE
Trong đó E là tổng các sai số bình phương của mọi đối tượng trong
CSDL, p là điểm trong không gian biểu diễn các đối tượng, m
i
là trung
bình của nhóm C
i
. Tiêu chuẩn này tiến đến K nhóm là kín và tách rời
nhau. Thuật toán sẽ tiến đến K phân hoạch sao cho hàm sai số bình
phương là tối thiểu (LMS). Thuật toán này chỉ áp dụng được nếu xác
định được giá trị trung bình. Do vậy thuật toán sẽ không áp dụng được
cho dữ liệu tên (ký tự).
Các biến thể mở rộng của K-mean
K-medoid mở rộng phân hoạch cho các thuộc tính có giá trị tên bằng
kỹ thuật dựa trên tần suất xuất hiện.
2.3.3 Các phương pháp phân cấp
- Gộp nhóm phân cấp kiểu vun đống: Chiến lược từ dưới lên bắt đầu bằng
cách đặt mỗi đối tượng đơn vào một nhóm sau đó trộn vài nhóm thành
nhóm lớn hơn và lớn hơn nữa, cho đến khi thành một nhóm đơn hoặc
thỏa mãn điều kiện kết thúc nào đó.
18
- Kiểu tách dần: Bắt đầu bằng cách đặt các đối tượng thành một nhóm
đơn. Sau đó chia thành các nhóm nhỏ dần, cho đến khi thành các nhóm
với một đối tượng hoặc thỏa mãn điều kiện kết thúc.
2.3.4 Đánh giá
a) Các điểm mạnh.
- Gộp nhóm tự động gián tiếp.
- Có thể thực hiện trên nhiều loại kiểu dữ liệu khác nhau.
- Phát hiện nhóm tự động dễ áp dụng.
b) Nhược điểm của phát hiện nhóm tự động
- Khó khăn với các trọng số các độ đo.
- Nhạy cảm với các tham số ban đầu (Số lớp K)
19
CHƯƠNG III
CÔNG CỤ KHAI PHÁ DỮ LIỆU ODM
Oracle 9i Data mining (ODM) được nhúng trong CSDL Oracle 9i hỗ
trợ người phát triển ứng dụng tích hợp khai phá dữ liệu với các ứng dụng
CSDL trong môi trường Oracle 9i.
ODM hỗ trợ các chức năng cơ bản của khai phá dữ liệu như:
Chức năng Loại học Thuật toán Các nhiệm vụ thực hiện
Phân lớp Trực tiếp
ABN Cây quyết định
Naive Byees
Xây dựng
Kiểm thử
Áp dụng
Gộp nhóm Gián tiếp
K-means nâng cao
O-Cluster
Xây dựng
Áp dụng
Luật kết hợp Gián tiếp Apriori Xây dựng
Chọn thuộc tính Trực tiếp Dự báo biến đổi
Xây dựng
Áp dụng
Rời rạc hóa Trực tiếp
Xây dựng
Áp dụng
3.1. Các thuật toán ODM khai phá dữ liệu
Đặc điểm ABN BN
Số bản ghi Bất kỳ Bất kỳ
Số thuộc tính Bất kỳ Tốt nhất nhỏ hơn 200
Tốc độ Không nhanh lắm Nhanh hơn
Tính chính xác Tốt hơn Kém hơn
Loại thuộc tính Số và định danh Số và định danh
Thuộc tính đích Hai hoặc nhiều hơn Hai hoặc nhiều hơn
Bảng 5-So sánh ABN và BN
20
Đặc điểm K-means O-Cluster
Phương pháp gộp Dự trên khoảng cách Dựa trên lưới
Số bản ghi Bất kỳ Tốt nhất lớn hơn 100
Số thuộc tính Tốt với các bảng ít thuộc tính Tốt với bảng>10
thuộc tính
Số nhóm Người dùng định nghĩa Tự động xác định
Nhóm phân cấp Có Có
Bảng 6-So sánh K-means và O-Cluster
Sử dụng các chức năng và lựa chọn thuật toán
Thuật toán Chức năng Thích hợp ứng dụng
ABN Phân lớp
- Dữ liệu có nhiều thuộc tính
- Trong suốt mô hình bằng các luật
- Kiểm soát thời gian xây dựng mô hình
Naive Bayes Phân lớp Thời gian xây dựng mô hình nhanh nhất
K-means Gộp nhóm
- Cần chỉ ra số các nhóm
- Chỉ khai phá dữ liệu số.
- Các bảng nhỏ (<100 dòng)
- Số các thuộc tính nhỏ <100
O-Cluster Phân nhóm
- Tự động xác định số các nhóm.
- Thuộc tính số định danh.
- Có số thuộc tính ≥20
- Có số ví dụ >1000
3.2. Các bước khai phá dữ liệu
Hàm Xây dựng Kiểm thử Tính độ sai Áp dụng
Phân lớp X X X X
Gộp nhóm X X
Luật kết hợp X
Chọn thuộc tính X
Bảng 7- các nhiệm vụ khai phá dữ liệu được thực hiện trên các chức năng
21
3.3. Các thành phần của ODM
- Data Mining Server DMS: Máy chủ khai phá dữ liệu DM Engine
- Oracle9i Data mining API: Các giao diện lập trình ứng dụng.
- Các đối tượng trong ODM:
1) Physical Data Specification: mô tả đặc điểm vật lý của dữ liệu.
2) Mining Function Setting: quản lý các tham số xây dựng mô hình
3) Mining Algorithm Setting: Chứa các tham số liên quan đến thuật toán.
4) Logical Data Specification; tập thuộc tính mô tả logic dữ liệu đưa
vào.
5) Mining Attributes: mô tả vùng dữ liệu vào: dạng số hay dạng phân loại
6) Data Usage Specification: phương thức sử dụng thuộc tính trong mô
hình.
7) Mining model: kết quả mô hình xây dựng.
8) Mining Results: chứa các sản phẩm cuối cùng của khai phá dữ liệu.
9) Confusion Matrix: Đó là kết quả của bước kiểm thử với mô hình phân
lớp.
10) Mining Apply Output: chứa kết quả áp dụng mô hình.
3.4. Thực hiện các bước khai phá dữ liệu trong ODM
3.4.1 Các bước chuẩn bị.
- Cài đặt ODM, xác định URL của database mà ODM thường trú.
- Xác định dữ liệu xây dựng mô hình, dữ liệu phải trong Oracle9i.
- Làm sạch dữ liệu, lựa chọn dữ liệu.
- Xác định hàm khai phá.
- Xác định thuật toán sử dụng.
3.4.2 Xây dựng mô hình
- Kết nối tới DMS
- Khởi tạo dữ liệu xây dựng mô hình.
- Khởi tạo chức năng khai phá Mining Function Settings.
- Xây dựng mô hình
22
3.4.3 Ghi điểm dữ liệu bằng mô hình.
- Các bước chính ghi điểm.
- Áp dụng mô hình
23
CHƯƠNG IV
SỬ DỤNG ODM KHAI PHÁ DỮ LIỆU
4.1. Một số định hướng khai phá dữ liệu
4.1.1 Hệ thống CSDL ngành Thuế.
Các loại số liệu
Mục đích phân tích và đối tượng sử dụng số liệu
Một số định hướng phân tích khai phá:
- Phân loại các ĐTNT theo các loại hình, mức độ kinh doanh
- Phân lớp các khách hàng nợ thuế, dự báo ác ĐTNT nợ thuế, trốn thuế.
- Phát hiện các nghi vấn về doanh thu, tờ khai, thuế.
- Dự báo các khách hàng có thể có các sai phạm nghiêm trọng, hoàn thuế.
- Hỗ trợ chính sách thuế.
4.1.2 Hệ thống CSDL Bảo hiểm nhân thọ
Các loại số liệu
Một số định hướng phân tích khai phá:
a. Thiết kế sản phẩm:
- Phân tích tỷ lệ tử vong dựa trên các nguyên nhân, và tình trạng kinh tế,
sức khỏe của khách hàng, kiểm tra các phương pháp đánh giá rủi ro.
24
- Ước lượng khả năng rủi ro cho tương lai với các hợp đồng mới, dự báo
nhu cầu mức tổng trách nhiệm bảo hiểm.
- Phân loại và đánh giá các tỷ lệ rủi ro theo giới tính, độ tuổi, nghề nghiệp.
- Phân tích tình trạng sức khỏe thì sẽ tính được tỷ lệ thương tật, chết.
b. Lập kế hoạch ngân sách
Với công ty bảo hiểm nhân thọ, nhân tố chủ yếu để lập kế hoạch ngân
sách là số lượng hợp đồng mới và sự tăng trưởng của tổng trách nhiệm mức
bảo hiểm (số tiền bảo hiểm mà người được bảo hiểm sẽ được nhận). Cần có
các ước tính và phân tích lợi nhuận, chi phí để thẩm định và kiểm tra kế
hoạch dự trù ngân sách.
c. Phân tích chi phí.
Phân tích chi phí trợ giúp cho lập ngân sách và quản lý thực hiện phương
án kinh doanh. Một điểm tồn tại về chi phí của công ty bảo hiểm nhân thọ là
chi phí sinh hoạt lớn khi bán đơn bảo hiểm, liên quan đến số lượng hợp
đồng mới. Vì vậy các kết quả khai thác hợp đồng mới cần phân tích để đánh
giá các biến động lớn và điều chỉnh ngân sách.
d. Phân tích kinh doanh
Các kết quả phân tích từ các số liệu thống kê kinh doanh nhằm các định
hướng:
- Sẽ mở rộng thị trường theo loại hình sản phẩm nào, sự kết hợp hợp lý
của các sản phẩm chính với điều khoản riêng.
- Phân loại khách hàng theo độ tuổi, thu nhập, giới tính chiến lược quảng
cáo và bán hàng hợp lý.
- Dự báo kết quả kinh doanh, tổng mức trách nhiệm trong tương lai.
- Ước tính các xu hướng biến động các tỷ lệ, lãi từ tỷ lệ tử vong trong
tương lai và lập phương án chi lãi theo tỷ lệ tử vong.
e. Quản lý các rủi ro khác
- Phân lớp khách hàng kết thúc hợp đồng sớm, hủy hợp đồng-Nợ quá hạn.
Hủy trong vòng 30 ngày.
- Phân lớp khách hàng nợ phí theo các mức độ thu nhập, độ tuổi khách
hàng không có khả năng trả nợ, vay phí.
- Phân tích các tỷ lệ nằm viện, tỷ lệ thương tật, tai nạn, sự biến động các tỷ
lệ xảy ra các hiện tượng làm phát sinh trách nhiệm bảo hiểm.
25
- Phân tích được tiến hành trên các số liệu tập hợp từ nhiều công ty thành
viên, và nhiều quốc gia khác nhau để đảm bảo cho kết quả đáng tin cậy.
4.2. Xây dựng các công cụ hỗ trợ
4.2.1 Xây dựng các tiện ích xử lý dữ liệu.
a. Chuyển đổi dữ liệu bên ngoài vào CSDL Oracle
Tiện ích chuyển đổi này thực thi trong môi trường Oracle cho phép
người dùng khai báo các tham số định nghĩa ánh xạ và các công thức
chuyển đổi hoặc làm sạch dữ liệu như chuyển dạng, chuẩn hóa mã, các công
thức số học tính toán giữa các trường, các hàm xoay cột thành hàng…từ các
dữ liệu nguồn vào các bảng dữ liệu Oracle.
b. Chuyển đổi dữ liệu về dạng có thể khai phá được.
Chuyển từ dạng quan hệ sang dạng giao dịch.
c. Rời rạc hóa dữ liệu
- Rời dữ liệu vào là bảng có các giá trị theo tên hoặc giá trị số liên tục.
- Qua thủ tục rời rạc mã hóa sẽ có 3 bảng kết quả sau: Bảng map các giá trị
tên vào Group_ID; Bảng map các giá trị số liên tục vào bảng khoảng
BIN_ID; Kết quả dữ liệu có giá trị các trường Bin_Id hoặc Group_Id.
d. Biểu diễn kết quả thành các dạng dễ hiểu.
- Dữ liệu dạng cây: Sử dụng query phân cấp thể hiện kết quả ra.
- Dữ liệu dạng cây ABN trên hai bảng quan hệ.
4.2.2 Xây dựng các giao diện hỗ trợ khai phá dữ liệu
Sử dụng Oracle Form 6i xây dựng các giao diện thực hiện:
26