1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

80 1,1K 6
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 80
Dung lượng 1,78 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 2

Số 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 3

Số 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 4

Số 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 5

Số 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 6

Số 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 7

Số 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 8

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

Trang 10

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

để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 11

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ả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 12

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á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 13

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ụ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 15

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,

độ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 16

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ê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 17

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ự

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 18

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ọ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 19

xuấtcácđặctínhhoặc các mẫudữ liệuquantâmcó thể tồntạitrongCSDL không gian

Trang 21

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: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 22

22

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 23

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 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 24

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 đó

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 25

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ử 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 26

26

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 27

27

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 28

28

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 29

2.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 30

30

đâ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 31

31

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 32

32

đượ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 33

33

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 34

34

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 35

35

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 36

36

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 37

37

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 38

38

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 39

39

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 40

40

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

Ngày đăng: 18/11/2014, 19:52

HÌNH ẢNH LIÊN QUAN

Hình 1.3 Trực quan hóa kết quả KPDL trong Oracle - 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
Hình 1.3 Trực quan hóa kết quả KPDL trong Oracle (Trang 16)
Hình 2.1 Thuật toán k- means - 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
Hình 2.1 Thuật toán k- means (Trang 23)
Hình 2.11 Cây CF được sử dụng bởi thuật toán BIRCH - 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
Hình 2.11 Cây CF được sử dụng bởi thuật toán BIRCH (Trang 33)
Hình 2.26 Thuật toán CLIQUE - 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
Hình 2.26 Thuật toán CLIQUE (Trang 47)
Hình 3.1 Các trường khai báo dữ liệu - 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
Hình 3.1 Các trường khai báo dữ liệu (Trang 53)
Hình 3.2 CSDL đầu vào - 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
Hình 3.2 CSDL đầu vào (Trang 54)
Hình 3.3Dữ liệu khách hàngtrong SQL Server - 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
Hình 3.3 Dữ liệu khách hàngtrong SQL Server (Trang 55)
Hình ảnh minh họa cài đặt thuật toán được trình bày dưới đây: - 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
nh ảnh minh họa cài đặt thuật toán được trình bày dưới đây: (Trang 56)
Hình 3.6 Giao diện phân cụm theo thời lượng cuộc gọ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
Hình 3.6 Giao diện phân cụm theo thời lượng cuộc gọi (Trang 57)
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 - 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
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 (Trang 58)
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 - 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
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 (Trang 58)
Hình 3.10 Giao diện phân cụm theo tiền dịch vụ - 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
Hình 3.10 Giao diện phân cụm theo tiền dịch vụ (Trang 59)
Hình 3.12 Danh sách các khách hàng thuộc cụm 2 theo tiền dịch vụ - 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
Hình 3.12 Danh sách các khách hàng thuộc cụm 2 theo tiền dịch vụ (Trang 60)
Hình 3.13 Danh sách các khách hàng thuộc cụm 3 theo tiền dịch vụ - 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
Hình 3.13 Danh sách các khách hàng thuộc cụm 3 theo tiền dịch vụ (Trang 60)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm