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

Nghiên cứu một số thuật toán phân cụm dữ liệu và ứng dụng hỗ trợ đánh giá thi đua tại trường thpt bình sơn, quảng ngãi

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 (1.75 MB, 91 trang )

Đ IăH CăĐĨăN NG
TR

NGăĐ IăH CăS ăPH Mă

H ăPHÚC

NGHIểNăC UăM TăS
PHỂNăC MăD ăLI UăVĨă
ĐÁNHăGIÁăTHIăĐUAăT
BỊNHăS N,ăQU

ăTHU TăTOÁN
NGăD NGăH ăTR ă
IăTR
NGăTHPT
NGăNGĩI

LU NăVĔNăTH CăSƾă
H ăTH NGăTHÔNG TIN

ĐƠăN ngă- Nĕmă2019


Đ IăH CăĐĨăN NG
TR

NGăĐ IăH CăS ăPH Mă

H ăPHÚC


NGHIểNăC UăM TăS
PHỂNăC MăD ăLI UăVĨă
ĐÁNHăGIÁăTHIăĐUAăT
BỊNHăS N,ăQU

ăTHU TăTOÁN
NGăD NGăH ăTR ă
IăTR
NGăTHPT
NGăNGĩI

ChuyênăngƠnh:ăH ăth ngăthôngătin
Mưăs :ă848.01.04

LU NăVĔNăTH CăSƾ

Ng

iăh

ngăd năkhoaăh c:ăPGS.TS. Võ Trung Hùng

ĐƠăN ngă- Nĕmă2019








ii

M CL C
L IăCAMăĐOAN........................................................................................................... i
M CăL C ..................................................................................................................... ii
DANHăM CăT ăVI TăT T ...................................................................................... iv
DANHăM CăCÁCăB NG .............................................................................................v
DANHăM CăCÁCăHỊNH ........................................................................................... vi
M ăĐ U .........................................................................................................................1
1. Lý do chọn đề tài ...................................................................................................1
2. Mục tiêu và nhiệm vụ đề tài ..................................................................................2
3. Đối t ợng và phạm vi nghiên cứu.........................................................................3
4. Ph ơng pháp nghiên cứu ......................................................................................3
5. Mục đích và ý nghĩa của đề tài .............................................................................3
6. Kết quả dự kiến .....................................................................................................4
7. Bố cục của luận văn ..............................................................................................4
CH
NGă1. T NGăQUANăV ăPHỂNăC MăD ăLI U ..........................................5
1.1. Khái niệm và mục tiêu của phân cụm dữ liệu ..........................................................5
1.2. Các ứng dụng của phân cụm dữ liệu ........................................................................6
1.3. Các yêu cầu và những vấn đề tồn tại trong phân cụm dữ liệu..................................7
1.4. Những kỹ thuật tiếp cận trong phân cụm dữ liệu .....................................................8
1.4.1. Ph ơng pháp phân cụm phân hoạch ...............................................................8
1.4.2. Ph ơng pháp phân cụm phân cấp ...................................................................8
1.4.3. Ph ơng pháp phân cụm dựa trên mật độ ........................................................9
1.4.4. Ph ơng pháp phân cụm dựa trên l ới ...........................................................10
1.4.5. Ph ơng pháp phân cụm dựa trên mơ hình ....................................................10
1.4.6. Ph ơng pháp phân cụm có dữ liệu ràng buộc ...............................................11
1.5. Các kiểu dữ liệu và độ đo .......................................................................................11
1.5.1. Phân loại các kiểu dữ liệu .............................................................................11

1.5.2 Độ đo t ơng tự và phi t ơng tự .....................................................................13
1.6. Tổng kết ch ơng .....................................................................................................15
CH
NGă 2. Lụă THUY Tă M ă VĨă M Tă S ă THU Tă TOÁNă PHỂNă C Mă
D ăLI U ......................................................................................................................17
2.1. Lý thuyết m ...........................................................................................................17
2.1.1 Tập m ...........................................................................................................18
2.1.2. Biến ngôn ngữ ...............................................................................................20


iii

2.1.3. Các phép toán logic m ................................................................................21
2.1.4. Suy diễn m ..................................................................................................25
2.1.5. Cấu trúc hệ thống logic m ...........................................................................27
2.2. Thuật toán phân cụm dữ liệu K-Means ..................................................................28
2.3. Kỹ thuật phân cụm dữ liệu m ...............................................................................32
2.3.1. Tổng quan về phân cụm m ..........................................................................32
2.3.2. M hóa dữ liệu ..............................................................................................34
2.3.3. Thuật tốn Fuzzy C-Means ...........................................................................39
2.3.4. Thuật toán Fuzzy C-Means m rộng ............................................................42
2.3.5. Giải m ..........................................................................................................46
2.4. Tổng kết ch ơng .....................................................................................................47
CH
NGă3. PHÁTăTRI Nă NGăD NGăVĨăTH ăNGHI M .............................48
3.1. Tổng quan về công tác thi đua, khen th ng của ngành giáo dục .........................48
3.1.1. Một số khái niệm về thi đua, khen th ng ...................................................48
3.1.2. Quản lý nhà n ớc về thi đua, khen th ng ...................................................49
3.2. Xây dựng các hàm để hỗ trợ phân tích đánh giá ....................................................50
3.2.1. Phát biểu bài toán ..........................................................................................50

3.2.2. Cơ s thu thập thông tin ................................................................................50
3.2.3. Mô tả đầu vào, đầu ra ....................................................................................51
3.2.4. Xử lý dữ liệu trên Matlab ..............................................................................52
3.3. Thực nghiệm, đánh giá, nhận xét ...........................................................................59
3.3.1. Thực nghiệm trên bộ dữ liệu của tr ng ......................................................59
3.2.2. Đánh giá, nhận xét ........................................................................................66
K TăLU NăVĨăH
NGăPHÁTăTRI N .................................................................67
TĨIăLI UăTHAMăKH O ...........................................................................................68
QUY TăĐ NHăGIAOăĐ TÀI LU NăVĔNă(B n sao)


