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

Một số kỹ thuật phân cụm dữ liệu và ứng dụng phân loại khách hàng sử dụng dịch vụ viễn thô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 (1.78 MB, 80 trang )





























ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG




NGUYỄN ĐÔNG HUY


MỘT SỐ KỸ THUẬT PHÂN CỤM DỮ LIỆU VÀ ỨNG DỤNG
PHÂN LOẠI KHÁCH HÀNG SỬ DỤNG DỊCH VỤ VIỄN THÔNG




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






Thái Nguyên - 2014

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

LỜI CẢM ƠN
Trong quá trình làm luận văn, bản thân em đã nhận đƣợc nhiều sự giúp đỡ
chỉ bảo tận tình của các thầy cô giáo, sự giúp đỡ, tạo điều kiện của gia đình, bạn
bè để hoàn thành khóa luận đúng tiến độ.
Em xin trân trọng cảm ơn thầy giáo TS. Nguyễn Huy Đức đã trực tiếp
hƣớng dẫn nhiệt tình, chỉ bảo cặn kẽ trong quá trình làm luận văn.
Em cũng xin gửi lời cám ơn chân thành tới Ban lãnh đạo nhà trƣờng, các
cán bộ giảng viên của trƣờng Đại học Công nghệ Thông tin và Truyền thông –

Đại học Thái Nguyên đã tạo điều kiện thuận lợi để em hoàn thành tốt khóa luận.

Học viên



Nguyễn Đông Huy
















Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

LỜI CAM ĐOAN
Em xin cam đoan những kiến thức trình bày trong luận văn này là do em
tìm hiểu, nghiên cứu và trình bày lại theo cách hiểu của em. Trong quá trình làm
luận văn em có tham khảo các tài liệu liên quan và đã ghi rõ nguồn tài liệu tham
khảo đó. Phần lớn những kiến thức do em trình bày trong luận văn này chƣa đƣợc

trình bày hoàn chỉnh trong bất cứ tài liệu nào.
Thái Nguyên, ngày 10 tháng 4 năm 2014

Học viên



Nguyễn Đông Huy


















Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


MỤC LỤC


LỜI CẢM ƠN 2
LỜI CAM ĐOAN 3
MỤC LỤC 4
DANH SÁCH HÌNH VẼ 6
DANH SÁCH BẢNG BIỂU 8
DANH MỤC CÁC TỪ VIẾT TẮT 9
LỜIMỞ ĐẦU 10
CHƢƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 10
1.1. Khai phá dữ liệu và phát hiện tri thức 11
1.1.1. Khai phá dữ liệu 11
1.1.2. Quá trình khám phá tri thức 12
1.1.3. Khai phá dữ liệu và các lĩnh vực liên quan 13
1.1.4. Các kỹ thuật áp dụng trong khai phá dữ liệu 13
1.1.5. Ứng dụng khai phá dữ liệu 15
1.2. Kỹ thuật phân cụm trong khai phá dữ liệu 16
1.2.1. Tổng quan về kỹ thuật phân cụm 16
1.2.2. Ứng dụng của phân cụm dữ liệu 18
1.2.3. Các yêu cầu kỹ thuật đối với phân cụm dữ liệu 19
1.3. Tổng kết chƣơng 1 20
CHƢƠNG 2: MỘT SỐ KỸ THUẬT PHÂN CỤM DỮ LIỆU 21
2.1. Phâncụmphânhoạch 21
2.1.1 Thuật toán k-means 22
2.1.2 Thuật toán PAM 24
2.1.3 Thuật toán CLARA 28
2.1.4 Thuật toán CLARANS 29
2.2. Phân cụm phân cấp 31
2.2.1. Thuật toán BIRCH 32
2.2.2. Thuật toán CURE 35
2.3. Phân cụm dựa trên mật độ 37


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

2.3.1. Thuật toán DBSCAN 38
2.3.2. Thuật toán OPTICS 42
2.3.3. Thuật toán DENCLUE 43
2.4. Phân cụm trên lƣới 44
2.4.1. Thuật toán STING 45
2.4.2. Thuật toán CLIQUE 46
2.5. Phân cụm dữ liệu dựa trên mô hình 47
2.5.1 Thuật toán EM 48
2.5.2 Thuật toán COBWEB 49
2.6. Phân cụm dữ liệu mờ 49
2.7. Tổng kết chƣơng 2 50
CHƢƠNG 3: ỨNG DỤNG PHÂN CỤM DỮ LIỆU ĐỂ PHÂN LOẠI
KHÁCH HÀNG SỬ DỤNG DỊCH VỤ VIỄN THÔNG 52
3.1 Đặt vấn đề bài toán 52
3.2 Cài đặt Cơ sở dữ liệu 52
3.3 Cài đặt thuật toán 56
3.4 Đánh giá kết quả phân cụm bằng thuật toán PAM 60
3.5 Kết luận chƣơng 3 61
KẾT LUẬN 62
TÀILIỆUTHAMKHẢO 63
PHỤ LỤC 65












Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

DANH SÁCH HÌNH VẼ
Hình 1.1.Quátrìnhkhámphátri thức 11
Hình 1.2.Cáclĩnh vựcliênquan đến khámphátri thứctrongCSDL 13
Hình 1.3.Trựcquanhóakết quảKPDLtrongOracle 15
Hình 1.4.Môphỏngsự PCDL 16
Hình 2.1.Thuậttoánk-means 22
Hình 2.2.Hìnhdạngcụmdữ liệu đƣợc khámphábởi k-means 23
Hình2.3.Trƣờnghợp C
jmp
=d(O
j
,O
m,2
) –d(O
j
,O
m
) khôngâm 25
Hình2.4.Trƣờng hợp C
jmp
=(O
j
,O

p
)- d(O
j
,O
m
)có thểâm hoặcdƣơng 26
Hình2.5.Trƣờnghợp C
jmp
bằngkhông 26
Hình2.6.Trƣờnghợp C
jmp
=(O
j
,O
p
)- d(O
j
,O
m,2
)luônâm 27
Hình 2.7.Thuậttoán PAM 27
Hình 2.8.ThuậttoánCLARA 28
Hình 2.9.ThuậttoánCLARANS 31
Hình 2.10.Cácchiến lƣợcphâncụmphâncấp 32
Hình 2.11.CâyCF đƣợcsử dụngbởi thuật toánBIRCH 34
Hình 2.12.ThuậttoánBIRCH 35
Hình 2.13.Ví dụvềkết quảphâncụmbằngthuậttoánBIRCH 35
Hình 2.14.Cáccụmdữ liệu đƣợckhámphábởi CURE 37
Hình 2.15.ThuậttoánCURE 37
Hình 2.16.Một sốhìnhdạngkhámphá bởi phâncụmdựa trênmật độ 38

