2.4. Phƣơng pháp phân cụm dựa trên lƣới
Ƣu điểm chính của phƣơng pháp tiếp cận phân cụm dựa trên lƣới là thời gian xử lý nhanh chóng, mà thƣờng là độc lập với số lƣợng đối tƣợng dữ liệu, nhƣng phụ thuộc vào chỉ số của các tế bào trong mỗi chiều trong không gian lƣợng tử hóa. Một số ví dụ điển hình của phƣơng pháp tiếp cận dựa trên lƣới điện bao gồm Sting, khám phá các thông tin thống kê đƣợc lƣu trữ trong các tế bào lƣới; WaveCluster, cụm đối tƣợng bằng cách sử dụng một phƣơng pháp biến đổi wavelet và Clique, đại diện cho một mạng lƣới [10].
Hình 2.5 Ví dụ về xác định các cụm trung tâm (hàng đầu) và các cụm có hình dạng tùy ý (hàng dưới cùng).
Thuật toán WaveCluster: Clustering Using Wavelet Transformation
WaveCluster là một thuật toán phân cụm đa mức đầu tiên tóm tắt các dữ liệu bằng cách áp dụng một cấu trúc lƣới đa chiều vào dữ liệu không gian. Sau đó sử dụng một wavelet chuyển đổi để chuyển đổi không gian đặc trƣng ban đầu, việc tìm kiếm các khu vực dày đặc trong không gian chuyển đổi.
Trong phƣơng pháp này, mỗi ô lƣới tóm tắt các thông tin của một nhóm các điểm bản đồ thành ô. Thông tin tóm tắt này thƣờng phù hợp với bộ nhớ chính để sử dụng wavelet đa mức biến đổi và phân tích cụm tiếp theo.
Khi áp dụng một biến đổi wavelet, dữ liệu đƣợc chuyển đổi để duy trì khoảng cách tƣơng đối giữa các đối tƣợng ở các cấp độ khác nhau của độ phân giải. Điều này cho phép các cụm tự nhiên trong dữ liệu để trở thành phân biệt hơn. Cụm sau đó có thể đƣợc xác định bằng cách tìm kiếm cho các khu vực dày đặc tên miền mới.
Thuật toán này có những ƣu điểm nhƣ:
* Phân cụm theo phƣơng pháp không có giám sát và nó dễ dàng loại bỏ các phần tử ngoại lai.
Hình 2.6 Ví dụ về đặc trưng của không gian 2 chiều. Từ [SCZ98].
Hình 2.7 Multiresolution of the feature space at (a) scale 1 (high resolution); (b) scale 2 (medium resolution); and (c) scale 3 (low resolution). From [SCZ98] scale 2 (medium resolution); and (c) scale 3 (low resolution). From [SCZ98]
* Phân cụm dựa trên Wavelet là rất nhanh, với một phức tạp tính toán O(n), n là số của các đối tƣợng trong cơ sở dữ liệu. Việc thực hiện thuật toán có thể đƣợc thực hiện song song. WaveCluster là một thuật toán dựa trên lƣới và dựa trên mật độ. Nó phù hợp với nhiều yêu cầu của một thuật toán phân nhóm tốt: Nó xử lý dữ liệu lớn thiết lập hiệu quả, phát hiện ra các cụm với hình dạng bất kỳ, thành công xử lý bên ngoài, không nhạy cảm với thứ tự của đầu vào, và không yêu cầu các đặc điểm kỹ thuật của các thông số đầu vào nhƣ số cụm hoặc bán kính một khu phố. Trong nghiên cứu thực nghiệm, WaveCluster thấy tốt hơn BIRCH, CLARANS, và DBSCAN về cả hiệu quả và phân nhóm chất lƣợng. Nghiên cứu cũng phát hiện WaveCluster có khả năng xử lý dữ liệu lên đến số chiều là 20.
CHƢƠNG 3: PHÂN CỤM DỮ LIỆU VỚI THUỘC TÍNH ĐỊNH DANH
Nhƣ chúng ta đã biết thuật toán k-means ra đời từ rất sớm ban đầu để phân cụm dữ liệu thực. Tuy nhiên với sự bùng nổ thông tin nhanh chóng nhƣ hiện nay, hơn nữa dữ liệu trong thực tế rất phong phú, đa dạng: âm thanh, hình ảnh, số... dẫn đến việc khám phá tri thức trong các cơ sở dữ liệu thƣờng phải xử lý khối lƣợng dữ liệu rất lớn, nhiều khi ngay cả các thuật toán với độ phức tạp tính toán là đa thức cũng không dùng đƣợc. Việc phân và xử lý dữ liệu theo các cụm là một giải pháp hữu hiệu, vì vậy bài toán phân cụm hiện nay đƣợc nhiều ngƣời quan tâm trở lại.
Một thực tế là số chiều của dữ liệu thƣờng rất lớn (có thể lên tới vài chục thuộc tính). Nhƣ vậy việc biểu diễn số chiều này trong không gian đa chiều không có ý nghĩa và rất phức tạp. Đối với dữ liệu thực có phƣơng pháp giảm chiều bằng phƣơng pháp phân tích thành phần chính (PCA – Principal Component Analysis) [1]. Việc chọn đặc trƣng rất quan trọng đối với bài toán nhận dạng mẫu và càng ít đặc trƣng càng tốt. Nói chung ta không chọn đồng thời các đặc trƣng có độ tƣơng quan cao. Một cách thƣờng dùng để giảm đặc trƣng là phân tích thành phần chính, ý tƣởng của nó là biến đổi trực giao để chọn các vector riêng có ý nghĩa. Khi phân tích thành phần chính cần cân nhắc xem cần giữ lại bao nhiêu đặc trƣng là đủ. Tiêu chuẩn của Kaiser là bỏ các giá trị riêng nhỏ hơn 1. Một cách khác là ngƣời ta dùng biểu đồ biểu diễn các giá trị riêng đánh số theo thứ tự giảm dần và chỉ giữ lại các vector riêng lệch nhiều so với các giá trị bị loại. Đối với dữ liệu định danh với số lƣợng thuộc tính nhiều có thể giảm chiều bằng cách: chọn ra tập con dữ liệu các đặc trƣng. Nhƣng không có cách nào đánh giá đƣợc tập con nào tốt, tập con nào xấu trừ khi ta biết rất rõ về tập dữ liệu đã có.
Với kỹ thuật thông thƣờng không đạt đƣợc khi phân cụm đƣợc tiến hành trong không gian chiều cao. Chẳng hạn dữ liệu thƣa thớt, chứa các thuộc tính dƣ thừa trong dữ liệu chiều cao, sự gia tăng kích thƣớc, sự khác nhau giữa các khoảng cách của đối tƣợng. Nhƣ vậy, một số thuật toán chính nhƣ đã trình bày ở chƣơng 2, việc phân cụm với dữ liệu hỗn hợp sẽ không hiệu quả đặc biệt là dữ liệu định danh với số lƣợng thuộc tính nhiều.
Trong chƣơng này, luận văn trình bày một số thuật toán phân cụm thuộc tính định danh, đặc biệt là thuật toán phân cụm dữ liệu hỗn hợp có trọng số (MWKM) và COOLCAT cho kết quả phân cụm tốt. Thuật toán trọng số thuộc tính hỗn hợp phân cụm dữ liệu chiều cao là một phần mở rộng của thuật toán k-mode dựa trên đánh giá trọng số của từng thuộc tính nhờ phân tích mode của cụm. Thuật toán COOLCAT dùng phƣơng pháp Entropy để đánh giá chất lƣợng của cụm mà không can thiệp vào thuộc tính.
3.1. Mode và thuật toán k-modes
Dữ liệu trong thế giới thực thƣờng có chứa các thuộc tính định danh [12]. Để mở rộng thuật toán cho các đối tƣợng dữ liệu có chứa thuộc tính định danh trong [23, 24] Huang xét tập N đối tƣợng N1
i i x
trong đó xi (x1i, ...,xmi ,xmi1, ...,xni) là phần tử của quan hệ r trên lƣợc đồ quan hệ R = {A1, ..., An} và xij D o m A( j) với mỗi j m là các giá trị thực còn với m 1 j n là các giá trị định danh, các thuật toán toán trong [23, 24] dựa trên khái niệm mode và dùng mode thay cho trọng tâm của mỗi tập dữ liệu C.
3.1.1. Mode của tập dữ liệu hỗn hợp.
Để tiện trình bày định nghĩa mode của tập dữ liệu hỗn hợp [1], chúng tôi đƣa thêm định nghĩa j-mode với j n
Định nghĩa: Giả sử C là tập con của tập dữ liệu hỗn hợp D
i) Với mọi j n, j-mode của C (kí hiệu là j-mode(C)) là giá trị có tần suất nhiều nhất trong thuộc tính Aj của C nếu A là thuộc tính định danh và là trung bình cộng của các giá trị thuộc tính Aj của C khi Aj là thuộc tính số. Nếu Aj là thuộc tính định danh và có nhiều giá trị có tần suất nhƣ nhau trong C thì j-mode(C) có thể không duy nhất và ta chọn giá trị nào cũng đƣợc.
ii) Mode của tập hợp C kí hiệu là mode(C) là phần tử z = (z1, ..., zn) trong đó zj = j-mode(C), j n
Ví dụ, hình 3.1 [17] cho thấy tần số của mỗi giá trị thuộc tính của nó trong một cụm. Ta thấy rằng, giá trị mode trong thuộc tính a4, a5, a6, a7 có tần số cao hơn so với các thuộc tính khác. Điều này cho thấy các thuộc tính a4, a5, a6, a7 đƣợc cho là quan trọng để xác định các cụm.
Một bảng dữ liệu phạm trù đƣợc định nghĩa nhƣ là một tập gồm 4 thành phần: IS = (X, A, V, f), trong đó:
(1) X = {x1, x2, …, xn} là một tập hợp không rỗng của n điểm dữ liệu. (2) A = {a1, a2, …, am} là một tập hợp không rỗng m thuộc tính định danh. (3) 1 j m a j V V , với ( 1 ) ( 2 ) ( ) , , . . . , j j n a j j j
V a a a là miền giá trị của thuộc tính aj, hữu hạn và có thứ tự, ví dụ nhƣ, đối với bất kỳ 1 p q nj hoặc ( ) ( ) ( ) ( ) , p q p q j j j j a a a a
Ở đây, nj là số các loại thuộc tính của aj với 1 j m . (4) f: RxA V là một hàm thông tin sao cho ( , )
j i j a f x a V với 1 i n và 1 j m . Ở đây 1 2 ... m a a a R V V V và U R
Thuật toán k-modes sử dụng mô hình k-means phân cụm dữ liệu định danh. Mục tiêu của phân cụm một tập hợp n đối tƣợng phạm trù vào k cụm là để tìm W và Z để giảm thiểu [19] 1 1 ( W , ) w ( , ) k n l i l i l i F Z d z x (3.1) Tuân theo wl i{ 0 , 1} , 1 l k, 1 i n 1 w 1 k l i l , 1 i n (3.2) 1 0 w n l i i , 1 l k Ở đây:
* W = [wli] là một ma trận kích thƣớc kxn có giá trị 0 hoặc 1, wli là một biến nhị phân và cho biết đối tƣợng xi có thuộc phân cụm thứ l, wli= 1 nếu xi thuộc phân cụm thứ l và wli = 0 trong trƣờng hợp ngƣợc lại.
* Z = [z1, z2, …, zk] và zl = [f(zl, a1), f(zl, a2), …, f(zl, am)] là tâm cụm thứ l với các thuộc tính định danh a1, a2, …, am.
d(zl, xi) là thƣớc đo khoảng cách hoặc khoảng cách không tƣơng tự giữa hai đối tƣợng xi và tâm cụm zl với 1 ( , ) ( , ) j m l i a l i j d z x z x (3.3) Ở đây: 1, f(zl, aj) f(xi, aj), ( , ) j a zl xi = (3.4) 0, f(zl, aj) = f(xi, aj).
Tối thiểu F trong (3.1) với ràng buộc trong (3.2), phƣơng pháp thông thƣờng theo hƣớng tối ƣu hóa F trong (3.1) là sử dụng tối ƣu hóa một phần cho Z và W. Phƣơng pháp này, đầu tiên chúng tôi cố định Z và tìm điều kiện cần thiết trên W giảm thiểu F. Sau đó, ta cố định W và giảm thiểu F, Z. Tối ƣu các vấn đề trên có thể đƣợc giải quyết bằng cách lặp đi lặp lại giải quyết giảm thiểu hai vấn đề sau đây:
Bài toán P1 : Cố định z zˆ, giải quyết bài toán giảm thiểu F( w , )zˆ ;
Bài toán P2: Cố định w wˆ , giải quyết bài toán giảm thiểu F( w , )ˆ z . Bài toán P1 đƣợc giải quyết bởi:
1 nếu d z(ˆl,xi) d z(ˆh,xi) , 1 h k
ˆ
wl i= (3.5) 0 ngƣợc lại
Với 1 i n, 1 h k
Bài toán P2 đƣợc giải quyết bởi: ( ) ( , ) j r l j j a f z a a V (3.6) Trong đó ( ) | { w \ f(x ,a ) a r , w 1} | ( ) | { w \ f(x ,a ) a t , w 1} |, 1 t n (3.7)
Với 1 j m . Ở đây |X| biểu thị các yếu tố trong thiết lập X, (1 ) ( 2 ) { , , ..., j} j n a j j j V a a a , nj là số lƣợng loại thuộc tính của aj với 1 j m .
3.1.2. Thuật toán k-modes
Quá trình này đƣợc thể hiện trong các thuật toán k-modes nhƣ sau [19]:
Thuật toán k-modes(KM)
Bước 1: Chọn một tập hợp điểm ban đầu (1 )
Z R xác định W(1) sao cho F(W, Z(1)) là giảm thiểu. Đặt t =1.
Bước 2: Xác định Z(t+1) sao cho F(W(t), Z(t+1)) là giảm thiểu. Nếu F(W(t), Z(t+1)) = F(W(t), Z(t)) thì dừng, ngƣợc lại đến bƣớc 3.
Bước 3: Xác định W(t+1) sao cho F(W(t+1), Z(t+1)) là giảm thiểu. Nếu F(W(t+1)
, Z(t+1)) = F(W(t), Z(t+1)) thì dừng, ngƣợc lại t = t+1 và chuyển đến bƣớc 2
Hạn chế của thuật toán K-modes coi tất cả các thuộc tính là quan trọng nhƣ nhau. Thực tế ta thấy rằng những thuộc tính đóng vai trò thứ yếu phải có vai trò quan trọng hơn.
3.2. Thuật toán K-Prototypes
Thuật toán K-Prototypes là sự kết hợp của thuật toán k-means và thuật toán k-modes để nhóm các dữ liệu hỗn hợp. Thuật toán k-Prototypes tốt hơn hai thuật toán trên bởi trong CSDL thực thƣờng chứa các loại dữ liệu là hỗn hợp [24].
Khoảng cách giữa hai đối tƣợng hỗn hợp Xl và Xj đƣợc tính nhƣ sau:
( ) ( ) ( ) ( )
( n , n ) ( c , c )
n l j c l j
d X X d X X
Trong đó: dn là khoảng cách số, dc là khoảng cách của hai đối tƣợng phạm trù Xl và Xj, 0 là trọng số dùng để cân bằng giữa thuộc tính số và thuộc tính phạm trù, giá trị
đƣợc lấy khác nhau để đạt đƣợc kết quả tối ƣu. Hàm mục tiêu (2.1) trở thành: ( ) ( ) ( ) ( ) , W , 1 1 ( W , ) w [ d ( Z , X ) + d ( Z , X ) ] k n n n c c l j n l j c l j Z l j M i n F Z (3.8)
Đối tƣợng với các ràng buộc (2.2), (2.3) và (2.4) Để đơn giản ta viết lại hàm mục tiêu (3.8) nhƣ sau:
W , m in ( W , ) n c Z F Z S S (3.9) Ở đây: ( ) ( ) , 1 1 w ( , ) k n n n n l j n l j l j S d Z X Và ( ) ( ) , 1 1 w ( , ) k n c c c l j c l j l j S d Z X
Sn0, Sc0. Tối thiểu F(W, Z) thực chất là giảm thiểu Sn và Sc. Sn chỉ bao gồm các thuộc tính số, do vậy chúng ta sử dụng thuật toán phân cụm k-means để giải quyết vấn đề giảm thiểu của nó. Tƣơng tự nhƣ vậy, thuật toán k-modes cũng có thể sử dụng để tối thiểu Sc, Sc chỉ bao gồm các thuộc tính phạm trù.
Theo định lý 1, độ phức tạp của thuật toán ở trên là O(kmn) phép toán đƣợc tính toán bởi W, m là tổng số thuộc tính bao gồm cả thuộc tính số và thuộc tính phạm trù. Theo định lý 2, trong việc tìm Z thuật toán yêu cầu O(kmnn) phép toán để tính toán Z(n)
và theo định lý 3, O(kMcn) phép toán để tính Z(c)
trong đó mn và mc là đại diện số các thuộc tính số và thuộc tính phạm trù và 1 c m c i i M n
là tổng số của các thuộc tính phạm trù trên tất cả thuộc tính phạm trù. Khi đó độ phức tạp của thuật toán k-modes sẽ là O(tk(m+mn+Mc)n) , ở đây t là số lần lặp lại.
Mặc dù các thuật toán phân cụm k-means, k-modes, k-protype có thể giải quyết với tập dữ liệu số hoặc phạm trù, thậm chí cả những tập dữ liệu hỗn hợp, các chức năng phi tƣơng tự của các thuật toán liên quan đến tất cả các thuộc tính của tập dữ liệu. Điều này đƣợc áp dụng nếu tất cả hoặc hầu hết các thuộc tính đều là quan trọng với mọi cụm. Tuy nhiên, kết quả phân cụm sẽ trở lên kém hiệu quả hơn nếu một số lƣợng đáng kể các thuộc tính là không quan trọng với một số cụm.
Để giải quyết đƣợc các vấn đề trên, có các phƣơng pháp phân cụm sử dụng thuộc tính trọng số.
3.3. Thuật toán k-modes có trọng số.
Chan [22] đề xuất một thuật toán phân cụm con mềm cho số và dữ liệu phạm trù, nó là mở rộng của thuật toán k-means quá trình phân nhóm tự động tính toán trọng số cho mỗi
thuộc tính trong mỗi cụm. Khi thuật toán đƣợc sử dụng để xử lý dữ liệu phạm trù, thuật toán đƣợc xem nhƣ là một thuật toán k-modes có trọng số (The weighting k-modes algorithm - WKM) [17]. Hàm mục tiêu của WKM đƣợc định nghĩa là:
1 1 1 1 ( W , , ) w ( , ) j k n m l i l j a l i l i j F Z z x (3.10) Với các ràng buộc wl i{ 0 , 1} , 1 l k, 1 i n 1 w 1 k l i l , 1 i n 1 0 w n l i i , 1 l k Và l j [ 0 , 1], 1 l k, 1 j m 1 1 m l j j , 1 l k (3.11) l j
là ma trận kích thƣớc nxk với giá trị là 0 hoặc 1, l j là trọng số cho các thuộc tính thứ j trong phân cụm thứ l và (1, ) là một tham số cho kiểm soát trọng số thuộc tính l j. Tƣơng tự nhƣ để giải quyết (3.1), hàm mục tiêu (3.10) cực tiểu tại địa phƣơng bằng cách lặp đi lặp lại giải quyết ba vấn đề sau đây:
Bài toán P1: Cố định Z Zˆ và ˆ , giải quyết bài toán giảm thiểu F1( W ,Zˆ ˆ,)
Bài toán P2: Cố định W Wˆ và ˆ , giải quyết bài toán giảm thiểu F1( W ,ˆ Z,ˆ)
Bài toán P3: Cố định W Wˆ và Z Zˆ, giải quyết bài toán giảm thiểu F1( W ,ˆ Zˆ,)
Bài toán P1 đƣợc giải quyết bởi: 1 nếu