iv

DANH M C T

VI T T T

STT

T ăVI TăT T

Ý NGHƾA

1

CNTT

Công nghệ thông tin


2

CSDL

Cơ s dữ liệu

3

FCM

Fuzzy C-Means

4

KPDL

Khai phá dữ liệu

5

PCDL

Phân cụm dữ liệu

6

THPT

Trung học phổ thông



v

DANH M C CÁC B NG

S ăhi uă

Tênăb ng

b ng

Trang

1.1:

Ma trận kề

14

2.1:

Ví dụ về tập m

22

2.2:

Ví dụ kết quả hợp của tập m

22


2.3:

Ví dụ kết quả giao của hai tập m

23

2.4:

Ví dụ kết quả của phép lấy phần bù

24

2.5:

Ví dụ tổng hợp nhận xét của ng

38

2.6:

Bảng dữ liệu số đ ợc xây dựng t ơng ứng từ biến ngôn ngữ

39

2.7:

Tỉ lệ thuộc cụm của dữ liệu

47


3.1:

Bảng thu thập dữ liệu tr

59

3.2:

Bảng dữ liệu đư phân cụm

i theo dõi thi đua

ng THTP Bình Sơn

64


vi

DANH M C CÁC HÌNH

S ăhi uă

Tênăhìnhăv

hình

Trang


1.1:

Phân cụm dữ liệu

5

1.2:

Các chiến l ợc phân cấp

9

1.3:

Phân cụm dựa trên mật độ (DBSCAN)

9

1.4:

Mơ hình cấu trúc phân cụm dựa trên l ới

10

2.1:

Các dạng hàm thành viên trong tập m

18


2.2:

Hàm thành viên của số m hình thang

19

2.3:

Hàm thành viên của số m hình tam giác

19

2.4:

Biến ngôn ngữ

21

2.5:

Cấu trúc hệ thống logic m

27

2.6:

Các b ớc phân cụm m

33


2.7:

M hóa thuộc tính tác phong

35

2.8:

M hóa thuộc tính chun mơn

37

2.9:

Thuật tốn FCM m rộng

42

3.1:

Giao diện phần mềm Matlab

53


1

M

Đ U


1. Lýădoăch năđ ătƠi
Cải cách hành chính nhà n ớc là một nhiệm vụ mà Đảng và Nhà n ớc rất coi
trọng trong giai đoạn hiện nay. Trong đó cơng tác thi đua khen th ng có vị trí vai trò,
ý nghĩa rất quan trọng, là động lực thúc đẩy kinh tế- xư hội phát triển, là biện pháp để
ng i quản lý thực hiện nhiệm vụ chính trị, chun mơn của đơn vị.
Mục đích của cơng tác đánh giá thi đua, khen th ng là nhằm động viên, giáo
dục, nêu g ơng để sau khi đ ợc biểu d ơng, khen th ng thì tập thể, cá nhân đ ợc
khen sẽ phát huy tính tích cực trong cơng việc đ ợc giao. Ng

i ch a đ ợc khen cũng

thấy đ ợc trách nhiệm và nghĩa vụ của mình, cần phải phấn đấu để đ ợc ghi nhận
trong th i gian tới.
Trong những năm gần đây, tại các tr ng trung học phổ thông (THPT) tỉnh
Quảng Ngãi việc ứng dụng công nghệ thông tin trong công tác giảng dạy và quản lý
ngày càng đ ợc áp dụng rộng rãi. Hạ tầng kỹ thuật đ ợc đầu t , nâng cấp hoàn thiện
hơn. Các ứng dụng, cơ s dữ liệu đư đ ợc xây dựng đ a vào khai thác và sử dụng. Thế
nh ng hiệu quả mang lại từ việc ứng dụng ch a cao, ứng dụng còn thiếu và ch a đồng
bộ. Trong cơng tác quản lý nói chung và khâu quản lý thi đua, khen th ng nói riêng
ch a có sự trợ giúp đáng kể của công nghệ thông tin. Thông tin phục vụ cho công tác
thi đua cịn thiếu, dẫn đến việc xử lý cơng việc chậm trễ, đôi lúc ch a đạt hiệu quả cao.
Bên cạnh đó thì việc đánh giá thi đua, khen th ng cịn mang tính hình thức, tính cơng
bằng trong công tác đánh giá thi đua ch a rõ ràng. Có những ng i có nhiều đóng góp,
có nhiều thành tích nh ng khơng đ ợc đánh giá tốt cịn những ng i ít thành tích hơn
đ ợc đánh giá tốt dẫn đến có sự “so bì” giữa nhóm giáo viên này với nhóm giáo viên
khác.
Nhận thức đ ợc tầm quan trọng của việc đánh giá thi đua, khen th

ng, nên cần


phải ứng dụng Công nghệ thông tin (CNTT) trong công tác này để mang lại hiệu quả
tốt nhất.
Tuy nhiên hiện nay việc quản lý thông tin về cán bộ, cơng chức trong các cơ
quan nhà n ớc nói chung, cơng tác thi đua, khen th ng nói riêng là một bài tốn quan
trọng và nhạy cảm, nó phục vụ cho việc quản lý nguồn nhân lực, chính sách cán bộ,
nhằm giúp lưnh đạo đ a ra các quyết định khen th ng cán bộ, công chức. Thế nh ng
công việc này đòi hỏi mất rất nhiều th i gian và phải hoàn thành đúng th i gian quy
định, và cần nhất là “sự công bằng” trong công tác thi đua khen th ng. Các tài liệu
của công tác này đ ợc l u trữ trên giấy và có đơn vị tính điểm thi đua “bằng tay” nên
mất nhiều th i gian trong tra cứu, thống kê báo cáo và định l ợng của những ng

i xét


2