Hình 2.17.LâncậncủaP với ngƣỡngEps 39
Hình 2.18.Mật độ-đến đƣợctrựctiếp 40
Hình 2.19.Mật độ đến đƣợc 40
Hình 2.20.Mật độ liênthông 41
Hình 2.21.Cụmvà nhiễu 41

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Hình 2.22.ThuậttoánDBSCAN 42
Hình 2.23.Thứ tự phâncụmcácđối tƣợngtheoOPTICS 43
Hình 2.24.DENCLUEvới hàmphân phối Gaussian 45
Hình2.25.Môhìnhcấutrúcdữliệulƣới 46
Hình2.26.ThuậttoánCLIQUE 48
Hình2.27.QuátrìnhnhậndạngcácôcủaCLIQUE 48


DANH SÁCH BẢNG BIỂU
Hình 3.1. Các trƣờng khai báo dữ liệu 54
Hình 3.2.Dữ liệu khách hàng 55
Hình 3.3.Dữ liệu khách hàng trong SQL Server 56
Hình 3.4.Giao diện chính của chƣơng trình nhập dữ liệu 57
Hình 3.5.Giao diện chọn các tham số cho thuật toán 58
Hình 3.6.Giao diện phân cụm theo thời lƣợng cuộc gọi 58
Hình 3.7.Danh sách các khách hàng thuộc cụm 1 theo thời lƣợng cuộc
gọi 59
Hình 3.8.Danh sách các khách hàng thuộc cụm 2 theo thời lƣợng cuộc
gọi 59
Hình 3.9.Danh sách các khách hàng thuộc cụm 3 theo thời lƣợng cuộc
gọi 59
Hình 3.10.Giao diện phân cụm theo tiền dịch vụ 60

Hình 3.11.Danh sách các khách hàng thuộc cụm 1 theo tiền dịch vụ 60
Hình 3.12.Danh sách các khách hàng thuộc cụm 2 theo tiền dịch vụ 61
Hình 3.13.Danh sách các khách hàng thuộc cụm 3 theo tiền dịch vụ 61









9

DANH MỤC CÁC TỪ VIẾT TẮT
Stt
Viết tắt
Cụm từtiếngAnh
Cụm từtiếngViệt
1
CNTT
InformationTechnology
Côngnghệthôngtin
2
CSDL
Database
Cơ sởdữliệu

3


KDD
KnowledgeDiscovery
inDatabase
Khámphá trithứctrongcơ
sởdữliệu
4
KPDL
Datamining
Khaiphá dữliệu
5
KPVB
TextMining
Khaiphávănbản
6
PCDL
DataClustering
Phâncụmdữ liệu

















10

LỜIMỞĐẦU
Trongnhữngnămgầnđâycùngvớipháttriểnnhanhchóngcủakhoahọckỹthuậtlà
sựbùngnỗvềtrithức.Khodữliệu,nguồntrithứccủanhânloạicũngtrởnênđồsộ,vôtậnlà
mchovấnđềkhaitháccácnguồntrithứcđóngàycàngtrởnênnóngbỏngvàđặtratháchthứ
clớnchonềncôngnghệthôngtinthếgiới.
Đốivớimộtdoanhnghiệpthôngtin diđộngviệcpháttriểnthuêbao mới
đểkiếmtìmlợinhuậnvàothờiđiểmhiệntạiđãkhôngcònđemlạihiệuquả.Thayvàođólà
mộtphƣơngánkinhdoanhtiếnđếnpháttriểnchấtlƣợngdịchvụ
vàcungcấpthêmnhiềudịchvụgiátrịgiatăng.Tuynhiêncácdịchvụtruyềnthốngnhƣtho
ại,nhắntinvẫncóthểđemlạinguồnlợinhuậncaohơnnếukíchthíchđƣợcnhucầusửdụng
củakháchhàng. Để thực hiện đƣợc điều đó, các doanh nghiệp phải không ngừng
giữ vững đƣợc khách hàng hiện có mà còn phải đƣa ra đƣợc các chiến lƣợc phát
triển kinh doanh dài hạn, phân loại đƣợc các nhóm khách hàng đang sử dụng để
từ đó có chính sách phân khúc thị trƣờng hợp lý. Vì vậy, em dựa vào thực trạng
nhƣ trên và kết hợp với kỹ thuật phân cụm trong khai phá dữ liệu để thực hiện đề
tài: “Một số kỹ thuật phân cụm dữ liệu và ứng dụng phân loại khách hàng sử
dụng dịch vụ Viễn thông”
Bố cục luận văn gồm 3 chương:
Chƣơng 1: Trình bày một cách tổng quan các kiến thức cơ bản về khai
phá dữ liệu và phát hiện tri thức, các kỹ thuật phân cụm trong khai phá dữ liệu.
Chƣơng 2: Giới thiệu một số dữ liệu phân cụm phổ biến thƣờng đƣợc sử
dụng trong khai phá dữ liệu và phát hiện tri thức.
Chƣơng 3: Sử dụng kỹ thuật phân cụm để ứng dụng vào phân loại khách
hàng sử dụng dịch vụ viễn thông. Trong chƣơng này cũng trình bày chƣơng
trình mô phỏng áp dụng kỹ thuật phân cụm để phân loại sử dụng dịch vụ Viễn

thông.
Phần kết luận của luận văn tổng kết lại những vấn đề đã nghiên cứu, đánh
giá kết quả nghiên cứu, hƣớng phát triển của đề tài.
CHƢƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
11

