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

Nghiên cứu một số thuật toán phân cụm, phân lớp dữ liệu và ứng dụng

76 236 0
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 76
Dung lượng 2,16 MB

Nội dung

Trang 1

Em xin chân thành cảm ơn 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 cho em thực hiện luậnvăn này.

Em xin gửi lời cảm ơn sâu sắc tới thầy giáo TS Nguyễn Văn Núi, Bộmôn công nghệ phần mềm - Trường Đại học Công nghệ Thông tin và Truyềnthông - Đại học Thái Nguyên đã trực tiếp hướng dẫn em trong quá trình thựchiện luận văn.

Em cũng xin gửi lời cảm ơn tới các thầy, cô đã có những ý kiến đónggóp bổ ích và đã tạo mọi điều kiện tốt nhất cho em trong suốt thời gian thựchiện luận văn Xin cảm ơn các bạn học đồng khóa đã thường xuyên độngviên, giúp đỡ tôi trong quá trình học tập.

Cuối cùng, em xin gửi lời cảm ơn đến gia đình và đồng nghiệp vì sự ủnghộ và động viên đã dành cho em trong suốt quá trình học tập cũng như thựchiện luận văn này.

Thái Nguyên, tháng 05 năm 2019Học viên

Nguyễn Minh Tâm

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan về nội dung đồ án tốt nghiệp với tên đề tài “ Nghiên cứu một số thuật toán phân cụm, phân lớp dữ liệu và ứng dụng” không sao

chép nội dung từ các luận văn khác, hay các sản phẩm tương tự mà không phải do em làm ra Sản phẩm luận văn là do chính bản thân em tìm hiểu vàxây dựng nên.

Nếu có gì sai em xin chịu mọi hình thức kỷ luật của Trường Đại họcCông nghệ Thông tin và Truyền thông – Đại học Thái Nguyên.

Thái Nguyên, tháng 05 năm 2019Học viên

Nguyễn Minh Tâm

Trang 3

1.1 Giới thiệu chung 9

1.2 Các bước trong khai phá dữ liệu 10

1.3 Các kỹ thuật áp dụng trong khai phá dữ liệu 12

1.4 Ứng dụng của khai phá dữ liệu 14

1.5 Những thách thức trong khai phá dữ liệu 15

CHƯƠNG 2 PHÂN CỤM DỮ LIỆU VÀ MỘT SỐ THUẬT TOÁN CƠ BẢN 17

2.1 Định nghĩa về phân cụm dữ liệu 17

2.2 Mục tiêu của phân cụm dữ liệu 18

2.3 Bài toán phân cụm dữ liệu 20

2.4 Một số kiểu dữ liệu 20

2.5 Một số kỹ thuật phân cụm dữ liệu 23

2.5.1 Phương pháp phân cụm dữ liệu dựa trên phân cụm phân cấp 23

2.5.2 Phương pháp phân cụm dữ liệu dựa trên mật độ 25

2.5.3 Phương pháp phân cụm phân hoạch 29

2.6 Kết luận 33

CHƯƠNG 3 PHÂN LỚP DỮ LIỆU VÀ MỘT SỐ THUẬT TOÁN CƠ BẢN 34

3.1 Định nghĩa về phân lớp dữ liệu 34

3.2 Các vấn đề quan tâm của phân lớp dữ liệu 34

3.2.1 Quá trình phân lớp dữ liệu: 34

3.2.2 So sánh các phương pháp phân lớp 36

3.3 Phân lớp bằng cây quyết định 36

3.3.1 Khái niệm về cây quyết định 36

3.3.2 Ưu, nhược điểm của cây quyết định 39

3.3.3 Một số thuật toán của cây quyết định 40

Trang 4

3.4 Phân lớp bằng Bayesian 48

3.5 Phân lớp dựa trên sự kết hợp 51

3.5.1 Các khái niệm quan trọng về luật kết hợp 51

3.5.2 Một số thuật toán về luật kết hợp 52

3.6 Độ chính xác classifier 57

3.7 Kết luận 59

CHƯƠNG 4 MỘT SỐ KẾT QUẢ THỬ NGHIỆM 60

4.1 Giới thiệu về công cụ phân cụm, phân lớp dữ liệu Weka 60

4.2 Ứng dụng phân cụm dữ liệu để phân nhóm khách hàng 62

4.3 Ứng dụng phân lớp dữ liệu để phân lớp 68

4.3.1 Phân lớp dữ liệu với thuật toán Apriori 68

4.3.2 Phân lớp dữ liệu với thuật toán Naive Bayes 71

KẾT LUẬN 75

TÀI LIỆU THAM KHẢO 76

Tiếng Việt: 76

Tiếng Anh: 76

Trang 5

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Các bước trong khai phá dữ liệu 10

Hình 2.1 Mô phỏng vấn đề phân cụm dữ liệu 17

Hinh 2.2 Cụm dữ liệu được khám phá bởi giải thuật DBSCAN 26

Hinh 2.3 Thứ tự phân cụm các đối tượng theo OPTICS 29

Hinh 2 4 Phân cụm dựa trên phương pháp k-means 31

Hình 4 1 Giao diện chính của phần mềm 61

Hình 4.2 Thông tin dữ liệu cơ bản của file bank-k.arff hiển thị bởi Weka 63

Hình 4.3 Lưu đồ thuật toán K-Means 64

Hình 4.4 Bảng tham số sử dụng cho thuật toán K-Means: Hình (a) K=3; Hình(b): K=5 65

Hình 4.5 Kết quả phân cụm với thuật toán K-Means (K=3) 66

Hình 4.6 Kết quả phân cụm với thuật toán K-Means (K=5) 67

Hình 4.7 Giao diện Weka chọn thuật toán Apriori 68

Hình 4.8 Giao diện Weka thiết lập tham số cho thuật toán Apriori 69

Hình 4.9 Kết quả sinh luật bởi thuật toán Apriori 70

Hình 4.10 Giao diện Weka lựa chọn thuật toán Naive Bayes 71

Hình 4.11 Kết quả sinh luật bởi thuật toán Naive Bayes 72

Hình 4.12 Giao diện Weka lựa chọn thuật toán C4.5 73

Hình 4.13 Kết quả sinh luật bởi thuật toán C4.5 74

Trang 6

7 DBSCAN Density Based SpatialClustering of Application withNoise

8 OPTICS Ordering Point to Identify theClustering Structure9 PAM Partitioning Around Medoids10 ID3 Interative Decision 3

11 NBC Native Bayes Classification Phân lớp dữ liệu NaiveBayes

Trang 7

MỞ ĐẦU

Trong thời gian gần đây, sự phát triển mạnh mẽ của công nghệ thông tin,thương mại điện tử vào nhiều lĩnh vực của đời sống, kinh tế xã hội đã sinh ramột lượng dữ liệu lưu trữ khổng lồ Sự bùng nổ này đã dẫn tới một nhu cầucấp thiết cần có những kỹ thuật và công cụ để tự động chuyển đổi dữ liệuthành các tri thức có ích mà các phương pháp quản trị và khai thác cơ sở dữliệu truyền thống không còn đáp ứng được nữa Trong những khuynh hướngkỹ thuật mới có kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD –Knowledge Discovery and Data Mining) Nhưng để có thể khai phá dữ liệumột cách hiệu quả và chính xác, ta cần có những mô hình toán học, các giảithuật đáp ứng được điều đó Vì vậy, trong luận văn này có trình bày một sốvấn đề về phân cụm, phân lớp dữ liệu một trong những kỹ thuật cơ bản đểkhai phá dữ liệu nhưng lại được sử dụng rộng rãi và đem lại hiệu quả cao.

Bố cục của lu vă

Nội dung chính của luận văn được chia thành 4 chương như sau:

Chương 1 Tổng quan: Chương này giới thiệu một cách tổng quát về quá trình

phát hiện tri thức nói chung và khai phá dữ liệu nói riêng Đặc biệt, chươngtrình còn liệt kê một số điểm chính về ứng dụng cũng như thách thức của khaiphá dữ liệu và phát hiện tri thức.

Chương 2 Phân cụm dữ liệu và một số thuật toán cơ bản: Chương này trình