thi đua, khen th

ng có thế mang tính chủ quan.

Hiện nay, trên thị tr ng cũng đư có những cơng cụ hỗ trợ công tác về quản lý thi
đua, khen th ng, nh ng mang tính th ơng mại với giá thành cao, và chủ yếu là quản
lý công tác thi đua khen th ng của đơn vị chứ ch a phân nhóm đ ợc đối t ợng thi
đua của các đơn vị để tạo sự công bằng trong công tác thi đua. Nhà tr ng khơng đủ
kinh phí để mua, cịn cơng cụ miễn phí thì khơng đáp ứng đ ợc các tiêu chí thi đua của
nhà tr ng đư quy định.
Khi xét thi đua, khen th ng cần phải đánh giá thành tích của cá nhân trong cơ
quan bằng những giá trị định l ợng cụ thể, trong đó có việc theo dõi q trình cơng tác
và đ a ra nhận xét bằng ngôn ngữ tự nhiên, nhằm phân tích, đánh giá thơng tin từ các

câu nhận xét là những ngơn tự nhiên, ngơn ngữ nói của lãnh đạo cơ quan về thi đua, và
đặc biệt là phân nhóm đ ợc các đối t ợng thi đua nhằm tạo sự minh bạch, công bằng
trong công tác thi đua, khen th ng. Trong q trình học tập tơi nhận thấy khai phá dữ
liệu là một bộ mơn hữu ích vì có hỗ trợ các thuật tốn phân lớp, phân cụm dữ liệu
(phân cụm dữ liệu rõ và phân cụm dữ liệu m ). Từ đó xây dựng hệ thống phân nhóm
đối t ợng thi đua nhằm hỗ trợ cho lưnh đạo đơn vị và hội đồng thi đua của nhà tr ng
có cái nhìn tổng quan và phân nhóm đ ợc các đối t ợng để hỗ trợ trong công tác đánh
giá thi đua tạo sự công bằng trong công tác thi đua của đơn vị.
Với đề tài này tơi hi vọng nhà tr ng sẽ có một cơng cụ hỗ trợ đắc lực và hữu
hiệu trong công tác quản lý, phân loại thi đua và nhằm tạo cho giáo viên có sự so sánh
cơng bằng trong cơng tác thi đua của nhà tr ng.
Xuất phát từ những nhu cầu thực tế nêu trên, cần thiết phải có cơng cụ hỗ trợ cho
công tác đánh giá thi đua cho nhà tr ng. Qua quá trình tìm hiểu, nghiên cứu nội dung
ch ơng trình đư học và đ ợc sự đồng ý của Thầy PGS.TS Võ Trung Hùng, tôi đư chọn
đề tài: “Nghiên cứu một số thuật toán phân cụm dữ liệu và ứng dụng hỗ trợ đánh
giá thi đua tại trường THPT Bình Sơn, Quảng Ngãi”.
2. M cătiêuăvƠănhi măv ăđ ătƠi
2.1 Mục tiêu
Biết đ ợc khai phá dữ liệu là gì, phân cụm dữ liệu th ng đ ợc ứng dụng trong
lĩnh vực nào, tìm hiểu các kỹ thuật phân cụm dữ liệu đư đ ợc nghiên cứu, biết về logic
m và thuật toán phân cụm dữ liệu m để ứng dụng vào phân cụm dữ liệu thi đua.
Viết hàm hỗ trợ phân cụm những giáo viên có thành tích thi đua t ơng đồng nhau
từ những nhận xét của bộ phận theo dõi thi đua tại tr ng THPT Bình Sơn, Quảng
Ngãi.
2.2 Nhiệm vụ
Tìm hiểu kiến thức về phân cụm dữ liệu, tìm hiểu về lý thuyết m và thuật toán


3


phân cụm dữ liệu rõ K-Means và thuật toán phân cụm dữ liệu m Fuzzy C-Means
(FCM).
Tìm hiểu về cơng tác thi đua tr ng trung học phổ thông, cơ s để thu thập
thông tin, thu thập đ ợc dữ liệu thi đua của nhà tr ng và ứng dụng đ ợc thuật toán
phân cụm dữ liệu m FCM vào viết hàm hỗ trợ phân cụm những giáo viên có thành
tích thi đua t ơng đồng nhau từ những nhận xét của bộ phận theo dõi thi đua tại tr ng
THPT Bình Sơn, Quảng Ngãi.
Viết đ ợc các hàm trên phần mềm MATLAB nhằm ứng dụng phân cụm dữ liệu
thi đua tại tr ng THPT Bình Sơn, Quảng Ngưi
3. Đ iăt ngăvƠăph măviănghiênăc u
3.1. Đối tượng nghiên cứu
Nghiên cứu lý thuyết về phân cụm dữ liệu, các kỹ thuật phân cụm dữ liệu, cách
xây dựng dữ liệu trong phân cụm dữ liệu. Nghiên cứu về lý thuyết m , cách m hóa
dữ liệu và các thuật tốn phân cụm dữ liệu K-Means và FCM
Các văn bản h ớng dẫn về thi đua, khen th ng cán bộ, công chức và văn bản
h ớng dẫn thi đua, khen th
Ngãi

ng của Bộ Giáo dục và S Giáo dục và Đào tạo Quảng

Nghiên cứu ngơn ngữ lập trình MATLAB để xây dựng các hàm hỗ trợ phân cụm.
3.2. Phạm vi nghiên cứu
Nghiên cứu tổng quan về lý thuyết PCDL, lý thuyết tập m , các phép toán trên
tập m và tập trung nghiên cứu về thuật toán Fuzzy C-Means để phân loại trong đánh
giá thi đua của tr ng THPT Bình Sơn, Quảng Ngãi.
Dữ liệu phục vụ cho việc đánh giá thi đua của tr
Ngãi.

ng THPT Bình Sơn, Quảng