1.1. Khai phá dữ liệu và phát hiện tri thức
1.1.1. Khai phá dữ liệu
Cuốithậpkỷ80củathếkỷ20,sựpháttriểnrộngkhắpcủacácCSDLđãtạorasựbùngn
ổthôngtintrêntoàncầu,vàothờigiannàyngƣờitabắtđầuđềcậpđếnkháiniệmkhủnghoản
gtrongviệcphântíchdữliệutácnghiệpđểcungcấpthôngtinvớiyêucầuchấtlƣợngngàyc
àngcaochongƣờilàmquyếtđịnhtrongcáctổchứcchínhphủ, tàichính,
thƣơngmại,khoahọc,…
ĐúngnhƣJohnNaisbettđãcảnhbáo“Chúngtađangchìmngậptrongdữliệumàvẫn
đóitrithức”.Lƣợngdữliệukhổnglồnàythựcsựlàmộtnguồntàinguyêncónhiềugiátrịbởi
thôngtinlàyếutốthenchốtphụcvụchomọihoạtđộngquảnlý,kinhdoanh,pháttriểnsảnxu
ấtvàdịchvụ,…nógiúpngƣờiđiềuhànhvàquảnlýcónhữnghiểubiếtvềmôitrƣờngvàtiếnt
rìnhhoạtđộngcủatổchứcmìnhtrƣớckhiraquyếtđịnhđểtác
độngđếnquátrìnhhoạtđộngnhằm đạtđƣợc các mục tiêu mộtcáchhiệuquả
vàbềnvững.
KPDLlàmộtlĩnhvựcmớiđƣợcnghiêncứu,nhằm
tựđộngkhaithácthôngtin,trithứcmớihữuích,tiềmẩntừnhữngCSDLlớnchocácđơnvị,
tổchức,doanhnghiệp,….từđólàmthúcđẩykhảnăngsảnxuất,kinhdoanh,cạnhtranhch
ocácđơnvị,tổchứcnày.Cáckếtquảnghiêncứukhoahọccùngnhữngứngdụngthànhcôn
gtrongKDDchothấyKPDLlàmộtlĩnhvựcpháttriểnbềnvững,manglạinhiềulợiíchvàc
ónhiềutriểnvọng, đồngthờicóƣuthế
hơnhẵnsovớicáccôngcụtìmkiếmphântíchdữliệutruyềnthống.Hiệnnay,KPDLđãứng
dụngngàycàngrộngrãitrongcáclĩnhvựcnhƣthƣơngmại,tàichính,yhọc,
viễnthông,tin–
sinh,….CáckỹthuậtchínhđƣợcápdụngtronglĩnhvựcKPDLphầnlớnđƣợcthừakếtừlĩn

hvựcCSDL,họcmáy,trítuệnhântạo,lýthuyếtthôngtin,xácsuấtthốngkê
vàtínhtoánhiệunăngcao,
NhƣvậytacóthểkháiquáthóakháiniệmKPDLlàmộtquátrìnhtìmkiếm,
pháthiệncáctrithứcmới, hữuích, tiềmẩn trongCSDL lớn.
12

KDDlàmụctiêuchínhcủaKPDL,dovậyhaikháiniệmKPDLvàKDDđƣợccácnhà
khoahọctrênhailĩnhvựcxemlàtƣơngđƣơngvớinhau.Thếnhƣngnếuphânchiamộtcách
chitiếtthìKPDLlàmộtbƣớcchínhtrongquátrìnhKDD.
1.1.2. Quá trình khám phá tri thức
Quátrìnhkháphátrithứccóthểchiathành5bƣớcnhƣ sau:

Hình 1.1 Quá trình khám phá tri thức
QuátrìnhKPDL có thểphânthànhcác giaiđoạnsau [6]:
Tríchchọndữliệu:Đâylà bƣớctríchchọnnhữngtậpdữliệu cần đƣợc khaiphá
từcáctậpdữliệulớnbanđầutheomộtsốtiêuchínhấtđịnh.
Tiềnxửlýdữliệu:Đâylàbƣớclàmsạchdữliệu(xửlýnhữngdữliệukhôngđầyđủ,nh
iễu,khôngnhấtquán, ),rútgọndữliệu(sửdụnghàmnhómvàtínhtổng,cácphƣơngpháp
néndữliệu,sửdụnghistograms,lấymẫu, ),rờirạchóadữliệu(rờirạchóadựavàohistogr
ams,dựavàoentropy,dựavàophânkhoảng, ).Saubƣớcnày,dữliệusẽnhấtquán,đầyđủ
,đƣợcrútgọnvàđƣợcrờirạchóa.
Biếnđổidữliệu:Đâylàbƣớcchuẩnhóavàlàmmịndữliệuđểđƣadữliệuvề
dạngthuậnlợinhấtnhằmphụcvụquátrìnhkhaiphá ởbƣớcsau.
Khaiphádữliệu:Đâylàbƣớcápdụngnhữngkỹthuậtphântích(nhƣcáckỹthuậtcủ
ahọcmáy)nhằmđểkhaithácdữliệu,tríchchọnđƣợcnhữngmẫuthôngtin,nhữngmốiliên
hệđặcbiệttrongdữliệu.Đâyđƣợcxemlàbƣớcquantrọng
vàtốnnhiềuthờigiannhấtcủatoànquá trìnhKDD.
13

Đánhgiávàbiểudiễntrithức:Nhữngmẫuthôngtinvàmốiliênhệtrongdữliệuđãđ