bày các nội dung chính liên quan đến phân cụm dữ liệu Một số thuật toánphân cụm dữ liệu cơ bản cũng được trình bày chi tiết trong chương này.

Chương 3 Phân lớp dữ liệu và một số thuật toán cơ bản: Chương này trình

bày các nội dung chính liên quan đến phân lớp dữ liệu và ứng dụng Một số

Trang 8

thuật toán phân lớp dữ liệu bao gồm: ID3, C.4.5, Naive Bayes, Apriori, …cũng sẽ được trình bày chi tiết trong chương này.

Chương 4 Một số kết quả thử nghiệm: Chương này trình bày và phân tích

một số kết quả thử nghiệm các thuật toán phân cụm, phân lớp dữ liệu cơ bản.Kết quả phân tích chủ yếu được triển khai thực hiện dựa trên phần mềmWeka (Waikato Environment for Knowledge Analysis) - một bộ phầnmềm họ c m á y đ ược trường Đ ạ i h ọ c W a ik a t o , N ew Z ea l a n d p hát triểnbằng J a va Weka là p h ần m ề m t ự d o p hát hành theo G i ấy p h ép C ô n g c ộ ng

lĩnh vực khai phá dữ liệu và phát hiện tri thức.

Trang 9

CHƯƠNG 1TỔNG QUAN1.1 Gi i thi u chung

Sự phát triển của khoa học công nghệ và việc ứng dụng công nghệ thôngtin ở hầu hết các lĩnh vực trong nhiều năm qua cũng đồng nghĩa với lượng dữliệu đã được thu thập và lưu trữ ngày càng lớn Các hệ quản trị cơ sở dữ liệutruyền thống cũng chỉ khai thác được một lượng thông tin nhỏ không còn đápứng đầy đủ những yêu cầu, những thách thức mới Do vậy các phương phápquản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứngđược thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là kỹ thuậtphát hiện tri thức và khai phá dữ liệu Tôi xin giới thiệu một cách tổng quanvề phát hiện tri thức và khai phá dữ liệu cùng một số kỹ thuật cơ bản để trongkhai phá dữ liệu để phát hiện tri thức và một số ứng dụng trong thực tế nhằmhỗ trợ cho tiến trình ra quyết định.

Khai phá dữ liệu (Data Mining) hay có thể hiểu là phát hiện tri thức(Knowledge Discovery) có rất nhiều khái niệm khác nhau nhưng về cơ bảnđó là quá trình tự động trích xuất thông tin có giá trị (thông tin dự đoán -Predictive Information) ẩn chứa trong lượng dữ liệu lớn trong thực tế Nóbao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềmẩn trong các tập dữ liệu lớn (các kho dữ liệu) Về bản chất, nó liên quan đếnviệc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình cótính chính quy (regularities) trong tập dữ liệu Khai phá dữ liệu là một tiếntrình sử dụng các công cụ phân tích dữ liệu khác nhau để khám phá ra cácmẫu dưới nhiều góc độ khác nhau nhằm phát hiện ra các mối quan hệ giữa cácdữ kiện, đối tượng bên trong cơ sở dữ liệu, kết quả của việc khai phá là xácđịnh các mẫu hay các mô hình đang tồn tại bên trong, nhưng chúng nằm ẩnkhuất ở các cơ sở dữ liệu Để từ đó rút trích ra được các mẫu, các mô hình hay

Trang 10

các thông tin và tri thức từ các cơ sở dữ liệu Để hình dung rõ hơn DataMining là gì có thể hiểu đơn giản nó chính là một phần của quá trình tríchxuất những dữ liệu có giá trị tốt, loại bỏ dữ liệu giá trị xấu trong rất nhiềuthông tin trên Internet và các nguồn dữ liệu đang có.

1.2 C c bư c trong khai phá dữ li u

Qúa trình phát hiện tri thức gồm 6 giai đoạn [1] được thể hiện như hình

Hình 1.1 C c bư c trong khai phá dữ li u

Đầu vào là dữ liệu thô được lấy từ internet và đầu ra là các thông tin cógiá trị.

(1) Gom dữ liệu: Tập hợp dữ liệu là bước đầu tiên trong quá trình khaiphá dữ liệu Đây là bước được khai thác trong một cơ sở dữ liệu, một kho dữliệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web.

Trang 11

(2) Trích lọc dữ liệu: Ở giai đoạn này những tập dữ liệu cần được khaiphá từ các tập dữ liệu lớn ban đầu theo một số tiêu chí nhất định phục vụ mụcđích khai thác.

(3) Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu: Đối với dữ liệu thuthập được, cần xác định các vấn đề ảnh hưởng là cho nó không sạch Bởi vì,dữ liệu không sạch (những dữ liệu không đầy đủ, nhiễu, không nhất quán) thìcác tri thức khám phá được sẽ bị ảnh hưởng và không đáng tin cậy, dẫn tớicác quyết định thiếu chính xác Vậy, cần gán các giá trị thuộc tính còn thiếu,sữa chữa các dữ liệu nhiễu, lỗi, xác định loại bỏ các giá trị ngoại lai, giảiquyết các mâu thuẫn dữ liệu Sau bước này, dữ liệu sẽ nhất quán, đầy đủ,được rút gọn và được rời rạc hóa Đây là một quá trình rất quan trọng vì dữliệu này nếu không được “làm sạch - tiền xử lý dữ liệu” thì sẽ gây nên nhữngkết quả sai lệch nghiêm trọng.

(4) Chuyển đổi dữ liệu: Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệuđưa ra có thể sử dụng và điều khiển được bởi việc tổ chức lại nó, tức là dữliệu sẽ được chuyển đổi về dạng thuận lợi nhất nhằm phục vụ quá trình khaiphá ở bước sau.

(5) Khai phá dữ liệu: Ở giai đoạn này nhiều thuật toán khác nhau đãđược sử dụng để trích ra các mẫu từ dữ liệu Đây là bước áp dụng những kỹthuật phân tích (như các kỹ thuật của học máy) nhằm để khai thác dữ liệu,trích chọn được những mẫu thông tin, những mối liên hệ đặc biệt trong dữliệu Đây được xem là bước quan trọng và tốn nhiều thời gian nhất của toànquá trình khai phá dữ liệu.

(6) Đánh giá các luật và biểu diễn tri thức: Ở giai đoạn này, những mẫuthông tin và mối liên hệ trong dữ liệu đã được khám phá ở bước trên đượcbiến đổi và biểu diễn ở một dạng gần gũi với người sử dụng như đồ thị, cây,bảng biểu, luật,…

Trang 12

Đồng thời bước này cũng đánh giá những tri thức khám phá được theonhững tiêu chí nhất định.

Trên đây là 6 giai đoạn của quá trình phát hiện tri thức, trong đó giaiđoạn 5 khai phá dữ liệu (hay còn gọi đó là Data Mining) là giai đoạn đượcđánh giá là quan trọng nhất.

1.3 Các kỹ thu t áp dụng trong khai phá dữ li u

Đứng trên quan điểm của học máy, thì các kỹ thuật trong KPDL, baogồm:

Học có giám sát: Là quá trình gán nhãn cho các phần tử trong CSDL dựa

trên một tập các ví dụ huấn luyện và các thông tin về nhãn đã biết.

Học không có giám sát: Là quá trình phân chia một tập dữ liệu thành các

lớp hay cụm dữ liệu tương tự nhau mà chưa biết trước các thông tin về lớphay tập các ví dụ huấn luyện.

Học nửa giám sát: Là quá trình phân chia một tập dữ liệu thành các lớp

dựa trên một tập nhỏ các ví dụ huấn luyện và các thông tin về một số nhãn lớpđã biết trước.

Nếu căn cứ vào lớp các bài toán cần giải quyết, thì KPDL bao gồm cáckỹ thuật áp dụng sau:

- Kĩ thuật khai phá dữ liệu mô tả: có nhiệm vụ mô tả về các tính chấthoặc các đặc tính chung của dữ liệu trong cơ sở dữ liệu hiện có Các kĩ thuậtnày có thể liệt kê: phân cụm (clustering), tóm tắt (summerization), trực quanhóa (visualization), phân tích sự phát hiện biến đổi và độ lệch, phân tích luậtkết hợp (association rules) ;