4. Ph ngăphápănghiênăc u
Tìm hiểu tài liệu về phân cụm dữ liệu, lý thuyết m và lựa chọn thuật tốn phân
cụm dữ liệu thích hợp với yêu cầu của bài toán đ a ra, thu thập tài liệu về thi đua,
khen th ng.
Xây dựng các hàm hỗ trợ phân cụm dữ liệu thi đua tại tr
Quảng Ngưi trên phần mềm MATLAB.

ng THPT Bình Sơn,

Phân tích độ t ơng đồng của dữ liệu đư đ ợc phân cụm.
5. M căđíchăvƠăýănghƿaăc aăđ ătƠi
5.1. Mục đích
Nghiên cứu tổng quan về phân cụm dữ liệu, lý thuyết m , các thuật toán phân
cụm dữ liệu K-Means, Fuzzy C-Means để phân nhóm các đối t ợng thi đua có cùng
tính chất trong đơn vị để hỗ trợ cho lưnh đạo và hội đồng thi đua có cơ s đánh giá thi


4

đua giữa các cá nhân, tạo sự công bằng trong công tác đánh giá thi đua.
5.2. Ý nghĩa khoa học và thực tiễn đề tài
V khoa h c: Áp dụng các thuật toán phân cụm dữ liệu trong khai phá dữ liệu
trên dữ liệu về thi đua khen th ng.
th

V thực ti n: Phân nhóm các đối t ợng có cùng tính chất về thi đua, khen
ng trong đơn vị hỗ trợ lưnh đạo các tr ng phổ thông quyết định hình thức thi

đua, khen th ng của nhân viên tạo sự minh bạch, công bằng trong công tác thi đua,
khen th ng.

6. K tăqu ădựăki nă
Hiểu đ ợc tổng quan về phân cụm dữ liệu, lý thuyết m và một số giải thuật phân
cụm dữ liệu trong khai phá dữ liệu.
Vận dụng đ ợc thuật toán FCM vào bài toán phân cụm dữ liệu thi đua với những
nhận xét bằng ngôn ngữ tự nhiên của những ng i theo dõi thi đua khen th ng.
Xây dựng đ ợc các hàm phân cụm dữ liệu thi đua của tr ng THPT Bình Sơn,
Quảng Ngưi trên phần mềm MATLAB.
7. B ăc căc aălu năvĕn
Sau phần m đầu, giới thiệu,…nội dung chính của luận văn đ ợc chia làm 3
ch ơng nh sau:
Ch ngă1:ăT ngăquanăv ăphơnăc măd ăli u
Trong ch ơng này của đề tài chủ yếu trình bày lý thuyết cơ bản về phân cụm dữ
liệu nh : khái niệm, ứng dụng của phân cụm, các kỹ thuật phân cụm dữ liệu, các yêu
cầu về phân cụm dữ liệu, các kiểu dữ liệu và một số độ đo cơ bản trong phân cụm dữ
liệu.
Ch ngă2:ăLýăthuy tăm ăvƠăm tăs ăthu tătoánăphơnăc măd ăli u
Nội dung ch ơng này trình bày lý thuyết về tập m để có cơ s làm m hóa biến
ngôn ngữ khi xây dựng ma trận dữ liệu phân hoạch trong thuật toán FCM để phân cụm
dữ liệu thực tế ch ơng 3.
Trình bày tổng quan về phân cụm m và một số thuật toán phân cụm dữ liệu, đặc
biệt nghiên cứu sâu về thuật toán FCM của giáo s Bezdek.
Ch ngă3: Phátătri nă ngăd ngăvƠăth ănghi m
Nội dung ch ơng này trình bày về khái niệm thi đua, quản lý nhà n ớc về thi đua
và đ a ra bài toán thực tế và yêu cầu giải quyết bài tốn. Xây dựng cơng cụ hỗ trợ giải
quyết bài toán trên phần mềm MATLAB, thực nghiệm phân cụm trên bộ dữ liệu thực.
K t lu năvƠăh

ng phát tri n



5

CH
NGă1
T NG QUAN V PHÂN C M D

LI U

Trong cuộc sống có những vấn đề cần nhóm các đối t ợng với nhau để giải quyết
một vấn đề nào đó nh phân luồng đối t ợng học sinh để dễ trong việc quản lý và
giảng dạy, nhóm các đối t ợng sách có cùng đặc điểm hay nhóm các đối t ợng khách
hàng trong lĩnh vực kinh doanh…
Trong ch ơng này em trình bày về lý thuyết tổng quan về phân cụm dữ liệu,
những lĩnh vực có ứng dụng của phân cụm dữ liệu, các kỹ thuật của phân cụm dữ liệu,
kiểu dữ liệu trong phân cụm dữ liệu và cách tính về độ đo làm cơ s đo khoảng cách
giữa các điểm với tâm cụm dữ liệu trong ch ơng 2.
1.1.ăKháiăni măvƠăm cătiêuăc aăphơnăc măd ăli u
Phân cụm dữ liệu là q trình nhóm một tập hợp các đối t ợng t ơng tự nhau
trong một tập dữ liệu vào các cụm sao cho các đối t ợng thuộc cùng một cụm là t ơng
đồng còn các đối t ợng thuộc các cụm khác nhau sẽ không t ơng đồng. Phân cụm dữ
liệu là một ví dụ của ph ơng pháp học không giám sát. Không giống nh phân lớp dữ
liệu, phân cụm dữ liệu khơng địi hỏi phải định nghĩa tr ớc các mẫu dữ liệu huấn
luyện. Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát, trong khi
phân lớp dữ liệu học bằng ví dụ…

Hình 1.1: Phân cụm dữ liệu
Ngồi ra, phân cụm dữ liệu (PCDL) cịn có thể đ ợc sử dụng nh một b ớc tiền
xử lý cho các thuật toán khai phá dữ liệu và khám phá các tri thức [4] khác nh là
phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm.
Kỹ thuật phân cụm đ ợc áp dụng trong rất nhiều lĩnh vực nh khai phá dữ liệu,