ƣợckhámpháởbƣớctrênđƣợcbiếnđổivàbiểudiễnởmộtdạnggầngũivớingƣờisửdụngn
hƣđồthị,cây,bảngbiểu,luật, Đồngthờibƣớcnàycũng
đánhgiánhữngtrithứckhámphá đƣợc theonhữngtiêuchínhấtđịnh.
1.1.3. Khai phá dữ liệu và các lĩnh vực liên quan
KPDLlàmộtlĩnhvựcliênquantớithốngkê,họcmáy,CSDL,thuậttoán,tínhtoáns
ongsong,thunhậntrithứctừhệchuyêngiavàdữliệutrừutƣợng.Đặctrƣngcủahệthốngkh
ámphátrithứclànhờvàocácphƣơngpháp,thuậttoánvà
kỹthuậttừnhữnglĩnhvựckhácnhauđểKPDL.
LĩnhvựchọcmáyvànhậndạngmẫutrongKDDnghiêncứucáclýthuyếtvàthuậtto
áncủahệthốngđểtríchracácmẫuvàmôhìnhtừdữliệulớn.KDDtậptrungvàoviệcmởrộn
gcáclýthuyếtvàthuậttoánchocácvấnđềtìmracácmẫuđặcbiệt(hữuích hoặc cóthểrútra
trithứcquantrọng)trongCSDL lớn.
Ngoàira,KDDcónhiềuđiểmchungvớithốngkê,đặcbiệtlàphântíchdữliệuthăm
dò(ExploratoryDataAnalysis-
EDA).HệthốngKDDthƣờnggắnnhữngthủtụcthốngkêchomôhìnhdữliệuvàtiếntrìnhn
hiễutrongkhámphátrithứcnóichung.
Mộtlĩnhvựcliênquankháclàphântíchkhodữliệu.Phƣơngphápphổbiếnđểphânt
íchkhodữliệulàOLAP(On-LineAnalyticalProcessing).CáccôngcụOLAP
tậptrungvàophântíchdữ liệuđa chiều.
1.1.4. Các kỹ thuật áp dụng trong khai phá dữ liệu
KDDlàmộtlĩnhvựcliênngành,baogồm:Tổchứcdữliệu,họcmáy,trítuệnhântạo
vàcác khoahọckhác. Sựkếthợpnàycó thểđƣợcdiễntả nhƣsau:
14


Hình 1.2 Các lĩnh vực liên quan đến khám phá tri thức
Đứngtrênquanđiểmcủahọc máy,thìcáckỹthuậttrongKPDL,baogồm:
Họccógiámsát:LàquátrìnhgánnhãnlớpchocácphầntửtrongCSDLdựatrênmột
tậpcácvídụhuấn luyệnvà cácthôngtinvề nhãnlớpđãbiết.
Họckhôngcógiámsát:Làquátrìnhphânchiamộttậpdữliệuthànhcáclớphaycụm

dữliệutƣơngtựnhaumàchƣabiếttrƣớccácthôngtinvềlớphaytậpcác vídụhuấnluyện.
Họcnửagiám sát:Làquátrìnhphânchiamộttậpdữliệuthành các
lớpdựatrênmộttậpnhỏcácvídụhuấnluyệnvàcácthôngtinvềmộtsốnhãnlớpđãbiếttrƣớ
c.
+
Nếucăncứvàolớpcácbàitoáncầngiảiquyết,thìKPDLbaogồmcáckỹthuậtápdụngsau
[6]:
Phânlớpvàdựbáo:Xếpmộtđốitƣợngvàomộttrongnhữnglớpđãbiếttrƣớc.Vídụ
nhƣphânlớpcácdữliệubệnhnhântronghồsơbệnhán.Hƣớngtiếpcậnnàythƣờngsửdụn
gmộtsốkỹthuậtcủahọcmáynhƣcâyquyếtđịnh,mạngnơronnhântạo, Phânlớpvàdự
báo cònđƣợcgọilàhọccógiámsát.
Luậtkếthợp:Làdạngluậtbiểudiễntrithứcởdạngkháđơngiản.Vídụ:“60%
nữgiớivàosiêuthị nếumua phấnthìcótới80% trongsốhọ
sẽmuathêmson”.Luậtkếthợpđƣợcứngdụngnhiềutronglĩnhvựckinhdoanh,yhọc,tin-
sinh, tàichínhvà thịtrƣờngchứngkhoán,
15

Phântíchchuỗitheothờigian:Tƣơngtựnhƣkhaipháluậtkếthợpnhƣngcóthêmtí
nhthứtựvàtínhthờigian.Hƣớngtiếpcậnnàyđƣợcứngdụngnhiềutronglĩnhvựctàichính
và thịtrƣờngchứngkhoánvìnócótínhdự báocao.
Phâncụm:Xếpcácđốitƣợngtheotừngcụmdữliệutựnhiên.Phâncụmcònđƣợcgọ
ilàhọckhôngcógiámsát.
Môtảvàtómtắtkháiniệm:Thiênvềmôtả,tổnghợpvàtómtắtkháiniệm,vídụ
nhƣtómtắtvăn bản.
DoKPDL đƣợc
ứngdụngrộngrãinênnócóthểlàmviệcvớirấtnhiềukiểudữliệukhácnhau.Sauđâylàmột
sốdạngdữliệuđiểnhình:Dữliệuquanhệ,dữliệuđachiều,dữliệudạnggiaodịch,dữliệuqu
anhệ-
hƣớngđốitƣợng,dữliệukhônggianvàthờigian,dữliệuchuỗithờigian,dữliệuđaphƣơng
tiện,dữliệuvănbảnvà Web,…

1.1.5. Ứng dụng khai phá dữ liệu
KPDLlàmộtlĩnhvựcđƣợcquantâmvàứngdụngrộngrãi.Mộtsốứngdụngđiểnhì
nhtrongKPDLcóthểliệtkênhƣ sau:Phântíchdữliệuvàhỗtrợraquyếtđịnh,điềutrịy
học,KPVB,khaipháWeb,tin-sinh,tàichínhvàthịtrƣờngchứngkhoán, bảohiểm,
Thƣơngmại:Nhƣphântíchdữliệubánhàngvàthịtrƣờng,phântíchđầutƣ,
pháthiệngianlận,chứngthựchóakháchhàng, dự báoxuhƣớngpháttriển,
Thôngtinsảnxuất:Điềukhiển,lậpkếhoạch,hệthốngquảnlý,phântíchthửnghiệ
m,
Thôngtinkhoahọc:Dự báothờitiết, bảolụt,
độngđất,tinsinhhọc, HiệnnaycáchệquảntrịCSDLđãtíchhợpnhữngmodulđểKPDL
nhƣSQLServer,Oracle,đếnnăm2007MicrosoftđãcungcấpsẵncôngcụKPDLtíchhợp
trongcả MS-Word, MS-Excel,
16


