Một số kỹ thuật phân cụm đồ thị dữliệu

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu mô hình phân cụm có thứ bậc các đồ thị dữ liệu (Trang 33 - 38)

1.2.3.1. Thuật toán phân cụm quang phổ

Thuật toán phân cụm quang phổ (Spectral Clustering Algorithm) [6] là thuật toán phân cụm đồ thị dữ liệu quan trọng bởi lẽ, nó dựa vào cơ sở đại số tuyến tính và dễ cài đặt để giải rất hiệu quả, giống như đối với các thuật toán phân cụm dữ liệu truyền thống, như thuật toán K-means. Công cụ được sử dụng chính trong thuật toán phân cụm quang phổ là ma trận Laplacian.

Dựa vào các ma trận trên để định nghĩa độ tương tự hoặc khoảng cách giữa các đồ thị. Ma trận đồ thị Laplacian phi chuẩn [6] được ký hiệu là L, là ma trận biểu diễn cho đồ thị thông qua ma trận liền kề W và ma trận D, được định nghĩa như sau:

L = D – W (1.26)

Các ma trận đồ thị Laplacian chuẩn được định nghĩa như sau:

Lsym = D-1/2LD-1/2 (1.27)

Lrw = D-1L (1.28)

D là ma trận có đường chéo chính là các số dương, do vậy D-1/2 chính là ma trận có các phần tử trên đường chéo chính là căn bậc hai của các phần tử tương ứng của D. Tương tự, D-1 là ma trận nghịch đảo của D.

Lý thuyết đồ thị quang phổ (spectral graph theory) dựa vào ma trận Laplacian đã chỉ ra rằng một số cấu trúc cơ bản có thể có cùng tính chất Laplacian. Ma trận và các giá trị véc tơ đặc trưng (eigenvectors) có thể được sử dụng để mô tả nhiều tính chất của đồ thị [6].

Dựa vào lý thuyết đồ thị quang phổ, chúng ta chọn k (k < N) giá trị đặc trưng nhỏ nhất X = e1, …, ek (∀i = [1, .., k], ei∈ RN ) của ma trận Laplacian. Thay vì xét trong không gian N × N chiều, chúng ta chỉ cần xét N đối tượng trong không gian con k × k chiều. Hàng xi∈ X sẽ biểu diễn cho vi∈ V. Bằng cách đó chúng ta rút gọn được ánh xạ đồ thị G vào X, trong đó độ tương tự của hai đỉnh vi và vj được xác định là khoảng cách giữa hai giá trị đặc trưng tương ứng của chúng. Do vậy, chúng ta có thể đồng nhất ba ký hiệu: đối tượng i, vector xi và đỉnh vi là tương đương với nhau theo nghĩa biểu diễn cho cùng một thực thể dữ liệu.

Thuật toán phân cụm quang phổ phi chuẩn

Input: + Ma trận liền kề W ∈ Rn×n của đồ thị G = (V, E) + Ma trận D của đồ thị G

+ Số cụm K

Output: Các cụm C1, …, CK

1. Tính ma trận Laplacian L = D – W

2. Tính K vector giá trị đặc trưng u1, …, uK của L ứng với K giá trị đặc trưng nhỏ nhất

3. Đặt U ∈ Rn×K là ma trận có các cột là các vector giá trị đặc trưng u1, …, uK 4. for i = 1 to n do

5. yi∈ RK là vector ứng với hàng thứ i của U

6. Gọi thuật toán K-means đối với các tâm cụm y1, …, yK để phân V thành K cụm.

Thuật toán phân cụm quang phổ chuẩn hóa

Input: + Ma trận liền kề W ∈ Rn×n của đồ thị G = (V, E) + Ma trận D của đồ thị G

+ Số cụm K

Output: Các cụm C1, …, CK

1. Tính ma trận Laplacian chuẩn hóa Lsym = D-1/2LD-1/2 2. Tính K vector giá trị đặc trưng đầu u1, …, uK của Lsym

3. Đặt U∈ Rn×K là ma trận có các cột là các vector giá trị đặc trưng u1, …, uK 4. Tạo ra ma trận T ∈ Rn×K từ U bằng cách chuẩn hóa các hàng theo chuẩn 1

𝑡𝑖𝑗 = 𝑢𝑖𝑗

√∑𝑛𝑘=1𝑢𝑖𝑘2 (1.29)

5. for i = 1 to n do

6. yi∈ RK là vector ứng với hàng thứ i của T

7. Gọi thuật toán K-means đối với các tâm cụm y1, …, yK để phân V thành K cụm.

1.2.3.2. Thuật toán phân cụm Markov