- Kĩ thuật khai phá dữ liệu dự đoán: có nhiệm vụ đưa ra các dự đoán dựavào các suy diễn trên dữ liệu hiện thời Các kĩ thuật này gồm có: phân lớp(classification), hồi quy (regression) ;

Trang 13

3 phương pháp thông dụng nhất trong khai phá dữ liệu là: phân cụm dữliệu, phân lớp dữ liệu và khai phá luật kết hợp Ta sẽ xem xét từng phươngpháp:

Phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệuvào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còncác đối tượng thuộc các cụm khác nhau sẽ không tương đồng Phân cụm dữliệu là một ví dụ của phương pháp học không giám sát Không giống nhưphân loại dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước cácmẫu dữ liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu là một cách họcbằng quan sát (learning by observation), trong khi phân loại dữ liệu là họcbằng ví dụ (learning by example) Trong phương pháp này bạn sẽ không thểbiết kết quả các cụm thu được sẽ như thế nào khi bắt đầu quá trình Vì vậy,thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thuđược Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạnthị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web…Ngoài ra phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lícho các thuật toán khai phá dữ liệu khác.

Phân lớp dữ liệu là xếp một đối tượng vào một trong những lớp đã biếttrước Ví dụ như phân lớp các dữ liệu bệnh nhân trong hồ sơ bệnh án Hướngtiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định,mạng nơron nhân tạo, Phân lớp dữ liệu còn được gọi là học có giám sát.Quá trình phân lớp dữ liệu thường gồm 2 bước xây dựng mô hình và sử dụngmô hình để phân lớp dữ liệu.

B ư ớc 1 : Một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫudữ liệu sẵn có Mỗi mẫu tương ứng với một lớp, được quyết định bởi mộtthuộc tính gọi là thuộc tính lớp Các mẫu dữ liệu này còn được gọi là tập dữliệu huấn luyện (training data set) Các nhãn của tập dữ liệu huấn luyện đều

Trang 14

phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này cònđược gọi là học có thầy (supervised learning) khác với phân cụm dữ liệu làhọc không có thầy (unsupervised learning).

ư ớc 2 : Sử dụng mô hình để phân lớp dữ liệu Trước hết chúng ta phảitính độ chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hìnhsẽ được sử dụng để dự đoán nhãn cho các mẫu dữ liệu khác trong tương lai.

Khai phá luật kết hợp (Association Rule Mining) là kỹ thuật rất quantrọng trong lĩnh vực khai phá dữ liệu Mục đích của việc khai phá luật kết hợplà tìm ra các mối quan hệ, sự kết hợp hay mối tương quan giữa các đối tượngtrong khối lượng lớn dữ liệu Nói cách khác, thuật toán khai phá luật kết hợpcho phép tạo ra các luật mô tả các sự kiện xảy ra đồng thời (một cách thườngxuyên) như thế nào Thuật toán này thực hiện thông qua 2 giai đoạn chính:

- Giai đoạn đầu là đi tìm các sự kiện xảy ra thường xuyên.- Giai đoạn hai là tìm luật.

1.4 Ứng dụng của khai phá dữ li u

Mặc dù còn rất nhiều vấn đề mà KPDL cần phải tiếp tục nghiên cứu đểgiải quyết nhưng tiềm năng của nó đã được khẳng định bằng sự ra đời của rấtnhiều ứng dụng Các ứng dụng của KPDL trong khoa học cũng được pháttriển Các công ty phần mềm lớn trên thế giới cũng rất quan tâm và chú trọngtới việc nghiên cứu và phát triển kỹ thuật khai phá dữ liệu: Oracle tích hợpcác công cụ khai phá dữ liệu vào bộ Oracle9i, IBM đã đi tiên phong trongviệc phát triển các ứng dụng khai phá dữ liệu với các ứng dụng nhưIntelligence Miner Ta có thể đưa ra một số ứng dụng trong các lĩnh vực như:

Ngân hàng: Xây dựng mô hình dự báo rủi ro tín dụng, tìm kiếm tri thức,quy luật của thị trường chứng khoán và đầu tư bất động sản.

Trang 15

Thương mại điện tử: Công cụ tìm hiểu, định hướng, thúc đẩy, giao tiếpvới khách hàng, phân tích khách hàng duyệt web, phân tích hành vi mua sắmtrên mạng và cho biết thông tin tiếp thị phù hợp với từng loại khách hàng.

Thiên văn học: Hệ thống SKICAT do JPL/Caltech phát triển được sửdụng cho các nhà thiên văn để tự động xác định các vì sao và các dải thiên hàtrong một bản khảo sát lớn để có thể phân tích và phân loại.

Sinh học phân tử: Hệ thống tìm kiếm các mẫu trong cấu trúc phân tử vàtrong các dữ liệu gen.

Mô hình hóa những thay đổi thời tiết: các mẫu không gian, thời gian nhưlốc, gió xoáy được tự động tìm thấy trong các tập lớn dữ liệu mô phỏng vàquan sát được.

Trang 16

- Vấn đề “quá khớp” (Over-fitting): Khi thuật toán khai phá tìm kiếm vớicác tham số tốt nhất cho một mô hình đặc biệt và một giới hạn của tập dữ liệu,mô hình ấy có thể “quá khớp” trên tập dữ liệu ấy nhưng lại thi hành khôngchính xác trên tập dữ liệu kiểm tra Một giải pháp thường được sử dụng làthẩm định chéo.

- Thay đổi dữ liệu và tri thức: Dữ liệu là không tĩnh, dữ liệu luôn thayđổi nhanh chóng có thể dẫn đến những mẫu đã khai phá trước đây không cònhiệu lực Thêm vào đó, các biến đã được đo trong cơ sở dữ liệu ứng dụng đãbị thay đổi, bị xóa hoặc đã tăng lên với một độ đo mới Điều này có thể đượcthực hiện bằng cách gia tăng các phương thức cập nhật các mẫu và xem xétcác thay đổi như là một cơ hội cho việc khám phá bằng việc sử dụng nó để xửlý thích hợp việc tìm kiếm các mẫu chỉ với sự thay đổi.

- Dữ liệu thiếu và nhiễu: Đây là vấn đề rất được quan tâm trong khai phádữ liệu, điều này thường dẫn đến việc dự đoán thiếu chính xác.

- Tích hợp với hệ thống: Hệ thống khai phá dữ liệu thực sự là hữu ích khiphải được tích hợp với cơ sở dữ liệu thông qua các giao diện như truy vấn,bảng tính và các công cụ trực quan khác Hơn nữa, phải tạo ra một môi trườngthuận lợi cho việc tương tác với người dùng.

Trang 17

Chúng ta có thể có thể minh hoạ vấn đề phân cụm như hình sau:

Hình 2.1 Mô phỏng vấ đề phân cụm dữ li u

Trong trường hợp này, chúng ta dễ dàng xác định được 3 cụm dựa vàocác dữ liệu đã cho, các tiêu chí “tương tự” để phân cụm trong trường hợp này

Trang 18

là khoảng cách hai hoặc nhiều đối tượng thuộc nhóm của chúng được “đónggói” theo một khoảng cách nhất định Điều này được gọi là phân cụm dựa trênkhoảng cách.

Một kiểu khác của phân cụm dữ liệu là phân cụm dữ liệu dựa vào kháiniệm hai hay nhiều đối tượng thuộc cùng nhóm nếu có một định nghĩa kháiniệm chung cho tất cả các đối tượng trong đó Nói cách khác, đối tượng củanhóm phải phù hợp với nhau theo miêu tả các khái niệm đã được định nghĩa,không phải theo những biện pháp đơn giản tương tự.

Kỹ thuật phân cụm có thể áp dụng trong rất nhiều lĩnh vực như:

- Marketing: Xác định các nhóm khách hàng (khách hàng tiềm năng,khách hàng giá trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sảnphẩm hay dịch vụ của công ty để giúp công ty có chiến lược kinh doanh hiệuquả hơn.

- Sinh học: Phân nhóm động vật và thực vật dựa vào các thuộc tính củachúng.

- Thư viện: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả.

- Bảo hiểm, tài chính: Phân nhóm các đối tượng sử dụng bảo hiểm và cácdịch vụ tài chính, dự đoán xu hướng của khách hàng, phát hiện gian lận tàichính

- Mạng lưới toàn cầu: Phân loại tài liệu, phân loại người dùng web.

2.2 Mục tiêu của phân cụm dữ li u

Mục tiêu của phân cụm dữ liệu là để xác định các nhóm nội tại bêntrong một bộ dữ liệu không có nhãn Nhưng để có thể quyết định được cái gìtạo thành một cụm tốt, làm thế nào để quyết định cái gì đã tạo nên mộtphân cụm dữ liệu tốt ? Nó có thể được hiển thị rằng không có tiêu chuẩn tuyệtđối “tốt nhất” mà sẽ là độc lập với mục đích cuối cùng của phân cụm dữ liệu.

Trang 19

Do đó, mà người sử dụng phải cung cấp tiêu chuẩn, theo cách như vậy mà kết quả của phân cụm dữ liệu sẽ phù hợp với nhu cầu của họ cần.

Một vấn đề thường gặp trong phân cụm là hầu hết các dữ liệu cần chophân cụm đều có chứa dữ liệu nhiễu do quá trình thu thập thiếu chính xáchoặc thiếu đầy đủ, vì vậy cần phải xây dựng chiến lược cho bước tiền xử lí dữliệu nhằm khắc phục hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phântích cụm dữ liệu Nhiễu ở đây được hiểu là các đối tượng dữ liệu không chínhxác, không tường minh hoặc là các đối tượng dữ liệu khuyết, thiếu thông tinvề một số thuộc tính Một trong các kỹ thuật xử lí nhiễu phổ biến là việcthay thế giá trị các thuộc tính của đối tượng nhiễu bằng giá trị thuộc tínhtương ứng Ngoài ra, dò tìm đối tượng ngoại lai cũng là một trong nhữnghướng nghiên cứu quan trọng trong phân cụm, chức năng của nó là xác địnhmột nhóm nhỏ các đối tượng dữ liệu khác thường so với các dữ liệu trong cơsở dữ liệu, tức là các đối tượng dữ liệu không tuân theo các hành vi hoặc môhình dữ liệu nhằm tránh sự ảnh hưởng của chúng tới quá trình và kết quả củaphân cụm.

Theo các nghiên cứu đến thời điểm hiện nay thì chưa có một phươngpháp phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạngcấu trúc cơ sở dữ liệu Hơn nữa, đối với các phương pháp phân cụm cần cócách thức biểu diễn cấu trúc của cơ sở dữ liệu, với mỗi cách thức biểu diễnkhác nhau sẽ có tương ứng một thuật toán phân cụm phù hợp Vì vậy phâncụm dữ liệu vẫn đang là một vấn đề khó và mở, vì phải giải quyết nhiều vấnđề cơ bản một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau,đặc biệt là đối với dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản trịdữ liệu và đây cũng là một trong những thách thức lớn trong lĩnh vực khai phádữ liệu.

Trang 20

Phân cụm là một lĩnh vực nghiên cứu có nhiều thách thức, tại đó các ứngdụng tiềm năng của nó đưa ra các yêu cầu đặc biệt Sau đây là các yêu cầuđiển hình của phân cụm trong khai phá dữ liệu:

2.3 Bài toán phân cụm dữ li u

Phân cụm dữ liệu là quá trình học không giám sát trên một tập dữ liệuđầu vào nhằm phân chia tập dữ liệu ban đầu thành các tập dữ liệu con có tínhchất tương tự nhau.

Đầu vào: Tập dữ liệu D gồm n phần tử trong không gian m chiều.- D = {x1, x2,…,xn}

- xi = (x1i, x2i,…, xm ) mô tả m thuộc tính của phần tử thứ i.Đầu ra: Phân tách các dữ liệu thuộc D thành các cụm sao cho:

- Các phần tử trong cùng một cụm có tính chất tương tự nhau(gần nhau).

- Các phần tử ở các cụm khác nhau có tính chất khác nhau (xanhau).

2.4 M t số kiểu dữ li u

Thuật toán phân cụm dữ liệu có nhất rất nhiều liên kết với các loại dữliệu Vì vậy, sự hiểu biết về quy mô, bình thường hoá, và gần nhau là rất quan

Trang 21

trọng trong việc giải thích các kết quả của thuật toán phân cụm dữ liệu Kiểudữ liệu nói đến mức độ lượng tử hóa trong dữ liệu [2] một thuộc tính duy nhấtcó thể được gõ như nhị phân, rời rạc, hoặc liên tục Thuộc tính nhị phân cóchính xác hai giá trị, như là đúng hoặc sai Thuộc tính rời rạc có một số hữuhạn các giá trị có thể, vì thế các loại nhị phân là một trường hợp đặc biệt củacác loại rời rạc.

Trong phần này ta phân tích các kiểu dữ liệu thường được sử dụng trongphân cụm dữ liệu Trong phân cụm dữ liệu, các đối tượng dữ liệu cần phântích có thể là con người, nhà cửa, tiền lương, các thực thể phần mềm,… Cácđối tượng này thường được diễn tả dưới dạng các thuộc tính của nó Cácthuộc tính này là các tham số cần cho giải quyết vấn đề phân cụm dữ liệu vàsự lựa chọn chúng có tác động đáng kể đến các kết quả của phân cụm Phânloại các kiểu thuộc tính khác nhau là một vấn đề cần giải quyết đối với hầuhết các tập dữ liệu nhằm cung cấp các phương tiện thuận lợi để nhận dạng sựkhác nhau của các phần tử dữ liệu Dưới đây là cách phân cụm dựa trên haiđặc trưng là: kích thước miền và hệ đo.

2.4.1 Phân loại kiểu dữ li u dựa tr kích thư c miền

- Thuộc tính liên tục: Nếu miền giá trị của nó là vô hạn không đếmđược, nghĩa là giữa hai giá trị tồn tại vô số giá trị khác Thí dụ như các thuộctính về màu, nhiệt độ hoặc cường độ âm thanh.

- Thuộc tính rời rạc: Nếu miền giá trị của nó là tập hữu hạn hoặc đếmđược Thí dụ như các thuộc tính về số của một cuốn sách, số thành viên trongmột gia đình,…

2.4.2 Phân loại kiểu dữ li u dựa trên h đ

Giả sử ta có hai đối tượng x, y và các thuộc tính xi , yi tương ứng vớithuộc tính thứ i của chúng Chúng ta có các lớp kiểu dữ liệu như sau:

Trang 22

- Thuộc tính định danh: Dạng thuộc tính khái quát hoá của thuộc tính nhịphân, trong đó miền giá trị là rời rạc không phân biệt thứ tự và có nhiều hơnhai phần tử - nghĩa là nếu x và y là hai đối tượng thuộc tính thì chỉ có thể xácđịnh là x  y hoặc x = y Thí dụ như thuộc tính về nơi sinh.

- Thuộc tính có thứ tự: Là thuộc tính định danh có thêm tính thứ tự,nhưng chúng không được định lượng Nếu x và y là hai thuộc tính thứ tự thì tacó thể xác định là x  y hoặc x = y hoặc x > y hoặc x < y Thí dụ như thuộctính Huy chương của vận động viên thể thao.

- Thuộc tính khoảng: Nhằm để đo các giá trị theo xấp xỉ tuyến tính Vớithuộc tính khoảng, ta có thể xác định một thuộc tính là đứng trước hoặc đứngsau thuộc tính khác với một khoảng là bao nhiêu Nếu xi> yi thì ta nói x cáchy một khoảng |xi – yi| tương ứng với thuộc tính thứ i Ví dụ: thuộc tính sốSerial của một đầu sách trong thư viện hoặc thuộc tính số kênh trên truyềnhình.

- Thuộc tính tỉ lệ: Là thuộc tính khoảng nhưng được xác định một cáchtương đối so với điểm mốc, thí dụ như thuộc tính chiều cao hoặc cân nặng lấygiá trị 0 làm mốc.

Trong các thuộc tính dữ liệu trình bày ở trên, thuộc tính định danh vàthuộc tính có thứ tự gọi chung là thuộc tính hạng mục, thuộc tính khoảng vàthuộc tính tỉ lệ được gọi là thuộc tính số.

Người ta còn đặc biệt quan tâm đến dữ liệu không gian Đây là loại dữliệu có các thuộc tính số khái quát trong không gian nhiều chiều, dữ liệukhông gian mô tả các thông tin liên quan đến không gian chứa đựng các đốitượng, thí dụ như thông tin về hình học,… Dữ liệu không gian có thể là dữliệu liên tục hoặc rời rạc.

Trang 23

Dữ liệu không gian rời rạc: Có thể là một điểm trong không gian nhiềuchiều và cho phép ta xác định được khoảng cách giữa các đối tượng dữ liệutrong không gian.

Dữ liệu không gian liên tục: Bao gồm một vùng trong không gian.

Thông thường, các thuộc tính số được đo bằng các đơn vị xác định nhưlà Kilogams hoặc Centimeter Tuy nhiên, các đơn vị đo có ảnh hưởng đến cáckết quả phân cụm Thí dụ như thay đổi độ đo cho thuộc tính cân nặng từKilogams sang Pound có thể mang lại các kết quả khác nhau trong phân cụm.Để khắc phục điều này người ta phải chuẩn hoá dữ liệu, tức là sử dụng cácthuộc tính dữ liệu không phụ thuộc vào đơn vị đo Thực hiện chuẩn hoá phụthuộc vào ứng dụng và người dùng, thông thường chuẩn hoá dữ liệu đượcthực hiện bằng cách thay thế mỗi một thuộc tính bằng thuộc tính số hoặc thêmcác trọng số cho các thuộc tính.

2.5 M t số kỹ thu t phân cụm dữ li u

Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và các ứng dụngtrong thực tế, nó đều hướng tới hai mục tiêu chung đó là chất lượng của cáccụm khám phá được và tốc độ thực hiện của thuật toán Hiện nay, các kỹ thuậtphân cụm có thể phân loại theo các phương pháp tiếp cận chính như sau: phâncụm phân hoạch, phân cụm phân cấp, phân cụm dựa trên mật độ, phân cụmdựa trên lưới, phân cụm dựa trên mô hình phân cụm và phân cụm có dữ liệuràng buộc.

2.5.1 Phươ g h h cụm dữ li u dựa trên phân cụm phân cấp

Phương pháp phân cụm phân cấp làm việc bằng cách nhóm các đốitượng vào trong một cây các cụm.

- Phân cụm phân cấ tích đống: bắt đầu bằng cách đặt mỗi đối tượng

vào trong cụm của bản thân nó, sau đó kết nhập các cụm nguyên tử này vào

Trang 24

trong các cụm ngày càng lớn hơn cho tới khi tất cả các đối tượng nằm trong một cụm đơn hay cho tới khi thỏa mãn điều kiện dừng cho trước.

- Phân cụm phân cấp phân ly: phương pháp này ngược lại bằng cách

bắt đầu với tất cả các đối tượng trong một cụm, chia nhỏ nó vào trong cácphần ngày càng nhỏ hơn cho tới khi mỗi đối tượng hình thành nên một cụmhay thỏa mãn một điều kiện dừng cho trước.

2.5.1.1 Thuật toán AGNES

Thuật toán AGNES (Agglomerative Nesting) - tích đống lồng [3].

Phương pháp này sử dụng phương pháp kết nối đơn, tại đó mỗi cụm được đạidiện bởi tất cả các điểm dữ liệu trong cụm, và độ tương đồng giữa hai cụmđược đo bởi độ tương đồng của cặp điểm dữ liệu gần nhất thuộc về các cụmkhác nhau AGNES hoà nhập các nút (tức là các đối tượng hay các cụm riênglẻ) có độ không tương đồng ít nhất, cứ thể cho tới khi hoà nhập thành mộtcụm duy nhất.

Thu t toán AGNES bao gồ c c bư c cơ bản sau :

Bước 1: Mỗi đối tượng là một nhóm

Bước 2: Hợp nhất các nhóm có khoảng cách giữa các nhóm là nhỏ nhất.Bước 3: Nếu thu được nhóm “toàn bộ” tức là dữ liệu đã nằm toàn bộtrong một nhóm thì dừng, ngược lại quay lại bước 2

2.5.1.2 Thuật toán BIRCH

Một phương pháp phân cụm phân cấp được tích hợp thú vị gọi là BIRCH(Balanced Iterative Reducing and Clustering using Hierachies) được đề xuấtnăm 1996 bởi Zhang, Ramakrishnan và Livny.

Nó đưa ra hai khái niệm: đặc trưng phân cụm (CF - Clustering Feature)và cây CF (Clustering Feature tree), sử dụng cây CF đại diện một cụm tóm tắtđể có được tốc độ và khả năng mở rộng phân cụm tốt trong các cơ sở dữ liệulớn Nó cũng tốt đối với phân cụm tăng trưởng động của các điểm dữ liệu đầu

Trang 25

vào Đối với mỗi cụm dữ liệu, BIRCH chỉ lưu bộ ba (N, LS, SS), Trong đó Nlà 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ượngtrong cụm, và SS là tổng bình phương của các giá trị thuộc tính của các đốitượng trong cụm Khi đó, các cụm trong tập dữ liệu ban đầu sẽ được cho dướidạng một cây CF Người ta đã chứng minh được rằng các đại lượng thống kênhư độ đo có thể xác định từ cây CF.

Một cây CF là một cây cân bằng chiều cao, nó lưu trữ các đặc trưng

phân cụm Nó có hai tham số: hệ số phân nhánh B và ngưỡng T Hệ số phân

nhánh chỉ rõ số lượng tối đa các con Tham số ngưỡng chỉ rõ đường kính tốiđa của các cụm con được lưu trữ tại các nút lá Bằng cách thay đổi giá trịngưỡng, nó có thể thay đổi kích thước của cây Các nút không phải là lá lưutrữ tổng các CF của các nút con, do vậy tóm tắt thông tin về các con củachúng.

Thu t t BIRCH được thực hi qua hai giai đ ạn sau:

Giai đoạn 1: Duyệt tất cả các đối tượng trong tập dữ liệu và xây dựngmột cây CF ban đầu Ở giai đoạn này các đối tượng lần lượt được chèn vàonút lá gần nhất của cây CF (nút lá của cây đóng vai trò cụm con), sau khi chènxong thì mọi nút trên cây CF được cập nhật thông tin Nếu đường kính củacụm con sau khi chèn lớn hơn ngưỡng T thì nút được tách ra Quá trình nàyđược lặp lại cho đến khi tất cả các đối tượng đều được chèn vào câyCF Để lưu thông toàn bộ cây CF trong bộ nhớ điều chỉnh kích thước của câyCF thông qua điều chỉnh ngưỡng T.

Giai đoạn 2: BIRCH chọn một giải thuật toán phân cụm bất kỳ (nhưthuật toán phân hoạch) để thực hiện phân cụm cho tất các các nút lá CF.

2.5.2 Phươ g h h cụm dữ li u dựa trên m t đ

Phương pháp này nhóm các đối tượng dữ liệu dựa trên hàm mật độ xácđịnh, mật độ là số các đối tượng lân cận của một đối tượng dữ liệu theo một

Trang 26

nghĩa nào đó Trong cách tiếp cận này, khi một dữ liệu đã xác định thì nó tiếptụ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ượnglân cận này phải lớn hơn một ngưỡng đã được xác định trước Phương phápphân cụm dựa trên mật độ của các đối tượng để xác định các cụm dữ liệu cóthể phát hiện ra các cụm dữ liệu với hình thù bất kỳ Kỹ thuật này có thể khắcphục được các phần tử ngoại lai hoặc giá trị nhiễu rất tốt, tuy nhiên việc xácđịnh các tham số mật độ của thuật toán là 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ả phân cụm.

2.5.2.1 Thuật toán DBSCAN

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)là một giải thuật phân cụm dựa trên mật độ, được phát triển bởi Ester,Kriegel, Sander và Xu (1996) Thuật toán thích nghi với mật độ dầy để phâncụm và khám phá ra các cụm có hình dạng bất kỳ trong không gian CSDL cónhiễu Nó có định nghĩa cụm là tập tối đa các điểm liên thông mật độ.

