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ử
Trang 1ĐẠ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
Trang 2Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
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
Trang 3Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
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
Trang 4Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
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
Trang 5Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
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
Trang 6Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
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 Cjmp=d(Oj,Om,2) –d(Oj,Om) khôngâm 25
Hình2.4.Trường hợp Cjmp=(Oj,Op)- d(Oj,Om)có thểâm hoặcdương 26
Hình2.5.Trườnghợp Cjmpbằngkhông 26
Hình2.6.Trườnghợp Cjmp=(Oj,Op)- d(Oj,Om,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
Trang 7Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
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
Trang 8DANH 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
Trang 1010
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
để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ụngcủ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
Trang 1111
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ảngtrongviệcphântíchdữliệutácnghiệpđểcungcấpthôngtinvớiyêucầuchấtlượngngàyc
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ởithô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ếntrì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ạnhtranhchocácđơnvị,tổchứcnày.CáckếtquảnghiêncứukhoahọccùngnhữngứngdụngthànhcôngtrongKDDchothấyKPDLlàmộtlĩnhvựcpháttriểnbềnvững,manglạinhiềulợiíchvàc
hơnhẵnsovớicáccôngcụtìmkiếmphântíchdữliệutruyềnthống.Hiệnnay,KPDLđãứngdụ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ĩnhvự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
Trang 1212
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áchchitiế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ápnéndữliệu,sửdụnghistograms,lấymẫu, ),rờirạchóadữliệu(rờirạchóadựavàohistograms,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ênhệđặcbiệttrongdữliệu.Đâyđượcxemlàbướcquantrọng
vàtốnnhiềuthờigiannhấtcủatoànquá trìnhKDD
Trang 1313
Đá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ụngnhưđồ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ánsongsong,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ộngcá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ămdò(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:
Trang 15tiệ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,
độngđất,tinsinhhọc, HiệnnaycáchệquảntrịCSDLđãtíchhợpnhữngmodulđểKPDLnhưSQLServer,Oracle,đếnnăm2007MicrosoftđãcungcấpsẵncôngcụKPDLtíchhợptrongcả MS-Word, MS-Excel,
Trang 1616
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êncứ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
Trang 1717
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ự
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
địnhcácnhãnchocácnhómdữ liệu
MộtvấnđềthườnggặptrongPCDLlàhầuhếtcácdữliệucầnchophâncụmđềucóchứ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ướckhibướ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
Trang 1818
à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ọngtrongPCDL,chứcnăngcủanólàxácđịnhmộtnhómnhỏcácđốitượngdữ
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ápphâncụmcầncócáchthứcbiểudiễncấutrúccáccụmdữliệukhácnhau,vớimỗicáchthứcbiểudiễnkhácnhausẽcómộtthuậttoánphâncụmphùhợp.PCDLđanglà
phảiđigiảiquyếtnhiềuvấnđềcơbảnnhưđãđềcậpởtrênmộtcáchtrọnvẹnvàphùhợpvớinhiềudạngdữliệukhácnhau.Đặcbiệtđốivớidữliệuhỗnhợp,đangngàycàngtăngtrưởngkhô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ĩnhvự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]:
Trang 19xuấtcácđặctínhhoặc các mẫudữ liệuquantâmcó thể tồntạitrongCSDL không gian
Trang 2121
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:Chấtlượngcủacáccụmkhámpháđượcvàtốcđộthựchiệncủathuậttoán.Tuynhiên,cáckỹthuậ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
Trang 2222
nhiênhoặctheoheuristicvàliêntụctinhchỉnhnóchođếnkhithuđượcmộtphânhoạchmongmuốn,thoảmãncácđiềukiệnràngbuộcchotrước.Cácthuậttoánphâncụmphânhoạchcố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ịtrongdã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 {C1,
C2, , Ck ) 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:
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 Ci (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
Trang 2323
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 f l 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 plà 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:
Trang 2424
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 đó
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
Trang 2525
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ử Oj 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à Om2 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
Trang 2626
Hình 2.3 Trườnghợp Cjmp=d(Oj,Om,2) –d(Oj,Om) khôngâm
- Trường hợp 2: Oj hiện thời thuộc về cụm có đại diện là O m nhưng Oj ít tương tự với O m,2 so với O p (d(O j ,O p )< d(Oj,O m 2 )) Nếu thay thế O m bởi O p thì
O j sẽ thuộc về cụm có đại diện là Op Vì vậy, giá trị C jmpđược xác định như sau:
Cjmp=(O j ,O p )- d(O j , Om).C jmp ở đây có thể là âm hoặc dương
Hình 2.4 Trường hợp Cjmp=(Oj,Op)- d(Oj,Om)có thểâm hoặcdương
- Trường hợp 3 : Giả sử Oj hiện thời không thuộc về cụm có đối tượng
đại diện là O m mà thuộc về cụm có đại diện là O m,2 Mặt khác, giả sử Ojtương tự
với O m , 2 hơn so với Op, khi đó, nếu O m được thay thế bởi O p thì O jvẫn sẽ ở lại
trong cụm có đại diện là O m,2 Do đó: C jmp =0
Trang 2727
là: C Jmp = (O p ,O p ) - d(Oj, O m,2 ) C Jmp ở đây luôn âm
Hình 2.6 Trườnghợp Cjmp=(Oj,Op)- d(Oj,Om,2)luônâm
Kết hợp cả bốn trường hợp trên, tổng giá trị hoán chuyển O m bằng O p được xác định như sau: TC mp =
j
C jmp
Thuật toán PAM gồm các bước thực hiện chính như sau:
Hình 2.7.Thuật toán PAM
Trong bước 2 và 3, có PAM phải duyệt tất cả k(n-k) cặp Om, O p Với mỗi
cặp, việc tính toán TC mp yêu cầu kiểm tra n-k đối tượng Vì vậy, độ phức tạp tính toán của PAM là O (I k (n-k) 2 trong đó I là số vòng lặp Như vậy, thuật toán
PAM kém hiệu quả về thời gian tính toán khi giá trị của k và n là lớn
INPUT : Tập dữ liệu có n phân tử, số cụm k
OUTPUT: k cụm dữ liệu sao cho chất lượng phân hoạch là tốt nhất
Bước 1: Chọn k đối tượng medoid bất kỳ;
Bước 2 : Tính TCmp cho tất cả các cặp đối tượng Om, O p Trong đó
O m là đối tượng medoid và O p là đối tượng không phải là
modoid
Bước 3 : Với mỗi cặp đối tượng 0 m và O p Tính min Om,minOp ,TC mp
Nếu TC mp là âm, thay thế O m bởi O p và quay lại bước 2 Nếu
TC mp dương, chuyển sang bước 4
Bước 4: Với mỗi đối tượng không phải là medoid, xác định đối
tượng medoid tương tự với nó nhất đồng thời gán nhãn cụm
cho chúng
Trang 2828
2.1.3 Thuật toán CLARA
CLARA (Clustering LARge Application) được Kaufman và Rousseeuw
đề xuất năm 1990, thuật toán này nhằm khắc phục nhược điểm của thuật toán
PAM trong trường hợp giá trị của k và n lớn CLARA tiến hành trích mẫu cho tập dữ liệu có n phần tử và áp dụng thuật toán PAM cho mẫu này và tìm ra các
các đối tượng medoid của mẫu này Người ta thấy rằng, nếu mẫu dữ liệu được trích một cách ngẫu nhiên, thì các medoid của nó xấp xỉ với các medoid của toàn
bộ tập dữ liệu ban đầu Để tiến tới một xấp xỉ tốt hơn, CLARA đưa ra nhiều cách lấy mẫu rồi thực hiện phân cụm cho mỗi trường hợp này và tiến hành chọn kết quả phân cụm tốt nhất khi thực hiện phân cụm trên các mẫu này Để cho chính xác, chất lượng của các cụm được đánh giá thông độ phi tương tự trung bình của toàn bộ các đối tượng dữ liệu trong tập đối tượng ban đầu Kết quả thực
nghiệm chỉ ra rằng, 5 mẫu dữ liệu có kích thước 40+2k cho các kết quả tốt Các
bước thực hiện của thuật toán CLARA như sau:
INPUT: CSDL gồm n đối tượng, số cụm k
OUTPUT: k cụm dữ liệu
1 For i = 1 to 5 do
Begin
2 Lấy một mẫu có 40 + 2k đối tượng dữ liệu ngẫu nhiên từ tập dữ liệu và
áp dụng thuật toán PAM cho mẫu dừ liệu này nhằm để tìm các đối tượng medoid đại diện cho các cụm
3 Đối với mỗi đối tượng Oj trong tập dữ liệu ban đầu, xác định đối tượng
medoid tương tự nhất trong số k đối tượng medoiđ
4 Tính độ phi tương tự trung bình cho phân hoạch các đối tượng dành ở bước trước, nếu giá trị này bé hơn giá trị tối thiểu hiện thời thì sử dụng giá trị này thay cho giá trị tối thiếu ở trạng thái trước, như vậy tập k đối tượng medoid xác định ở bước này là tốt nhất cho đến thời điểm hiện tại
End;
Hình 2.8 Thuật toán CLARA
Trang 292.1.4 Thuật toán CLARANS
Thuật toán CLARANS (A Clustering Ấlgorithm based on RANdomized Search) được Ng & Han đề xuất năm 1994, nhằm để cải tiến chất lượng cũng như mở rộng áp dụng cho tập dữ liệu lớn CLARANS là thuật toán PCDL kết hợp thuật toán PAM với chiến lược tìm kiếm kinh nghiệm mới Ý tưởng cơ bản của CLARANS là không xem xét tất cả các khả năng có thể thay thế các đối tượng tâm medoids bởi một đối tượng khác, nó ngay lập tức thay thế các đối tượng medoid này nếu việc thay thế có tác động tốt đến chất lượng phân cụm chứ không cần xác định cách thay thể tối iru nhất Một phân hoạch cụm phát hiện được sau khi thay thế đối tượng trung tâm được gọi là một láng giềng của phân hoạch cụm trước đó số các láng giềng được hạn chế bởi tham số do người dùng đưa vào là Maxneighbor, quá trình lựa chọn các láng giềng này là hoàn toàn ngẫu nhiên Tham số Numlocal cho phép người dùng xác định số vòng lặp tối ưu cục bộ được tìm kiếm Không phải tất các láng giềng được duyệt mà chỉ
có Maxneighbor số láng giềng được duyệt
Một số khái niệm sử dụng trong thuật toán CLARANS được định nghĩa như sau:
Giả sử Olà một tập có n đối tượng và M O à tập các đối tượng medoid, NM= O-M là tập các đối tượng không phải medoid Các đối tượng dữ liệu sử dụng trong thuật toán CLARANS là các khối đa diện Mỗi đối tượng được diễn
tả bằng một tập các cạch, mỗi cạnh được xác định bằng 2 đỉnh Giả sửP R3, R là một tập tất cả các điểm Nói chung, các đối tượng ở đây là các đối tượng dữ liệu không gian và ta định nghĩa tâm của một đối tượng chính là trung bình cộng toán học của tất cả các đỉnh hay còn gọi là trọng tâm:
Center: O P
Giả sử dist là một hàm khoảng cách, khoảng cách thường được chọn ở
Trang 3030
đây là khoảng cách Euclid: P x P R0+
Hàm khoảng cách dist có thể mở rộng cho các điểm của khối đa diện
thông qua hàm tâm: dist: O x O R0+ sao cho dist (oi, oj) = dist (center(oi), center(oj))
Mỗi đối tượng được gán cho một tâm medoid của cụm nếu khoảng cách
từ trọng tâm của đối tượng đó tới tâm medoid của nó là nhỏ nhất Vì vậy, ta định nghĩa một tâm medoid như sau:
Sao cho medoid (o) - mi, mi M, mj M: dist (o, mi) dist (o, mj), o O Cuối cùng, ta định nghĩa một cụm với medoid mị tương ứng là một tập concác đối tượng trong o với medoid(o) = mi
Giả sử Co là tập tất cả các phân hoạch củaO Hàm tổng để đánh giá chấtlượng một phân hoạch được định nghĩa như sau: total_distance:
ngược lại j++
End;
Kiểm tra khoảng cách của phân hoạch s có nhỏ hơn khoảng cách nhỏ nhất không, nếu nhỏ hơn thì lấy giá trị này để cập nhật lại khoảng cách nhỏ nhất và
Trang 3131
phân hoạch s là phân hoạch tốt nhất tại thời điểm hiện tại
End
Hình 2.9 Thuật toán CLARANS
Như vậy, quá trình hoạt động của CLARLANS tương tự với quá trình hoạt động của thuật toán CLARA Tuy nhiên, ở giai đoạn lựa chọn các trung tâm medoid cụm dữ liệu, CLARANS lựa chọn một giải pháp tốt hơn bằng cách lấy ngẫu nhiên một đối tượng của k đối tượng trung tâm medoid của cụm và cố gắng thay thế nó với một đối tượng được chọn ngẫu nhiên trong (n-k) đối tượng còn lại, nếu không có giải pháp nào tốt hơn sau một số cố gắng lựa chọn ngẫu nhiên xác định, thuật toán dừng và cho kết quả phân cụm tối ưu cục bộ
Trong trường hợp xấu nhất, CLARANS so sánh một đối tượng với tất các đối tượng Medoid Vì vậy, độ phức tạp tính toán cùa CLARANS là 0(kn2
), do vậy CLARANS không thích hợp với tập dữ liệu lớn CLARANS có ưu điểm là không gian tìm kiếm không bị giới hạn như đôi với CLARA và trong cùng một lượng thời gian thì chất lượng của các cụm phân được là lớn hơn so với CLARA
2.2 Phân cụm phân cấp
Phân cụm phân cấp sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy Cây phân cụm có thể được xây dựng theo hai phương pháp tồng quát: phương pháp “trên xuống” (Top down) và phương pháp “dưới lên” (Bottom up)
Phưong pháp Bottom up: Phương pháp này bắt đầu với mỗi đốitượng
được khởi tạo tương ứng với các cụm riêng biệt, sau đó tiến hành nhóm các đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm của hai nhóm), quá trình này đirợc thực hiện cho đến khi tất cả các nhóm được hòa nhập vào một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều kiện kết thúc thoả mãn Như vậy, cách tiếp cận này sử dụng chiến lược ăn tham trong quá trình phân cụm
Phương pháp Top Down: Bắt đầu vớitrạng thái là tấtcả các đốitượng
Trang 3232
được xếp trong cùng một cụm Mỗi vòng lặp thành công, một cụm được tách thành các cụm nhỏ hơn theo giá trị của một phép đo độ tương tự nào đó cho đến khi mỗi đối tượng là một cụm hoặc cho đến khi điều kiện dững thoả mãn Cách tiếp cận này sử dụng chiến lược chia để trị trong quá trình phân cụm
Sau đây là minh hoạ chiến lược phân cụm phân cấp Bottom up và Top down:
Hình 2.10 Các chiến lược phân cụm phân cấp
Trong thực tế áp dụng, có nhiều trường hợp người ta kết hợp cả hai phương pháp phân cụm phân hoạch và phương phân cụm phân cấp, 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 quan bước phân cụm phân hoạch Phân cụm phân hoạch và phân cụm phân cấp là hai phương pháp PCDL cổ điển, hiện nay đã có nhiều thuật toá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ố thuật toán phân cụm phân cấp điển hình như CƯRE, BIRCH, Chemeleon, AGNES, DIANA,
2.2.1 Thuật toán BIRCH
BIRCH (Balanced Iterative Reducỉng and Clustering Using Hierarchies)
do Tian Zhang, amakrishnan và Livny đề xuất năm 1996, là thuật toán phân cụm phân cấp sử dụng chiến lược Top down Ý tưởng của thuật toán là không cần lưu toàn bộ các đối tượng dữ liệu của các cụm trong bộ nhớ mà chỉ lưu các đại lượng thống kê Đối với mỗi cụm dữ liệu, BIRCH chỉ lưu một bộ ba (n, LS, SS),
Trang 3333
với n là số đối tượng trong cụm, LS là tồng các giá trị thuộc tính của các đối tượng trong cụm và ss là tổng bình phương các giá trị thuộc tính của các đối tượng trong cụm Các bộ ba này được gọi là các đặc trưng của cụm CF=(n, LS, SS) (Cluster Features - CF) và được lưu giữ trong một cây được gọi là cây CFHình sau đây biểu thị một ví dụ về cây CF Chúng ta thấy rằng, tất cả các nút trong của cây lưu tổng các đặc trưng cụm CF của nút con, trong khi đó các nút lá lưu trữ các đặc trưng của các cụm dữ liệu
Hình 2.11 Cây CF được sử dụng bởi thuật toán BIRCH
Cây CF là cây cân bằng, nhằm để lưu trữ các đặc trưng của cụm Cây CF chứa các nút trong và nút lá Nút trong lưu giữ tồng các đặc trưng cụm của các nút con của nó Một cây CF được đặc trưng bởi hai tham số:
- Yếu tố nhánh (B): Nhằm xác định số tối đa các nút con của mỗi nút
trong của cây;
- Ngưỡng (T): Khoảng cách tối đa giữa bất kỳ một cặp đối tượng trong
nút lá của cây, khoảng cách này còn gọi là đường kính của các cụm con được lưu tại các nút lá
Hai tham số này có ảnh hường lớn đến kích thước của cây CF
Thuật toán BIRCH thực hiện qua giai đoạn sau:
Trang 3434
INPUT: CSDL gồm n đối tượng, ngưỡng T
OTPUT: k cụm dữ liệu
Bước 1: Duyệt tất cả các đối tượng trong CSDL và xây dựng một cây CF
khởi tạo Một đối tượng được chèn vào nút lá gần nhất tạo thành cụm con Neu đường kính của cụm con này lớn hơn T thì nút lá được tách Khi một đối tượng thích hợp được chènvào nút lá, tất cả các nút trò tới gôc của cây được cập nhật với các thông tin cân thiêt
Bước 2: Nếu cây CF hiện thời không có đủ bộ nhớ trong thì tiến hành xây
dựng một cây CF nhỏ hơn bằng cách điều khiến bởi tham số T (vì tăng T sẽ
làm hoà nhập một số các cụm con thành một cụm, điều này làm cho cây CF nhỏ hơn) Bước này không cần yêu cầu bắt đầu đọc dữ liệu lại từ đầu nhưng vẫn đảm bảo hiệu chỉnh cây dữ liệu nhỏ hơn
Bước 3 Thực hiện phân cụm: Các nút lá của cây CF lưu giữ các đại lượng
thống kê của các cụm con Trong bước này, BIRCH sử dụng các đại lượng thống kê này để áp dụng một số kỳ thuật phân cụm thí dụ như k-means và tạo
ra một khởi tạo cho phân cụm
Bước 4.Phân phối lại các đối tượng dữ liệu bằng cách dùng các đối tượng
trọng tâm cho các cụm đã được khám phá từ bước 3: Đây là một bước tuỳ chọn để duyệt lại tập dữ liệu và gán nhăn lại cho các đối tượng dữ liệu tới các trọng tâm gần nhất Bước này nhằm để gán nhãn cho các dữ liệu khởi tạo và loại bỏ các đối tượng ngoại lai
Hình2.12.Thuật toán BIRCH
Trang 3535
Hình 2.13 Ví dụ về kết quả phân cụm bằng thuật toán BIRCH
Sử dụng cấu trúc cây CF làm cho thuật toán BIRCH có tốc độ thực hiện PCDL nhanh và có thể áp dụng đối với tập dữ liệu lớn, BIRCH đặc biệt hiệu quả khi áp dụng với tập dữ liệu tăng trưởng theo thời gian BIRCH chỉ duyệt toàn bộ
dữ liệu một lần với một lần quét thêm tuỳ chọn, nghĩa là độ phức tạp của nó là O(n) (n là số đối tượng dữ liệu) Nhược điểm của nó là chất lượng của các cụm được khámphá không được tốt Nếu BIRCH sử dụng khoảng cách Euclide, nó thực hiện tốt chỉ với các dữ liệu số Mặt khác, tham số vào T có ảnh hưởng rất lớn tới kích thước và tính tự nhiên của cụm Việc ép các đối tượng dữ liệu làm cho các đối tượng của một cụm có thê là đối tượng kết thúc của cụm khác, trong khi các đối tượng gần nhau có thể bị hút bởi các cụm khác nếu chúng được biểu diễn cho thuật toán theo một thứ tự khác BIRCH không thích hợp với dữ liệu đa chiều
2.2.2 Thuật toán CURE
Việc chọn một cách biểu diễn cho các cụm có thể nâng cao chất lượng phân cụm Thuật toán CURE (Clustering ưsing REpresentatives) được đề xuất bởi Sudipto Guha, Rajeev Rastogi và Kyuseok Shim năm 1998 là thuật toán sử dụng chiến lược Bottom up của kỹ thuật phân cụm phân cấp
Thay vì sử dụng các trọng tâm hoặc các đối tượng tâm để biểu diễn cụm, CURE sử dụng nhiều đối tượng để diễn tả cho mỗi cụm dữ liệu Các đối tượng đại diện cho cụm này ban đầu được lựa chọn rải rác đều ở các vị trí khác nhau, sau đó chúng đuọc di chuyển bằng cách co lại theo một tỉ lệ nhất định Tại mỗi bước của thuật toán, hai cụm có cặp đối tượng đại diện gần nhất sẽ được trộn lại thành một cụm
Trang 3636
Với cách thức sử dụng nhiều hơn một điểm đại diện cho các cụm, CURE
có thể khám phá được các cụm có các dạng hình thù và kích thước khác nhau trong CSDL lún Việc co các đối tượng đại diện lại có tác dụng làm giảm tác động của các phần tử ngoại lai Vì vậy, CURE có khả năng xử lý đối với các phần tử ngoại lai Hình sau thí dụ về các dạng và kích thước cụm dữ liệu được khám phá bởi CURE:
Hình 2.14 Các cụm dữ liệu được khám phá bởi CURE
Để áp dụng với CSDL lớn, CURE sử dụng lấy mẫu ngẫu nhiên và phân hoạch Mầu dừ liệu được xác định ngẫu nhiên là phân hoạch đầu tiên, CURE tiến hành phân cụm trên mỗi phân hoạch Quá trình này lặp lại cho đến khi ta thu được phân hoạch đủ tốt Các cụm thu được sau đó lại được phân cụm nhằm
để thu được các cụm con cần quan tâm Thuật toán CURE được thực hiện qua các bước cơ bản như sau:
Bước 1 Chọn một mẫu ngẫu nhiên từ tập dữ liệu ban đầu;
Bước 2 Phân hoạch mẫu này thành nhiều nhóm dữ liệu có kích thước bằng
nhau: Ý tưởng chính ở đây là phân hoạch mẫu thành p nhóm dữ liệu bằng
nhau, kích thước của mỗi phân hoạch là n'/p (với n' là kích thước của mẫu);
Bước 3 Phân cụm các điểm của mỗi nhóm: Ta thực hiện PCDL cho các
nhóm cho đến khi mỗi nhóm được phân thành n'/(pq)cụm (với q>l);
Bước 4 Loại bỏ các phần tử ngoại lai: Trước hết, khi các cụm được hình
thành chođến khi số các cụm giảm xuống một phần so với số các cụm ban đầu Sau đó, trong trường hợp các plian tử ngoại lai được lấy mẫu cùng với
quá trình pha khởi tạo mẫudữ liệu, thuật to sè tự dộng loại bỏ các nhómnhỏ Bước 5 Phân cụm các cụm không gian: Các đối tượng đại diện cho các cụm
Trang 3737
di chuyển về hướn ung tâm cụm, nghĩa là chúng được thay thế bởi các đối tượng gần trung tâm hơn
Bước 6 Đánh dấu dữ liệu với các nhãn tương ứng
Hình 2.15 Thuật toán CURE
Độ phức tạp tính toán của thuật toán CURE là 0(n2
log(n)) CURE là thuật toán tin cậy trong việc khám phá các cụm với hình thù bất kỳ và có thể áp dụng tốt trên các dữ liệu hai chiều Tuy nhiên, nó lại rất nhạy cảm với các tham số như là tham số: đối tượng đại diện, tham số co của các phần tử đại diện Nhìn chung thì B I R C H tốt hơn so với CURE về độ phức tạp, nhưng kém về chất lượng phân cụm Cả hai thuật toán này có thể xử lý các phần tử ngoại lai tốt
2.3 Phân cụm dựa trên mật độ
Phương pháp này nhóm các đối tượng theo hàm mật độ xác định Mật độ được định nghĩa như là số các đối tượng lân cận của một đối tượng dữ liệu theo một ngưỡng nào đó Trong cách tiếp cận này, khi một cụm dừ liệu đã xác định thì nó tiếp tục được phát triển thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân cận của các đối tượng này phải lớn hơn một ngưỡng đã được xác định trước Phương pháp phân cụm dựa vào mật độ của các đối tượng để xác định các cụm dữ liệu và có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ.Tuy vậy, việc xác định các tham số mật độ của thuật toán rất khó khăn, trong khi các tham
số này lại có tác động rất lớn đến kết quả PCDL Hình minh hoạ về các cụm dữ liệu với các hình thù khác nhau dựa trên mật độ được khám phá từ 3 CSDL khác nhau:
Hình 2.16 Một số hình dạng được khám phá bởi phân cụm
dựa trên mật độ
Trang 3838
Cáccụmcóthểđượcxemnhưcácvùngcómậtđộcao,đượctáchrabởicácvùngkhôngcóhoặcítmậtđộ.Kháiniệmmậtđộởđâyđượcxemnhư làcácsốcácđốitượngláng giềng
MộtsốthuậttoánPCDLdựatrênmậtđộđiểnhìnhnhư[14]:DBSCAN,
OPTICS,DENCLUE, SNN,…
2.3.1 Thuật toán DBSCAN
Thuật toán phân cụm dựa trên mật độ thông dụng nhất là thuật toán
DBSCAN (Density - Based Spatial Clustering of Applications with noise) do
Ester, p Kriegel và J Sander đề xuất năm 1996 Thuật toán đi tìm các đối tượngmà có số đối tượng láng giềng lớn hơn một ngưỡng tối thiểu Một cụm được xác định bàng tập tất cả các đối tượng liên thông mật độ với các láng giềng của nó
Thuật toán DBSCAN dựa trên các khái niệm mật độ có thể áp dụng cho các tập dữ liệu không gian lớn đa chiều Sau đây là một số định nghĩa và bổ đề được sử dụng trong thuật toán DBSCAN
Định nghĩa1 : Các lân cận của một điểm p với ngưỡng Eps, ký hiệu
NEPS(P) được xác định như sau: NEps(p) = {q G D I khoảng cách Dist(p,q)
≤Eps}, D là tập dữ liệu cho trước
Hình 2.17 LâncậncủaP với ngưỡngEps
Một điểm p muốn nằm trong một cụm c nào đó thì N Eps (p) phải có tối
thiểu MinPts điểm
Theo định nghĩa trên, chỉ những điểm thực sự nằm trong cụm mới thoả mãn điều kiện là điềm thuộc vào cụm Những điểm nằm ở biên của cụm thì
không thoả mãn điều kiện đó, bởi vì thông thường thì lân cận với ngưỡng Eps
Trang 3939
của điểm biên thì bé hơn lân cận với ngƣỡng cũng Eps của điểm nhân
Để tránh đƣợc điều này, ta có thể đƣa ra một tiêu chuẩn khác để định nghĩa một điểm thuộc vào một cụm nhƣ sau: Nếu một điểm p muốn thuộc một cụm c phải tồn tại một điểm q mà p € NEps(q) và số điểm trong NEps(q) phải lớn hom số điểm tối thiểuễ Điều này có thể đƣợc định nghĩa một cách hình thức nhƣ sau:
Định nghĩa 2: Mật độ - đến đƣợc trực tiếp (Directly Density - reachable)
Một điềm p đƣợc gọi là mật độ - đến đƣợc trực tiếp từ điểm q với ngƣỡng
Eps và MinPts trong tập đối tƣợng D nếu:
2) ║ NEps(q) ║ ≥ Min Pts Điều kiện đối tƣợng nhân
Điểm qgọi là điểm nhân Ta thấy rằng nó là một hàm phản xạ và đối xứng đối với hai điểm nhân và bất đối xứng nếu một trong hai điểm đó không phải là điểm nhân
Hình 2.18 Mật độ đến – được trực tiếp
Định nghĩa 3: Mật độ - đến đƣợc (Density - Reachable)
Một điểm p đƣợc gọi là mật độ - đến đƣợc từ một điểm q với hai tham số Eps và Minptsnếu tồn tại một dãy p= p1, p2 , p2, ,Pn = q sao cho pi+1 là mật độ
- đến đƣợc trực tiếp từ pivới i = 1, n-1
Hình 2 19 Mật độ đến được
Trang 4040
Hai điểm biên của một cụm C có thể không đến đƣợc nhau bởi vì cả hai
có thể đều không thoả mãn điều kiện nhân Mặc dù vậy, phải tồn tại một điểm nhân trong C mà cả hai điểm đều có thể đến đƣợc từ điểm đó
Định nghĩa 4: Mật độ - liên thông (Density - Connected)
Đối tƣợng plà mật độ- liên thông với điểm qtheo hai tham số Epsvới Minptsnếu nhƣ có một đối tƣợng omà cả hai đối tƣợng p, qđiều là mật độ - đến đƣợc otheo tham số Eps và Minpts
2 Với p, q C, plà mật độ liên thông với q theo Eps và Minpts
Mọi đối tƣợng không thuộc cụm nào cả thì gọi là nhiễu