6

nhận dạng mẫu, xử lý ảnh,…
Với t cách là một chức năng khai phá dữ liệu, phân tích phân cụm có thể đ ợc
sử dụng nh một cơng cụ độc lập chuẩn để quan sát đặc tr ng của mỗi cụm thu đ ợc
bên trong sự phân bố của dữ liệu và tập trung vào một tập riêng biệt của các cụm để
giúp cho việc phân tích đạt kết quả. Thuật tốn phân cụm có nhiều dạng khác nhau [3],
[4], [5] từ phân cụm rõ đơn thuần nh K-Means [2] và phát triển đến thuật toán phân
cụm m Fuzzy C-Means (Bezdek, 1981) [7][9].
Theo các nghiên cứu cho thấy thì hiện nay ch a có một ph ơng pháp phân cụm
tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc dữ liệu. Hơn nữa,
các ph ơng pháp phân cụm cần có cách thức biểu diễn cấu trúc của các dữ liệu, với
mỗi cách thức biểu diễn khác nhau sẽ có t ơng ứng một thuật tốn phân cụm phù hợp.
Vì vậy phân cụm dữ liệu vẫn đang là một vấn đề khó và m , vì chúng ta phải
giải quyết nhiều vấn đề cơ bản một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu
khác nhau, đặc biệt là đối với dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản
trị dữ liệu và đây cũng là một trong những thách thức lớn trong lĩnh vực khai phá dữ
liệu.
1.2. Cácă ngăd ngăc aăphơnăc măd ăli u
PCDL là một trong những công cụ chính của KPDL đ ợc ứng dụng trong nhiều
lĩnh vực nh th ơng mại và khoa học. Các kỹ thuật PCDL đư đ ợc áp dụng cho một
số ứng dụng điển hình trong các lĩnh vực sau:
- Th ơng mại: Các th ơng nhân, doanh nghiệp dựa vào phân cụm dữ liệu để
phân các nhóm khách hàng có các đặc tr ng t ơng đồng nhau và đặc tả họ từ các mẫu
mua bán trong CSDL khách hàng để có chiến l ợt đối với từng đối t ợng nhóm khách
hàng.
- Sinh học: PCDL đ ợc sử dụng để xác định các loại sinh vật, phân loại các Gen
với chức năng t ơng đồng và thu đ ợc các cấu trúc trong các mẫu.

- Th viện: Phân loại các cụm sách có nội dung và ý nghĩa t ơng đồng nhau để
hỗ trợ cho độc giả.
- Y học: Phân cụm các loại triệu chứng có tính chất t ơng đồng gần với các triệu
chứng bệnh lí của các loại bệnh nhằm hỗ trợ trong cơng tác chuẩn đốn, hay phân
nhóm các loại thuốc có d ợc tính t ơng đồng.
- Lập quy hoạch đơ thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lý,…
nhằm cung cấp thông tin cho quy hoạch đô thị.
- Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất nhằm cung cấp
thông tin cho nhận dạng các vùng nguy hiểm.
- Địa lý: Phân lớp vị trí sinh sống của động vật, thực vật và đ a ra đặc tr ng của


7

chúng.
- Khai phá Web: PCDL có thể khám phá các nhóm tài liệu quan trọng, có nhiều ý
nghĩa trong mơi tr ng Web. Các lớp tài liệu này trợ giúp cho việc khám phá tri thức
từ dữ liệu Web, khám phá ra các mẫu truy cập của khách hàng đặc biệt hay khám phá
ra cộng đồng Web,…
1.3.ăCácăyêuăc uăvƠănh ngăv năđ ăt năt iătrongăphơnăc măd ăli u
Việc xây dựng, lựa chọn một thuật toán phân cụm là b ớc then chốt cho việc giải
quyết vấn đề phân cụm, sự lựa chọn này phụ thuộc vào đặc tính dữ liệu cần phân cụm,
mục đích của ứng dụng thực tế hoặc xác định độ u tiên giữa chất l ợng của các cụm
hay tốc độ thực hiện thuật toán,…
Hầu hết các nghiên cứu và phát triển thuật toán PCDL đều nhằm thoả mưn các
yêu cầu cơ bản sau:
- Có khả năng mở rộng: Một số thuật tốn có thể ứng dụng tốt cho tập dữ liệu
nhỏ (khoảng 200 bản ghi dữ liệu) nh ng không hiệu quả khi áp dụng cho tập dữ liệu
lớn (khoảng 1 triệu bản ghi).
- Thích nghi với các kiểu dữ liệu khác nhau: Thuật tốn có thể áp dụng hiệu quả

cho việc phân cụm các tập dữ liệu với nhiều kiểu dữ liệu khác nhau nh dữ liệu kiểu
số, kiểu nhị phân, dữ liệu định danh, hạng mục,... và thích nghi với kiểu dữ liệu hỗn
hợp.
- Khám phá ra các cụm với hình thù bất kỳ: Do hầu hết các CSDL có chứa nhiều
cụm dữ liệu với các hình thù khác nhau nh : hình lõm, hình cầu, hình que,… Vì vậy,
để khám phá đ ợc các cụm có tính tự nhiên thì các thuật tốn phân cụm cần phải có
khả năng khám phá ra các cụm dữ liệu có hình thù bất kỳ.
- Tối thiểu lượng tri thức cần cho xác định các tham số vào: Do các giá trị đầu
vào th ng ảnh h ng rất lớn đến thuật toán phân cụm và rất phức tạp để xác định các
giá trị vào thích hợp đối với các CSDL lớn.
- Ít nhạy cảm với thứ tự của dữ liệu vào: Cùng một tập dữ liệu, khi đ a vào xử lý
cho thuật toán PCDL với các thứ tự vào của các đối t ợng dữ liệu các lần thực hiện
khác nhau thì khơng ảnh h ng lớn đến kết quả phân cụm.
- Khả năng thích nghi với dữ liệu nhiễu cao: Hầu hết các dữ liệu phân cụm trong
KPDL đều chứa đựng các dữ liệu lỗi, dữ liệu khơng đầy đủ, dữ liệu rác. Thuật tốn
phân cụm không những hiệu quả đối với các dữ liệu nhiễu mà còn tránh dẫn đến chất
l ợng phân cụm thấp do nhạy cảm với nhiễu.
- Ít nhạy cảm với các tham số đầu vào: Nghĩa là giá trị của các tham số đầu vào
khác nhau ít gây ra các thay đổi lớn đối với kết quả phân cụm.
- Thích nghi với dữ liệu đa chiều: Thuật tốn có khả năng áp dụng hiệu quả cho


