{x1, x2, x3, x4, x5} {x4, x5} {x1, x2, x3} {x2} {x1, x3} {x4, x5} {x4} {x5} {x2} {x1, x3} {x4} {x5} {x2} {x2} {x2} 0 1 2 3 4
3.4. Lựa chọn phân cụm tốt nhất
Trên đây, chúng ta tập trung vào các thuật toán phân cụm phân cấp. Tiếp theo, chúng ta bàn về cách để xác định phép phân cụm tốt nhất trong một cây phân cấp đã cho. Rõ ràng, điều này tương đương với việc chọn ra các cụm phù hợp với dữ liệu. Một cách tiếp cận bằng trực giác là tìm trong sơ đồ gần gũi các cụm có "thời
gian sống" (lifetime) lớn. "Thời gian sống" của một cụm được định nghĩa là giá trị
tuyệt đối của hiệu giữa các mức độ gần gũi ở đó cụm đó được tạo ra và mức độ gần
gũi ở đó nó bị sáp nhập vào một cụm lớn hơn.
Hình 3-16. Sơ đồ trong trƣờng hợp có hai cụm chính (a) và có cụm duy nhất (b) trong tập dữ liệu.
Ví dụ, sơ đồ 3.16a với hai cụm chính được sinh ra và sơ đồ hình 3.16b có một cụm duy nhất.
Tiếp theo, chúng ta thảo luận hai phương pháp đã được đề xuất trong [5] để xác định phép phân cụm phù hợp với dữ liệu; thích hợp với các thuật toán tích tụ. Thuật toán phân cụm không cần đưa ra toàn bộ cây phân cấp của N cụm, nhưng nó kết thúc khi phép phân cụm phù hợp với dữ liệu đã đạt được theo một tiêu chuẩn.
Phƣơng pháp I: Đây là phương pháp không bản chất, người sử dụng cần: - Xác định giá trị của một tham số đặc trưng.
- Định nghĩa hàm h(C) đo mức độ không tương tự giữa các vector của cùng cụm C. Nghĩa là, chúng ta có thể coi nó như là một độ đo
“tự - tương tự”. Chẳng hạn, có thể định nghĩa h(C) là:
1( ) max{ ( , ) , }
h C d x y x yC (3.28)
hoặc h C2( ) med d x y{ ( , ) , x yC} (3.29)
Hình 3-17. Ví dụ về độ đo “Tự - tương tự” (a) và mô phỏng điều kiện kết thúc của phƣơng pháp II (b)
Khi d là khoảng cách Metric, h(C) được định nghĩa là:
1 ( ) ( , ) 2 C x C y C h C d x y n (3.30) với nC là số phần tử của C.
Đặt θ là ngưỡng của h(C). Khi đó, thuật toán kết thúc ở phép phân cụm t nếu:
Cj t1:h(Cj) (3.31)
Tức là: t là phép phân cụm cuối cùng nếu tồn tại một cụm C trong t1 mà sự không tương tự giữa các vector của nó (h(C)) lớn hơn θ.
Đôi khi, ngưỡng θ được định nghĩa là:
θ = μ + λσ (3.32)
ở đó μ là khoảng cách trung bình giữa hai vector bất kỳ trong X và σ là dung sai của
θ. Tham số λ là tham số do người dùng định nghĩa. Vì vậy, nhu cầu cần chỉ rõ giá trị thích hợp của θ được chuyển thành việc lựa chọn λ. Tuy nhiên, λ có thể được ước lượng hợp lý hơn θ.
Phƣơng pháp II: Đây là phương pháp bản chất; nghĩa là, trong trường hợp này chỉ xem xét cấu trúc của tập dữ liệu X. Theo phương pháp này, phép phân cụm cuối cùng t phải thoả quan hệ sau:
minss ( i, j) max{ ( i), ( j)}, i, j t
d C C h C h C C C (3.33)
Nghĩa là: trong phép phân cụm cụm cuối cùng, mức độ không tương tự giữa hai cụm lớn hơn mức độ “tự - tương tự” của mỗi cụm (xem hình 3.16b). Ở đây minss
d là độ đo gần gũi đã định nghĩa trong chương 1. Chú ý rằng, đây chỉ là điều kiện cần.
Cuối cùng, phải thấy rằng tất cả các phương pháp đó dựa theo kinh nghiệm (heuristic) và chúng chỉ biểu thị phép phân cụm tốt nhất. Kết quả phân cụm cuối cùng phụ thuộc nhiều vào tính chủ qua của các chuyên gia.
1.5 3.5 2.5 4 1 1.8 h1 h2 (a) h(Ci) h(Cj) (b)
Chƣơng 4.
CÁC THUẬT TOÁN PHÂN CỤM QUA TỐI ƢU HOÁ
Trong những thập kỷ cuối cùng của thế kỷ 20, đã có nhiều cách tiếp cận tới bài toán này, bao gồm thống kê, máy học máy, quy hoạch toán học đặc biệt là quy hoạch nguyên và tuyến tính đã được đề xuất và nghiên cứu. Trong số đó, cách tiếp cận dựa trên quy hoạch toán học là có hiệu qủa nhất Chương này trình bày hai phương pháp phân cụm dựa vào tối ưu hoá toàn cục, đó là: Phân cụm bằng quy hoạch toán học [14][16] và qua tối ưu hoá d.c
[9]. Để xác nhận tính hiệu quả theo cách tiếp cận này, luận văn trình bày lại các thí nghiệm bằng số, sử dụng tập dữ liệu trong cơ sở dữ liệu chuẩn đoán ung thư vú của đại học Wisconsin [15].
Trước hết, chúng ta giới thiệu nhanh về tối ưu hoá và các khái niệm cơ bản. Các khái niệm này được lấy trong các tài liệu [1][2][17].
4.1. Tổng quan về tối ƣu hoá và các khái niệm cơ bản
4.1.1. Một số khái niệm trong giải tích lồi
- Tập lồi: Đoạn thẳng [a, b] là tập các điểm xa (1 ) , 0b 1. Hai điểm a, b
là hai đầu mút, các điểm còn lại là các điểm trong của đoạn thẳng.
Một tập lồi là một tập C mà hễ hai điểm a, b thuộc C thì cả đoạn thẳng [a, b] nằm trong C.
- Bao lồi: Bao lồi của tập E là giao của tất cả các tập lồi chứa E (tập nhỏ nhất chứa E).
- Tập Afin: Trong không gian vector hữu hạn chiều, chẳng hạn X = n
R . Cho a, b
thuộc X. Đường thẳng qua a, b là tập các điểm xa (1 ) ,b R. Một tập afin là một tập M mà hễ hai điểm a, b thuộc M thì cả đường thẳng qua a, b cũng thuộc M.
- Tập mở - tập đóng: Tập X trong không gian metric là mở nếu nó không chứa điểm biên nào của nó cả; đóng nếu nó chứa tất cả các điểm biên của nó
- Tập compac: Một tập M trong không gian metric X được gọi là compac nếu mọi dãy {xn} M đều có một dãy con xnk hội tụ đến một điểm thuộc M. Một tập compac M bao giờ cũng là đóng và hoàn toàn bị chặn.
- Hàm lồi – Hàm lõm: Cho X là một không gian vector định chuẩn. Hàm
: [ , ]
f X gọi là hàm lồi nếu
1, 2 , [0,1]: ( 1 (1 ) 2) ( ) (11 ) ( 2)
x x X f x x f x f x
. (4.1) Hàm f gọi là lõm nếu –f là lồi; afin nếu f vừa lồi vừa lõm.
- Hàm D.C (D.C = Difference of two convex function)
Cho một tập lồi C n
R . Hàm h:CR gọi là d.c trên C nếu có hai hàm lồi: : , :
p CR q CR sao cho
( ) : ( ) ( )
h x p x q x với mọi xC. (4.2) Một hàm là d.c trên n
R sẽ được gọi là d.c. Một bất đẳng thức h(x) ≤ 0 được gọi là d.c bất đẳng thức ngược lại gọi là d.c.
- Hàm Lipsít: Cho tập M n
R . Hàm h: Rn R gọi là Lipsít trên M nếu tồn tại hằng số thực L = L(h, M) sao cho
( ) ( ) , , .
h x h y L xy x yM
(4.3) Nếu h(x) ≤ 0 thì gọi là Lipsít bất đẳng thức trên M ngược lại gọi là Lipsít trên M.
- Hàm tuyến tính: Cho không gian vector X. Hàm số f(x) xác định trên X và lấy giá trị là số (thực hay phức, tuỳ theo X là không gian thực hay phức) gọi là tuyến tính nếu
1, 2 , , : ( . 1 . )2 . ( )1 . ( )2
x x X p q f p x q x p f x q f x
(4.4)
Dạng tổng quát của một hàm tuyến tính liên tục trên n
R là f x( ) a x, trong đó a
là một vector nào đó của n
R .
- Hàm song tuyến tính: Cho một không gian định chuẩn X. Hàm số f(x, y) xác định tên X × X gọi là hàm song tuyến tính, nếu với mỗi x cố định nó tuyến tính theo y và với mỗi y cố định nó tuyến tính theo x. Tức là
1, 2, , , : ( . 1 . , )2 . ( , )1 . ( , )2
x x y X p q f p x q x y p f x y q f x y
(4.5)
- Hàm dƣới tuyến tính : Hàm thực ( )x trên một không gian vector X được gọi là dưới tuyến tính, nếu
1 2 1 2
1) (x x )( )x ( )x với mọi x1, x2 X;
4.1.2. Các bài toán tối ƣu 1. Định nghĩa bài toán tối ƣu
Một bài toán tối ưu là một bài toán có dạng
min {f(x) | xC} (4.6) Trong đó C X, là tập chấp nhận được (tập ràng buộc), (X là một không gian nào đó); f :CR là hàm mục tiêu. Mỗi vector x C gọi là một phương án (nghiệm, lời giải) chấp nhận được. Một lời giải x*gọi là tối ưu (hay chính xác hơn, tối ưu toàn cục) nếu
* *
, ( ) ( ) .
x C f x f x x C (4.7) Giá trị của hàm f tương ứng gọi là cực tiểu toàn cục trên C và ký hiệu là minf(C) Tập nghiệm của (4.6) ký hiệu là argminf(C). Điểm x* thoả (4.7) còn được gọi là một
global minimizer của f trên C (theo [17])
Một lời giải xC gọi là tối ưu địa phương (cục bộ) nếu có một lân cận W của x
(tập mở chứa x) sao cho
( ) ( ) W
f x f x x C
Nhiều khi C được cho bởi
C = {x n
R | gi(x) ≤ 0 (i = 1, 2, …, m)} (4.8) với gi : Rn R. Khi ấy các hệ thức gi(x) ≤ 0 (i = 1, …,m) gọi là các ràng buộc. Chú ý: max{ ( ) | f x x } C min{f x( ) | x C} vì vậy chỉ cần bàn về các bài
toán tìm cực tiểu.
2. Các loại bài toán tối ƣu
Tối ưu trong không gian hữu hạn chiều (X là không gian vectơ hữu hạn chiều)
- Tối ưu tuyến tính: f(x) tuyến tính và C là một tập đa diện, tức được cho bởi
(4.8) trong đó các hàm gi(x) afin.
- Tối ưu phi tuyến: lồi, không lồi; trơn, không trên; địa phương, toàn cục.
- Tối ưu rời rạc (tổ hợp): C là một cấu trúc rời rạc.
- Tối ưu đa mục tiêu: không phải chỉ có một hàm mục tiêu duy nhất như trong
bài toán (4.6) mà có một số mục tiêu không tương thích với nhau (nghĩa là không có lời giải nào tối ưu theo mọi mục tiêu), cho nên cần “dung hoà” các mục tiêu theo cách nào hợp lý, hiệu quả nhất.
- Tối ưu nhiều cấp: bài toán gặp trong một hệ thống phân cấp, mà hàm mục
tiêu của cấp cao là f(x, y) phụ thuộc vào hai nhóm biến: x p
R và y q
Cấp cao chỉ trực tiếp kiểm soát x, còn y do cấp dưới quyết định. Khi cấp cao quyết định một giá trị cụ thể của x thì cấp dưới căn cứ theo giá trị đó để lựa chọn phương án tối ưu của bản thân họ. Cấp cao biết bài toán tối ưu của cấp dưới, tức là biết rằng khi cho x thì y là lời giải tối ưu của bài toán này. Vấn đề đặt ra là cấp cao phải tìm x để đạt tối ưu mục tiêu của mình.
Sau đây sẽ trình bày cụ thể hơn về một số bài toán tối ưu thường gặp.
a. Cực tiểu hàm lõm (cực đại hàm lồi)
min { ( ) | f x x } (4.9) trong đó f(x) là hàm lõm, là tập lồi đóng, chẳng hạn = {x | g(x) ≤ 0} với g(x) là một hàm lồi. Đặc biệt quan trọng là trường hợp là tập đa diện.
Đây là bài toán tối ưu toàn cục, vì tính phổ thông của nó, và vì nhiều bài toán tối ưu toàn cục quy về nó hoặc ít nhiều dựa trên phép giải của nó,
b. Bài toán lồi đảo
min { ( ) | f x x , ( )h x 0} (4.10) Trong đó f(x), h(x) là hàm lồi, là tập lồi đóng. Bài toán này chỉ khác quy hoạch lồi ở chỗ có thêm ràng buộc lồi đảo h(x) ≥ 0. Đặt C = {x | h(x) ≤ 0} thì C là tập lồi đóng và bài toán cũng có thể viết thành:
min { ( ) | f x x \ int }C c. Quy hoạch D.C
min { ( ) | f x x ,h xi( ) 0,i1,..., }m (4.11)
Trong đó f(x), hi(x) đều là hàm d.c và là một tập lồi đóng. Vì
( ) 0 ( 1,..., ) min ( ) 0
i i i
h x i m h x cũng là một hàm d.c, cho nên bao giờ cũng có thể đưa bài toán về trường hợp chỉ có một ràng buộc d.c. Như vậy, một quy hoạch d.c có dạng tổng quát (chính tắc):
min { ( ) | f x x , ( )h x 0}
Trong đó f(x), h(x) đều là hàm d.c. Dĩ nhiên cả quy hoạch lõm và lồi đảo đều là trường hợp riêng của quy hoạch d.c. Ngược lại bất kỳ quy hoạch d.c nào cũng có thể đưa về bài toán lồi đảo.
d. Quy hoạch song tuyến tính
min f x y( , ) pxx(Cy)qy (4.12) với x X và y Y; ở đây X, Y là tập các tập đa diện lồi, đóng trong n
R , m R , p n R , q m R , C m n R
Cả hàm mục tiêu và các ràng buộc đều bất kỳ (d.c hoặc không d.c). Nếu hàm mục tiêu và các ràng buộc đều liên tục thì bài toán có thể viết
min { ( ) | f x x D}
Trong đó D là một tập đóng, và bao giờ cũng có thể đưa về trường hợp f(x) tuyến tính. Nhưng cũng có thể chứng minh rằng với mỗi tập đóng D trong n
R có thể tìm được hai hàm lồi g(x), h(x) sao cho D{xRn | ( )g x h x( )0}. Thành thử mọi bài toán tối ưu liên tục có thể quy về tối ưu d.c.
Nêu bài toán có những ràng buộc dạng 0-1: xi {0, 1}, i = 1, …, p thì các ràng buộc này cũng có thể viết lại thành ràng buộc d.c vì
xi 0,1 0 xi 1, (x xi i 1) 0.
Như vậy, trên nguyên tắc mọi bài toán tối ưu rời rạc (tối ưu tổ hợp) đều có thể phát biểu lại thành bài toán tối ưu d.c.
Gần đây, đã đưa ra lý thuyết toàn cục được mô tả bởi những hàm có thể biểu diễn thành hiệu của hai hàm đơn điệu. Hàm đơn điệu nói ở đây là một hàm
: n
f R R có hai tính chất: hễ x’ ≤ x thì f(x’) ≤ f(x) (hàm tăng), hoặc tính chất: hễ x’ ≥ x thì f(x’) ≤ f(x) (hàm giảm).
4.1.3. Một số phƣơng pháp giải quyết bài toán tối ƣu 4.1.3.1. Phân hoạch không gian
Trong các bài toán tối ưu toàn cục vì phải tìm kiếm trên toàn miền ràng buộc cho nên thường phải dùng hai phép toán tổ hợp:
1) Phân hoạch (chia nhỏ) không gian rồi loại dần những miền không hy vọng;
2) Trong mỗi bước có một số lượng lớn các miền nhỏ (tập phân hoạch) cần
khảo sát, nên không thể khảo sát tỉ mỉ ngay tất cả các miền mà phải có một cách ước lượng nhanh để xác định những miền vô dụng và những miền có hy vọng, cần chia nhỏ hơn nữa để khảo sát sâu hơn.
Trước hết là việc phân hoạch không gian. Thường có ba kiểu phân hoạch chính: 1) chia hộp; 2) chia đơn hình; 3)chia nón.
a. Chia hộp (nói rõ hơn: hộp chữ nhật) trong n
R là một tập có dạng 1 [ , ] : | [ , ] n n j j j a b x a x b a b R (4.13)
Khi có một hộp M = [a, b] có thể chia nó ra hai hộp con bằng một siêu phẳng trực giao với một cạnh [aj, bj] (j {1, …, n}) và đi qua một điểm trong v của hộp. Vì chỉ số j và điểm v hoàn toàn xác định siêu phẳng chia nên phép chia gọi là chia theo (v, j). Hai hộp con sinh ra do phép chia đó là
j j, j j.
M xM x v M xM x v (4.14) Ta nói phép chia (v, j) là phép chia chuẩn theo tỷ lệ > 0 nếu cạnh [aj, bj] là cạnh dài nhất của M và nếu
min vja bj, jvj (bjaj).
Một quá trình tìm kiếm toàn cục là một quá trình lặp như sau: Xuất phát từ một hộp đầu tiên M1 (đủ lớn để chắc chắn trong đó có ít nhất một lời giải tối ưu), ta chia nó ra hai hộp con, rồi chọn một trong hai hộp con ấy, chẳng hạn M1, để chia đôi thành hai hộp nhỏ hơn,… Cứ mỗi bước lặp thì đã có sẵn một số hộp (có thể thuộc những thế hệ khác nhau), loại bớt một số hộp tin chắc là vô dụng, rồi chọn một trong các hộp còn lại để chia đôi nữa, v.v… Ký hiệu Mk là hộp được chọn để chia ở bước lặp thứ k. Cứ tiếp tục quá trình đó mãi thì sẽ sinh ra ít nhất một dãy hộp , 1, 2,...,
q k M q sao cho 1 q k M là con của q k
M . (Thật vậy, trong hai hộp của Mk1 phải có một hộp, chẳng hạn Mk2, chứa vô số hộp nhỏ (nghĩa là được chia vô số lần); rồi trong hai hộp con của 2 k M cũng có ít nhất một hộp, 3 k
M , chứa vô số hộp nhỏ, v.v…). Quá trình chia được gọi là vét kiệt nếu mỗi dãy hộp như thế đều teo lại thành một điểm, nghĩa là
* 1 0 ( ), hay q q k k q diam M q M x b. Chia đơn hình
Trong một không gian định chuẩn X ta xét p + 1 điểm 1 2 1
, ,..., p
u u u sao cho các
vector 1 1 2 1 1
, ,...,
p p p p
u u u u u u độc lập tuyến tính (khi ấy ta cũng nói các điểm