Hình 1.3 Trực quan hóa kết quả KPDL trong Oracle
1.2. Kỹ thuật phân cụm trong khai phá dữ liệu
1.2.1. Tổng quan về kỹ thuật phân cụm
MụcđíchchínhcủaPCDLnhằmkhámphácấutrúccủamẫudữliệuđểthànhlậpcá
cnhómdữliệutừtậpdữliệulớn,theođónóchophépngƣờitađisâuvàophântíchvànghiên
cứuchotừngcụmdữliệunàynhằmkhámphávàtìmkiếmcácthôngtintiềmẩn,hữuíchph
ụcvụchoviệcraquyếtđịnh.Vídụ“nhómcáckháchhàngtrongCSDLngânhàngcóvốnc
ácđầutưvàobấtđộngsảncao”…Nhƣvậy,PCDLlàmộtphƣơngphápxửlýthôngtinqua
ntrọngvàphổbiến,nónhằmkhámphámốiliênhệgiữacácmẫudữliệubằngcáchtổchức
chúngthànhcáccụm.
TacóthểkháiquáthóakháiniệmPCDL
[6][10]:PCDLlàmộtkỹthuậttrongKPDL,nhằmtìmkiếm,pháthiệncáccụm,cácmẫud
ữliệutựnhiên,tiềmẩn,quantrọngtrongtậpdữliệulớntừđócungcấpthôngtin,trithứchữ
uíchchoviệc raquyếtđịnh.
Nhƣvậy,PCDLlàquátrìnhphânchiamộttậpdữliệubanđầuthànhcáccụmdữ

liệusaochocácphầntửtrongmộtcụm"tƣơngtự"vớinhau vàcácphầntử trong các
cụmkhácnhausẽ "phitƣơngtự" vớinhau.Sốcác cụmdữ liệuđƣợc
17

phânởđâycóthểđƣợcxácđịnhtrƣớctheokinhnghiệmhoặccóthểđƣợctựđộngxácđịnhc
ủaphƣơngphápphâncụm.
Độtƣơngtựđƣợcxácđịnhdựatrêngiátrịcácthuộctínhmôtảđốitƣợng.Thôngthƣ
ờng,phépđokhoảngcáchthƣờngđƣợcsửdụngđểđánhgiáđộtƣơngtựhayphitƣơngtự.
Ta có thểminhhoạvấnđềphâncụmnhƣ hìnhsauđây:

Hình 1.4 Mô phỏng sự PCDL
Tronghìnhtrên,saukhiphâncụmtathuđƣợcbốncụmtrongđócácphầntử"tươngt
ự"thìđƣợcxếpvàomộtcụm,cácphầntử"phitươngtự"thìchúngthuộc vềcác cụmkhác
nhau.
TrongPCDLkháiniệm,haihoặcnhiềuđốitƣợngcùngđƣợcxếpvàomộtcụmnếuc
húngcóchungmộtđịnhnghĩavềkháiniệmhoặcchúngxấpxỉvớicác kháiniệmmôtả
chotrƣớc. Nhƣ vậy, PCDL khôngsử dụng độđo“tươngtự”nhƣđã trìnhbàyở trên.
Tronghọcmáy,PCDLđƣợcxemlàvấnđềhọckhôngcógiámsát,vìnóphảigiảiquy
ếtvấnđềtìmmộtcấutrúctrongtậphợpdữ
liệuchƣabiếttrƣớccácthôngtinvềlớphaycácthôngtinvềtậphuấnluyện.Trongnhiềutrƣ
ờnghợp,nếuphânlớpđƣợcxemlàvấnđềhọccógiámsátthìPCDLlàmộtbƣớctrongphânl
ớpdữliệu,PCDL sẽkhởitạocáclớpchophânlớpbằng cáchxác
địnhcácnhãnchocácnhómdữ liệu.
MộtvấnđềthƣờnggặptrongPCDLlàhầuhếtcácdữliệucầnchophâncụmđềucóc
hứadữliệu"nhiễu"doquátrìnhthuthậpthiếuchínhxáchoặcthiếuđầyđủ,vìvậycầnphảix
âydựngchiếnlƣợcchobƣớctiềnxửlýdữliệunhằmkhắcphụchoặcloạibỏ"nhiễu"trƣớck
hibƣớcvàogiaiđoạnphântích
PCDL."Nhiễu"ởđâycóthểlàcácđốitƣợngdữliệukhôngchínhxáchoặccácđốitƣợngdữ
liệukhuyếtthiếuthôngtinvềmộtsốthuộctính.Mộttrongcáckỹthuậtxửlýnhiễuphổbiếnl
18


àviệcthaythếgiátrịcủacácthuộctínhcủađốitƣợng"nhiễu"bằnggiátrịthuộctínhtƣơng
ứngcủađốitƣợngdữ liệugầnnhất.
Ngoàira,dòtìmphầntửngoạilailàmộttrongnhữnghƣớngnghiêncứuquantrọngt
rongPCDL,chứcnăngcủanólàxácđịnhmộtnhómnhỏcácđốitƣợngdữ
liệu"khácthường"sovớicác dữliệukháctrongCSDL-tứclàcác
đốitƣợngdữliệukhôngtuântheocáchànhvihoặcmôhìnhdữ liệu-nhằm
tránhsựảnhhƣởngcủachúngtớiquátrìnhvàkếtquảcủaPCDL.Khámphácácphầntửngo
ạilaiđãđƣợcpháttriểnvàứngdụngtrongviễnthông,dòtìmgianlậnthƣơngmại…
Tómlại,PCDLlàmộtvấnđềkhóvìngƣờitaphảiđigiảiquyếtcácvấnđềconcơ
bảnnhƣsau:
- Biểudiễndữ liệu.
- Xây dựnghàmtínhđộtƣơngtự.
- Xây dựngcáctiêuchuẩnphâncụm.
- Xây dựngmôhìnhchocấutrúccụmdữliệu.
- Xây dựngthuậttoán phâncụmvà xác lậpcác điềukiệnkhởitạo.
- Xây dựngcácthủtục biểudiễnvà đánhgiákếtquảphâncụm.
Theocácnghiêncứuthìđếnnaychƣacómộtphƣơngphápphâncụmtổngquátnàoc
óthểgiảiquyếttrọnvẹnchotấtcảcácdạngcấutrúccụmdữliệu.Hơnnữa,cácphƣơngpháp
phâncụmcầncócáchthứcbiểudiễncấutrúccáccụmdữliệukhácnhau,vớimỗicáchthứcb
iểudiễnkhácnhausẽcómộtthuậttoánphâncụmphùhợp.PCDLđanglà
vấnđềmởvàkhóvìngƣờita cần
phảiđigiảiquyếtnhiềuvấnđềcơbảnnhƣđãđềcậpởtrênmộtcáchtrọnvẹnvàphùhợpvớin
hiềudạngdữliệukhácnhau.Đặcbiệtđốivớidữliệuhỗnhợp,đangngàycàngtăngtrƣởngk
hôngngừngtrongcáchệquảntrịdữliệu,đâycũnglàmộttrongnhữngtháchthứclớntrongl
ĩnhvựcKPDLtrongnhữngthậpkỷtiếptheo.
1.2.2. Ứng dụng của phân cụm dữ liệu
PCDLlàmộttrongnhữngcôngcụchínhcủaKPDLđƣợcứngdụngtrongnhiềulĩnh
vựcnhƣthƣơngmạivàkhoahọc.CáckỹthuậtPCDLđãđƣợcápdụngchomộtsốứngdụng
điểnhìnhtrongcác lĩnhvựcsau[10][19]:

