1.5.2.1 K-Means bán giám sát với một phần dữ liệu đã gán nhãn:
Seeded-Kmeans và Constrained-Kmeans là hai thuật toán phân cụm bán giám sát điển hình dựa vào dữ liệu đã gắn nhãn, được Basu giới thiệu năm 2002.
Trên cơ sở của tập dữ liệu được gắn nhãn, bài toán phân cụm bán giám sát được đặt ra như sau [2]:
Cho một tập dữ liệu ban đầu N1
i i
X x , gọi SX
là tập giống (tập dữ liệu đã
dán nhãn) trong đó với mỗi đối tượng xj S người dùng cung cấp cho nó một phân
hoạch (cụm) Xh. Giả sử rằng bất kể cụm nào trong X cũng có ít nhất một đối tượng xj thuộc tập giống. Người ta phân hoạch tập giống S thành K cụm giống tách rời K1
h h S
, do đó mọi đối tượng xj Sh đều nằm trong cụm Xh
quyết là từ K cụm giống K1 h h
S chúng ta phải phân hoạch tập dữ liệu X thành K phân hoạch tách rời K1
h h X .
Trong thuật toán seeded-Kmeans dữ liệu đã gắn nhãn do người dùng cung cấp được sử dụng trong công việc khởi tạo tâm các cụm: Tâm khởi tạo cho cụm i là trung bình của các điểm giống có nhãn i. Và các điểm giống chỉ dùng cho công việc khởi tạo, không dùng cho các bước sau, tức là nhãn của các điểm giống có thể thay đổi đổi sau bước khởi tạo.
Thuật toán Constrained-Kmeans có khác một chút là, nhãn của các điểm giống được giữ không đổi trong suốt quá trình phân cụm.
Dưới đây là phác thảo của các thuật toán Seeded-Kmeans và Constrained- KMeans.
Thuật toán: Seeded-KMeans.
Đầu vào: - Tập các đối tượng dữ liệuX x1,...,xN,xid, Số lượng
cụm: K, Tập giống K1
h h
S S
Đầu ra: K phân hoạch tách rời: K1 h h
X của X sao cho hàm mục tiêu được tối ưu.
Các bước: 1.Khởi tạo các cụm: (0) 1 h h x S h x S , với h = 1,...K; t0.
2. Lặp cho tới khi hội tụ
2.1 Gán cụm: Gán mỗi đối tượng dữ liệu x vào cụm h* (tức là tập
* ( 1) 1 K t h h X ) với h* = argmin ( ) 2 || t || h x
2.2. Ước lượng tâm: ( 1)
( 1) ( 1) 1 | | ht t h t x X h x X 2.3 t t+1
Thuật toán: Constrained-KMeans.
Đầu vào: - Tập các đối tượng dữ liệu X x1,...,xN,xid
- Số lượng cụm: K
- Tập giống K1
h h
S S
Đầu ra: K phân hoạch tách rời: K1 h h
X của X sao cho hàm mục tiêu được tối ưu.
Các bước: 1. Khởi tạo các cụm: (0) 1 h h x S h x S , với h = 1,...K; t0.
2. Lặp cho tới khi hội tụ 2.1 Gán cụm:
- Với mỗixS, nếu xSh thì gán x vào cụm h
-Với mỗi xS gán x vào cụm h* , với h* = argmin ( ) 2
||xht ||
2.2. Ước lượng tâm: ( 1)
( 1) ( 1) 1 | | ht t h t x X h x X 2.3 t t+1
Hình 1.15: Thuật toán Constrained-Kmeans
1.5.2.2 K-Means bán giám sát trên cơ sở các ràng buộc:
Thuật toán COP-Kmeans do Wagstaff đề xuất năm 2001, là thuật toán phân cụm bán giám sát trên cơ sở ràng buộc, nhận các thông tin bổ trợ dưới dạng các ràng buộc Must-link (phải cùng cụm) và Cannot-link (không được cùng cụm); và trong suốt quá trình phân cụm các ràng buộc ấy luôn phải được đảm bảo:
Thuật toán chi tiết như ở hình bên dưới và ý tưởng của thuật toán có thể tóm tắt lại như sau:
Khởi tạo: Các tâm cụm được chọn ngẫu nhiên, nhưng phải đảm bảo thỏa mãn mọi ràng buộc must-link nó tham gia (sao cho các phần tử tham gia liên kết must-link với nó không được chọn làm tâm của cụm nào khác nữa).
Thuật toán: Trong suốt bước gán cụm trong COP-Kmeans, một điểm được gán tới cụm gần nó nhất và không vi phạm bất kỳ ràng buộc nào liên quan tới nó. Nếu không tồn tại phép gán, thì bỏ qua.
Thuật toán COP-Kmeans
COP-Kmeans (Tập dữ liệu D, Các ràng buộc must-link Cons_must thuộc DxD, các ràng buộc cannot-link Cons_can’t thuộc DxD)
Bước 1: Gọi C1, C2, …, Ck là k tâm cụm khởi tạo.
Bước 2: Với mỗi điểm di trong D, gán nó tới Cj gần nhất, sao cho
VIOLATE-CONSTRAINTS (di, Cj, Cons_must, Const_can’t) = false. Nếu không tồn tại cụm nào, fail (~ return).
Bước 3: Với mỗi cụm Ci, cập nhật tâm của nó bằng việc tính trung bình các điểm dj được gán tới nó.
Bước 4: Lặp lại (2) và (3) cho tới khi hội tụ Bước 5: Return {C1 …, Ck}
VIOLATE-CONSTRAINTS (điểm dữ liệu d, cụm C, Các ràng buộc must-link Cons_must thuộc DxD, các ràng buộc cannot-link Cons_can’t thuộc DxD)
1. Với mỗi (d, d_must) thuộc Cons_must: nếu d_must không thuộc C, return true. 2. Với mỗi (d, d_can’t) thuộc Cons_can’t: nếu d_must không thuộc C, return true. 3. Nếu khác, return false.
Hình 1.16: Chi tiết thuật toán COP-Kmeans
1.5.2.3 Nhận xét
Hai thuật toán dựa trên tập giống Seeded-KMeans, Constrained-KMeans do Basu đề xuất vào năm 2002 và COP-KMeans do Wagstaff đề xuất năm 2001 [3] là các ví dụ điển hình hiện nay về phân cụm bán giám sát. Các thông tin bổ trợ đều do người dùng cung cấp, như vậy phân cụm bán giám sát thực chất là quá trình kết hợp giữa người và máy để làm tăng chất lượng phân cụm.
Thuật toán COP-KMeans và Constrained-KMeans nói chung có bản chất giống nhau vì thông tin bổ trợ chúng sử dụng đều là tập ràng buộc giữa các cặp đối tượng dữ liệu và các thông tin đó phải được thỏa mãn trong suốt quá trình phân cụm.
CHƯƠNG 2: GIẢI THUẬT DI TRUYỀN
2.1. Giới thiệu
Trong tự nhiên, mỗi cá thể có một tập các tính chất và đặc điểm riêng biệt được thể hiện ra ngoài môi trường gọi là kiểu hình. Kiểu hình này được quyết định bởi cấu trúc của các gene trong cơ thể, được gọi là kiểu gene. Sự đa dạng về kiểu gene của các cá thể dẫn đến sự đa dạng về kiểu hình của một quần thể sinh học. Quá trính phát triển của mỗi quần thể tuân theo quy luật chọn lọc tự nhiên mà tiến hoá qua các thế hệ kế tiếp nhau. Trong đó, các hậu duệ được sinh ra từ thế hệ trước thông qua quá trình sinh sản (di truyền và biến dị) cạnh tranh tự nhiên, cá thể nào có kiểu hình (và do đó là kiểu gene) thích nghi cao hơn với môi trường phát triển thì sẽ có khả năng lớn hơn trong tồn tại và sản sinh con cháu, do đó kiểu gene này tiến hoá và hoàn thiện. Quá trình tiến hoá này được lặp đi lặp lại, các cá thể có kiểu gene phù hợp sẽ sống sót và phát triển, các cá thể yếu sẽ bị loại bỏ.
Dựa vào tư tưởng trên, để giải bài toán tối ưu người ta mã hoá mỗi lời giải tiềm năng dưới dạng thích hợp gọi là một nhiễm sắc thể . Nhờ mô phỏng quá trình chọn lọc tự nhiên trên quần thể nhiễm sắc thể này ta có thể tìm được lời giải của bài toán. Để hiểu rõ GA, trước hết ta làm quen với GA cổ điển.