Một họ thuật toán khác cho phân cụm đồ thị là dựa trên các bước đi ngẫu nhiên trên đồ thị. Ý tưởng của phương pháp “bước đi ngẫu nhiên” được sử dụng ở đây là nếu chúng ta bắt đầu xuất phát tại một đỉnh bất kỳ của đồ thị và thực hiện “bước đi ngẫu nhiên” - chọn ngẫu nhiên tới một đỉnh khác thông qua cạnh liên kết giữa chúng thì dường như chúng ta đi qua chủ yếu các cạnh giữa các đỉnh cùng thuộc một nhóm nhiều hơn là đi qua các cạnh nối giữa các nhóm với nhau. Từ đặc điểm này có thể tiến hành gom cụm dữ liệu với độ chính xác cao. Ví dụ từ hình 1.11: cạnh nối đỉnh 2 và đỉnh 5, có mật độ di chuyển qua lại ít hơn các cạnh khác, do nó là cạnh nối liền 2 nhóm đỉnh.

Hình 1.10: Minh họa mô hình đồ thị cho bước đi ngẫu nhiên [1]

Thuật toán thành công nhất trong họ thuật toán này chính là thuật toán phân cụm Markov (MCL) được đề xuất bởi Dongen (2000).

Tương tự như ma trận Laplacian trong thuật toán phân cụm quang phổ, MCL định nghĩa ma trận riêng của nó với tên gọi là ma trận Markov. Ma trận Markov 𝒯𝐺

nhận được bằng việc chuẩn hóa cột thứ q của ma trận trọng số W (gọi là ℳ𝐺) và nhân với nghịch đảo bậc của ma trận có giá trị các đường chéo là tổng của các trọng số cột của ma trận W (gọi là 𝒟𝐺-1), tức là 𝒯𝐺 = ℳ𝐺𝒟𝐺-1. MCL đưa ra hai phép toán mở rộng và thổi phồng, trong đó phép toán mở rộng là việc lấy hàm mũ của một ma trận ngẫu nhiên, còn phép thổi phồng là việc lấy hàm mũ Hadamard của một ma trận.

Phép toán mở rộng tương ứng với việc tính các bước đi ngẫu nhiên của chiều dài lớn hơn, tức là các bước đi ngẫu nhiên với nhiều bước. Do các đường đi với chiều dài lớn hơn là phổ biến hơn bên trong các cụm so với giữa các cụm khác nhau, tức là có nhiều cách để đi từ một nút tới các nút khác.

Phép toán thổi phồng sau đó sẽ giúp tăng xác suất của các bước đi bên trong cụm và giảm bước đi giữa các cụm.

Kết quả của việc lặp lại phép mở rộng và thổi phồng là một phân hoạch của đồ thị. Thuật toán được thể hiện dưới đây:

Input: một đồ thị có cấu trúc G = (V,E) với ma trận Markov ℳ𝐺 và bậc ma trận 𝒟𝐺 , tham số mở rộng e và tham số thổi phồng r.

Output: Kết quả phân cụm đồ thị 1. Tính ma trận Markov 𝒯𝐺 = ℳ𝐺𝒟𝐺-1. 2. Khi 𝒯𝐺 chưa phải là điểm cố định:

𝒯𝐺= 𝒯𝐺 e // phép toán mở rộng

for all 𝑢 ∈ 𝑉 do // phép toán thổi phồng for all 𝑣 ∈ 𝑉 do 𝒯𝑢𝑣 = 𝒯𝑢𝑣𝑟 for all 𝑣 ∈ 𝑉 do 𝒯𝑢𝑣 = 𝒯𝑢𝑣

∑𝑤∈𝑉𝒯𝑢𝑤

3. H: đồ thị tạo ra bởi các giá trị khác không của 𝒯𝐺

4. C: phép phân cụm tạo ra bởi các thành phần liên thông của H. Thuật toán MCL có một số đặc điểm hấp dẫn như sau:

- Nó thực hiện đơn giản với hai phép toán mở rộng và thổi phồng.

- Nó có tính thích nghi. Với việc điều chỉnh tham số mở rộng và thổi phồng, các phép phân cụm trên các tỷ lệ khác nhau có thể được tìm thấy.

MCL đã được áp dụng trong một số các lĩnh vực khác nhau với các thành công vang dội, đặc biệt là trong lĩnh vực tin sinh và tin hóa.

1.2.3.3. Thuật toán pha tạp khác

a. Một trong số các thuật toán phân cụm đồ thị sớm nhất đó là thuật toán Kerninghan-Lin (1970). Mục đích là để phân hoạch đồ thị thành hai phần với kích thước bằng nhau với số lượng các cạnh bị cắt là nhỏ nhất. Thuật toán hoạt động với việc lặp cải tiến, bắt đầu từ việc chia làm hai phần tùy ý và đổi chỗ các cặp nút để cải thiện giá trị của việc phân hoạch. Độ phức tạp của thuật toán là O(n3) với n là số đỉnh của đồ thị. Độ phức tạp cao khiến thuật toán không được áp dụng nhiều trong thực tế. Tuy nhiên thuật toán này được nghiên cứu, mở rộng bởi các nhà nghiên cứu khác.