Hinh 2.2 Cụm dữ li u được khám phá bởi giải thu t DBSCAN

Quan sát 3 tập dữ liệu điểm mẫu ở hình 2.2, chúng ta dễ dàng nhận racác cụm điểm và các điểm nhiễu Ý tưởng chính để phát hiện ra các cụm củagiải thuật DBSCAN là bên trong mỗi cụm luôn tồn tại một mật độ cao hơnbên ngoài cụm Hơn nữa, mật độ ở những vùng nhiễu thì thấp hơn mật độ bêntrong của bất kỳ cụm nào Trong mỗi cụm phải xác định bán kính vùng lâncận (Eps) và số lượng điểm tối thiểu trong vùng lân cận của một điểm trong

Trang 27

cụm (MinPts) Hình dạng vùng lân cận của một điểm được xác định dựa vào

việc chọn hàm khoảng cách giữa hai điểm p và q, ký hiệu là dist(p,q) Ví dụ,

nếu dùng khoảng cách Mahattan trong không gian 2D thì hình dạng vùng lâncận là hình chữ nhật.

Các bước của thuật toán DBSCAN như sau:

Bước 1: Chọn một đối tượng p tuỳ ý

Bước 2: Lấy tất cả các đối tượng mật độ - đến được từ p với Eps vàMinPts.

