Thuật toán phân cụm dựa trên mật độ đóng vai trò quan trọng trong tìm kiếm cấu trúc phi tuyến tính dựa trên mật độ. Thuật toán phân cụm dựa trên không gian mật độ 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) đƣợc sử dụng rộng rãi dựa trên mật độ. Nó dựa trên hai khái niệm khả năng tiếp cận mật độ và khả năng kết nối mật độ.
Khả năng tiếp cận mật độ: Một điểm p đƣợc gọi là mật độ truy cập từ một điểm q nếu p nằm trong khoảng cách ε từ điểm q và q có đủ số điểm lân cận với khoảng cách trong phạm vi ε.
Khả năng kết nối mật độ: Một điểm p và q đƣợc cho là kết nối mật độ nếu có tồn tại một điểm r trong đó có đủ số điểm trong lân cận và cả hai điểm p và q nằm trong khoảng cách ε. Nếu q là lân cận của r, r là lân cận của s, s là lân cận của t, t là lân cận của p có nghĩa là q là lân cận của p.
Hình 2.3. Hình dạng các cụm đƣợc khám phá bởi thuật toán DBSCAN
Các bƣớc của thuật toán phân cụm dựa trên mật độ DBSCAN:
Cho tập hợp các điểm dữ liệu X={x1,x2,x3…xn}. DBSCAN yêu cầu hai tham số: ε và số lƣợng tối thiểu các điểm cần thiết để tạo thành một cụm
Bước 1: Bắt đầu với một điểm tùy ý không đƣợc kiểm trạ
Bước 2: Rút ra các lân cận của điểm này bằng cách sử dụng khoảng
cách ε.
Bước 3: Nếu có đầy đủ các điểm lân cận xung quanh điểm này thì bắt
đầu quá trình phân cụm và điểm đƣợc đánh dấu truy cập khác thời điểm này đƣợc dán nhãn nhƣ là nhiễụ
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnụedụvn/
Bước 4: Nếu một điểm đƣợc tìm thấy là một phần của cụm thì lân cận ε
của nó cũng là một phần của cụm và thủ tục trên từ bƣớc 2 đƣợc lặp đi lặp lại cho tất cả các điểm lân cận ε. Điều này đƣợc lặp đi lặp lại cho đến khi tất cả các điểm trong cụm đƣợc xác định
Bước 5: Một điểm mới ghé thăm thƣờng xuyên đƣợc lấy ra và xử lý,
dẫn đến việc phát hiện ra một cụm hoặc nhiễụ
Bước 6: Quá trình này đƣợc thực hiện cho tới khi các điểm viếng thăm
đƣợc đánh dấụ
Ngoài thuật toán DBSCAN ra, phân cụm dựa trên mật độ còn bao gồm 2 thuật toán khác nhƣ: Thuật toán OPTICS; Thuật toán DENCLUẸ
2.2.4 Thuật toán phân cụm dựa trên lưới (Thuật toán STING)
Thuật toán STING là kỹ thuật phân cụm đa phân giải dựa trên lƣới, trong đó vùng không gian dữ liệu đƣợc phân rã thành số hữu hạn các ô chữ nhật, điều này có nghĩa là các ô lƣới đƣợc hình thành từ các ô lƣới con để thực hiện phân cụm. Có nhiều mức của các ô chữ nhật tƣơng ứng với các mức khác nhau của phân giải trong cấu trúc lƣới, và các ô này hình thành cấu trúc phân cấp: mỗi ô ở mức cao đƣợc phân hoạch thành số các ô nhỏ ở mức thấp hơn tiếp theo trong cấu trúc phân cấp. Các điểm dữ liệu đƣợc nạp từ CSDL, giá trị của các tham số thống kê cho các thuộc tính của đối tƣợng dữ liệu trong mỗi ô lƣới đƣợc tính toán từ dữ liệu và lƣu trữ thông qua các tham số thống kê ở các ô mức thấp hơn. Các giá trị của các tham số thống kê gồm: số trung bình - mean, số tối đa - max, số tối thiểu - min, số đếm - count, độ lệch chuẩn - s, ...
Các đối tƣợng dữ liệu lần lƣợt đƣợc chèn vào lƣới và các tham số thống kê ở trên đƣợc tính trực tiếp thông qua các đối tƣợng dữ liệu nàỵ STING có khả năng mở rộng cao, nhƣng do sử dụng phƣơng pháp đa phân giải nên nó phụ thuộc chặt chẽ vào trọng tâm của mức thấp nhất. Cấu trúc dữ liệu lƣới thuận tiện cho quá trình xử lí song song và cập nhật liên tục, khi
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnụedụvn/
duyệt toàn bộ CSDL một lần để tính toán các đại lƣợng thống kê cho mỗi ô, nên nó rất hiệu quả và do đó độ phức tạp thời gian để tạo các cụm xấp xỉ O(n), trong đó n là tổng số các đối tƣợng. Sau khi xây dựng cấu trúc phân cấp, thời gian xử lý cho các truy vấn là O(g), trong đó g là tổng số ô lƣới ở mức thấp (g << n).
Thuật toán STING gồm các bƣớc sau:
Bước 1: Xác định tầng để bắt đầu:
Bước 2: Với mỗi cái của tầng này, tính toán khoảng tin cậy (hoặc
ƣớc lƣợng khoảng) của xác suất mà ô này liên quan tới truy vấn.
Bước 3: Từ khoảng tin cậy của tính toán trên, gán nhãn cho là có liên
quan hoặc không liên quan.
Bước 4: Nếu lớp này là lớp dƣới cùng, chuyển sang Bƣớc 6; nếu
khác thì chuyển sang Bƣớc 5.
Bước 5: Duyệt xuống dƣới của cấu trúc cây phân cấp một mức.
Chuyển sang Bƣớc 2 cho các ô mà hình thành các ô lên quan của lớp có mức cao hơn.
Bước 6: Nếu đặc tả đƣợc câu truy vấn, chuyển sang Bƣớc 8; nếu
không thì chuyển sang Bƣớc 7.
Bước 7: Truy lục dữ liệu vào trong các ô liên quan và thực hiện xử
lí. Trả lại kết quả phù hợp yêu cầu của truy vấn. Chuyển sang Bƣớc 9.
Bước 8: Tìm thấy các miền có các ô liên quan. Trả lại miền mà phù
hợp với yêu cầu của truy vấn . Chuyển sang Bƣớc 9.
Bước 9: Dừng.
Ngoài thuật toán STING ra,phân cụm dựa trên lƣới còn có thêm một thuật toán khác là: Thuật toán CLIQUẸ
2.2.5 Thuật toán phân cụm dựa trên mô hình (Thuật toán EM)
Thuật toán EM gán các đối tƣợng cho các cụm đã cho theo xác suất phân phối thành phần của đối tƣợng đó. Phân phối xác suất thƣờng đƣợc sử
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnụedụvn/
dụng là phân phối xác suất Gaussian với mục đích là khám phá lặp các giá trị tốt cho các tham số của nó bằng hàm tiêu chuẩn là hàm logarit khả năng của đối tƣợng dữ liệu, đây là hàm tốt để mô hình xác suất cho các đối tƣợng dữ liệụ EM có thể khám phá ra nhiều hình dạng cụm khác nhau, tuy nhiên do thời gian lặp của thuật toán khá nhiều nhằm xác định các tham số tốt nên chi phí tính toán của thuật toán khá caọ Thuật toán đƣợc chia thành hai bƣớc và quá trình đó đƣợc lặp lại cho đến khi vấn đề đƣợc giải quyết: Các bƣớc thực hiện của thhuật toán EM
1 2 : ; ; 1 1 2 2 : , 6( ) E a h b h a b M a b b c d
Các bƣớc thực hiện của thuật toán EM
Bước 1: Khởi tạo tham số
(0) (0) (0) (0) (0) (0) 0 1 , 2 ,..., k ,p1 ,p2 ,...,pk Bước 2: 2 ( ) 2 ( ) | , , | , , | , , | , , t t k i i i k j t j t j k t t t k t k k j j j P x P P x P P x P x P x P Bước 3: ( 1) ( 1) | , | , | , i k t k t k i i k t k i k t t k i P x x P x P x P R
Lặp lại bƣớc 2 và 3 cho đến khi đạt đƣợc kết quả
Ngoài thuật toán EM ra, phân cụm dựa trên mô hình còn có thêm một thuật toán khác là: Thuật toán COBWEB.
2.3. Thuật toán phân cụm bằng mạng Kohonen (SOM)
2.3.1 Mạng Kohonen là gì?
Mạng Kohonen (hay còn được gọi là Self Organizing Maps viết tắt là
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnụedụvn/
Kohonen, nó giúp giảm số chiều (kích thƣớc) của dữ liệu, qua đó giúp cho chúng ta hiểu đƣợc dữ liệu với kích thƣớc lớn đó.
Điểm nổi bật của thuật toán SOM là nó sẽ chuyển các dạng quan hệ phức tạp, thống kê rời rạc giữa các đối tƣợng dữ liệu đa chiều (n chiều) về các quan hệ hình học trực quan đơn giản với số chiều đƣợc rút gọn đi nhiều lần - thƣờng là một hoặc hai chiềụ Về bản chất giải thuật đƣợc biết đến nhƣ là kỹ thuật nén dữ liệu dựa trên véc tơ trọng số [2].
2.3.2. Cấu trúc mô hình mạng Kohonen
Mạng Kohonen hai chiều gồm có 2 lớp đó là lớp vào và lớp ra Kohonen. Lớp vào (Input layer): dùng để đƣa dữ liệu huấn luyện vào mạng Kohonen. Kích thƣớc của lớp vào tƣơng ứng với kích thƣớc của mỗi mẫu học. Trong mạng Kohonen hai chiều, các nơron của lớp ra đƣợc sắp xếp trên một mảng 2 chiều, mảng này đƣợc gọi là lớp ra Kohonen. Tất cả các nơron của lớp vào đều đƣợc nối với các nơron trên lớp ra Kohonen. Mỗi liên kết giữa đầu vào và đầu ra của mạng Kohonen tƣơng ứng với một trọng số. Kích thƣớc của mỗi vetor trọng số bằng kích thƣớc của lớp vàọ Ta có thể hình dung cấu trúc mạng Kohonen theo hình sau:
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnụedụvn/
2.3.3. Thuật toán phân cụm bằng mạng Kohonen
Xét một tập dữ liệu là các véc tơ trong không gian n chiều
V = [V1, V2,...,Vn] Khởi tạo tham số thời gian t: t = 0.
Bước 1: Khởi tạo vector trọng số Wij cho mỗi nơron i trong mạng Kohonen.
Bước 2: Lấy một mẫu huấn luyện x từ tập huấn luyện.
Bước 3: Tìm mẫu khớp tốt nhất (BMU) - phần tử nơron chiến thắng:
Hình 2.5. Phần tử nơron chiến thắng BMU
Duyệt tất cả các nút và tính khoảng cách Euclide giữa vector trọng số của mỗi nút và vector nhập hiện hành. Công thức để tính khoảng cách Euclide đƣợc
cho nhƣ sau: 2 0 is ( W ) n i i i D t V (2.3)
V: vector nhập hiện hành; W: vector trọng số của phần tử đƣợc chọn.Nút có vector trọng số gần nhất với giá trị của vector nhập sẽ đƣợc chọn là BMỤ
Bước 4: Xây dựng các phần tử lân cận
Các nơron lân cận tùy thuộc vào bán kính, đƣợc sắp xếp trong lƣới theo hình chữ nhật hoặc hình lục giác. Số các lân cận xác định trọng tâm của ma trận kết quả, có ảnh hƣởng đến độ chính xác và khả năng sinh ma trận của SOM.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnụedụvn/
Hình 2.6. Các vùng lân cận
- Đặc tính duy nhất của thuật toán học Kohonen là vùng lân cận của BMU đƣợc xây dựng trên vector khoảng cách sẽ đƣợc co lại sau một số lần lặp nhất định. Điều này đƣợc thực hiện bằng cách co lại bán kính của vùng lân cận theo số lần lặp.
- Phép co sẽ đƣợc thực hiện theo hàm mũ nội suy sau:
0exp t ( 1, 2,3...)
t t (2.4)
σ: bán kính lân cận của BMU tại thời điểm t. σ0: bán kính lân cận của BMU tại thời điểm t0. λ: hằng số thời gian . t: là bƣớc lặp hiện tại .
- Giá trị của hằng số λ phụ thuộc vào σ và số lần lặp để chạy giải thuật. Nó đƣợc tính theo công thức sau:
λ = N/log(σ0) (2.5)
N: số lần lặp để chạy giải thuật (số lần học của mạng).
λ và σ sẽ đƣợc dùng để tính bán kính lân cận trong mỗi lần lặp của giải thuật. - Khi bán kính lân cận đã đƣợc xác định, việc xác định các phần tử lân cận của BMU sẽ đƣợc thực hiện đơn giản bằng cách duyệt tất cả các phần tử trong mạng để xem nó có nằm trong bán kính lân cận hay không.
Bƣớc 5: Hiệu chỉnh trọng số của các phần tử lân cận - quá trình học của giải thuật SOM
Trọng số của các phần tử lân cận đƣợc xác định ở bƣớc trên bao gồm cả BMU sẽ đƣợc điều chỉnh để chúng có giá trị gần giống với giá trị của vector
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnụedụvn/
nhập hơn. Phần tử càng gần với BMU, thì trọng số của nó sẽ càng dễ bị thay đổi nhiều hơn. Các vector trọng số sẽ đƣợc hiệu chỉnh theo công thức sau:
( 1) W( ) ( ) ( )( ( ) W( ))
W t t a t L t V t t (2.6)
Hàm nội suy theo thời gian học thể hiện sự tác động của khoảng cách đối với quá trình học và đƣợc tính theo công thức sau:
2 2 is ( ) exp ( 1, 2,3...) 2 ( ) d t a t t t (2.7)
dist : là khoảng cách từ một nơron đến nơron chiến thắng. t : bƣớc lặp hiện tạị;
L: tốc độ học (sẽ giảm dần theo số lần lặp).
- Biểu thức trên cho thấy trọng số của một nút sau khi hiệu chỉnh chính là giá trị trọng số cũ W của nó cộng thêm phần giá trị khác biệt giữa trọng số W và vector nhập V theo hệ số tốc độ học.
- Hàm nội suy tốc độ học L(t) cho mỗi bƣớc lặp đựơc tính theo công thức sau:
( ) exp t ( 1, 2,3...)
L t t (2.8)
L0: Giá trị khởi tạo ban đầu của tốc độ học; λ: hằng số thời gian .
- Càng tiến dần về điểm giữa thì tốc độ học sẽ càng giống với hàm mũ nội suy của phép cọ Tốc độ học sẽ đƣợc nội suy dần theo tốc độ học và giá trị của hàm sẽ tiến dần về không khi số lần lặp đạt đến những bƣớc cuối cùng.
Bước 6: Vòng lặp: Tăng t, lấy mẫu học tiếp theọ Lặp lại bƣớc 2 cho đến khi
giải thuật tối ƣu hoặc đạt đến số lần lặp xác định N cho trƣớc.
Chú ý: Số lƣợng vector của tập huấn luyện là có giới hạn. Để cho việc
huấn luyện mang lại kết quả tốt nhất đòi hỏi số bƣớc huấn luyện phải lớn và nếu kích thƣớc của tập huấn luyện là nhỏ thì những mẫu huấn luyện có thể đƣợc sử dụng lặp lại, những mẫu có thể đƣợc áp dụng đều đặn theo chu kỳ hoặc theo một trật tự hoán vị ngẫu nhiên [8].
Thuật toán SOM với những ƣu điểm của nó, đã trở thành công cụ có ích trong phân cụm và rút gọn kích thƣớc dữ liệụ Đó là tạo ra hàm phân bố xác suất
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnụedụvn/
cho tập dữ liệu bao lớp, dễ giải thích và quan trọng nhất là trực quan mạng tốt. Tùy theo vấn đề cần giải quyết, các chuyên gia phân cụm dữ liệu có thể chọn phƣơng pháp khác nhau để phân tích dữ liệu đƣa rạ
Trong phân cụm dữ liệu, có rất nhiều phƣơng pháp ứng dụng nó. Độ đo khoảng cách có thể căn cứ vào liên kết đơn hoặc liên kết đầy đủ. Hạn chế trong liên kết đó là các cụm dễ trở thành chuỗi dài do đó không điển hình cho dữ liệụ Mặt khác, liên kết đầy đủ đôi khi vƣợt quá giới hạn cho phép. Việc kết hợp liên kết giữa liên kết đơn và liên kết đầy đủ đƣợc thực hiện bằng cách gắn độ đo các điểm trong cụm với trọng số phù hợp. Nhƣ vậy, độ đo vừa gắn đƣợc giá trị cho tất cả các điểm giống nhau nhƣ khoảng cách vừa giữ đƣợc hình thái của cụm dữ liệụ Phƣơng pháp SOM có thể hoàn toàn đƣợc dùng nhƣ một phép đọ
SOM là phƣơng pháp phân cụm theo cách tiếp cận mạng nơron. Véc tơ trọng số của ma trận SOM chính là trọng tâm cụm, việc phân cụm có thể cho ra kết quả tốt hơn bằng cách kết hợp các đơn vị trong ma trận để tạo thành các cụm lớn hơn [7].
Dùng SOM nhƣ một bƣớc trung gian để phân cụm, đó là cách tiếp cận gồm hai mức: lớp đầu tiên phân cụm dữ liệu và sau đó phân cụm SOM. Với mỗi véctơ dữ liệu của tập dữ liệu bao lớp thuộc cùng một cụm có mẫu gần nó nhất. Một ƣu điểm của cách tiếp cận này là giảm thời gian tính toán, điều này dễ dàng phân biệt đƣợc với các thuật toán phân cụm khác mà điển hình là cây phân cấp thậm chí với một lƣợng nhỏ các ví dụ bao lớp cũng trở lên nặng nề. Chính vì vậy cách tiếp cận này là hoàn toàn phù hợp cho việc phân cụm một tập các mẫu hơn là làm trực tiếp trên tập dữ liệụ
2.4 Một số vấn đề phân cụm với mạng Kohonen
2.4.1. Khởi tạo mạng Kohonen (SOM)
Trong thuật toán SOM cơ sở mối quan hệ giữa các topo và số nơron đƣợc bố trí ngay từ đầụ Số lƣợng các nơron thƣờng đƣợc lựa chọn là lớn nhất