8

dữ liệu có số chiều khác nhau.
- Dễ hiểu, dễ cài đặt và khả thi: Sự phân cụm có thể cần đ ợc giải thích ý nghĩa
và đ ợc ứng dụng rõ ràng.
Các yêu cầu này đồng th i là các tiêu chí để đánh giá hiệu quả của các ph ơng
pháp PCDL, đây là những thách thức cho các nhà nghiên cứu trong lĩnh vực PCDL.
1.4. Nh ngăkỹăthu tăti păc nătrongăphơnăc măd ăli u

Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và các ứng dụng trong thực tế,
nó đều h ớng đến hai mục tiêu chung đó là chất l ợng và tốc độ. Hiện nay, các kỹ
thuật phân cụm có thể phân loại theo các cách tiếp cận sau :
1.4.1. Phương pháp phân cụm phân hoạch
Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k nhóm cho đến
khi xác định số cụm đ ợc thiết lập. Số các cụm đ ợc thiết lập là số các đặc tr ng đ ợc
thiết lập tr ớc. Ph ơng pháp này tốt cho việc thiết lập các cụm hình cầu trong khơng
gian Euclidean. Ngoài ra, ph ơng pháp này cũng phụ thuộc vào khoảng cách cơ bản
giữa các điểm để lựa chọn các điểm dữ liệu nào có quan hệ là gần nhau với mỗi điểm
khác nhau và các điểm dữ liệu nào khơng có quan hệ hoặc có quan hệ là xa nhau so
với mỗi điểm khác. Tuy nhiên, ph ơng pháp này khơng thể xử lý các cụm có hình
dạng kỳ quặc hoặc các cụm có mật độ điểm lớn, dày đặc. Các thuật tốn phân hoạch
dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối u toàn cục cho vấn đề PCDL,
do ph ơng pháp này nó tìm kiếm tất cả phân hoạch có thể đ ợc. Chính vì vậy, trên
thực tế th ng đi tìm giải pháp tối u cục bộ cho vấn đề này bằng cách sử dụng một
hàm tối u tiêu chuẩn để đánh giá chất l ợng của cụm đúng nh để định h ớng cho
quá trình tìm kiếm, phân hoạch dữ liệu. Nh vậy, ý t ng chính của thuật tốn phân
cụm phân hoạch tối u cục bộ là sử dụng chiến l ợc tham ăn để tìm kiếm. Một số giải
thuật trong phân cụm phân hoạch nh K-Mean, PAM, CLARA, CLARANS.
1.4.2. Phương pháp phân cụm phân cấp
Ph ơng pháp này xây dựng một phân cấp trên cơ s các đối t ợng dữ liệu đ ợc
xem xét. Nghĩa là sắp xếp một tập dữ liệu đư cho thành một cấu trúc dữ liệu hình cây,
Cây phân cấp này đ ợc xây dựng theo kỹ thuật đệ quy. Có hai cách tiếp cận phổ biến
của kỹ thuật này đó là
- Hịa nhập nhóm hay gọi là ph ơng pháp tiếp cận Bottom-Up
- Phân chia nhóm hay gọi là ph ơng pháp tiếp cận Top-Down


9


Hình 1.2: Các chiến lược phân cấp
Trên thực tế áp dụng có nhiều tr ng hợp kết hợp cả hai ph ơng pháp trên, nghĩa
là kết quả thu đ ợc của ph ơng pháp phân cấp có thể cải tiến thông qua các b ớc phân
cụm phân hoạch. Ph ơng pháp phân cụm phân hoạch và ph ơng pháp phân cụm phân
cấp là hai ph ơng pháp phân cụm cổ điển, hiện nay có rất nhiều thuật tốn cải tiến dựa
trên hai ph ơng pháp này đư đ ợc áp dụng phổ biến trong KPDL. Một số giải thuật
trong ph ơng pháp phân cụm phân cấp nh CURE, BIRCH, ANGNES…
1.4.3. Phương pháp phân cụm dựa trên mật độ
Kỹ thuật này nhóm các đối t ợng dữ liệu dựa trên hàm xác định mật độ, mật độ
là số các đối t ợng lân cận của một đối t ợng dữ liệu theo một nghĩa nào đó. Trong
cách tiếp cận này, khi một dữ liệu đ ợc xác định thì nó tiếp tục phát triển thêm các đối
t ợng dữ liệu mới, miễn là số đối t ợng lân cận phải lớn hơn một ng ỡng nào đó đ ợc
xác định tr ớc. Ph ơng pháp PCDL dựa trên mật độ có thể phát hiện ra các cụm dữ
liệu dựa trên hình thù bất kỳ. Kỹ thuật này có thể khắc phục đ ợc phần tử ngoại lai
hoặc phần tử có giá trị nhiễu. Tuy nhiên để xác định đ ợc các tham số mật độ của
thuật tốn là rất khó khăn, trong khi các tham số này có tác động rất lớn đến kết quả
của việc phân cụm. Một số giải thuật phân cụm dựa trên mật độ nh DBSCAN,
OPTICS, DENCLUDE

Hình 1.3: Phân cụm dựa trên mật độ (DBSCAN)


