Cú rất nhiều kỹ thuật tiếp cận và ứng dụng trong thực tế của PCDL. Nhỡn chung, cỏc kỹ thuật phõn cụm đều hướng tới hai mục tiờu là chất lượng của cỏc cụm khỏm phỏđược và tốc độ thực hiện của thuật toỏn. Tuy nhiờn, cỏc kỹ thuật phõn cụm cú thểđược phõn thành một số loại cơ bản dựa trờn cỏc phương phỏp tiếp cận như [5][10][11]: w Phương phỏp phõn cụm phõn hoạch w Phương phỏp phõn cụm phõn cấp w Phương phỏp phõn cụm dựa trờn mật độ w Phương phỏp phõn cụm dựa trờn lưới w Phương phỏp phõn cụm cú dữ liệu ràng buộc 2.3.1. Phương phỏp phõn cụm phõn hoạch Kỹ thuật này phõn hoạch một tập hợp dữ liệu cú n phần tử thành k nhúm cho đến khi xỏc định được số cụm được thiết lập. Số cỏc cụm được thiết lập là cỏc đặc trưng được lựa chọn trước, phương phỏp này tốt cho cỏc cụm hỡnh cầu trong khụng gian Euclidean. Ngoài ra, phương phỏp này cũn 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 nhau, xa nhau so với mỗi điểm khỏc. Phương phỏp này khụng xử lý được cỏc điểm cú hỡnh thự kỳ quặc hay mật độ dày đặc. Do phải tỡm kiếm hết cỏc phõn hoạch cú thể được nờn cỏc thuật toỏn phõn hoạch dữ liệu cú độ phức tạp rất lớn khi xỏc định nghiệm toàn cục. Do vậy, trờn thực tế thường đi tỡm giải phỏp tối ưu cục bộ cho vấn đề này bằng cỏch sử dụng
một hàm tiờu chuẩn để đỏnh giỏ chất lượng của cụm cũng như để hướng dẫn cho quỏ trỡnh tỡm kiếm phõn hoạch dữ liệu.
Với chiến lược này, thụng thường khởi tạo một phõn hoạch ban đầu cho tập dữ liệu theo phộp ngẫu nhiờn hoặc heuristic và liờn tục tinh chỉnh cho đến khi thu được một phõn hoạch mong muốn thoả món cỏc ràng buộc cho trước. Cỏc thuật toỏn phõn cụm phõn hoạch cố gắng cải tiến tiờu chuẩn phõn cụm bằng cỏch tớnh cỏc giỏ trị độ đo tương tự giữa cỏc đối tượng dữ liệu và sắp xếp cỏc giỏ trị này. Sau đú, thuật toỏn lựa chọn một giỏ trị trong dóy sắp xếp sao cho hàm tiờu chuẩn đạt giỏ trị tối thiểu. í tưởng của thuật toỏn phõn hoạch tối ưu cục bộ là sử dụng chiến lược tham ăn (Greedy Method) để tỡm kiếm nghiệm.
2.3.2. Phương phỏp phõn cụm phõn cấp
Phương phỏp này xõy dựng một phõn cấp dựa trờn cơ sở cỏc đối tượng dữ liệu đang xem xột. Đú là việc sắp xếp một tập dữ liệu đó cho thành một cấu trỳc hỡnh cõy, cõy phõn cấp này được xõy dựng theo kỹ thuật đệ quy. Cú hai cỏch tiếp cận phổ biến của kỹ thuật này là hoà nhập nhúm (thường gọi là tiếp cận bottom-up) và phõn chia nhúm (thường gọi là tiếp cận top-down).
ỉ Kỹ thuật tiếp cận bottom-up: Bắt đầu xuất phỏt với mỗi đối tượng dữ liệu được khởi tạo tương ứng với cỏc cụm riờng biệt và sau đú tiến hành hoà nhập nhúm cỏc đối tượng theo cựng một độ đo tương tự (như khoảng cỏch giữa hai trung tõm của nhúm), quỏ trỡnh này được thực hiện cho đến khi tất cả cỏc nhúm được hoà 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. 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.
ỉ Kỹ thuật tiếp cận top-down: Bắt đầu với tất cả cỏc đối tượng dữ liệu được sắp xếp trong cựng một cụm và kỹ thuật này tiến hành chia nhỏ cỏc cụm. Mỗi vũng lặp thành cụng, một cụm được tỏch ra 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 dữ liệu là một cụm riờng biệt 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ị.
Hỡnh 2.4. Cỏc chiến lược phõn cụm phõn cấp
Trong thực tế, cú rất nhiều trường hợp ỏp dụng cả hai phương phỏp phõn cụm phõn hoạch và 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 cải tiến thụng qua 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 phõn cụm dữ liệu cổ điển, hiện nay đó cú rất nhiều thuật toỏn cải tiến dựa trờn hai phương phỏp được ỏp dụng rộng rói trong lĩnh vực khai phỏ dữ liệu.
2.3.3. Phương phỏp phõn cụm dựa trờn mật độ
Kỹ thuật 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ố đố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 dữ liệu đó được xỏc định thỡ nú tiếp tụ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 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 trờn mật độ của cỏc đối tượng để xỏc định cỏc cụm dữ liệu cú thể được phỏt hiện ra cỏc cụm dữ liệu với cỏc hỡnh thự bất kỳ. Kỹ thuật này cú
thể khắc phục được cỏc phần tử ngoại lai hoặc cỏc giỏ trị nhiễu tốt. Tuy nhiờn, việc xỏc định 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 ảnh hưởng rất lớn đến kết quả phõn cụm [12].
2.3.4. Phương phỏp phõn cụm dựa trờn lưới
Kỹ thuật phõn cụm dựa trờn lưới thớch hợp với dữ liệu nhiều chiều, dựa trờn cấu trỳc dữ liệu lưới để phõn cụm, phương phỏp này chủ yếu tập trung ỏp dụng cho lớp dữ liệu khụng gian. Mục tiờu của phương phỏp này là lượng hoỏ dữ liệu thành cỏc ụ tạo thành lưới. Sau đú, cỏc thao tỏc phõn cụm dữ liệu chỉ cần làm việc với từng ụ trờn lưới chứ khụng phải cỏc đối tượng dữ liệu. Cỏch tiếp cận dựa trờn lưới này khụng di chuyển cỏc đối tượng trong cỏc ụ mà xõy dựng nhiều mức phõn cấp của nhúm cỏc đối tượng trong một ụ. Phương phỏp này gần giống phương phỏp phõn cụm phõn cấp nhưng chỳng khụng trộn cỏc ụ, đồng thời khắc phục được yờu cầu đối với dữ liệu nhiều chiều mà phương phỏp phõn cụm dựa trờn mật độ khụng giải quyết được. Ưu điểm của phương phỏp dựa trờn lưới là thời gian xử lý nhanh và độc lập với số lượng dữ liệu trong tập dữ liệu ban đầu, chỳng phụ thuộc vào số cỏc ụ trong mỗi chiều của khụng gian lưới.
2.3.5. Phương phỏp phõn cụm dựa trờn mụ hỡnh
Phương phỏp này cố gắng khỏm phỏ cỏc xấp xỉ tốt của cỏc tham số mụ hỡnh sao cho khớp với dữ liệu một cỏch tốt nhất. Chỳng cú thể sử dụng chiến lược phõn cụm phõn hoạch hoặc phõn cụm phõn cấp, dựa trờn cấu trỳc hoặc mụ hỡnh mà chỳng giả định về tập dữ liệu và cỏch chỳng hiệu chỉnh cỏc mụ hỡnh này để nhận ra cỏc phõn hoạch. Phương phỏp phõn cụm dựa trờn mụ hỡnh cố gắng khớp giữa cỏc dữ liệu với mụ hỡnh toỏn học, nú dựa trờn giả định rằng dữ liệu được tạo ra bằng hỗn hợp phõn phối xỏc suất cơ bản. Cỏc thuật toỏn phõn cụm dựa trờn mụ hỡnh cú hai cỏch tiếp cận chớnh là mụ hỡnh thống kờ và mạng nơron. Phương phỏp này gần giống với phương phỏp phõn cụm dựa trờn mật đụ, vỡ chỳng phỏt triển cỏc cụm riờng biệt nhằm cải tiến cỏc mụ hỡnh đó được xỏc định trước đú, nhưng đụi khi nú khụng bắt đầu với một số cụm cốđịnh và khụng sử dụng cựng một khỏi niệm mật độ cho cỏc cụm.
2.3.6. Phương phỏp phõn cụm cú dữ liệu ràng buộc
Sự phỏt triển của PCDL khụng gian trờn CSDL lớn đó cung cấp nhiều cụng cụ tiện lợi cho việc phõn tớch thụng tin địa lý, tuy nhiờn hầu hết cỏc thuật toỏn này cung cấp rất ớt cỏch thức cho người dựng để xỏc định cỏc ràng buộc trong thế giới thực cần phải thoả món trong quỏ trỡnh phõn cụm. Để PCDL khụng gian hiệu quả hơn, cỏc nghiờn cứu bổ sung cần được thực hiện để cung cấp cho người dựng khả năng kết hợp cỏc ràng buộc trong thuật toỏn phõn cụm.
ỉ Cú một số cỏch phõn chia cụm phổ biến như sau:
- Phõn chia phẳng theo ranh giới - Phõn chia hỡnh cầu
- Phõn chia xỏc suất - Phõn chia hỡnh cõy
Hỡnh 2.6. Một số cỏch phõn chia cụm
Hiện nay, cỏc phương phỏp phõn cụm trờn đó và đang được phỏt triển, ỏp dụng nhiều trong cỏc lĩnh vực khỏc nhau và đó cú một số nhỏnh nghiờn cứu được phỏt triển trờn cơ sở cỏc phương phỏp đú như:
ỹ Phõn cụm thống kờ: Dựa trờn cỏc khỏi niệm phõn tớch hệ thống, nhỏnh nghiờn cứu này sử dụng cỏc độ đo tương tự để phõn hoạch cỏc đối tượng nhưng chỳng chỉ ỏp dụng cho cỏc dữ liệu cú thuộc tớnh số.
ỹ Phõn cụm khỏi niệm: Cỏc kỹ thuật phõn cụm được phỏt triển ỏp dụng cho dữ liệu hạng mục, chỳng phõn cụm cỏc đối tượng theo cỏc khỏi niệm mà chỳng xử lý.
ỹ Phõn cụm mờ: Sử dụng kỹ thuật mờ để PCDL, trong đú một đối tượng dữ liệu cú thể thuộc vào nhiều cụm dữ liệu khỏc nhau. Cỏc thuật toỏn thuộc loại này chỉ ra lược đồ phõn cụm thớch hợp với tất cả cỏc hoạt động đời sống hàng ngày, chỳng xử lý cỏc dữ liệu khụng chắc chắn. Thuật toỏn mờ quan trọng nhất là FCM (Fuzzy c-means).
ỹ Phõn cụm Kohonen: Loại phõn cụm này dựa trờn khỏi niệm của cỏc mạng nơron. Mạng Kohonen cú cỏc tầng nơron vào và cỏc tầng nơron ra. Mỗi
nơron của tầng vào tương ứng với mỗi thuộc tớnh của bản ghi, mỗi một nơron vào kết nối với tất cả cỏc nơron của tầng ra. Mỗi liờn kết được gắn liền với một trọng số nhằm xỏc định vị trớ của nơron tầng ra tương ứng [7][13].
Túm lại, cỏc kỹ thuật PCDL trỡnh bày ở trờn đó được sử dụng rộng rói trong thực tế, thế nhưng hầu hết chỳng chỉ ỏp dụng cho tập dữ liệu với cựng một kiểu thuộc tớnh. Vỡ vậy, việc phõn cụm dữ liệu cú kiểu hỗn hợp là một vấn đềđặt ra trong KPDL giai đoạn hiện nay.
CHƯƠNG 3. CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU
3.1. GIỚI THIỆU
Cú khỏ nhiều thuật toỏn phõn cụm tốt đó được biết đến. Nhưng sự khỏc nhau giữa cỏc thuật toỏn này chớnh là việc phõn nhúm cựng một tập hợp dữ liệu bằng nhiều phương phỏp khỏc nhau thỡ cho kết quả hoặc là giống nhau hoặc là khỏc nhau. Việc lựa chọn một phương phỏp phự hợp cho từng trường hợp cụ thể phụ thuộc vào nhiều thành phần như: miền tri thức, cỏch thực hiện phương phỏp, khả năng của phần cứng và phần mềm cũng như là kớch cỡ của tập dữ liệu.
Do PCDL đang là một vấn đề thời sự trong lĩnh vực CNTT thế giới nờn cú rất nhiều nhà khoa học và tổ chức tập trung nghiờn cứu cỏc kỹ thuật phõn cụm. Dựa trờn những phương phỏp truyền thống đó được biết đến, nhiều phương phỏp mới ra đời phự hợp với mục đớch sử dụng và nõng cao hiệu quả phõn cụm. Do đú, người ta phõn ra hai nhúm kỹ thuật tiếp cận phõn cụm chớnh là cỏc phương phỏp phõn cụm cổ điển và cỏc phương phỏp phõn cụm hiện đại [13][15].
Hỡnh 3.1. Tổng quan về cỏc phương phỏp phõn cụm
Cỏch phõn chia cỏc phương phỏp tiếp cận PCDL như trờn là phổ biến nhất. Ngoài ra, cũn một số cỏch phõn chia khỏc cũng hay được đề cập tới.
Một trong những cỏch phõn chia đú là dựa trờn sự ràng buộc và khụng ràng buộc dữ liệu của nhúm tỏc giả (Dr. Osmar R. Zaiane and Chi-hoon Lee)
thuộc (Database Laboratory, Department of Computing Science, University of Alberta) cũng được sử dụng rất phổ biến hiện nay, cụ thể như sau [7][15]:
Hỡnh 3.2. Cỏc thuật toỏn phõn cụm dữ liệu khụng ràng buộc
Hỡnh 3.3. Cỏc thuật toỏn phõn cụm dữ liệu cú ràng buộc
Nhỡn chung, cỏc thuật toỏn phõn cụm dữ liệu được chia theo cỏc kỹ thuật tiếp cận tương ứng. Hiện nay, cỏc thuật toỏn phõn cụm được phõn chia thành một số nhúm chớnh như sau:
o Cỏc thuật toỏn phõn cụm phõn hoạch (Partitioning Methods): K- means, Pam, Clara, Clarans,…
o Cỏc thuật toỏn phõn cụm phõn cấp (Herarchical Methods): Birch, Cure, Agnes, Diana, Rock, Chameleon,…
o Cỏc thuật toỏn phõn cụm dựa trờn mật độ (Density-based Methods):
Dbscan, Optics, Denclue,…
o Cỏc thuật toỏn phõn cụm dựa trờn lưới (Grid-based Methods): Sting, Clique, WaveCluster,…
o Cỏc thuật toỏn phõn cụm dựa trờn mụ hỡnh (Model-based Methods): Em, Cobweb,…
3.2. CÁC THUẬT TOÁN PHÂN CỤM PHÂN HOẠCH
Là cỏch thức phõn chia một tập CSDL D gồm n đối tượng vào trong một tập gồm cú k cụm.
ỉ Những đặc điểm chớnh của phương phỏp:
Đưa ra một tham số k, tỡm cỏch phõn chia tập dữ liệu thành k cụm dựa theo việc lựa chọn tiờu chuẩn phõn chia.
3.2.1. Thuật toỏn K-MEANS
K-means là một trong những thuật toỏn học khụng giỏm sỏt đơn giản nhất để giải quyết vấn đề phõn cụm dữ liệu. K-means được cụng bố lần đầu tiờn bởi J.B. MacQueen vào năm 1967, cho đến nay đó cú nhiều dạng biến đổi khỏc nhau của thuật toỏn này. Trong thuật toỏn K-means, cỏc cụm được định nghĩa dựa trờn trung tõm của cỏc phần tử. Phương phỏp này dựa trờn độ đo khoảng cỏch của cỏc đối tượng dữ liệu trong cụm. Trong thực tế, nú đo khoảng cỏch của mỗi đối tượng dữ liệu tới trung tõm của cụm. Trung tõm của cụm được xem là giỏ trị trung bỡnh của cỏc đối tượng. Như vậy, nú cần khởi tạo một tập trung tõm cỏc cụm ban đầu, thụng qua đú lặp lại cỏc bước như gỏn
mỗi đối tượng vào cụm mà cú trung tõm gần nú nhất, tớnh toỏn lại trung tõm của mỗi cụm trờn cơ sở cú thờm cỏc đối tượng vừa gỏn mới. Quỏ trỡnh này dừng khi trung tõm hội tụ. Hỡnh 3.4 minh họa sự khởi tạo ranh giới cho cỏc cụm ban đầu trong khụng gian hai chiều [7].
Hỡnh 3.4. Xỏc định ranh giới của cỏc cụm khởi tạo
Trong phương phỏp k-means, chọn một giỏ trị k và sau đú chọn ngẫu nhiờn k trung tõm của cỏc đối tượng dữ liệu. Tớnh toỏn khoảng cỏch giữa đối tượng dữ liệu và trung bỡnh mỗi cụm để tỡm kiếm phần tử nào là tương tự và thờm vào cụm đú. Từ khoảng cỏch này cú thể tớnh toỏn trung bỡnh mới của cỏc cụm và lặp lại quỏ trỡnh đú cho đến khi mỗi một đối tượng dữ liệu là một bộ phận của một cụm k.
Mục đớch của thuật toỏn k-means là sinh k cụm dữ liệu {C1,C2,…,Ck} từ một tập dữ liệu chứa n đối tượng trong khụng gian d chiều Xi=(xi1,xi2,…,xid), i=1ữn, sao cho hàm tiờu chuẩn: E= ( )
1 2 i k i x Ci m x D − ∑∑ = ∈ đạt giỏ trị tối thiểu.
Trong đú, mi là trọng tõm của cụm Ci, D là khoảng cỏch giữa hai đối tượng.
Hỡnh 3.5. Tớnh toỏn trọng tõm của cỏc cụm mới
Trọng tõm của một cụm là một vectơ, trong đú giỏ trị của mỗi phần tử của nú là trung bỡnh cộng của cỏc thành phần tương ứng của cỏc đối tượng 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, 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 của cỏc đối tượng dữ liệu thường dựng là khoảng cỏch Eclidean. Hàm tiờu chuẩn và độ đo khoảng cỏch cú thể được xỏc định cụ thể hơn tựy thuộc vào từng ứng dụng.
ỉ Thuật toỏn k-means bao gồm cỏc bước cơ bản sau:
Input: Số cụm k và cỏc trọng tõm cụm {mj}, j=1ữk.
Output: Cỏc cụm C[i] (i=1ữk) và hàm tiờu chuẩn E đạt giỏ trị tối thiểu.
Begin
Bước 1: Khởi tạo
Chọn k trọng tõm {mj} (j=1ữk) ban đầu trong khụng gian Rd (d là số chiều của dữ liệu). Việc lựa chọn cú thể ngẫu nhiờn hoặc theo kinh nghiệm.
Bước 2: Tớnh toỏn khoảng cỏch
Đối với mỗi điểm Xi (i=1ữk), tớnh toỏn khoảng cỏch của nú tới mỗi trọng tõm mj (j=1ữk), sau đú tỡm trọng tõm gần nhất đối với mỗi điểm.
Bước 3: Cập nhập lại trọng tõm
Đối với mỗi (j=1ữk), cập nhập lại trọng tõm cụm mj bằng cỏch xỏc định trung bỡnh cộng của vectơ đối tượng dữ liệu.
Bước 4: Điều kiện dừng
Lặp lại cỏc bước 2 và 3 cho đến khi cỏc trọng tõm của cụm khụng thay