Đặt vấn đề bài toán .2 Cài đặt Cơ sở dữ liệu .3 Cài đặt thuật toán .4 Đánh giá kết quả phân cụm bằng thuật toán PAM .5 Kết luận chƣơng 3. 65 5 DANH SÁCH HÌNH VẼ Hình 1.Quátrìnhkhámphátri thức.Cáclĩnh vựcliênquan đến khámphátri thứctrongCSDL.Trựcquanhóakết quảKPDLtrongOracle.Thuậttoánk-means.Hìnhdạngcụmdữ liệu đƣợc khámphábởi k-means.Trƣờnghợp Cjmp=d(Oj,Om,2) –d(Oj,Om) khôngâm.Trƣờng hợp Cjmp=(Oj,Op)- d(Oj,Om)có thểâm hoặcdƣơng.Trƣờnghợp Cjmpbằngkhông.Trƣờnghợp Cjmp=(Oj,Op)- d(Oj,Om,2)luônâm.CâyCF đƣợcsử dụngbởi thuật toánBIRCH.Ví dụvềkết quảphâncụmbằngthuậttoánBIRCH.Cáccụmdữ liệu đƣợckhámphábởi CURE.Một sốhìnhdạngkhámphá bởi phâncụmdựa trênmật độ.LâncậncủaP với ngƣỡngEps.Mật độ-đến đƣợctrựctiếp.Mật độ đến đƣợc.Thứ tự phâncụmcácđối tƣợngtheoOPTICS.DENCLUEvới hàmphân phối Gaussian.Môhìnhcấutrúcdữliệulƣới.QuátrìnhnhậndạngcácôcủaCLIQUE. 48 7 DANH SÁCH BẢNG BIỂU Hình 3. Các trƣờng khai báo dữ liệu.Dữ liệu khách hàng.Dữ liệu khách hàng trong SQL Server.Giao diện chính của chƣơng trình nhập dữ liệu.Giao diện chọn các tham số cho thuật toán.Giao diện phân cụm theo thời lƣợng cuộc gọi.Danh sách các khách hàng thuộc cụm 1 theo thời lƣợng cuộc gọi.Danh sách các khách hàng thuộc cụm 2 theo thời lƣợng cuộc gọi.Danh sách các khách hàng thuộc cụm 3 theo thời lƣợng cuộc gọi.Giao diện phân cụm theo tiền dịch vụ.Danh sách các khách hàng thuộc cụm 1 theo tiền dịch vụ.Danh sách các khách hàng thuộc cụm 2 theo tiền dịch vụ.Danh sách các khách hàng thuộc cụm 3 theo tiền dịch vụ.61 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 KnowledgeDiscovery Khámphá trithứctrongcơ 3 KDD inDatabase 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 9 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 10 1.
Khai phá dữ liệu và phát hiện tri thức 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.
11 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. 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. 12 Đá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. 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. 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: 13 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,. 14 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. Ứ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,.3 Trực quan hóa kết quả KPDL trong Oracle 1. Kỹ thuật phân cụm trong khai phá dữ liệu 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 16 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 17 à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. Ứ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]: 18 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. 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). 19 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,. 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. 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,.
20 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. 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 21 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.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 k 2 Xi =(xi1,xi2,.xid) (i = 1,n), sao cho hàm tiêu chuẩn: x Ci D 2 ( x mi ) đạt giá trị i 1 tối thiểu.
Trong đó : mi là trọng tâm của cụm Ci,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 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 .) là trọng tâm ban đầu của k cụm từ tập dữ liệu 22 theo kinh nghiệm).
(việc lựa chọn này có thể là ngẫu nhiên hoặc 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 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: 23 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 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 Om 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 24 chất lƣợng phân cụm không thay đổi.