19

Thươngmại:PCDLcóthểgiúpcácthƣơngnhânkhámpháracácnhómkháchhàng
quantrọngcócácđặctrƣngtƣơngđồngnhauvàđặctảhọtừcácmẫumua bántrongCSDL
kháchhàng.
Sinhhọc:PCDLđƣợcsửdụngđểxácđịnhcácloạisinhvật,phânloạicácGenvớich
ứcnăngtƣơngđồngvà thuđƣợccác cấutrúctrongcácmẫu.
Phântíchdữliệukhônggian:Dosựđồsộcủadữliệukhônggiannhƣdữliệuthuđƣợ
ctừcáchìnhảnhchụptừvệtinh,cácthiếtbịyhọchoặchệthốngthôngtinđịalý(GIS),…là
mchongƣờidùngrấtkhóđểkiểmtracácdữliệukhônggianmộtcáchchitiết.PCDLcóthểt
rợgiúpngƣờidùngtựđộngphântíchvàxửlýcácdữliêukhônggiannhƣnhậndạngvàchiết
xuấtcácđặctínhhoặc các mẫudữ liệuquantâmcó thể tồntạitrongCSDL không gian.
Lập quy hoạchđôthị:Nhậndạngcác nhómnhàtheokiểuvà vịtríđịa
lý,…nhằmcungcấpthôngtin choquyhoạchđôthị.
Nghiêncứutráiđất:Phâncụmđểtheodõicáctâmđộngđấtnhằmcungcấpthôngtin
chonhậndạngcácvùngnguy hiểm.
Địalý:Phânlớpcácđộngvật, thựcvậtvàđƣa ra đặctrƣngcủachúng.
KhaipháWeb:PCDLcóthểkhámphácácnhómtàiliệuquantrọng,cónhiềuýnghĩ
atrongmôitrƣờngWeb.CáclớptàiliệunàytrợgiúpchoviệckhámphátrithứctừdữliệuW
eb, khámpháracácmẫutruycậpcủakháchhàngđặcbiệthaykhámphá ra
cộngđồngWeb,…
1.2.3. Các yêu cầu kỹ thuật đối với phân cụm dữ liệu
Việcxâydựng,lựachọnmộtthuậttoánphâncụmlàbƣớcthenchốtchoviệcgiảiquy
ếtvấnđềphâncụm,sựlựachọnnày
phụthuộcvàođặctínhdữliệucầnphâncụm,mụcđíchcủaứngdụngthựctếhoặcxácđịnhđ
ộƣutiêngiữachấtlƣợngcủa cáccụmhaytốc độthựchiệnthuậttoán,…
HầuhếtcácnghiêncứuvàpháttriểnthuậttoánPCDLđềunhằmthoảmãncác
yêucầu cơbảnsau [6][10]:
Cókhảnăngmởrộng:Mộtsốthuậttoáncóthểứngdụngtốtchotậpdữliệunhỏ(kho
ảng200bảnghidữliệu)nhƣngkhônghiệuquảkhiápdụngchotậpdữliệulớn(khoảng1triệ

ubảnghi).
20

Thíchnghivớicáckiểudữliệukhácnhau:Thuậttoáncóthểápdụnghiệuquảchoviệ
cphâncụmcáctậpdữliệuvớinhiềukiểudữliệukhácnhaunhƣdữliệukiểusố,kiểunhịphâ
n,dữliệuđịnhdanh,hạngmục, vàthíchnghivớikiểudữliệuhỗnhợp.
Khámpháracáccụmvớihìnhthùbấtkỳ:DohầuhếtcácCSDLcóchứanhiềucụmd
ữliệuvớicáchìnhthùkhácnhaunhƣ:hìnhlõm,hìnhcầu,hìnhque,…Vìvậy,đểkhámphá
đƣợccáccụmcótínhtựnhiênthìcácthuậttoánphâncụmcần phảicókhảnăngkhámphá
racác cụmdữ liệucóhìnhthùbấtkỳ.
Tốithiểulượngtrithứccầnchoxácđịnhcácthamsốvào:Docácgiátrịđầuvàothƣờ
ngảnhhƣởngrấtlớnđếnthuậttoánphâncụmvàrấtphứctạpđểxácđịnhcác
giátrịvàothíchhợpđốivớicácCSDL lớn.
Ítnhạycảmvớithứtựcủadữliệuvào:Cùngmộttậpdữliệu,khiđƣavàoxửlýchothu
ậttoánPCDLvớicácthứtựvàocủacácđốitƣợngdữliệuởcáclầnthựchiệnkhácnhauthìkh
ôngảnhhƣởnglớnđếnkếtquảphâncụm.
Khảnăngthíchnghivớidữliệunhiễucao:HầuhếtcácdữliệuphâncụmtrongKPD
Lđềuchứađựngcácdữliệulỗi,dữliệukhôngđầyđủ,dữliệurác.Thuậttoánphâncụmkhôn
gnhữnghiệuquảđốivớicácdữliệunhiễumàcòntránh
dẫnđếnchấtlƣợngphâncụmthấpdonhạycảmvớinhiễu.
Ítnhạycảmvớicácthamsốđầuvào:Nghĩalàgiátrịcủacácthamsốđầuvàokhácnh
auítgâyra các thayđổi lớnđốivớikếtquảphâncụm.
Thíchnghivớidữliệuđachiều:Thuậttoáncókhảnăngápdụnghiệuquảchodữliệu
cósốchiềukhácnhau.
Dễhiểu, dễ càiđặtvàkhảthi.
CácyêucầunàyđồngthờilàcáctiêuchíđểđánhgiáhiệuquảcủacácphƣơngphápP
CDL,đâylànhữngtháchthứcchocácnhànghiêncứutronglĩnhvựcPCDL.
1.3. Tổng kết chƣơng 1
Trong
chƣơng1trìnhbàynhữngkiếnthứccơbảnvềkhaiphádữliệuvàkhámphátrithứctrongCS