b. Karypis và Kumar (1999) đề xuất một tiếp cận đa mức cho việc phân chia đồ thị thành hai cụm. Ý tưởng cơ bản đó là rút gọn đồ thị bằng cách giảm bớt các đỉnh và cạnh (pha thô), phân hoạch đồ thị nhỏ hơn (pha phân hoạch) và sau đó là tinh chỉnh để cấu trúc một phân hoạch cho đồ thị gốc (pha tinh chỉnh). Thuật toán được mô tả như sau:

Input: một đồ thị có cấu trúc G0 = (V0,E0).

Output: Kết quả phân cụm đồ thị G0.

Pha thô:

Đồ thị G0 được biến đổi thành một chuỗi các đồ thị nhỏ hơn G1, G2, ..., Gm sao cho |V0| > |V1| > ...> |Vm|.

Pha phân hoạch:

Một phân hoạch 2 chiều Pm của đồ thị Gm = (Vm, Em) được tính bằng cách phân hoạch Vm thành hai phần, mỗi phần chứa một nửa số đỉnh của đồ thị G0.

Pha tinh chỉnh:

Phân hoạch Pm của Gm được chiếu trở lại G0 bằng việc đi qua các phân hoạch trung gian Pm-1, ..., P0.

Thuật toán này có tên gọi là METIS. Mặc dù các tác giả không đưa ra độ phức tạp chính xác của thuật toán, họ tuyên bố rằng thời gian chạy của thuật toán là rất nhanh. Ngoài ra, các phân hoạch được tạo ra bởi METIS là tốt hơn từ 10% đến 50% so với các thuật toán phân hoạch quang phổ, dựa trên việc thực nghiệm trên một lượng lớn các đồ thị dữ liệu. Vấn đề của METIS đó là nó chỉ tạo ra được hai cụm và Dhilon et al (2005) đã mở rộng thuật toán cho K cụm.

c. Aksoy và Haralick (1999) đề xuất một thuật toán phân cụm bắt đầu với việc tìm kiếm các vùng dày trong đồ thị và sau đó trộn các vùng dày này theo một số tiêu chí. Bởi thế, điểm mấu chốt trong thuật toán này là cách tìm các vùng dày của đồ thị. Thuật toán được miêu tả như sau:

Input: Đồ thị G = (V, E) với ma trận kề 𝑊 ∈ ℝ𝑛×𝑛.

Output: Kết quả phân cụm đồ thị G.

Bước 2: Trộn các vùng dày nếu thỏa mãn một số tiêu chí.

Mặc dù các tác giả không đề cập đến độ phức tạp khi thực hiện thuật toán, một phân tích đơn giản chỉ ra rằng độ phức tạp phụ thuộc chủ yếu vào việc tìm kiếm các vùng dày trên một đồ thị thưa với độ phức tạp O(nm2) trong trường hợp xấu nhất. Một vấn đề khác đó là thuật toán chỉ làm việc trên các đồ thị không có trọng số, tuy nhiên nó có thể được mở rộng để làm việc trên các đồ thị có trọng số.

d) Newman (2004) đề xuất thuật toán phân cụm phân cấp tích tụ để nhận được giá trị độ đo đơn thể tối ưu theo phương pháp tham lam. Bắt đầu với mỗi đỉnh như là các cụm, thuật toán lặp lại việc hòa các cặp cụm, việc lựa chọn ở mỗi bước để hòa nhập các cụm phải làm cho giá trị độ đo đơn thể tăng lên giá trị lớn nhất có thể. Tiến trình của thuật toán sẽ tạo ra một "dendrogram" và số lượng các cụm thay đổi từ lớn nhất thành nhỏ nhất. Ta có thể lựa chọn một phép phân cụm tốt nhất bởi việc tìm kiếm giá trị đơn thể tối ưu. Dưới đây là miêu tả của thuật toán:

Input: Đồ thị G = (V, E) với ma trận kề 𝑊 ∈ ℝ𝑛×𝑛.

Output: Kết quả phân cụm đồ thị G.

Bước 1. Khởi tạo phân cụm bằng cách gán mỗi đỉnh là một cụm.

Bước 2. Hòa nhập cặp cụm làm tăng giá trị độ đo đơn thể lên lớn nhất (hoặc làm giảm ít nhất).

Bước 3. Lặp lại bước 2 cho tới khi phép phân cụm chỉ còn lại một cụm. Bước 4. Tìm phép phân cụm cho độ đo đơn thể lớn nhất.

Thành công của thuật toán này đó là độ phức tạp của thuật toán chỉ là O(n(m+n)) trong trường hợp xấu nhất và là O(n2) trên đồ thị thưa [12].

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu mô hình phân cụm có thứ bậc các đồ thị dữ liệu (Trang 33 - 38)

Tải bản đầy đủ (PDF)

(87 trang)