Bước 3: Nếu p là điểm nhân thì tạo ra một cụm theo Eps và MinPts.Bước 4: Nếu p là một điểm biên, không có điểm nào là mật độ - đếnđược mật độ từ p và DBSCAN sẽ đi thăm điểm tiếp theo của tập dữ liệu.

Bước 5: Quá trình tiếp tục cho đến khi tất cả các đối tượng được xử lý.

Nếu ta chọn sử dụng giá trị trị toàn cục Eps và MinPts, DBSCAN có thểhoà nhập hai cụm thành một cụm nếu mật độ của hai cụm gần bằng nhau Giảsử khoảng cách giữa hai tập dữ liệu S1 và S2 được định nghĩa là Dist(S1,S2) =S2}. S1 và qmin{dist(p,q)| p  S1 và qS2 }.

Thuật toán DBSCAN có thể tìm ra các cụm với hình thù bất kỳ, trongkhi đó tại cùng một thời điểm ít bị ảnh hưởng bởi thứ tự của các đối tượng dữliệu nhập vào Khi có một đối tượng được chèn vào chỉ tác động đến một lánggiềng xác định Mặt khác, DBSCAN yêu cầu người dùng xác định bán kínhEps của các láng giềng và số các láng giềng tối thiểu MinPts, thông thườngcác tham số này được xác định bằng phép chọn ngẫu nhiên hoặc theo kinhnghiệm.

Độ phức tạp của thuật toán DBSCAN là O ( n×thời gian tìm các đốitượng Eps ) Trong đó n là số đối tượng cần phân cụm Trong trường hợp xấunhất thì độ phức tạp sẽ là O ( n2).

2.5.2.2 Thuật toán OPTICS

Trang 28

Thuật toán OPTICS (Ordering Points To Identify the ClusteringStructure) do Ankerst, Breunig, Kriegel và Sander đề xuất năm 1999, là thuậttoán mở rộng cho thuật toán DBSCAN, bằng cách giảm bớt các tham số đầuvào Thuật toán thực hiện tính toán và sắp xếp các đối tượng theo thứ tự tăngdần nhằm tự động phân cụm và phân tích cụm tương tác hơn là đưa ra phâncụm một tập dữ liệu rõ ràng Thứ tự này diễn tả cấu trúc dữ liệu phân cụmdựa trên mật độ chứa thông tin tương đương với phân cụm dựa trên mật độvới một dãy các tham số đầu vào OPTICS xem xét bán kính tối thiểu nhằmxác định các láng giềng phù hợp với thuật toán.

Bằng cách khảo sát giải thuật phân cụm dựa trên mật độ, OPTICS có thể

dễ dàng thấy rằng đối với một giá trị hằng số MinPts, các cụm dựa trên mật

độ đối với mật độ cao hơn (tức là một giá trị ε thấp hơn) được chứa hoàn toàntrong các tập mật độ liên kết đối với một mật độ thấp hơn Bởi vậy, để đưa racác cụm dựa trên mật độ với một tập các tham số khoảng cách, giải thuật cầnlựa chọn các đối tượng để xử lý theo một trật tự cụ thể để đối tượng là mật độđối với giá trị ε thấp nhất được kết thúc trước tiên Dựa trên ý tưởng này, hai

giá trị cần được lưu trữ đối với mỗi đối tượng: khoảng cách nòng cốt distance) và khoảng cách tiến (reachability distance).

(core-Khoảng cách nòng cốt của một đối tượng p là khoảng cách nhỏ nhất ε'giữa p và một đối tượng trong ε - láng giềng của nó để p sẽ là một đối tượngnòng cốt đối với ε' nếu như láng giềng này được chứa trong ε - láng giềng củap Nếu không thì khoảng cách nòng cốt là không xác định Khoảng cách tiếncủa một đối tượng p đối với một đối tượng o khác là khoảng cách nhỏ nhất đểp là mật độ trực tiếp tiến từ o nếu o là một đối tượng nòng cốt Nếu o không

phải là một đối tượng nòng cốt, ngay cả tại khoảng cách phát sinh ε, khoảng

cách tiến của một đối tượng p đối với o là không xác định.

Trang 29

Giải thuật OPTICS tạo lập trật tự của một cơ sở dữ liệu, thêm vào đó làlưu trữ khoảng cách nòng cốt và một khoảng cách tiến phù hợp với mỗi đốitượng Thông tin như vậy là đủ cho sự rút trích của tất cả các phân cụm dựa

trên mật độ đối với bất kỳ một khoảng cách ε' nhỏ hơn khoảng cách phát sinh

ε từ trật tự này.

Thuật toán DBSCAN và OPTICS tương tự với nhau về cấu trúc và có

cùng độ phức tạp: O(nLogn) (n là kích thước của tập dữ liệu) Hình sau thể

hiện về một thí dụ trong PCDL của thuật toán OPTICS:

Hinh 2.3 Thứ tự phân cụ c c đối tượng theo OPTICS2.5.3 Phươ g h h cụm phân hoạch

Ý tưởng chính của kỹ thuật này là phân hoạch một tập hợp dữ liệu có nphần tử cho trước thành k nhóm dữ liệu sao mỗi phần tử dữ liệu chỉ thuộc về

một nhóm dữ liệu có tối thiểu ít nhất một phần tử dữ liệu Số các cụm đượcthiết lập là các đặc trưng được lựa chọn trước.

Phương pháp này là tốt cho việc tìm các cụm hình cầu trong không gianEuclidean Ngoài ra, phương pháp này cũng phụ thuộc vào khoảng cách cơbản giữa các điểm để lựa chọn các điểm dữ liệu nào có quan hệ là gần nhauvới mỗi điểm khác và các điểm dữ liệu nào không có quan hệ hoặc có quan hệlà xa nhau so với mỗi điểm khác.

2.5.3.1 Thuật toán K-means

Trang 30

Ý tưởng của thuật toán K-Means được đề xuất bởi MacQueen trong lĩnhvực thống kê năm 1967, là một trong những thuật toán học không giám sát

thông dụng nhất trong phân nhóm dữ liệu Với mục tiêu chia tập gồm n đốitượng của cơ sở dữ liệu thành k cụm ( k ≤ n, k là số nguyên, dương) sao cho

các đối tượng trong cùng một vùng có khoảng cách bé còn các đối tượng khácvùng thì có khoảng cách lớn hơn nhiều.

T h u ậ t t o á n : Đầu tiên, xác định K tâm cụm, trong đó K là một tham số màngười dùng đưa vào.

Với x = {x1, x2 , , xN} là tập dữ liệu đầu vào và C = {C1,C2 , ,CK } là tậpK tâm cụm.

Đầu vào: X = {x1, x2 , , xN} (Tập dữ liệu đầu vào)K (Số lượng tâm cụm)

MaxIters (Số vòng lặp tối đa)

Đầu ra: C = { c1,c2, ,cK } (Tập các cụm)

Thuật toán K-Means thực hiện qua các bước chính sau:

1 Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster) Mỗi cụmđược đại diện bằng các tâm của cụm.