DL,cáckỹthuậtápdụngtrongkhaiphádữliệu,nhữngchứcnăngchính,ứngdụngcủanótr
ongxã hội,
21

Chƣơngnàycũngtrìnhbàymộthƣớngnghiêncứuvàứngdụngtrongkhaiphádữli
ệulàphâncụmdữliệu,gồmtổngquanvềkỹthuậtphâncụm,cácứngdụngcủaphâncụm,cá
cyêucầuđốivớikỹthuậtphâncụm,cáckiểudữliệuvàđộđotƣơngtự,













CHƢƠNG 2: MỘT SỐ KỸ THUẬT PHÂN CỤM DỮ LIỆU
CáckỹthuậtápdụngđểgiảiquyếtvấnđềPCDLđềuhƣớngtớihaimụctiêuchung:C
hấtlƣợngcủacáccụmkhámpháđƣợcvàtốcđộthựchiệncủathuậttoán.Tuynhiên,cáckỹt
huậtPCDLcóthểđƣợcphânloạithànhmộtsốloạicơbảndƣatrêncácphƣơngpháptiếpcậ
nnhƣsau [6][13]:
2.1. Phâncụmphânhoạch
Ýtƣởngchínhcủakỹthuậtnàylàphânmộttậpdữliệucónphầntửchotrƣớcthànhkn
hómdữliệusaochomỗiphầntửdữliệuchỉthuộcvềmộtnhómdữliệuvàmỗinhómdữliệuc
ótốithiểuítnhấtmộtphầntửdữliệu.Cácthuậttoánphânhoạchcóđộphứctạprấtlớnkhixá
cđịnhnghiệmtốiƣutoàncụcchovấnđềPCDL,vìnóphảitìmkiếmtấtcảcáccáchphânhoạ

chcóthểđƣợc.Chínhvìvậy,trênthựctế ngƣờita thƣờng đi tìmgiải pháptốiƣucục
bộchovấnđềnàybằngcáchsửdụngmộthàmtiêuchuẩnđểđánhgiáchấtlƣợngcủacáccụ
mcũngnhƣđểhƣớngdẫnchoquátrìnhtìmkiếmphânhoạchdữliệu.Vớichiếnlƣợcnày,th
ôngthƣờngngƣờitabắtđầukhởitạomộtphânhoạchbanđầuchotậpdữliệutheophépngẫu
22

