ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Mở đầu
Khoa học và công nghệ là đặc trưng của thời đại, công nghệ thông tin trở
thành một lĩnh vực rộng lớn. Các thành tựu của công nghệ thông tin đã làm thay đổi
bộ mặt thế giới và một trong những thành tựu đó liên quan đến Cơ sở dữ liệu. Dữ
liệu đóng vai trò hết sức quan trọng, tác động trực tiếp đến hoạt động kinh tế xã hội
của hầu hết các quốc gia trên thế giới. Vì vậy, chúng ta phải làm sao đảm bảo việc
khai thác dữ liệu một cách hiệu quả nhất.
Trong phạm vi của bài thu hoạch nhỏ này, em sẽ giới thiệu về kĩ thuật Support
Vector Machines và Dataming ứng dụng trong CSDL Ngân hàng Kiên Long. Qua
đây, chúng em cũng xin được gửi lời cảm ơn đến Giáo sư - Tiến sỹ Đỗ Phúc, người
đã tận tâm truyền đạt những kiến thức nền tảng cơ bản cho chúng em về môn học
“DataMining”.
MÔN HỌC : DataMining - 1 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
MỤC LỤC
Mở đầu 1
GIỚI THIỆU SUPPORT VECTOR MACHINES 3
I. GIỚI THIỆU 3
II. Ý TƯỞNG CỦA PHƯƠNG PHÁP 3
PHẦN II :
MINING DỮ LIỆU KIÊN LONG BANK 6
I. CREATE A DATA MINER PROJECT 6
1. In the Data Miner tab, right-click user, and select New Project : 6
2. In the Create Project window, enter a project name (in this example KLB_Mining) and then click OK. 6
II. BUILD A DATA MINER WORKFLOW 7
1. Right-click your project and select New Workflow 7
2. Xuất hiện : 7
3. Click the Data category 8
4. Drag and drop the Explore Data 10
5. Link the data source and explore data 10
6. Create Classification 14
7. Áp dụng mô hình 18
Tài liệu tham khảo 24
MÔN HỌC : DataMining - 2 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
PHẦN I :
GIỚI THIỆU SUPPORT VECTOR MACHINES
I. GIỚI THIỆU
SVM là một phương pháp phân lớp xuất phát từ lý thuyết học thống kê. SVM sẽ cố
gắng tìm cách phân lớp dữ liệu sao cho có lỗi xảy ra trên tập kiểm tra là nhỏ nhất (Test Error
Minimisation).
II. Ý TƯỞNG CỦA PHƯƠNG PHÁP
Ý tưởng của nó là ánh xạ (tuyến tính hoặc phi tuyến) dữ liệu vào không gian các vector
đặc trưng (space of feature vectors) mà ở đó một siêu phẳng tối ưu được tìm ra để tách dữ
liệu thuộc hai lớp khác nhau [1].
Giả sử, chúng ta lựa chọn được tập các đặc trưng là T={t
1
, t
2
, …, t
n
}, x
i
là vector dữ liệu
được biểu diễn x
i
=(w
i1
, w
i2
, …, w
in
), w
in
∈R là trọng số của đặc trưng t
n
. Với tập dữ liệu huấn
luyện Tr={(x
1
, y
1
), (x
2
, y
2
), …, (x
l
, y
l
)}, (x
i
∈
R
n
), y
i
∈
{+1, -1}, cặp (x
i
, y
i
) được hiểu là vector x
i
được gán nhãn là y
i
.
Nếu coi mỗi x
i
được biểu diễn tương ứng với một điểm dữ liệu trong không gian R
n
thì ý
tưởng của SVM là tìm một mặt hình học (siêu phẳng) f(x) “tốt nhất” trong không gian n-
chiều để phân chia dữ liệu sao cho tất cả các điểm x
+
được gán nhãn 1 thuộc về phía dương
của siêu phẳng (f(x
+
)>0), các điểm x
-
được gán nhãn –1 thuộc về phía âm của siêu phẳng
(f(x
-
)<0)[2].
Hình 1: H
2
là mặt phẳng tốt nhất.
MÔN HỌC : DataMining - 3 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Việc tính toán để tìm ra siêu mặt phẳng tối ưu dùng kỹ thuật sử dụng toán tử Lagrange
để biến đổi thành dạng đẳng thức là rất phức tạp và khó khăn. Hiện nay đã có những bộ thư
viện đã hỗ trợ cho việc tính toán trên như : SVM
light
, LIBSVM, jSVM, …
Ví dụ: Giả sử ta có một tập các điểm được gán nhãn dương (+1):
{(3,1), (3, -1), (6, 1), (6, -1)}
Và tập các điểm được gán nhãn âm (-1) trong mặt phẳng R
+
:
{(1, 0), (0, 1), (0, -1), (-1, 0)}
Hình 2: Các điểm dữ liệu được biểu diễn trên R
+
.
Chúng ta sẽ dùng SVM để phân biệt hai lớp (+1 và -1). Bởi vì dữ liệu được chia tách
một cách tuyến tính, rõ ràng, nên chúng ta sử dụng linear SVM (SVM tuyến tính) để thực
hiện. Theo quan sát hình 2, chúng ta chọn ra 3 vector hỗ trợ để thực thi các phép toán nhằm
tìm ra mặt phẳng phân tách tối ưu nhất:
{s
1
= (1,0), s
2
= (3,1), s
3
= (3, -1)}
Hình 3: Các vector hỗ trợ (support vector) được chọn.
MÔN HỌC : DataMining - 4 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Các vector hỗ trợ được tăng cường (augmented) bằng cách thêm 1. Tức là s
1
= (1, 0), thì
nó sẽ được chuyển đổi thành
s
%
= (1, 0, 1). Theo kiến trúc SVM, công việc của chúng ta là tìm ra những giá trị
i
α
.
1 1 1 2 2 1 3 3 1
1 1 2 2 2 2 3 3 2
1 1 1 2 2 3 3 3 3
( ). ( ) ( ). ( ) ( ). ( ) 1
( ). ( ) ( ). ( ) ( ). ( ) 1
( ). ( ) ( ). ( ) ( ). ( ) 1
s s s s s s
s s s s s s
s s s s s s
α α α
α α α
α α α
Φ Φ + Φ Φ + Φ Φ = −
Φ Φ + Φ Φ + Φ Φ = +
Φ Φ + Φ Φ + Φ Φ = +
Bởi vì chúng ta sử dụng SVM tuyến tính nên hảm
()Φ
- dùng để chuyển đổi vector từ
không gia dữ liệu đầu vào sang không gian đặc trưng – sẽ bằng
() IΦ =
. Biểu thức trên được
viết lại như sau:
1 1 1 2 2 1 3 3 1
1 1 2 2 2 2 3 3 2
1 1 3 2 2 3 3 3 3
. . . 1
. . . 1
. . . 1
s s s s s s
s s s s s s
s s s s s s
α α α
α α α
α α α
+ + = −
+ + = +
+ + = +
% % % % % %
% % % % % %
% % % % % %
Ta rút gọn biểu thức trên thông qua việc tính toán tích vô hướng giữa các vector.
1 2 3
1 2 3
1 2 3
2 4 4 1
4 11 9 1
4 9 11 1
α α α
α α α
α α α
+ + = −
+ + = +
+ + = +
Giải hệ phương trình 3 ẩn trên ta có: α
1
= -3.5, α
2
= 0.75, α
3
= 0.75. Tiếp đến ta tính
trọng số
ω
%
thông qua công thức:
1 3 3 1
3.5 0 0.75 1 0.75 1 0
1 1 1 2
i i
i
s
ω α
÷ ÷ ÷ ÷
= = − + + − =
÷ ÷ ÷ ÷
÷ ÷ ÷ ÷
−
∑
%
%
Siêu phẳng phân chia 2 lớp đó là: y = wx + b với w = (1, 0) và b = -2
Hình 4: Siêu phẳng được biểu diễn trên R
+
.
MÔN HỌC : DataMining - 5 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
PHẦN II :
MINING DỮ LIỆU KIÊN LONG BANK
I. CREATE A DATA MINER PROJECT
1. In the Data Miner tab, right-click user, and select New Project :
2. In the Create Project window, enter a project name (in this example
KLB_Mining) and then click OK.
MÔN HỌC : DataMining - 6 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
II. BUILD A DATA MINER WORKFLOW
1. Right-click your project and select New Workflow
2. Xuất hiện :
MÔN HỌC : DataMining - 7 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
3. Click the Data category
Drag and drop the Data Source
MÔN HỌC : DataMining - 8 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Chọn table KHACHHANG_KLB Next
Chọn Finish
MÔN HỌC : DataMining - 9 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
4. Drag and drop the Explore Data
5. Link the data source and explore data
Right-click the data source, select Connect
MÔN HỌC : DataMining - 10 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Double-click the Explore Data, select the TIEPTUC
Right-click the Explore Data node and select Run.
MÔN HỌC : DataMining - 11 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Right-click the Explore Data, select View Data
MÔN HỌC : DataMining - 12 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
MÔN HỌC : DataMining - 13 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Data miner tính toán một loạt các thông tin về từng thuộc tính trong dữ
liệu, vì nó liên quan đến thuộc tính mà bạn đã xác định, bao gồm các giá trị biểu đồ
,trung bình, Min và Max giá trị, sai lệch chuẩn, phương sai,…
Màn hình hiển thị cho phép bạn hình dung và xác nhận các dữ liệu, và cũng
có thể tự kiểm tra các dữ liệu. Từ đây bạn có thể xác định phương hướng kinh doanh
sắp tới, các loại sản phẩm, cũng như nhu cầu thực tế của khách hàng.
6.Create Classification
Bạn muốn dự đoán các khách hàng có nhiều khả năng tiếp tục sử dụng sản
phẩm. Do đó, bạn sẽ chỉ định một mô hình phân loại. Theo mặc định, Oracle Data
Miner chọn tất cả các thuật toán hỗ trợ cho một mô hình phân loại.
Click on Models
Drag the Classification
MÔN HỌC : DataMining - 14 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Connect the data source node to the classification
In the Edit Classification window:
A. Select BUY_INSURANCE as the Target
B. Select CUSTOMER_ID as the Case Id
MÔN HỌC : DataMining - 15 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Bạn có thể thay đổi thuật toán bằng cách chọn Advanced
Right-click the classification build node and select Run
MÔN HỌC : DataMining - 16 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Right-click the classification build node and select Compare Test Results
MÔN HỌC : DataMining - 17 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
7. Áp dụng mô hình
Trong phần này, chúng ta áp dụng mô hình Support Vector Machines (SVM)
và tạo ra một bảng để hiển thị kết quả , dùng để dự đoán trường hợp khách hàng có
tiếp tục sử dụng dịch vụ của Ngân hàng không.
select the Class Build, nhấp vào mũi tên màu xanh ở cột Output, hiện lên dấu
chéo màu đỏ là không sử dụng thuật toán này .
Tiếp theo, create a new Data Source
Chọn bảng CUST_INSUR_LTV_SAMPLE, và sau đó nhấn Finish
Open the Evaluate and Apply
MÔN HỌC : DataMining - 18 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Drag and drop the Apply
Connect the Class Build node to the Apply Mode
Connect the KHACHHANG_KLB1 node to the Apply Mode
MÔN HỌC : DataMining - 19 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Trước khi bạn thực hiện cần xem xét các kết quả đầu ra. Theo mặc định,
APPLY MODEL tạo ra hai cột thông tin cho mỗi khách hàng:
• Dự đoán (Có hoặc Không)
• Xác suất dự đoán
Tuy nhiên, bạn thực sự muốn biết thông tin này cho mỗi khách hàng, để bạn
có thể dễ dàng kết hợp các thông tin với một khách hàng nhất định.
Để có được thông tin này, bạn cần phải thêm một số cột đầu ra (thên hết cũng
được).
A. Kích chuột phải vào nút APPLY MODEL và chọn Edit.
Kết quả: Cửa sổ xuất hiện. Chú ý rằng các cột Dự đoán và xác suất được xác
định tự động.
B. Ta có thể thêm thông tin bằng cách chọn tab Data Columns, và nhấp vào dấu
“+” như sau :
MÔN HỌC : DataMining - 20 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
• Chọn các cột trong danh sách thuộc tính có sẵn
• Sau đó nhấn OK.
Sau đó ,Run
MÔN HỌC : DataMining - 21 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Tạo bảng để lưu kết quả
Connect the Apply Model node to the OUTPUT
Right-click the OUTPUT_2_4 và select Run
MÔN HỌC : DataMining - 22 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Right-click OUTPUT_2_4 và select View Data
Đây là dữ liệu khách hàng sau khi đã thực hiện, với cột “Y” có khả năng tiếp
tục sử dụng sản phẩm !
MÔN HỌC : DataMining - 23 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Tài liệu tham khảo
1. Bài giảng môn học “DataMining” .
Giảng viên : GS.TS Đỗ Phúc
Chương trình đào tạo thac sĩ CNTT qua mạng.
2. Oracle Data Miner 11g
/>-168677.html
3. Wikipedia
/>MÔN HỌC : DataMining - 24 -