2 Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng khoảng cách Euclidean)

3 Nhóm các đối tượng vào nhóm gần nhất4 Xác định lại tâm mới cho các nhóm

5 Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào củacác đối tượng

Thuật toán k-means được chứng minh là hội tụ và có độ phức tạp tínhtoán là: O((nk d)Tflop) 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, Tflop là thời gian để thực hiệnmộ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

Trang 31

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á racá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ầntử ngoại lai trong dữ liệu Hình sau diễn tả mô phỏng về một số hình dạngcụm dữ liệu khám phá được bởi k-means:

Hinh 2 4 Phân cụm dựa tr hươ g h p k-means

Tuy nhiên, phương pháp k-means chỉ áp dụng khi trung bình của mộtcụm được xác định Không phải ứng dụng nào cũng có thể áp dụng kỹ thuậtnày, ví dụ những dữ liệu bao hàm các thuộc tính xác thực Về phía các người

dùng, họ phải chỉ rõ k - số cụm, cần sớm phát hiện ra sự bất lợi Phương pháp

k-means không thích hợp với việc tìm các cụm có hình dáng không lồi haycác cụm có kích thước khác xa nhau Hơn nữa, nó nhạy cảm với các điểm dữliệu nhiễu, một số lượng nhỏ dữ liệu như vậy về căn bản có ảnh hưởng tới giátrị trung bình Trên thực tế người ta chưa có một giải pháp tối ưu nào để chọncác tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm vớicác giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất.

Trang 32

Đến nay, đã có rất nhiều thuật toán kế thừa tư tưởng của thuật toán means áp dụng trong khai phá dữ liệu để giải quyết tập dữ liệu có kích thướcrấ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, …

k-2.5.3.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ằmcó 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.

Ý tưởng của k-medodis thay vì lấy giá trị trung bình của các đối tượngtrong cụm như một điểm tham khảo, k-medoids lấy một đối tượng đại diệntrong cụm, gọi là medoid, nó là điểm đại diện được định vị trung tâm nhấttrong cụm Do vậy, phương pháp phân chia vẫn được thực hiện dựa trênnguyên tắc tối thiểu hoá tổng các độ không tương đồng giữa mỗi đối tượngvới điểm tham khảo tương ứng của nó, điểm này thiết lập nên cơ sở củaphương pháp k-mediods.

Giải thuật PAM, đây là giải thuật phân cụm kiểu k-mediods Để xác địnhcác medoid, PAM bắt đầu bằng cách lựa chọn k đối tượng medoid bất kỳ Saumỗ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ằmcải tiến chất lượng của phân cụm, quá trình này kết thúc khi chất lượng phâncụm không thay đổi Chất lượng phân cụm được đánh giá thông qua hàm tiêuchuẩ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.

PAM tính giá trị Cjmp cho tất cả các đối tượng Oj để làm căn cứ cho việchoán chuyển giữa Om và Op.

Om : là đối tượng medoid hiện thời cần được thay thế; Op : là đối tượng medoid mới thay thế cho Om;

Trang 33

Oj : Là đối tượng dữ liệu (Không phải medoid) có thể được di chuyển sang cụm khác;

Oj,2 : Là đối tượng medoid hiện thời gần đối tượng Oj nhất;Các bước thực hiện thuật toán PAM

Đầu vào : Số cụm k và một cơ sở dữ liệu chứa n đối tượng

Đầu ra : Một tập k cụm đã tối thiểu hoá tổng các độ đo không tương

đồng của tất cả các đối tượng tới medoid gần nhất của chúng.

Bắt đầu

1 Chọn tuỳ ý k đối tượng giữ vai trò là các medoid ban đầu;2 Repeat

3 Ấn định mỗi đối tượng vào cụm có medoid gần nó nhất;

4 Tính hàm mục tiêu (tổng các độ đo tương đồng của tất cả các đốitượng tới medoid gần nhất cùa chúng);

5 Đổi medoid x bằng một đối tượng y nếu như việc thay đổi này làmgiảm hàm mục tiêu;

6 Until : không có sự thay đổi nào

Kết thúc

Khi có sự hiện diện của nhiễu và các outlier, phương pháp k-medoidsmạnh hơn k-means bởi so với giá trị trung bình (mean), medoid ít bị ảnh

hưởng hơn bởi các outlier hay các giá trị ở rất xa khác nữa Tuy nhiên, chi phí

xử lý của nó tốn kém hơn phương pháp k-means và nó cũng cần người dùngchỉ ra k - số cụm.

2.6 Kết lu n

Chương này trình bày một số phương pháp phân cụm dữ liệu phổ biếnnhư phân cụm dựa trên mật độ, phân cụm phân hoạch, phân cụm dựa vào cụmphân cấp Qua đó ta có thể thấy được khả năng phân cụm của từng phươngpháp, các ưu nhược điểm của từng phương pháp đối với từng loại dữ liệu, khảnăng áp dụng vào các bài toán thực tiễn.

Trang 34

3.2 Các vấ đề quan tâm của phân l p dữ li u

3.2.1 Quá trình phân lớp dữ liệu:

Các bước tiền xử lý dữ liệu sau đây giúp cải thiện độ chính xác, hiệu suấtvà khả năng mở rộng của phân lớp.

- Làm sạch dữ liệu: Đây là quá trình thuộc về tiền xử lý dữ liệu để gỡ bỏ

hoặc làm giảm nhiễu và cách xử lý các giá trị khuyết Các bước này giúp làmgiảm sự mập mờ khi học:

 Bỏ qua các bộ: Điều này thường được thực hiện khi thông tin nhãndữ liệu bị mất Phương pháp này không phải lúc nào cũng hiệu quả trừ khi các bộ có chứa một số thuộc tính không thực sự quan trọng.

 Điền vào các giá trị thiếu bằng tay: Phương pháp này thường tốnthời gian và có thể không khả thi cho một tập dữ liệu nguồn lớn với nhiềugiá trị bị thiếu.

 Sử dụng các giá trị quy ước để điền vào cho giá trị thiếu: Thay thếcác giá trị thuộc tính thiếu bởi cùng một hằng số quy ước, chẳng hạn nhưmột nhãn ghi giá trị “Không biết” hoặc “∞” Tuy vậy điều này cũng có thể

Trang 35

khiến cho chương trình khai phá dữ liệu hiểu nhầm trong một số trường hợpvà đưa ra các kết luận không hợp lý.

 Sử dụng các thuộc tính có nghĩa để điền vào cho giá trị thiếu.

- Phân tích sự thích hợp: Nhiều thuộc tính trong dữ liệu có thể không

thích hợp hay không cần thiết để phân lớp Vì vậy, chúng ta phải biết chọn ranhững đặt trưng tốt (good feature) của dữ liệu, lược bỏ những đặc trưngkhông tốt của dữ liệu, gây nhiễu (noise) Uớc lượng số chiều của dữ liệu baonhiêu là tốt hay nói cách khác là chọn bao nhiêu thuộc tính Nếu số chiều quálớn gây khó khăn cho việc tính toán thì phải giảm số chiều của dữ liệu nhưngvẫn giữ được độ chính xác của dữ liệu Trong học máy, bước này gọi là tríchchọn đặc trưng Phép phân tích này giúp phân loại hiệu quả và nâng cao khảnăng mở rộng.

- Biến đổi dữ liệu: Dữ liệu có thể được tổng quát hoá tới các mức khái

niệm cao hơn Điều này rất hữu ích cho các thuộc tính có giá trị liên tục Ví