nhiênhoặctheoheuristicvàliêntụctinhchỉnhnóchođếnkhithuđƣợcmộtphânhoạchmo
ngmuốn,thoảmãncácđiềukiệnràngbuộcchotrƣớc.Cácthuậttoánphâncụmphânhoạch
cốgắngcảitiếntiêuchuẩnphâncụmbằngcáchtínhcácgiátrịđođộtƣơng
tựgiữacácđốitƣợngdữliệuvàsắpxếpcácgiátrịnày,sauđóthuậttoánlựachọnmộtgiátrịtr
ongdãysắpxếpsaochohàmtiêuchuẩnđạtgiátrịtốithiểu.Nhƣvậy,ýtƣởngchínhcủathuậ
ttoánphâncụmphânhoạchtốiƣucụcbộlàsửdụngchiếnlƣợcănthamđểtìmkiếmnghiệm.
Lớpcácthuậttoánphâncụmphânhoạchbaogồmcácthuậttoánđềxuấtđầutiêntro
nglĩnhvựcKPDLcũnglàcácthuậttoánđƣợcápdụngnhiềutrongthựctếnhƣk-
means,PAM,CLARA,CLARANS.Sauđâylàmộtsốthuậttoánkinhđiểnđƣợckế thừa
sử dụngrộngrãi.
2.1.1 Thuật toán k-means
Thuật toán phân cụm k-means do MacQueen đề xuất trong lĩnh vực thống
kê năm 1967, mục đích của thuật toán k-means là sinh ra k cụm dữ liệu {C
1
,
C
2
, , C
k
) từ một tập dữ liệu ban đầu gồm n đối tƣợng trong không gian d chiều
X
i
=(x
i1,

x
i2,
x
id
) (i = 1,n), sao cho hàm tiêu chuẩn:
k
i
i
x
Ci
mxD
1
2
)(
2
đạt giá trị
tối thiểu. Trong đó : m
i
là trọng tâm của cụm C
i
,D là khoảng cạh giữa hai đối
tƣợng.
Trọng tâm của một cụm là một vector, trong đó giá trị của mỗi phần tử
của nó là trung bình cộng các thành phần tƣơng ứng của các đối tƣợng vector dữ
liệu trong cụm đang xét. Tham số đầu vào của thuật toán là số cụm k, tập CSDL
gồm n phần tử và tham số đầu ra của thuật toán là các trọng tâm của các cụm dữ
liệu. Độ đo khoảng cách D giữa các đối tƣợng dữ liệu thƣờng đƣợc sử dụng
dụng là khoảng cách Euclide, bởi vì đây là mô hình khoảng cách dễ để lấy đạo
hàm và xác định các cực trị tối thiểu. Hàm tiêu chuẩn và độ đo khoảng cách có
thể đƣợc xác định cụ thể hơn tuỳ vào ứng dụng hoặc các quan điểm của ngƣời

dùng. Thuật toán k-means bao gồm các bƣớc cơ bản nhƣ sau:


INPUT: Một CSDL gồm n đối tƣợng và số các cụm k.
OUTPUT: Các cụm C
i
(i=l, ,k) sao cho hàm tiêu chuẩn E đạt giá trị tối thiểu.
Bƣớc 1: Khởi tạo
Chọn k đối tƣợng mj (j=1 k

) là trọng tâm ban đầu của k cụm từ tập dữ liệu
(việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm).
Bƣớc 2: Tính toán khoảng cách
23











Hình 2.1 Thuật toán k- means
Thuật toán k-means đƣợc chứng minh là hội tụ và có độ phức tạp tính
toán là: 0((n k d) T
fl o p
). Trong đó: n là số đối tƣợng dữ liệu, k là số cụm dữ

liệu, d là số chiều, là số vòng lặp, T
f l o p
là thời gian đề thực hiện một phép
tính cơ sở nhƣ phép tính nhân, chia, .Nhƣ vậy, do k-means phân tích phân cụm
đơn giản nên có thể áp dụng đối với tập dữ liệu lớn. Tuy nhiên, nhƣợc điểm của
k- means là chỉ áp dụng với dữ liệu có thuộc tính số và khám phá ra các cụm có
dạng hình cầu, k-means còn rất nhạy cảm với nhiễu và các phần tử ngoại lai
trong dữ liệu. Hình sau diễn tả môi phỏng về một số hình dạng cụm dữ liệu
khám phá đƣợc bởi k-means:

24

Hình 2.2 Hình dạng cụm dữ liệu được khám phá bởi k - means
Hơn nữa, chất lƣợng PCDL của thuật toán k-means phụ thuộc nhiều vào
các tham số đầu vào nhƣ: số cụm k và k trọng tâm khởi tạo ban đầu. Trong
trƣờng hợp, các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm
cụm tự nhiên thì kết quả phân cụm của k-means là rất thấp, nghĩa là các cụm dữ
liệu đƣợc khám phá rất lệch so với các cụm trong thực tế. Trên thực tế ngƣời ta
chƣa cỏ một giải pháp tối ƣu nào để chọn các tham số đầu vào, giải pháp thƣờng
đƣợc sử dụng nhất là thử nghiệm với các giá trị đầu vào k khác nhau rồi sau đó
chọn giải pháp tốt nhất.
Đến nay, đã có rất nhiều thuật toán kế thừa tƣ tƣởng của thuật toán k-
means áp dụng trong KPDL để giải quyết tập dữ liệu có kích thƣớc rất lớn đang
đƣợc áp dụng rất hiệu quả và phồ biến nhƣ thuật toán k-medoid, PAM, CLARA,
CLARANS, k- prototypes,
2.1.2 Thuật toán PAM
Thuật toán PAM (Partitioning Around Medoids) đƣợc Kaufman và
Rousseeuw đề xuất 1987, là thuật toán mở rộng của thuật toán k-means, nhằm
có khả năng xử lý hiệu quả đối với dữ liệu nhiễu hoặc các phần tử ngoại lai.
Thay vì sử dụng các trọng tâm nhƣ k-means, PAM sử dụng các đối tƣợng

medoid để biểu diễn cho các cụm dữ liệu, một đối tƣợng medoid là đối tƣợng
đặt tại vị trí trung tâm nhất bên trong của mỗi cụm. Vì vậy, các đối tƣợng
medoid ít bị ảnh hƣởng của các đối tƣợng ở rất xa trung tâm, trong khi đó các
trọng tâm của thuật toán k -means lại rất bị tác động bởi các điểm xa trung tâm
này. Ban đầu, PAM khởi tạo k đối tƣợng medoid và phân phối các đối tƣợng còn
lại vào các cụm với các đối tƣợng medoid đại diện tƣơng ứng sao cho chúng
tƣơng tự với đối tƣợng medoid trong cụm nhất.
Để xác định các medoid, PAM bắt đầu bằng cách lựa chọn k đối tƣợng
medoid bất kỳ. Sau mỗi bƣớc thực hiện, PAM cố gắng hoán chuyển giữa đối
tƣợng medoid O
m
và một đối tƣợng Op không phải là medoid, miễn là sự hoán
chuyển này nhằm cải tiến chất lƣợng của phân cụm, quá trình này kết thúc khi
25

chất lƣợng phân cụm không thay đổi. Chất lƣợng phân cụm đƣợc đánh giá thông
qua hàm tiêu chuẩn, chất lƣợng phân cụm tốt nhất khi hàm tiêu chuẩn đạt giá trị
tối thiểu.
Để quyết định hoán chuyển hai đối tƣợng O
m
và Op hay không, thuật toán
PAM sử dụng giá trị tồng chi phí hoán chuyển c
jmp
làm căn cứ:
- O
m
: Là đốitƣợng medoid hiện thời cần đƣợc thay thế
- Op : Là đối tƣợng medoid mới thay thế cho O
m
- O

m,2
: Là đối tƣợng dữ liệu (không phải là medoid) có thề đƣợc di
chuyển sang cụm khác.
- O
m,2
:Là đối tƣợng medoid hiện thời khác với O
m
mà gần đối tƣợng Oj
nhất.
Bốn trƣờng hợp nhƣ mô tả trong thí dụ trên, PAM tính giá trị hoán đổi
C
jmp
cho tất cả các đối tƣợng Oj. C
Jmp
ở đây nhằm để làm căn cứ cho việc hoán
chuyển giữa O
m
và O
p
. Trong mỗi trƣờng hợp C
jmp
đƣợc tính với 4 cách khác
nhau nhƣ sau:
- Trƣờng hợp 1: Giả sử O
j
hiện thời thuộc về cụmcó đại diệnlàO
m
vàOj
tƣơng tự với O
m,2

hơn Op (d(O
j
;O
p
)≥ d(Oj, O
m,2
)). Trong khi đó, O
m,2
là đối
tƣợng medoid tƣơng tự xếp thứ 2 tới O
J
trong số các medoid. Trong trƣờng hợp
này, ta thay thế O
m
bởi đối tƣợng medoid mới O
p
và O
j
sẽ thuộc về cụm có đối
tƣợng đại diện là O
m2
. Vì vậy, giá trị hoán chuyển C
jmp
đƣợc xác định nhƣ sau:
C
jmp
= d(O
j
, O
m,2

) - d(O
J
, O
m
). Giá trị c
jmp
là không âm.

×