10

1.4.4. Phương pháp phân cụm dựa trên lưới
Kỹ thuật phân cụm dữ liệu dựa trên l ới thích hợp với dữ liệu nhiều chiều, dựa
trên cấu trúc dữ liệu l ới để phân cụm, ph ơng pháp này tập trung chủ yếu để xử lý
lớp dữ liệu không gian. Mục tiêu của ph ơng pháp này là l ợng hóa dữ liệu thành các
ô tạo thành cấu trúc dữ liệu l ới. Sau đó, các thao tác phân cụm chỉ cần làm việc với
các đối t ợng trên từng ô trên l ới chứ không phải các đối t ợng dữ liệu. Cách tiếp

cận dữ liệu này không di chuyển các đối t ợng dữ liệu trong các ô mà xây dựng nhiều
mức phân cấp của nhóm đối t ợng trong một ô. Ph ơng pháp này gần giống với
ph ơng pháp phân cụm dữ liệu phân cấp nh ng chúng không trộn các ô, đồng th i giải
quyết khắc phục yêu cầu của dữ liệu nhiều chiều mà ph ơng pháp phân cụm dựa trên
mật độ không giải quyết đ ợc. u điểm của ph ơng pháp này là xử lý với th i gian
nhanh và độc lập với đối t ợng dữ liệu ban đầu, thay vào đó là chúng phụ thuộc vào số
ô trong mỗi chiều của khơng gian l ới. Một số thuật tốn phân cụm dựa trên l ới nh :
STING, WaveCluster

Hình 1.4: Mơ hình cấu trúc phân cụm dựa trên lưới
1.4.5. Phương pháp phân cụm dựa trên mơ hình
Ph ơng pháp này giúp khám phá tốt các phép xấp xỉ của các tham số mơ hình
sao cho khớp với dữ liệu một các gần nhất. Chúng có thể sử dụng chiến l ợc phân cụm
phân hoạch hoặc phân cụm phân cấp, dựa trên cấu trúc hoặc mơ hình mà chúng giả
định về tập hợp dữ liệu và cách chúng hiệu chỉnh các mơ hình này để nhận ra các phân
hoạch. Ph ơng pháp phân cụm dựa trên mơ hình cố gắng khớp giữa các dữ liệu với mơ
hình tốn học, nó dựa trên giả định rằng dữ liệu đ ợc tạo ra bằng hỗn hợp phân phối
xác suất cơ bản. Các thuật toán dựa trên mơ hình có hai cách tiếp cận chính: Mơ hình
thống kê và mạng noron. Ph ơng pháp này gần giống với ph ơng pháp dữ trên mật


11

độ, vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mơ hình đư đ ợc xác định
tr ớc đó. Nh ng đơi khi nó khơng bắt đầu với một số cụm cố định và không sử dụng
cùng một khái niệm mật độ cho các cụm. Một số thuật tốn phân cụm dựa trên mơ
hình nh EM, COBWEB.
1.4.6. Phương pháp phân cụm có dữ liệu ràng buộc
Giải thuật thuộc lớp này sẽ đ ợc bổ sung thêm một số ràng buộc khi thực thi.
Mỗi ràng buộc sẽ thể hiện một yêu cầu của ng i dùng hay nó mơ tả thuộc tính của

cụm kết quả. Ph ơng pháp này cho phép t ơng tác giữa ng i dùng và giải thuật [2]
bằng cách có thể thêm yếu tố quan hệ giữa ng i dùng và giải thuật thông qua các
trọng số của thuộc tính. Một số thuật tốn phân cụm có ràng buộc nh FCM, FCM m
rộng (Các thuật toán này sẽ tiếp tục đ ợc đề cập trong ch ơng 2)
1.5. Cácăki uăd ăli uăvƠăđ ăđo
1.5.1. Phân loại các kiểu dữ liệu
Trong phân cụm dữ liệu, các đối t ợng dữ liệu th ng đ ợc diễn tả d ới dạng
các đặc tính hay cịn gọi là các thuộc tính. Các thuộc tính này là các tham số để giải
quyết vấn đề phân cụm và sự lựa chọn chúng có tác động đáng kể đến kết quả phân
cụm. Phân loại các kiểu thuộc tính khác nhau là vấn đề cần giải quyết đối với hầu hết
các tập dữ liệu nhằm cung cấp các ph ơng tiện thuận lợi để nhận dạng sự khác nhau
của các phần tử dữ liệu. Các thuật toán phân cụm dữ liệu th

ng sử dụng một trong 02

cấu trúc dữ liệu sau:
Ma trận dữ liệu (data matrix, object-by-variable structure): là một mảng n hàng, p
cột, trong đó p là số thuộc tính của mỗi đối t ợng. Mỗi hàng biểu diễn một đối t ợng,
các phần tử trong mỗi hàng chỉ giá trị t ơng ứng của đối t ợng đó. Mảng đ ợc cho
nh sau :

[

]

Ma trận phi t ơng tự (Dissimililabrary matrix, object-by-object structure): là
mảng n hàng, n cột. Phần tử d(i,j) chứa khoảng cách hay độ khác biệt giữa các đối
t ợng i và các đối t ợng j, d(i,j) là một số khơng âm, trong đó nếu d(i,j) xấp xỉ 0 thì
hai đối t ợng i, j là khá gần nha, nếu d(i,j) càng lớn thì hai đối t ợng i,j khác nhau. Do
d(i,j)=d(j,i)=0 nếu i=j, nên ta biểu diễn ma trận phi t ơng tự nh sau :



12

[
]
Phần lớn các thuật toán phân cụm sử dụng cấu trúc ma trận phi t ơng tự. Do vậy,

