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

Async smote một giải pháp cho phân lớp dữ liệu mất cân bằng

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 (2.1 MB, 50 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI

--------

ĐỖ NGỌC QUỲNH

NGHIÊN CỨU PHƢƠNG PHÁP
DEC-SVM PHÂN LỚP DỮ LIỆU
MẤT CÂN BẰNG

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

HÀ NỘI, NĂM 2017


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI

--------

ĐỖ NGỌC QUỲNH

NGHIÊN CỨU PHƢƠNG PHÁP
DEC-SVM PHÂN LỚP DỮ LIỆU
MẤT CÂN BẰNG

Chuyên ngành: Hệ thống thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN


Ngƣời hƣớng dẫn khoa học: TS. Đặng Xuân Thọ
HÀ NỘI, NĂM 2017


LỜI CAM ĐOAN
Tôi xin cam đoan bản luận án này là kết quả nghiên cứu của cá nhân tôi.
Các số liệu và tài liệu được trích dẫn trong luận án là trung thực. Kết quả nghiên
cứu này không trùng với bất cứ công trình nào đã được công bố trước đó.
Tôi chịu trách nhiệm với lời cam đoan của mình.

Hà Nội, ngày

tháng

năm 2017

Tác giả luận văn

Đỗ Ngọc Quỳnh


LỜI CẢM ƠN
Để hoàn thành luận văn này, em xin bày tỏ lòng kính trọng và biết ơn
sâu sắc đến TS. Đặng Xuân Thọ, đã tận tình hướng dẫn, động viên và giúp đỡ
em trong suốt thời gian thực hiện đề tài.
Em xin chân thành cảm ơn các thầy cô giáo trong khoa Công nghệ
thông tin, Trường Đại học Sư phạm Hà Nội đã tạo mọi điều kiện thuận lợi
cho em được học tập và nghiên cứu trong thời gian qua.
Cuối cùng, em xin gửi lòng biết ơn đến những người thân trong gia
đình và bạn bè đã dành cho em sự khích lệ, động viên và giúp đỡ em trong

suốt quá trình học tập.
Mặc dù đã có nhiều cố gắng để thực hiện luận văn, nhưng quá trình
thực hiện không thể tránh khỏi những thiếu sót và hạn chế. Rất mong nhận
được sự thông cảm và ý kiến đóng góp của các thầy cô giáo và các bạn.
Em xin chân thành cảm ơn!

Hà Nội, ngày… tháng … năm 2017
Tác giả luận văn

Đỗ Ngọc Quỳnh


MỤC LỤC

MỤC LỤC ..............................................................................................................1
DANH MỤC CÁC HÌNH VẼ ................................................................................3
DANH MỤC CÁC BẢNG BIỂU...........................................................................3
DANH MỤC CÁC TỪ VIẾT TẮT ........................................................................4
PHẦN 1 – MỞ ĐẦU .............................................................................................5
PHẦN 2 – NỘI DUNG...........................................................................................9
Chương 1: GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU .............................................9
1.1. Tổng quan về khai phá dữ liệu ....................................................................9
1.1.1. Khai phá dữ liệu là gì? .........................................................................9
1.1.2. Ứng dụng của khai phá dữ liệu ..........................................................11
1.2. Phân lớp dữ liệu .........................................................................................12
1.2.1. Phân lớp dữ liệu là gì? ........................................................................12
1.2.2. Một số kỹ thuật phân lớp dữ liệu chuẩn .............................................13
1.3. Phân cụm dữ liệu .......................................................................................18
1.3.1. Phân cụm dữ liệu là gì? ......................................................................18
1.3.2. Một số kỹ thuật phân cụm dữ liệu chuẩn ...........................................19

Chương 2: THUẬT TOÁN DEC-SVM CHO BÀI TOÁN PHÂN LỚP DỮ LIỆU
MẤT CÂN BẰNG ...............................................................................................24
2.1. Vấn đề mất cân bằng trong dữ liệu hiện nay .............................................24
2.2. Hướng giải quyết cho bài toán phân lớp dữ liệu mất cân bằng hiện nay ..25
2.3. Thuật toán DEC-SVM cho bài toán phân lớp dữ liệu mất cân bằng.....30
1


2.3.1. Điều chỉnh dữ liệu bằng thuật toán DE (Differential Evolution oversampling) ......................................................................................30
2.3.2. Kỹ thuật làm sạch dữ liệu sử dụng phân cụm ....................................31
2.3.3. Thuật toán ...........................................................................................33
Chương 3: CÀI ĐẶT VÀ THỬ NGHIỆM ...........................................................36
3.1. Các tiêu chí đánh giá .................................................................................36
3.1.1. Ma trận nhầm lẫn ................................................................................36
3.1.2. F-Measure ...........................................................................................37
3.1.3. G-mean ...............................................................................................37
3.1.4. Đường cong ROC và độ đo AUC.......................................................37
3.2. Dữ liệu và thiết lập thực nghiệm ...............................................................38
3.2.1. Dữ liệu ................................................................................................38
3.2.2. Thiết lập thực nghiệm.........................................................................38
3.3. Kết quả thực nghiệm và đánh giá ..............................................................39
Hình 3. 2 - Biểu đồ so sánh hiệu quả phân lớp giữa thuật toán DE-SVM và DECSVM ......................................................................................................................41
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................42
TÀI LIỆU THAM KHẢO ....................................................................................43

2


DANH MỤC CÁC HÌNH VẼ
Hình 1.1 – Các bước trong quá trình KDD ...............................................................10

Hình 1.2 – Vị trí của khai phá dữ liệu trong tiến trình ra quyết định........................10
Hình 1.3 – Quá trình xây dựng mô hình phân lớp ....................................................12
Hình 1.4 – Quá trình phân lớp dữ liệu ......................................................................13
Hình 1.5 – Cây quyết định cho tiến trình lựa chọn phương tiện vận chuyển ...........15
Hình 1.6 – Phân lớp dữ liệu với K-NN .....................................................................16
Hình 1.7 – Phân lớp dữ liệu bằng SVM ....................................................................17
Hình 1.8 – Phân cụm dữ liệu .....................................................................................18
Hình 1.9 – Quá trình phân cụm dữ liệu .....................................................................19
Hình 1.10 – Hai phương pháp phân cụm phân cấp ..................................................21
Hình 1.11 – Khả năng tới được trực tiếp theo mật độ (directly density-reachable) .22
Hình 1.12 – Khả năng tới được theo mật độ (density-reachable) .............................22
Hình 1.13 – Kết nối dựa trên mật độ .........................................................................22
Hình 2.1 – Biểu đồ tỷ lệ giữa lớp thiểu số và lớp đa số của một số bộ dữ liệu ........25
Hình 2.2 – Phương pháp sinh ngẫu nhiên phần tử lớp thiểu số ...............................26
Hình 2.3 – Sinh thêm phần tử nhân tạo bằng thuật toán SMOTE ...........................27
Hình 2.4 – Loại bỏ phần tử lớp đa số ........................................................................29
Hình 2.5 – Minh họa phân cụm tập dữ liệu mất cân bằng ........................................32
Hình 3. 1 - Quá trình thực hiện 10-Fold Cross Validation .......................................39
Hình 3. 2 - Biểu đồ so sánh hiệu quả phân lớp giữa thuật toán DE-SVM và DECSVM ..........................................................................................................................41

DANH MỤC CÁC BẢNG BIỂU
Bảng 3.1 – Ma trận nhầm lẫn ...................................................................................36
Bảng 3. 2 - Một số bộ dữ liệu sử dụng cho thực nghiệm ..........................................38
Bảng 3. 3 - Phân lớp dữ liệu sử dụng thuật toán DE-SVM ......................................40
Bảng 3. 4– Phân lớp dữ liệu sử dụng thuật toán DEC-SVM ....................................40
Bảng 3. 5– Bảng so sánh hiệu quả phân lớp .............................................................40
4


DANH MỤC CÁC TỪ VIẾT TẮT


STT

Từ viết tắt

Diễn giải

1

CSDL

Cơ sở dữ liệu

2

KDD

Knowledge Discovery in Databases

3

SVM

Support Vector Machine

4

K – NN

K – Nearest Neighbor


5

SMOTE

6

DBSCAN

7

DEC – SVM

8

DE - SVM

Synthentic Minority Over-sampling
Technique
Density-Based Spatial Clustering of
Applications with Noise
Differential Evolution Clustering
hybrid resampling SVM algorithm
Differential Evolution over-sampling
SVM algorithm

4


PHẦN 1 – MỞ ĐẦU

1. Lý do chọn đề tài
Hiện nay, công nghệ thông tin là lĩnh vực có tầm quan trọng và sức ảnh hưởng
lớn tới nhiều mặt của đời sống. Trong những năm gần đây, công nghệ thông tin đã
gặt hái được nhiều thành công mang tính đột phá hỗ trợ hữu hiệu cho các lĩnh vực
khác. Cùng với sự phát triển của xã hội, vấn đề khai thác và xử lý thông tin ngày
càng được chú trọng và có thể đóng vai trò quyết định thành công trong một số lĩnh
vực. Trong khi lượng thông tin trên toàn cầu đang ngày một gia tăng và ngày càng
phong phú, các kỹ thuật trong Khai phá dữ liệu góp phần hữu hiệu giúp con người
khai thác một cách có hiệu quả khối dữ liệu mà họ đang nắm giữ. Một trong những
kỹ thuật quan trọng trong Khai phá dữ liệu là phân lớp dữ liệu, và phân lớp dữ liệu
đối với dữ liệu mất cân bằng hiện vẫn đang là bài toán cần được chú trọng.
Phân lớp dữ liệu là kỹ thuật dựa vào một mô hình phân lớp với các nhãn lớp
đã cho trong mô hình đó, dự đoán nhãn lớp của một đối tượng dữ liệu mới. Mô hình
phân lớp được xây dựng dựa trên một tập dữ liệu huấn luyện, với một đối tượng dữ
liệu mới, ta có thể đặt nó vào một lớp cụ thể bằng cách so sánh thuộc tính của nó
với định nghĩa đã xây dựng cho các lớp trong tập dữ liệu huấn luyện.
Tuy nhiên, dữ liệu thu được trong thực tế ngày càng xuất hiện nhiều các tập dữ
liệu mất cân bằng, nghĩa là trong tập dữ liệu tồn tại lớp có nhiều phần tử hơn những
lớp khác. Lớp có nhiều phần tử hơn ta gọi là lớp đa số, lớp có ít phần tử hơn ta gọi
là lớp thiểu số. Sự chênh lệch về số lượng giữa lớp đa số và lớp thiểu số làm cho
việc phân lớp đúng các mẫu thuộc lớp thiểu số bị giảm hiệu quả. Tỷ lệ mất cân bằng
của tập dữ liệu càng cao thì việc phát hiện đúng các mẫu của lớp thiểu số càng khó
khăn. Ví dụ điển hình cho mất cân bằng dữ liệu có thể kể đến là các bài toán chẩn
đoán bệnh trong y học, nghĩa là xác định một người có bệnh hay không [17]. Hay
bài toán phát hiện gian lận, cụ thể là gian lận thẻ tín dụng hay gian lận cước di động
[17]… Thông thường trong các bài toán này, lớp cần quan tâm lại là lớp thiểu số
(lớp người mắc bệnh, lớp người có khả năng gian lận thẻ tín dụng, …). Việc xác

5



định đúng nhãn cho lớp thiểu số là điều rất cần thiết, nếu nhãn của lớp nhỏ được
chẩn đoán sai thì hậu quả đem đến là không hề nhỏ.
Hiện nay, đã có nhiều giải pháp hữu hiệu cho bài toán phân lớp đối với các tập
dữ liệu mất cân bằng. Để giải quyết các bài toán này, có hai cách tiếp cận chủ yếu:
tiếp cận dựa trên mức độ dữ liệu hoặc tiếp cận dựa trên mức độ thuật toán. Tiếp cận
dựa trên mức dữ liệu nghĩa là điều chỉnh phân bố dữ liệu của các lớp sao cho hạn
chế hoặc không còn bị mất cân bằng để đưa vào áp dụng cho các thuật toán phân
lớp chuẩn [17]. Có nhiều cách điều chỉnh dữ liệu như: sinh thêm phần tử cho lớp
thiểu số, loại bỏ các phần tử ở lớp đa số, hoặc kết hợp hai phương pháp trên [17].
Tiếp cận dựa trên mức độ thuật toán nghĩa là điều chỉnh các thuật toán phân lớp
chuẩn sao cho khi áp dụng với bộ dữ liệu mất cân bằng vẫn đạt được hiệu quả cao.
Trong hai cách tiếp cận nêu trên, chúng tôi rất quan tâm tới giải pháp sinh
thêm phần tử cho lớp thiểu số. Một thuật toán điều chỉnh dữ liệu dựa trên giải pháp
này phải kể đến là thuật toán SMOTE (2002) [14].Thuật toán SMOTE điều chỉnh
dữ liệu bằng cách với mỗi phần tử thuộc lớp thiểu số thực hiện sinh thêm các phần
tử nhân tạo giữa phần này với các láng giềng của nó. Một số thuật toán khác cải tiến
dựa trên thuật toán SMOTE đã đạt được hiệu quả với các bộ dữ liệu mất cân bằng
như: thuật toán Borderline-SMOTE (2005) [9], thuật toán Safe-Level-SMOTE
(2009) [3].
Tuy nhiên, với sự phong phú ngày càng gia tăng của thông tin và đặc thù của
các tập dữ liệu hầu hết không giống nhau, không có giải pháp nào là hữu hiệu cho
mọi tập dữ liệu. Trong luận văn này, tôi nghiên cứu một thuật toán điều chỉnh dữ
liệu cho bài toán phân lớp dữ liệu mất cân bằng – thuật toán DEC (a novel
Differential Evolution Clustering hybrid resampling) được công bố vào năm 2010
của nhóm tác giả Leichen Chen, Zhihua Cai, Lu Chen và Qiong Gu [1]. Thuật toán
này là sự kết hợp giữa phương pháp sinh thêm phần tử cho lớp thiểu số và sử dụng
kỹ thuật phân cụm K-means để loại bỏ bớt phần tử dư thừa, nhiễu trong dữ liệu.
Ban đầu, với mỗi mẫu thuộc lớp thiểu số, thuật toán tạo ra một mẫu đột biến từ hai
trong số những láng giềng gần nó nhất, sau đó sử dụng thuật toán di truyền để sinh

6


thêm phần tử cho lớp thiểu số từ mẫu thiểu số ban đầu và mẫu đột biến mới tạo ra.
Cuối cùng, sử dụng thuật toán SVM để phân lớp cho tập dữ liệu huấn luyện mới.
Thuật toán phân lớp dữ liệu này được đặt tên là DEC-SVM.
2. Mục đích nghiên cứu
Mục đích nghiên cứu của luận văn :
-

Giới thiệu về bài toán phân lớp dữ liệu mất cân bằng và một số phương
pháp giải quyết bài toán.

-

Trình bày thuật toán DEC điều chỉnh dữ liệu cho bài toán phân lớp dữ liệu
mất cân bằng.

3. Khách thể và đối tƣợng nghiên cứu
-

Một số phương pháp điều chỉnh dữ liệu mất cân bằng.

-

Một số thuật toán phân lớp/ phân cụm dữ liệu chuẩn

-

Ngôn ngữ R


4. Giả thuyết khoa học
Việc kết hợp kỹ thuật phân cụm trong quá trình phân lớp cho các bộ dữ liệu
mất cân bằng sẽ giúp nâng cao hiệu quả phân lớp.
5. Phạm vi nghiên cứu
-

Lý thuyết tổng hợp trong khai phá dữ liệu

-

Các kỹ thuật phân lớp/phân cụm dữ liệu

-

Các phương pháp phân lớp dữ liệu mất cân bằng hiện nay

-

Các tiêu chí đánh giá hiệu quả phân lớp

-

Nghiên cứu ngôn ngữ R - một loại ngôn ngữ lập trình và môi trường phần
mềm dành cho tính toán và đồ họa thống kê

6. Phƣơng pháp nghiên cứu
-

Đọc tài liệu, phân tích, phân loại, tổng hợp, đối chiếu, so sánh, thảo luận ,

rút trích, để xây dựng luận văn

-

Quan sát, lập trình và thử nghiệm

7. Cấu trúc luận văn
Luận văn được chia thành ba chương:
7


Chương 1: Tổng quan về khai phá dữ liệu
Chương này giới thiệu tổng quan về Khai phá dữ liệu và trình bày một số kỹ
thuật phổ biến của Khai phá dữ liệu.
Chương 2: Thuật toán DEC điều chỉnh dữ liệu trong phân lớp dữ liệu mất cân
bằng.
Chương này đề cập đến dữ liệu mất cân bằng và các hướng giải quyết và một
số phương pháp phổ biến cho các bài toán có liên quan đến dữ liệu mất cân bằng.
Trình bày thuật toán điều chỉnh dữ liệu mới nâng cao hiệu quả trong bài toán
phân lớp dữ liệu mất cân bằng – thuật toán DEC. Đồng thời kết hợp thuật toán DEC
với kỹ thuật phân lớp SVM tạo nên thuật toán phân lớp DEC-SVM.
Chương 3: Cài đặt và thử nghiệm.
Nội dung của chương 3, trình bày các kết quả thực nghiệm thu được khi áp
thuật toán phân lớp dữ liệu DEC-SVM. Các thực nghiệm sẽ được tiến hành trên các
bộ dữ liệu lấy từ kho dữ liệu UCI. Cuối cùng, dựa vào các tiêu chí đánh giá, để so
sánh hiệu quả của thuật toán DEC-SVM với một số thuật toán đã biết.

8



PHẦN 2 – NỘI DUNG
Chƣơng 1: GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU
1.1. Tổng quan về khai phá dữ liệu
1.1.1. Khai phá dữ liệu là gì?
Trong thời đại bùng nổ của công nghệ thông tin cùng với những thành tựu to lớn
trong lĩnh vực này đã góp phần không nhỏ trong sự phát triển của hầu hết các lĩnh vực
trong đời sống. Sự phát triển mạnh mẽ của xã hội dẫn tới nhu cầu sử dụng và trao đổi
thông tin ngày càng tăng cao. Với các ứng dụng của công nghệ thông tin cùng sự ra đời
các kết nối internet tốc độ cao, sự phát sinh và lan truyền lượng dữ liệu lớn đã được tự
động hóa trong thập kỷ qua. Hậu quả là, nhân loại đang phải đối mặt với nhiều thách
thức trong việc đối phó với lượng thông tin khổng lồ đang ngày càng gia tăng cùng
những bộ dữ liệu quá lớn đối với phân tích thủ công.
Các công nghệ lưu trữ tiên tiến hiện nay đã tạo điều kiện cho các tổ chức, doanh
nghiệp hay cá nhân thuận lợi hơn trong quá trình thu thập và lưu trữ thông tin. Các kho
dữ liệu ngày càng lớn và chứa nhiều thông tin có ích. Tuy nhiên, vẫn còn khó khăn để
tự động khai thác những thông tin có giá trị bên trong chúng.
Theo đánh giá của IBM, các phương pháp khai thác thông tin truyền thống chỉ thu
được khoảng 80% thông tin từ CSDL, phần còn lại bao gồm các thông tin mang tính
khái quát, thông tin có quy luật vẫn còn tiềm ẩn bên trong dữ liệu. Lượng thông tin này
tuy nhỏ nhưng là thông tin cốt lõi và cần thiết cho tiến trình ra quyết định [28].
Trước sự bùng nổ thông tin cùng những thách thức trong việc khai thác và xử lý
thông tin, Khai phá dữ liệu ra đời, và cho đến nay đã gặt hái được nhiều thành tựu.
Khai phá dữ liệu (Data Mining) là một bước trong quá trình khai phá tri thức từ
CSDL (Knowledge Discovery in Databases – KDD). Khai phá dữ liệu bao gồm các
thuật toán khai phá đặc biệt nằm trong giới hạn khả năng của máy tính để tìm ra các
mẫu, mô hình dữ liệu hoặc các thông tin có ích.
Hình 1.1 thể hiện các bước trong quá trình KDD [25]

9



Hình 1.1 – Các bước trong quá trình KDD
Định nghĩa cổ điển của khai phá tri thức của Fayyad et al. từ năm 1996 mô tả KDD
là "quá trình không tầm thường của việc xác định tính có hiệu lực, tính mới mẻ, khả
năng hữu dụng, và các mô hình dễ hiểu cuối cùng trong dữ liệu [5].
Hai mục tiêu cơ bản cấp độ cao của khai phá dữ liệu trong thực tế có xu hướng là
dự đoán và mô tả [5]. Khai phá dữ liệu giúp phát hiện những xu thế phát triển từ những
thông tin quá khứ, cũng như đề xuất các dự báo mang tính thống kê, gom cụm và phân
loại dữ liệu [28].
Có thể thấy khai phá dữ liệu là một mắt xích quan trọng trong quá trình khai phá
tri thức và hỗ trợ ra quyết định. Hình 1.2 thể hiện vị trí của khai phá dữ liệu trong tiến
trình ra quyết định.

Hình 1.2 – Vị trí của khai phá dữ liệu trong tiến trình ra quyết định

10


Khai phá dữ liệu có một số kỹ thuật phổ biến như: phân lớp, phân cụm, khai phá
luật kết hợp, dự báo, cây quyết định, … Trong luận văn này tôi xin trình bày hai kỹ
thuật: phân lớp dữ liệu (phần 1.2) và phân cụm dữ liệu (phần 1.3)
1.1.2. Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu đã và đang được ứng dụng trong nhiều lĩnh vực trong đời sống.
Dưới đây là một số lĩnh vực nổi bật có sự giúp sức hữu hiệu của khai phá dữ liệu.
1.1.2.1. Lĩnh vực tài chính, ngân hàng và thương mại điện tử
‒ Xây dựng mô hình dự báo rủi ro tín dụng [28]
‒ Tìm kiếm tri thức, quy luật thị trường chứng khoán và đầu tư bất động sản
[28]
‒ Phân tích hiệu quả của các chiến dịch bán hàng [20]
‒ Phân loại, phân nhóm, phân tích hành vi khách hàng cho tiếp thị tài chính

[20]
‒ Tìm hiểu, định hướng, thúc đẩy, giao tiếp với khách hàng [28]
‒ Phát hiện các hoạt động rửa tiền và tội phạm tài chính [20]
1.1.2.2. Lĩnh vực viễn thông
‒ Phân tích dữ liệu đa chiều viễn thông
‒ Xây dựng các mô hình phát hiện bất thường, phát hiện gian lận trong giao
dịch viễn thông
‒ Phân tích hành vi sử dụng dịch vụ viễn thông của khách hàng
‒ Phát hiện xâm nhập mạng trái phép [20]
1.1.2.3. Lĩnh vực sinh học, y học
‒ Xây dựng các công cụ trực quan trong phân tích dữ liệu di truyền.
‒ Xây dựng mô hình khai phá các mạng di truyền và cấu trúc Gen, protein
‒ Lập chỉ mục, tìm kiếm tương tự, bất thường trong cơ sở dữ liệu Gen.
‒ Phát hiện và phân tích dữ liệu di truyền.

11


1.2. Phân lớp dữ liệu
1.2.1. Phân lớp dữ liệu là gì?
Phân lớp dữ liệu là tiến trình tìm kiếm một tập các mô hình mô tả và phân biệt các
lớp dữ liệu hoặc các khái niệm, nhằm mục đích sử dụng các mô hình để dự đoán nhãn
lớp của các đối tượng dữ liệu có nhãn không xác định [7]
Mô hình được thừa kế được dựa trên sự phân tích một tập dữ liệu huấn luyện (ví
dụ như các đối tượng đã biết nhãn lớp) [7]
Quá trình phân lớp gồm hai bước:
‒ Bước thứ nhất – bước học (huấn luyện): bước này xây dựng một mô hình
phân lớp dựa trên việc phân tích, học tập, huấn luyện trên một tập dữ liệu đã
biết trước nhãn lớp.
‒ Bước thứ hai – phân lớp: phân lớp dữ liệu mới sử dụng mô hình phân lớp ở

bước trước nếu như độ chính xác của mô hình phân lớp đó được đánh giá là
chấp nhận được.
Ở bước thứ nhất, đầu vào của quá trình này là một tập dữ liệu có cấu trúc được mô
tả bằng các thuộc tính và được tạo ra từ tập các bộ giá trị của các thuộc tính đó. Mỗi bộ
giá trị được gọi chung là một phần tử dữ liệu (data tuple), có thể là các mẫu (sample), ví
dụ (example), đối tượng (object), bản ghi (record) hay trường hợp (case) [18]

Hình 1.3 – Quá trình xây dựng mô hình phân lớp
Bước thứ hai dùng mô hình đã xây dựng ở bước trước để phân lớp cho dữ liệu
mới. Nhưng trước tiên, độ chính xác của mô hình phân lớp vừa tạo ra phải được đánh
12


giá. Kỹ thuật đánh giá độ chính xác của mô hình phân lớp sử dụng một tập dữ liệu kiểm
tra với các mẫu đã được gán nhãn lớp và độc lập với dữ liệu huấn luyện. Độ chính xác
của mô hình là tỉ lệ phần trăm các các mẫu trong tập dữ liệu kiểm tra được mô hình
phân lớp đúng (so với thực tế). Nếu độ chính xác của mô hình là chấp nhận được, thì
mô hình được sử dụng để phân lớp những dữ liệu tương lai, hoặc những dữ liệu mà giá
trị của thuộc tính phân lớp là chưa biết.

Hình 1.4 – Quá trình phân lớp dữ liệu
Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết định tới
sự thành công của mô hình phân lớp. Hiện nay, bên cạnh các kỹ thuật phân lớp cơ bản,
giới khoa học vẫn không ngừng nghiên cứu và tìm ra những phương pháp mới nhằm
nâng cao hiệu quả, khả năng chính xác trong quá trình phân lớp dữ liệu.
Luận văn này xin trình bày khái quát một số kỹ thuật phân lớp cơ bản hiện nay.
1.2.2. Một số kỹ thuật phân lớp dữ liệu chuẩn
1.2.2.1. Thuật toán phân lớp cây quyết định (Decision tree)
Phân lớp bằng cây quyết định là một kỹ thuật thông dụng trong khai phá dữ liệu.
Cây quyết định mô tả một cấu trúc cây, trong đó các lá đại diện cho các phân loại và các

cành đại diện cho sự kết hợp của các thuộc tính dẫn đến các phân loại [11].
Một cách để học một cây quyết định là chia tập mẫu thành các tập con dựa trên
một số kiểm tra thuộc tính. Quá trình này sau đó được lặp đi lặp lại một cách đệ quy
trên các tập con, với mỗi giá trị của bộ chia trở thành một gốc cây con. Quá trình này
13


dừng lại khi một tập con bị nhỏ đến nỗi không cần thiết chia nữa hoặc một tập con chứa
các mẫu chỉ có một phân loại [11].
Phân lớp dựa trên cây quyết định được sử dụng để hỗ trợ cho tiến trình ra quyết
định hoặc dự đoán, quản lý rủi ro, …
Hình 1.5 là một ví dụ về việc sử dụng cây quyết định trong tiến trình lựa chọn loại
phương tiện vận chuyển.
Hiện nay, có một số giải thuật phân lớp dựa trên cây quyết định phổ biến hiện nay
như ID3 (Iterative Dichotomiser 3), CLS (Concept Learning System), C4.5, CART
(Classification And Regression Trees).
Một số ưu điểm của phương pháp phân lớp dựa trên cây quyết định là tốc độ học
tương đối nhanh, có thể chuyển thành luật một cách dễ dàng, độ chính xác tương đối tốt
và đòi hỏi tiền xử lý dữ liệu đơn giản.

14


Hình 1.5 – Cây quyết định cho tiến trình lựa chọn phương tiện vận chuyển

1.2.2.2. Thuật toán phân lớp K láng giềng gần nhất (K-NN)
Thuật toán phân lớp K láng giềng gần nhất – K-NN (K – Nearest neighbor) là
phương pháp phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng cần
phân lớp và tất cả các đối tượng trong dữ liệu huấn luyện. Một đối tượng được phân lớp
dựa vào K láng giềng của nó. K là số nguyên dương được xác định trước khi thực hiện

thuật toán. Người ta thường dùng khoảng cách Euclidean để đo khoảng cách giữa các
đối tượng
15


Ý tưởng của thuật toán K-NN như sau:
Đầu tiên cần xác định tham số K. Đối với đối tượng cần phân lớp, tính khoảng
cách giữa đối tượng đó và tất cả cả các đối tượng trong tập dữ liệu huấn luyện rồi sắp
xếp các khoảng cách vừa tính được để tìm ra K láng giềng gần nhất. Sau đó xác định
nhãn lớp của K láng giềng gần nhất vừa tìm được, nhãn lớp của đối tượng cần phân lớp
sẽ là nhãn lớp của phần đông đối tượng trong K láng giềng gần nhất của nó.

Hình 1.6 – Phân lớp dữ liệu với K-NN
Trong Hình 1.6 với K = 3, đối tượng cần phân lớp sẽ được gán nhãn “Positive”.
Với K = 5, đối tượng cần phân lớp sẽ được gán nhãn “Negative”.
1.2.2.3. Thuật toán phân lớp Naïve Bayes
Naïve Bayes là phương pháp phân lớp dữ liệu dựa vào xác suất được giới thiệu đầu
tiên bởi John và Langle năm [10]. Đây là kỹ thuật được ứng dụng khá rộng rãi trong
phân lớp dữ liệu, đặc biệt là trong phân lớp văn bản (text).
Naïve Bayes dự đoán xác suất mà một mẫu thuộc về một lớp là lớn nhất dựa trên
định lý Bayes, giả định rằng các thuộc tính là độc lập và quan trọng như nhau.
Bài toán phân lớp Naïve Bayes: Cho tập dữ liệu huấn luyện D gồm các mẫu đã biết
trước nhãn lớp. Mỗi mẫu được biểu diễn bằng một véc tơ thuộc tính n chiều
. Một mẫu mới sẽ được phân

vào tập các nhãn lớp
vào lớp nào?

Quá trình phân lớp Naïve Bayes được thực hiện như sau:
16





được phân vào lớp

nếu và chỉ nếu:

|

( | )
|

|
‒ Tối đa hóa
đa hóa

(chọn

nếu

|

là giá trị lớn nhất). Do đó cần tối

|
|

Trong đó


|



|

|

là giá trị thuộc tính

|

của

|
.

Naïve Bayes phân lớp không yêu cầu phải ước lượng một cách chính xác xác xuất.
Thuật toán dễ cái đặt, học nhanh, kết quả dễ hiểu. Tuy nhiên khi dữ liệu có nhiều thuộc
tính dư thừa thì Naïve Bayes không còn hiệu quả [23].
1.2.2.4. Thuật toán phân lớp máy vector hỗ trợ (Support Vector Machine SVM)
SVM được phát triển bởi Corinna Cortes & Vladimir Vapnik (1995) để phân loại
nhị phân [13][2]. Mục tiêu của SVM là đi tìm siêu phẳng tối ưu phân cách hai lớp bằng
lề cực đại giữa các điểm gần nhất của hai lớp. Các điểm nằm trên ranh giới được gọi là
các vector hỗ trợ, và chính giữa của lề là siêu phẳng phân cách tối ưu [13].

Hình 1.7 – Phân lớp dữ liệu bằng SVM
17



Trong nhiều trường hợp, không thể phân chia các lớp dữ liệu một cách tuyến tính,
vì vậy, nhiều khi cần phải ánh xạ các điểm dữ liệu trong không gian ban đầu vào một
không gian mới nhiều chiều hơn, sau đó thực hiện phân lớp bằng SVM trong không
gian mới.
1.3. Phân cụm dữ liệu
1.3.1. Phân cụm dữ liệu là gì?
Phân cụm là quá trình phát hiện, gom các đối tượng dữ liệu thành các cụm sao cho
sự tương đồng giữa các đối tượng trong cùng một cụm là lớn nhất và sự tương đồng
giữa các đối tượng khác cụm được tối thiểu hóa [16].

Hình 1.8 – Phân cụm dữ liệu
Quá trình phân cụm hữu ích trong một số thăm dò mô hình phân tích, nhóm,hỗ trợ
ra quyết định, và một số tình huống học máy, bao gồm cả khai phá dữ liệu, truy hồi dữ
liệu, phân loại ảnh, phân loại mô hình. Những cụm được tìm có thể được sử dụng để
giải thích các đặc tính của phân bố dữ liệu, phục vụ cho quá trình khai phá dữ liệu và
phân tích dữ liệu [16].
Hình 1.9 thể hiện quá trình phân cụm dữ liệu.

18


Hình 1.9 – Quá trình phân cụm dữ liệu
1.3.2. Một số kỹ thuật phân cụm dữ liệu chuẩn
Hiện nay có khá nhiều phương pháp phân cụm, một số phương pháp phân cụm phổ
biến có thể kể đến như:
‒ Phân cụm phân hoạch (Partitioning): phân hoạch tập dữ liệu n phần tử thành
k cụm.
‒ Phân cụm phân cấp (Hierachical): xây dựng phân cấp các cụm dựa trên cơ
sở các đối tượng dữ liệu đang xem xét.
‒ Phân cụm dựa trên mật độ (Density-based): phân cụm dựa trên hàm mật độ

và số đối tượng lân cận của đối tượng dữ liệu.
‒ Phân cụm dựa trên lưới (Drid-based): phân cụm dựa trên dữ liệu nhiều
chiều, chủ yếu áp dụng cho lớp dữ liệu không gian.
‒ Phân cụm dựa trên mô hình (Model-based): một mô hình giả thuyết được
đưa ra cho mỗi cụm, sau đó hiệu chỉnh các thông số để mô hình phù hợp
với cụm dữ liệu nhất.
Luận văn này xin trình bày khái quát một vài kỹ thuật phân cụm dữ liệu chuẩn, bao
gồm: -means, Hierachical, DBSCAN.
1.3.2.1. Phƣơng pháp phân hoạch – giải thuật -means
Với giải thuật -means, mỗi cụm được đại diện bởi một trọng tâm, một đối tượng
được phân vào một cụm nếu khoảng cách từ đối tượng đó đến trọng tâm của cụm đang
xét là nhỏ nhất.

19


Ban đầu, lựa chọn ngẫu nhiên

đối tượng trong tập dữ liệu để làm trọng tâm của

cụm. Lần lượt tính toán khoảng cách giữa các đối tượng trong tập dữ liệu đang xét với
các trọng tâm đã lựa chọn, một điểm gần trọng tâm thứ nhất sẽ được phân vào cụm
đó. Sau đó, trọng tâm của mỗi cụm sẽ được tính toán và cập nhật lại bằng cách lấy trung
bình cộng tất cả các điểm trong cụm. Quá trình tính toán khoảng cách và cập nhật lại
trọng tâm được lặp đi lặp lại cho đến khi trọng tâm của các cụm không còn thay đổi
nữa.
-means là thuật toán rất phổ biến, ưu điểm của -means là đơn giản và dễ sử
dụng. Độ phức tạp của thuật toán là

(với là số lần lặp,


là số cụm,

là số đối

tượng dữ liệu). -means phù hợp phân cụm cho các cụm hình cầu.
Nhược điểm của -means là không đảm bảo được tính tối ưu toàn cục, phụ thuộc
vào tham số , không thể xử lý nhiễu và chỉ áp dụng được khi tính được trọng tâm.
1.3.2.2. Phƣơng pháp phân cấp – Hierachical
Trong kỹ thuật phân cụm Hierachical có 2 phương pháp chính là
Agglomerative (phương pháp từ dưới lên) và Divisive (phương pháp từ trên xuống).
Với Agglomerative, ban đầu xem mỗi đối tượng trong bộ dữ liệu là một cụm (có
đối tượng thì có

cụm). Tiếp theo, tiến hành gom các cặp cụm có khoảng cách bé nhất,

quá trình này được lặp cho đến khi tất cả các đối tượng được gom vào một cụm cuối
cùng.
Ngược lại với Agglomerative, Divisive ban đầu xem tất cả các đối tượng trong bộ
dữ liệu cùng thuộc về một cụm. Sau đó tiến hành phân cụm ban đầu thành hai cụm con
(thường dựa vào khoảng cách lớn nhất), quá trình này được lặp cho đến khi mỗi cụm
chỉ còn một đối tượng.
Hình 1.10 mô tả quá trình phân cụm bộ dữ liệu gồm các đối tượng dữ liệu

20


Hình 1.10 – Hai phương pháp phân cụm phân cấp
1.3.2.3. Phân cụm dựa trên mật độ - giải thuật DBSCAN
Thuật toán DBSCAN (Density Based Spatial Clustering of Applications with

Noise) là thuật toán phân cụm do Martin Ester và các tác giả đề xuất vào năm 1996 [4].
Thuật toán này có hiệu quả với những bộ dữ liệu lớn, khả năng xử lý nhiễu tốt.
Ý tưởng chính của thuật toán là vùng lân cận mỗi đối tượng trong cụm có số đối
tượng lớn hơn ngưỡng tối thiểu. Hình dạng vùng lân cận phụ thuộc vào hàm khoảng
cách giữa các đối tượng. Các đối tượng trong cụm được phân làm hai loại: đối tượng
bên trong cụm (core point) và đối tượng nằm ở đường biên của cụm (border point: đối
tượng biên)
Định nghĩa 1: 𝜺 – neighborhood của một điểm p ký hiệu là
đối tượng

sao cho khoảng cách giữa

nhỏ hơn 𝜺.



|

𝜺

là số lượng đối tượng ít nhất được yêu cầu trong
một đối tượng. Nếu đối tượng có

là tập hợp các



với

được gọi là đối tượng lõi (core object).


21



của
thì đối tượng này


×