dụ, các giá trị số của thuộc tính thu nhập được tổng quát hoá sang các phạmvi rời rạc như thấp, trung bình và cao Tương tự, các thuộc tính giá trị tên nhưđường phố được tổng quát hoá tới khái niệm mức cao hơn như thành phố.

Nhờ đó các thao tác vào/ra trong quá trình học sẽ ít đi.

Dữ liệu cũng có thể được tiêu chuẩn hoá, đặc biệt khi các mạng nơronhay các phương pháp dùng phép đo khoảng cách trong bước học Tiêu chuẩnhoá biến đổi theo tỷ lệ tất cả các giá trị của một thuộc tính cho trước để chúngrơi vào phạm vi chỉ định nhỏ như [-1.0,1.0] hay [0,1.0] Chuẩn hóa là mộtphần hữu ích của thuật toán phân lớp trong mạng noron, hoặc thuật toán tínhtoán độ lệch sử dụng trong việc phân lớp hay nhóm cụm các phần tử liền kề.Một số phương pháp chuẩn hóa min-max, z-score, và thay đổi số chữ số phầnthập phân Tuy nhiên điều này sẽ cản trở các thuộc tính có phạm vi ban đầu

Trang 36

lớn (như thu nhập) có nhiều ảnh hưởng hơn đối với các thuộc tính có phạm vi

nhỏ hơn ban đầu (như các thuộc tính nhị phân).

3.2.2 So sánh các phương pháp phân lớp

Các phương pháp phân lớp có thể được so sánh và đánh giá theo các tiêuchí sau:

- Độ chính xác dự đoán: Dựa trên khả năng mô hình dự đoán đúng nhãn

lớp của dữ liệu mới.

- Tốc độ: Dựa trên các chi phí tính toán Chi phí này bao gồm sinh và sử

dụng mô hình.

- Khả năng mở rộng: Dựa trên khả năng trình diễn hiệu quả của mô hình

đối với dữ liệu lớn.

- Khả năng diễn dịch: Dựa trên mức khả năng mà mô hình cung cấp để

hiểu thấu đáo dữ liệu.

3.3 Phân l p bằng cây quyết định

3.3.1 Khái niệm về cây quyết định

Cây quyết định (decision tree) là một phương pháp rất mạnh và phổ biến

cho cả hai nhiệm vụ của khai phá dữ liệu là phân lớp và dự báo Mặt khác,cây quyết định còn có thể chuyển sang dạng biểu diễn tương đương dưới dạngtri thức là các luật If-Then.

Cây quyết định là cấu trúc biễu diễn dưới dạng cây Trong đó, mỗi núttrong (internal node) biễu diễn một thuộc tính, nhánh (branch) biễu diễn giátrị có thể có của thuộc tính, mỗi lá (leaf node) biểu diễn các lớp quyết định vàđỉnh trên cùng của cây gọi là gốc (root) Cây quyết định có thể được dùng để

phân lớp bằng cách xuất phát từ gốc của cây và di chuyển theo các nhánh chođến khi gặp nút lá Trên cơ sở phân lớp này chúng ta có thể chuyển đổi về cácluật quyết định.

Trang 37

Cây quyết định được sử dụng để xây dựng một k ế h o ạ c h n hằm đạt đượcm

quyết định Cây quyết định là một dạng đặc biệt của c ấ u t r ú c c â y

Tạo cây quyết định chính là quá trình phân tích cơ sở dữ liệu, phân lớpvà đưa ra dự đoán Cây quyết định được tạo thành bằng cách lần lượt chia (đệquy) một tập dữ liệu thành các tập dữ liệu con, mỗi tập con được tạo thànhchủ yếu từ các phần tử của cùng một lớp Lựa chọn thuộc tính để tạo nhánhthông qua Entropy và Gain.

Hầu hết các thuật toán sinh cây quyết định đều dựa trên tiếp cận down trình bày sau đây, trong đó nó bắt đầu từ một tập các bộ huấn luyện vàcác nhãn phân lớp của chúng Tập huấn luyện được chia nhỏ một các đệ quythành các tập con trong quá trình cây được xây dựng.

top-Generate_decision_tree: Thuật toán sinh cây quyết định từ các bộ dữ

liệu huấn luyện của nguồn dữ liệu D.

Đầu vào:

- Nguồn dữ liệu D, trong đó có chứa các bộ dữ liệu huấn luyện và cácnhãn phân lớp.

- Attribute_list là danh sách các thuộc tính.

- Attribute_selection_method, một thủ tục để xác định tiêu chí phân chiacác bộ dữ liệu một các tốt nhất thành các lớp Tiêu chí này bao gồm mộtthuộc tính phân chia splitting_attribute, điểm chia split_point và tập phân chiasplitting_subset.

Đầu ra: Một cây quyết địnhN i dung thu t toán:

1 Tạo nút N

2 If các bộ trong D đều có nhãn lớp C then

3 Trả về N thành một nút lá với nhãn lớp C

Trang 38

4 If danh sách thuộc tính attribute_list là rỗng then

5 Trả về N thành một nút là với nhãn là lớp chiếm đa số trong D

(Việc này thực hiện qua gọi hàm Attribute_selection_method(D,

attribute_list) để tìm ra tiêu chí phân chia tốt nhất splitting_criterionvà gán nhãn cho N tiêu chí đó)

6 If splitting_attribute là một giá trị rời rạc và có nhiều cáchchia then

7 Attribute_list = attribute_list – splitting_attribute // Loại bỏthuộc tính splitting_attribute

8 Foreach j insplitting_criterion

// Phân chia các bộ xây dựng cây cho các phân chia đó9 Đặt Dj là tập các bộ trong D phù hợp với tiêu chí j

10 If Dj là rỗng then

11 Gắn nhãn cho nút N với nhãn phổ biến trong D

12 Else Gắn nút được trả về bởi hàm

Generate_decision_tree(Dj, attribute_list) cho nút N

13 EndforReturn N

Học bằng cây quyết định cũng là một phương pháp thông dụng trong

lá đại diện cho các phân lớp còn cành đại diện cho các kết hợp của các thuộctính dẫn tới phân lớp đó Một cây quyết định có thể được học bằng cách chia

trình này được lặp lại một cách đệ qui cho mỗi tập con dẫn xuất Quá trình đ ệ q u i h oàn thành khi không thể tiếp tục thực hiện việc chia tách được nữa, haykhi một phân lớp đơn có thể áp dụng cho từng phần tử của tập con dẫn xuất.

Ngày đăng: 03/10/2019, 19:55

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Lê Văn Phùng, Quách Xuân Trưởng (2012), Khai phá dữ liệu, NXB Thông tin và truyền thông.Tiếng Anh Sách, tạp chí
Tiêu đề: Khai phá dữliệu
Tác giả: Lê Văn Phùng, Quách Xuân Trưởng
Nhà XB: NXB Thông tin và truyền thông.Tiếng Anh
Năm: 2012
[2]. Anil K. Jain, Richard C. Dubes (1988), “Algorithms for clustering data”, Published by Prentice Hall, Lebanon, Indiana, U.S.A Sách, tạp chí
Tiêu đề: Algorithms forclustering data”
Tác giả: Anil K. Jain, Richard C. Dubes
Năm: 1988
[3]. L e on a rd K a u f m a n , Pe t er J . R o u s s e e u w (1990), “Finding Groups in Data An Introduction to Cluster Analysis”, Publisher by Wiley-Interscience Sách, tạp chí
Tiêu đề: “FindingGroups in Data An Introduction to Cluster Analysis”
Tác giả: L e on a rd K a u f m a n , Pe t er J . R o u s s e e u w
Năm: 1990
[4]. J.Ross Quinlan (1993), “Programs for machine learning”, Morgan Kaufmann Publishers Inc. San Francisco, CA, USA Sách, tạp chí
Tiêu đề: Programs for machine learning
Tác giả: J.Ross Quinlan
Năm: 1993
[5]. Rakesh Agrawal (1993),“Mining Association Rules Between Sets of Items in Large Databases”, Publishers IBM Almaden Research Center 650 Harry Road, San Jose Sách, tạp chí
Tiêu đề: “Mining Association Rules BetweenSets of Items in Large Databases”
Tác giả: Rakesh Agrawal
Năm: 1993

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w