Nếu dữ liệu cần phân cụm tổ chức d ới dạng ma trận dữ liệu thì cần biến đổi về dạng
ma trận phi t ơng tự tr ớc khi tiến hành phân cụm.
Có hai đặc tr ng để phân loại : kích th ớc miền và hệ đo.
Cho một CSDL D chứa n đối t ợng trong không gian k chiều ; x,y,z là các đối
t ợng thuộc D : x= (x1,x2,…xk); y= (y1,y2,…yk); z= (z1,z2,…zk);
Trong đó xi,, yi, zi với i=1,…,k là các đặc tr ng hoặc thuộc tính t ơng ứng của các
đối t ợng x,y,z ; nh vậy sẽ có các kiểu dữ liệu sau :
1.5.1.1, Kiểu dữ liệu dựa trên kích thước miền
- Thuộc tính liên tục: Nếu miền giá trị của nó là vơ hạn khơng đếm đ ợc, nghĩa
là giữa hai giá trị tồn tại vô số các giá trị khác ( ví dụ : các thuộc tính màu sắc, nhiệt
độ, hoặc c ng độ âm thanh…)
- Thuộc tính rời rạc : Nếu miền giá trị của nó là tập hữu hạn, đếm đ ợc (ví dụ :
các thuộc tính số…) Tr

ng hợp đặc biệt của thuộc tính r i rạc là thuộc tính nhị phân

mà miền giá trị chủ có hai phần tử (ví dụ : 1/0, Yes/no, True/False, On/off…)
1.5.1.2, Kiểu dữ liệu trên hệ đo
- Thuộc tính định danh: Là dạng thuộc tính khái qt hóa của thuộc tính nhị
phân, trong đó có miền giá trị là r i rạc không phân biệt thứ tự và có nhiều hơn hai
phần tử. Nếu x và y là hai đối t ợng thuộc tính thì chỉ có xác định là x<> y hoặc x=y.
- Thuộc tính có thứ tự: Là thuộc tính định danh có thêm tính thứ tự nh ng chúng

khơng đ ợc định l ợng. Nếu x và y là hai thuộc tính thứ tự thì có thể xác định là x<>y,
hoặc x=y hoặc x>y hoặc x- Thuộc tính khoảng: Để đo các giá trị theo xấp xỉ tuyến tính, với thuộc tính
khoảng có thể xác định một thuộc tính là đứng tr ớc hoặc đứng sau thuộc tính khác
với một khoảng bao nhiêu. Nếu xi>yi thì có thể nói x cách y một khoảng xi-yi t ơng
ứng với thuộc tính i.
Việc lựa chọn đơn vị đo cho các thuộc tính cũng ảnh h

ng đến chất l ợng phân

cụm. Nếu đơn vị độ đo của một thuộc tính càng đ ợc chia nhỏ, thì khoảng cách xác
định của thuộc tính đó cảng lớn và ảnh h ng nhiều hơn đến kết quả phân cụm. Để
tránh phụ thuộc vào việc lựa chọn đơn vị đo, dữ liệu cần đ ợc chuẩn hóa. Việc chuẩn
hóa sẽ gán cho tất cả các thuộc tính một trọng số bằng nhau. Tuy nhiên, trong nhiều


13

tr

ng hợp ng

i sử dụng có thể thay đổi trọng sơ cho các thuộc tính u tiên.

Để chuẩn hóa các độ đo, một cách làm phổ biến là biến đổi các thuộc tính về
dạng khơng có đơn vị đo. Giả sử đối với thuộc tính f, ta thực hiện nh sau :
Tính độ lệch trung bình :
Trong đó:

|


(|



|

|

|

(1.1)

là giá trị thuộc tính f của n phần tử dữ liệu và

trị trung bình của f, đ ợc cho nh sau :
(

|)

)

là giá

(1.2)

Độ đo đ ợc chuẩn hóa theo cơng thức sau :

(1.3)


- Thuộc tính nhị phân: Là thuộc tính có hai giá trị đúng/sai
- Thuộc tính tỉ lệ: Là thuộc tính khoảng nh ng đ ợc xác định một cách t ơng đối
so với điểm mốc.
Trong các thuộc tính trình bày trên, thuộc tính định danh và thuộc tính có thứ
tự gọi chung là thuộc tính hạng mục, cịn thuộc tính khoảng cách và thuộc tính tỉ lệ
đ ợc gọi là thuộc tính số.
Đặc biệt cịn có dữ liệu khơng gian là loại dữ liệu có thuộc tính khái qt trong
khơng gian nhiều chiều, dữ liệu không gian mô tả các thông tin liên quan đến không
gian chứa đựng các đối t ợng (ví dụ nh : thơng tin về hình học, quan hệ metric, quan
hệ vector…). Dữ liệu không gian có thể là dữ liệu liên tục hoặc r i rạc.
+ Dữ liệu không gian liên tục: bao chứa một vùng không gian.
+ Dữ liệu không gian r i rạc: có thể là một điểm trong khơng gian nhiều
chiều và cho phép xác định khoảng cách giữa các đối t ợng dữ liệu trong không gian.
1.5.2 Độ đo tương tự và phi tương tự
1.5.2.1, Độ đo tương tự
Giả sử trong một miền dữ liệu D, một phần tử dữ liệu x đ ợc biểu diễn bằng một
vector n chiều (x1,x2,…xn), trong đó mỗi chiều biểu diễn một thuộc tính mơ tả phần dữ
liệu x. Tùy vào kiểu giá trị biểu diễn mà độ t ơng tự giữa hai phần tử dữ liệu x1,x2 có
thể đ ợc tính tốn bằng các cách khác nhau [2].
- Tr ng hợp các giá trị thuộc tính đ ợc biểu diễn bằng các giá trị nhị phân
{ }, ta lập bảng mô tả số l ợng các thuộc tính có cùng giá trị và các thuộc tính
khơng cùng giá trị nh bảng (1. 1). Khi đó độ đo Jaccard xác định độ đo t ơng tự giữa
hai phần tử dữ liệu x1,x2 đ ợc xác định nh sau :
(1.4)


×