Thuật toán phân cụm HAC

Một phần của tài liệu LUẬN VĂN: PHÂN BIỆT NHẬP NHẰNG TÊN NGƯỜI TRONG HỆ THỐNG TÌM KIẾM THỰC THỂ ppt (Trang 33 - 38)

Khái niệm về bài toán phân cụm: Phân cụm dữ liệu là một kỹ thuật trong khai

phá dữ liệu, nhằm đưa ra các cụm mà các phần tử trong cùng một cụm có độ tương đồng cao và các phần tử thuộc các cụm khác nhau lại có độ tương đồng thấp.

Bài toán phân cụm thường được thực hiện khi chúng ta không biết được nội dung

thông tin của các thành phần thuộc cụm để định nghĩa trước các lớp. Vì lý do này mà công việc phân cụm thường được truyền thống nhìn nhận dưới con mắt của học máy không giám sát, phương pháp học mà khi ta cho trước một mẫu chỉ gồm các đối tượng

cần tìm một cấu trúc đáng quan tâm của dữ liệu và nhóm lại các dữ liệu giống nhau.

.

Hình 13 - Quy trình phân cụm

Một số phương pháp phân cụm cơ bản:

 Phân cụm phân hoạch (phân cụm phẳng):

Phương pháp này chia tập gồm n phần tử thành tập k tập conrời nhau, trong đó k cho trước. Với phương pháp này, ban đầu người ta khởi tạo một phân hoạch ban đầu

cho tập dữ liệu theo một phép gán ngẫu nhiên hoặc dựa trên một phương pháp kinh

nghiệm (hueristic), sau đó tinh chỉnh lại các cụm cho đến khi thu được một phân hoạch

mong muốn thỏa mãn một ràng buộc cho trước . Tại mỗi bước thuật toán phân cụm cố

wij = [1 + log(tfij)] log( ij tf m ) nếu tfij > 0 0 nếu tfij = 0

gắng cải tiến chất lượng phân cụm bằng cách tính độ đ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. Thuật toán tiêu biểu cho phương pháp

này là K-Means. Ví dụ về thuật toán K-means:

Hình 14 - Ví dụ về thuật toán K-means

 Phân cụm dữ liệu dựa trên mật độ:

Phương pháp này dựa vào mật độ của các đối tượng để xác định các cụm dữ liệu

và có thể tìm ra các cụm dữ liệu với hình thù bất kỳ. Trong phương pháp phân cụm

này, khi một cụm dữ liệu đã được xác định thì nó tiếp tục phát triển thêm các đối tượng mới miễn là các đối tượng lân cận của đối tượng này phải lớn hơn một ngưỡng

về mật độ cho trước. Tuy nhiên việc xác định trước 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 có ảnh hưởng quan trọng đến chất lượng

phân cụm. Thuật toán tiêu biểu cho phương pháp phân cụm này là DB-Scan. Hình

dưới đây là một số hình ảnh ví dụ về phân cụm dựa trên mật độ.

Hình 15 - Hình vẽ minh họa cho phân cụm dữ liệu dựa trên mật độ.

 Phân cụm phân cấp

Phương pháp phân cụm cây phân cấp xây dựng một cấu trúc cây phân cấp cho

các tài liệu, và có hai phương pháp chính là xây dựng cây theo hướng từ trên xuống

bottom-up, đầu tiên mỗi phần tử được coi như một cụm phân biệt và sau đó tiến hành ghép lần lượt 2 cụm giống nhau nhiều nhất hay khác nhau ít nhất làm một đến khi tất

cả các cụm được ghép vào một cụm duy nhất chứa tất cả các phần tử. Phân cụm phân

cấp bottom-upđược gọi là hierachical agglomerative clustering (HAC). Hình vẽ minh họa cho thuật toán HAC:

Hình 16 -Sơ đồ các phân tử trước khi phân cụm

Hình 17 -Sơ đồ các phần tử sau khi phân cụmphân cấp

Còn vớiphân cụm phân cấp top-down, trạng thái ban đầu là tấtcả các đối tượng

thuộc vào cùng một cụm. Tại mỗi vòng lặp thành công, một cụm được tách 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 là một cụm, hoặc cho đến khi điều kiện dừng thỏa mãn. Cách tiếp cận này sử

dụng chiến lược chia để trị trong quá trình phân cụm.

Chi tiết về HAC

Thuật toán HAC cho phân cụm Web[2] Tham số:

G là tập hợp các cụm.

S là tập các phân hợp các trang Web cần phân cụm.

k là tham số để dừng thuật tóan khi số lượng cụm mong muốn đã được tạo ra.

q là tham số ngưỡng dừng thuật toán khi độ tương tự giữa 2 cụm nhỏ hơn một ngưỡng nào đó.

1. G <- {{d} | d thuộc S } (Khởi tạo G là tập các cụm chỉ gồm một trang Web

trong tập S)

2. Nếu |G| < k thì dừng thuật toán ( Đã được số lượng cụm mong muốn ).

3. Tìm 2 cụm Si và Sj thuộc G sao cho (i,j) = arg max(i,j) sim (Si,Sj) ( Tìm 2 cụm có độ tương tự lớn nhất ).

4. Nếu sim(Si,Sj) < q thì dừng thuật tóan ( độ tương tự của 2 cụm nhở hơn ngưỡng

cho phép )

5. Loại bỏ Si,Sj khỏi G

6. G = G hợp { Si , Sj } (ghép 2 cụm Si,Sj và đưa vào trong tập G )

7. Nhảy đến bước 2

Một số độ đo khoảng cách trong thuật toán HAC:

-Single link hay Single-linkage:

Với phương pháp này, khoảng cách giữa các cụm được định nghĩa là khoảng

cách giữa những đối tượng giống nhau nhất giữa 2 cụm:

D(r,s) = min(d(i,j)) (3.6)

Trong đó:

r,s là 2 cụm.

i,j là 2 đối tượng bất kỳ thuộc 2 cụm r,s.

Với 2 cụm, ta tính tất cả các khoảng cách giữa 2 phần tử bất kỳ thuộc 2 cụm đó

và khoảng cách nhỏ nhất tìm được chính là khoảng cách giữa 2 cụm đó. Tại mỗi bước,

Hình 18 - Phân cụm với Single-linkage -Complete-link:

Với 2 cụm, ta tính tất cả các khoảng cách giữa 2 phần tử bất kỳ thuộc 2 cụm đó

và khoảng cách lớn nhấttìm được chính là khoảng cách giữa 2 cụm đó. Tại mỗi bước, 2 cụm gần nhau nhất sẽ được chọn để ghép lại với nhau.

D(r,s) = max(d(i,j)) (3.7)

Trong đó:

r,s là 2 cụm.

i,j là 2 đối tượng bất kỳ thuộc 2 cụm r,s.

Hình 19 - Phân cụm với Complete-linkage -Group average agglomerative

Phương pháp phân cụm GAAC tính độ tương tự trung bình SIM-GA của tất cả

các cặp văn bản khi ghép tất cả các văn bản của hai cụm vào làm một, trong đó bao

Hình 20 - Trung bình các khoảng cách trong GAAC

(3.8)

Trong đó Ni là số văn bản của cụm i , Nj là số văn bản của cụm j, d là vector

đã được chuẩn hóa của văn bản d.

Một phần của tài liệu LUẬN VĂN: PHÂN BIỆT NHẬP NHẰNG TÊN NGƯỜI TRONG HỆ THỐNG TÌM KIẾM THỰC THỂ ppt (Trang 33 - 38)

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

(50 trang)