Tải bản đầy đủ (.docx) (41 trang)

Tiểu luận môn phương pháp nghiên cứu khoa học THUYẾT TIẾN HÓA TRONG CHUỖI THUẬT TOÁN GOM CỤM TRUNG TÂM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (749.86 KB, 41 trang )

Đại Học Quốc Gia TP.HCM
Trường Đại Học Công Nghệ Thông Tin
***
BÀI THU HOẠCH MÔN
PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC VÀ TƯ
DUY SÁNG TẠO
ĐỀ TÀI:
THUYẾT TIẾN HÓA TRONG CHUỖI THUẬT TOÁN
GOM CỤM TRUNG TÂM
GVHD :GS.TSKH HOÀNG KIẾM
Người thực hiện: :Dương Trí Dũng
Mã học viên: :CH1301008
TP.HCM – 2014
1
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn chân thành đến thầy GS.TSKH Hoàng
Kiếm đã tận tình truyền đạt kiến thức, đóng góp ý kiến cũng như hướng dẫn để em
thực hiện bài thu hoạch này.
Mặc dù đã rất cố gắng nhưng bài thu hoạch khó tránh khỏi những thiếu sót,
em rất mong thầy cô và bạn bè đóng góp ý kiến để bài thu hoạch hoàn thiện hơn.
Tp. HCM, tháng 05 năm 2014
Dương Trí Dũng
2
LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong tiểu luận là trung thực và chưa từng được ai
công bố trong bất kỳ công trình nào khác.
Dương Trí Dũng (đã ký)
3
MỤC LỤC
4


LỜI MỞI ĐẦU
Khoa học máy tính sẽ mở rộng phạm vi hoạt động của mình nếu vận dụng và
phát triển tri thức của các ngành khoa học khác một cách hơp lý. Và khi biết mở
rộng một cách khoa học thì khoa học máy tính sẽ không chỉ dừng lại với tư cách là
một chuyên ngành của ngành công nghệ thông tin mà sẽ là một chuyên ngành cụ thể
hóa sự khoa học của các ngành khoa học khác. Khái niệm “siêu tri thức” đã được
đưa ra trong công nghệ tri thức, hy vọng trong một tương lai không xa, khái niệm
“siêu chuyên ngành” cũng sẽ được đưa ra như là một sự khẳng định vững chắc về
sự hợp tác khoa học giữa những ngành khoa học và sẽ thật sự là một sự tự hào nếu
khoa học máy tính đi đầu để đặt nền móng cho điều này.
5
Chương 1. TỔNG QUAN VỀ THUYẾT TIẾN HÓA VÀ CÁC
GIẢI THUẬT GOM CỤM
Năm 1859 cuốn sách “Nguồn gốc muôn loài” của Charles Darwin được xuất
bản. Đây có thể được coi là một trong các ấn phẩm khoa học tiêu biểu và cũng được
xem là xương sống của sinh học tiến hóa.
Lập luận của Darwin về quá trình tiến hóa đơn giản đến mức, ngày nay dưới
góc nhìn của sinh học hiện đại những lập luận đó dường như thật hiển nhiên. Nhưng
ở thời điểm bấy giờ, những lập luận đó vẫn chứa nhiều lỗ hổng, chưa đạt được sự
bền vững và những bằng chứng đưa ra cũng chưa thật sự thuyết phục. Chính vì thế,
ngay trong giới khoa học đương đại, ông nhận được không ít sự phản biện và phản
đối quyết liệt.
Không chỉ dừng lại ở đó, không chỉ phải đối mặt với nhiều vấn đề của khoa
học, ông còn phải chịu áp lực rất lớn từ tôn giáo. Trở lại thời gian trước lúc “Nguồn
gốc muôn loài” được xuất bản, vào thời điểm này Darwin có thật sự biết rằng sẽ có
vô vàng sự chỉ trích và áp lực từ khoa học đến tôn giáo giành cho ông hay không ?
Có lẻ đối với bản thân Darwin câu trả lời cho câu hỏi trên là không quan trọng vì
đơn giản Darwin tin rằng các nhà khoa học ủng hộ ông trong thời điểm hiện tại và
các nhà khoa học ủng hộ ông trong tương lai sẽ tiếp tục hoàn thành và chứng minh
những nguyên lý cơ bản mà ông đã hình dung trong “Nguồn gốc muôn loài”.

Và kết quả là hơn 155 năm đã trôi qua, tại đây, ở thời điểm này “Darwin và
Nguồn gốc muôn loài” đã chiến thắng. Hơn 155 năm qua, ngành sinh học nói chung
và sinh học tiến hóa nói riêng đã làm được những điều mà Darwin tin tưởng và kỳ
vọng.
Ngày nay, trong sự phát triển của khoa học máy tính, nhiều phương pháp và
thuật toán phụ vụ công nghệ thông tin ra đời có nguồn gốc từ toán học, vật lý học,
hóa học, sinh học … Trong đó nổi bậc lên là các thuật toán được tạo thành từ học
thuyết tiến hóa như: thuật giải di truyền, hay các thuật giải mô tả lại hoạt động của
các loài vật trong tự nhiên như: thuật toán đàn kiến, đàn ong đã tạo ra rất nhiều cảm
hứng cho khoa học máy tính.
6
Bắt đầu từ giai đoạn này, khoa học máy tính sẽ mở rộng phạm vi hoạt động
của mình nếu vận dụng và phát triển tri thức của các ngành khoa học khác một cách
hơp lý. Và khi biết mở rộng một cách khoa học thì khoa học máy tính sẽ không chỉ
dừng lại với tư cách là một chuyên ngành của ngành công nghệ thông tin mà sẽ là
một chuyên ngành cụ thể hóa sự khoa học của các ngành khoa học khác. Khái niệm
“siêu tri thức” đã được đưa ra trong công nghệ tri thức, hy vọng trong một tương lai
không xa, khái niệm “siêu chuyên ngành” cũng sẽ được đưa ra như là một sự khẳng
định vững chắc về sự hợp tác khoa học giữa những ngành khoa học và sẽ thật sự là
một sự tự hào nếu khoa học máy tính đi đầu để đặt nền móng cho điều này.
Xét riêng về chuyên ngành sinh học tiến hóa, thử thách lớn nhất của chuyên
ngành này ở thời điểm này là việc dự báo về tiến hóa. Đã có nhiều bài báo và công
trình khoa học cho giả định về sự tiếng hóa như: tương lai về sự tiến hóa của con
người sau 1 triệu năm, hoặt sự phát triển của các loài về hình dáng sau 1 triểu năm,
hay đây có phải là hình dáng ổn định cuối cùng của loài người hay chưa ? Tất cả chỉ
là giả thuyết.
Khoa học máy tính cũng là một chuyên ngành khoa học như các ngành khác,
ngoài việc vận dụng các công trình khoa học của ngành, nếu biết vận dụng và phát
triển các thành quả của chuyên ngành khác một cách hợp lý thì kết quả tạo ra là
không có giới hạn.

Tiểu luận này sẽ đưa ra góc nhìn của sinh học tiến hóa thông qua các thuật
toán của loại giải thuật gom cụm trung tâm, dưới góc nhìn của một chuyên ngành
tương đối có bề dành lịch sự như sinh học tiến hóa, góc nhìn sẽ rất khác biệt.
7
Chương 2. CHUỖI THUẬT TOÁN GOM CỤM DƯỚI GÓC
NHÌN CỦA HỌC THUYẾT TIẾN HÓA
2.1. Giới thiệu các học thuyết tiến hóa
2.1.1. Học thuyết tiến hóa của Jean-Baptiste Lamarck (1744-
1829)
Hình 2.1. Jean-Baptiste Lamarch
Nguồn: Jean-Baptiste-Pierre-Antoine de Monet theo [8]
Học thuyết tiến hóa của Lamarch được tóm tắt như sau: [7]
Tiến hóa không đơn thuần là sự biến đổi mà là sự phát triển có kế thừa lịch
sử.
Dấu hiệu của tiến hóa: sự nâng cao dần trình độ tổ chức của cơ thể từ đơn
giản đến phức tạp.
8
- Nguyên nhân tiến hoá: Sự thay đổi chậm chạp và liên tục của môi trường
sống hoặc thay đổi tập quán hoạt động ở động vật.
- Cơ chế: Mỗi sinh vật đều chủ động thích ứng với sự thay đổi của môi
trường sống bằng cách thay đổi tập quàn hoạt động của các cơ quan. Cơ quan nào
hoạt động nhiều thì liên tục phát triển, cơ quan nào không hoạt động thì cơ quan đó
dần tiêu biến.
- Sự hình thành đặc điểm thích nghi: Do sự tương tác của sinh vật với môi
trường theo kiểu "sử dụng hay không sử dụng các cơ quan" luôn được di truyền cho
các thế hệ sau.
- Hình thành loài mới
Loài mới được hình thành từ một loài tổ tiên ban đầu do môi trường
thay đổi theo những hướng khác nhau nên lâu ngày các sinh vật sẽ "tập luyện" để
thích ứng với các môi trường mới.

Ví dụ: Sự hình thành loài hươu cao cổ từ loài hươu cổ ngắn: Dưới
thấp không còn lá cây (môi trường sống thay đổi) → Hươu phải chủ động vươn cổ
lên cao để lấy lá trên cao (thay đổi tập quán hoạt động của cổ) → Cổ dài dần do
hoạt động nhiều và di truyền cho đời sau → Thế hệ kế tiếp, lá cây dưới thấp ngày
một khan hiếm nên hươu tiếp tục vươn cổ cao hơn để lấy lá cây trên cao hơn. Cứ
như vậy qua nhiều thế hệ, loài hươu cổ ngắn dần dần thành loài hươu cổ dài.
9
Hình 2.2. Hình ảnh tiêu biểu cho thuyết tiến hóa của Lamarch
Nguồn: TEORÍA DE DARWIN. DARWINISMO theo [9]
10
2.1.2. Học thuyết tiến hóa của Charles Darwin (1809-1882)
Hình 2.3. Charles Darwin
Nguồn: Charles Darwin, the Copley Medal and the Rise of Naturalism theo [10]
Học thuyết tiến hóa của Darwin được tóm tắt như sau: [7]
- Biến dị và di truyền:
Biến dị cá thể (gọi tắt là biến dị) chỉ sự phát sinh những đặc điểm sai
khác giữa các cá thể cùng loài trong quá trình sinh sản.
Tính di truyền: là cơ sở cho sự tích lũy các biến dị nhỏ thành biến đổi
lớn.
- Chọn lọc nhân tạo (CLNT)
11
Nội dung: Vừa đào thải những biến dị bất lợi, vừa tích lũy những biến
dị có lợi cho con người.
Động lực: Nhu cầu thị hiếu của con người.
Kết quả: Tạo ra các giống vật nuôi hay cây trồng thích nghi cao độ
với nhu cầu xác định của người.
Vai trò: Là nhân tố chính qui định chiều hướng và tốc độ biến đổi của
các giống vật nuôi, cây trồng.
- Chọn lọc tự nhiên (CLTN)
Nội dung: Vừa đào thải những biến dị bất lợi, vừa tích lũy những biến

dị có lợi cho sinh vật.
Động lực: Đấu tranh sinh tồn.
Kết quả: Phân hóa khả năng sống sót và sinh sản của các cá thể trong
quần thể.
Vai trò: Là nhân tố chính qui định sự hình thành các đặc điểm thích
nghi trên cơ thể sinh vật.
Sự hình thành loài mới: Loài mới được hình thành qua nhiều dạng
trung gian dưới tác dụng của CLTN theo con đường phân li tính trạng từ 1 gốc
chung.
12
Hình 2.4. Chọn lọc tự nhiên
Nguồn: Mechanisms of evolution (4 of 4) Natural selection theo [11]
2.1.3. Học thuyết biến dị của Hugo de Vries (1818–1900)
Hình 2.5. Hugo de Vries
13
Nguồn: From Wikimedia Commons, the free media repository theo [12]
Học thuyết biến dị của Hugo de Vries được tóm tắt như sau [13]:
Đột biến để chỉ những biến đổi xảy ra đột ngột của tính trạng di truyền và
xây dựng thuyết đột biến trên cơ sở nghiên cứu các loài thuộc Oenothera.
Nhiều nghiên cứu về sau đã phát hiện tác dụng gây đột biến của các tia phóng xạ và
nhiều chất hóa học. Các đột biến nhân tạo cũng đã thúc đẩy phát triển di truyền học
và ứng dụng trong chọn giống.
- Biến dị sinh học là những biến đổi mới mà cơ thể sinh vật thu được do tác
động của các yếu tố môi trường và do quá trình tái tổ hợp di truyền.
- Các loại biến dị
Biến dị không di truyền (gọi Thường biến): là những biến đổi liên
quan đến kiểu hình, không liên quan gì tới vật chất di truyền.
Biến dị di truyền: là những biến đổi có liên quan tới vật chất di truyền,
gồm:
Biến dị đột biến: những biến đổi có tính chất hoá học vật liệu

di truyền.
Biến dị tái tổ hợp: những tổ hợp sắp xếp gen mới mà đời con
thu được khác với bố mẹ do sự phân ly độc lập và sự trao đổi chéo của các gen.
Biến dị cá thể: là mức phản ứng của các tính trạng di truyền
trong vòng sống cá thể (có thể là thường biến hoặc đột biến).
14
Hình 2.6. Hình ảnh biến dị trong thí nghiệm của Hugo de Vries
Nguồn: Heredity and Genetics: The Dialogue Continued theo [14]
2.2. Giới thiệu các giải thuật gom cụm
2.2.1. Thuật toán K-Mean
Thuật toán phân cụm k-means do MacQueen đề xuất trong lĩnh vực thống
kê năm 1967 [1]. Đây là thuật toán truyền thống được sử dụng phổ biến. Ý tưởng
của phương pháp này là từ tập ban đầu ta tìm một phép phân hoạch nó vào trong k
15
tập con, trong đó k là số nguyên dương chọn trước cố định. Trong mỗi nhóm có một
phần tử đặc biệt đại diện cho nhóm, gọi là trọng tậm của nhóm. Một phần tử được
xem xét có thuộc vào một nhóm nào đó hay không tùy thuộc vào khoảng cách từ nó
đến phần tử trọng tâm.
Thuật toán K-means là một phương pháp giải bài toán K-means ứng dụng
trong phân hoạch dữ liệu,thuật toán được sử dụng rất rộng rãi hiện nay. Bài toán K-
means được phát biểu như sau: Cho
d
X

¡
là một tập điểm cho trước và n = .
Tìm một cách phân hoạch tập X thành , ,…, và gán cho mỗi tập một
tâm sao cho hàm “chi phí K-means” = đạt cực
tiểu, trong đó là chuẩn . [2]
Để thuận tiện ta quy ước một số ký hiệu như sau là lực lượng của tập hợp,

là chuẩn , gọi S là một tập điểm trong không gian có trọng tâm c(S) được
xác định bởi c(S) = . Gọi X là tập cần phân hoạch, ký hiệu là
một phân hoạch bất kỳ của tập X, là một phân hoạch tối ưu của bài toán K-
means, cho một phân hoạch bất kỳ với hàm =
tương ứng gọi là hàm chi phí K-means và với ta có
hàm chi phí K-means tối ưu , ta gọi là các cluster. [2]
Thuật toán được mô tả như sau:
INPUT: Một CSDL gồm n đối tượng và số các cụm k.
OUTPUT: Các cụm Ci (i=1, ,k) sao cho hàm tiêu chuẩn E đạt giá trị tối thiểu.
Bước 1: Khởi tạo Chọn k đối tượng mj (j=1 k) là trọng tâm ban đầu của k cụm từ
tập dữ liệu (việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm).
16
Bước 2: Tính toán khoảng cách Đối với mỗi đối tượng Xi (1 ≤ i ≤ n) , tính toán
khoảng cách từ nó tới mỗi trọng tâm mj với j=1, ,k, sau đó tìm trọng tâm gần nhất
đối với mỗi đối tượng.
Bước 3: Cập nhật lại trọng tâm Đối với mỗi j=1, ,k, cập nhật trọng tâm cụm mj
bằng cách xác định trung bình cộng của các vector đối tượng dữ liệu.
Bước 4: Điều kiện dừng Lặp các bước 2 và 3 cho đến khi các trọng tâm của cụm
không thay đổi.
Hình 2.7. Hình vẽ mô phỏng thuật toán K-Mean
Nguồn: Hình dạng cụm dữ liệu được khám phá bởi k-means theo [1]
2.2.2. Thuật toán K-Mediod
Được Kuafman và Roosseew đề xuất năm 1987, Thuật toán K-Medoids có
khả năng khắc phục được nhiễu bằng cách chọn đối tượng ở gần cụm nhất làm đại
diện cho cụm đó [15].
Vẫn dựa hoàn toàn trên tương tưởng của thuật toán K-Mean nhưng thay đổi
cách xác định tâm của mỗi cụm. Cụ thể như sau: Để tìm ra k cụm với n đối tượng
thì k-medoids chọn ngẫu nhiên k đối tượng vào k cụm, coi mỗi đối tượng này là tâm
của cụm. Phân bổ các đối tượng còn lại vào cụm mà sự khác nhau của nó với đối
tượng tâm của cụm là ít nhất (từ nay gọi là gần nhất). Sau đó lặp lại quá trình: Thay

17
đổi đối tượng tâm của mỗi cụm sao cho chất lượng của cụm được cải thiện. Chất
lượng của cụm được lượng giá bởi một hàm đo sự khác nhau giữa một đối tượng và
đối tượng tâm của cụm chứa nó. Quá trình lặp cho đến khi không còn sự thay đổi
nào về lực lượng cũng như hình dạng của các cụm. Để chọn một đối tượng không là
đối tượng tâm Orandom thay thế tốt cho một đối tượng tâm Oj thì mỗi đối tượng p
xét theo 4 trường hợp sau đây [15]:
Trường hợp 1: p đang thuộc vào cụm có tâm là Oj (từ nay gọi là cụm Oj).
Nếu Oj được thay thế bởi Orandom và p gần nhất với Oi (i≠j) thì p được gán lại
vào Oi.
Trường hợp 2: p đang thuộc vào Oj. Nếu Oj được thay thế bởi Orandom và p
gần nhất với Orandom thì p được gán lại vào Orandom.
Trường hợp 3: p đang thuộc vào Oi (i≠j). Nếu Oj được thay thế bởi
Orandom và p vẫn gần nhất với Oi thì không thay đổi gì cả. Tức là p vẫn thuộc Oi.
Trường hợp 4: p đang thuộc vào Oi (i≠j). Nếu Oj được thay thế bở Orandom
và p gần nhất với Orandom thì p được gán lại vào Orandom.
Hình 2.8. Bốn trường hợp xảy ra khi xác định tâm điểm mới cho mỗi cụm
Nguồn: Bốn trường hợp xảy ra khi xác định tâm điểm mới cho mỗi cụm theo [3]
18
Thuật toán:
Bước 1: Chọn k đối tượng bất kì vào k cụm. Coi mỗi đối tượng này là tâm của
nhóm.
Bước 2: Lặp
Bước 3: Gán mỗi đối tượng còn lại vào một cụm mà nó gần với đối tượng tâm của
cụm nhất.
Bước 4: Chọn ngẫu nhiên một đối tượng không là đối tượng tâm, Orandom.
Bước 5: Tính lại giá trị, S, đối với việc đổi Oj với Orandom.
Bước 6: Nếu S<0 thì đổi Oj với Orandom để tạo ra một tập với đối tượng tâm mới.
Bước 7: Đến khi không có sự thay đổi nào nữa thì dừng.
Ví dụ: Giả sử trong không gian hai chiều cho n = 10 điểm, cần chia thành k =

2 cụm.
Hình 2.9. Các bước thực hiện của k-medoids
Nguồn: Các bước thực hiện của k-medoids theo [3]
19
2.2.3. Thuật toán PAM (Partitioning Around Medoids)
Thuật toán PAM (Partitioning Around Medoids) được Kaufman và
Rousseeuw đề xuất 1987, là thuật toán mở rộng của thuật toán k-means, nhằm có
khả năng xử lý hiệu quả đối với dữ liệu nhiễu hoặc các phần tử ngoại lai. Thay vì sử
dụng các trọng tâm như k-means, PAM sử dụng các đối tượng medoid để biểu diễn
cho các cụm dữ liệu, một đối tượng medoid là đối tượng đặt tại vị trí trung tâm nhất
bên trong của mỗi cụm. Vì vậy, các đối tượng medoid ít bị ảnh hưởng của các đối
tượng ở rất xa trung tâm, trong khi đó các trọng tâm của thuật toán k-means lại rất
bị tác động bởi các điểm xa trung tâm này. Ban đầu, PAM khởi tạo k đối tượng
medoid và phân phối các đối tượng còn lại vào các cụm với các đối tượng medoid
đại diện tương ứng sao cho chúng tương tự với đối tượng medoid trong cụm nhất
[17].
Để xác định các medoid, PAM bắt đầu bằng cách lựa chọn k đối tượng
medoid bất kỳ. Sau mỗi bước thực hiện, PAM cố gắng hoán chuyển giữa đối tượng
medoid Om và một đối tượng Op không phải là medoid, miễn là sự hoán chuyển
này nhằm cải tiến chất lượng của phân cụm, quá trình này kết thúc khi chất lượng
phân cụm không thay đổi. Chất lượng phân cụm được đánh giá thông qua hàm tiêu
chuẩn, chất lượng phân cụm tốt nhất khi hàm tiêu chuẩn đạt giá trị tối thiểu [17].
Để quyết định hoán chuyển hai đối tượng Om và Op hay không, thuật toán
PAM sử dụng giá trị tổng chi phí hoán chuyển Cjmp làm căn cứ [17]:
- Om: Là đối tượng medoid hiện thời cần được thay thế
- Op: Là đối tượng medoid mới thay thế cho Om;
- Oj: Là đối tượng dữ liệu (không phải là medoid) có thể được di
chuyển sang cụm khác.
- Om,2: Là đối tượng medoid hiện thời khác với Om mà gần đối
tượng Oj nhất.

Bốn trường hợp như mô tả trong thí dụ trên, PAM tính giá trị hoán đổi Cjmp
cho tất cả các đối tượng Oj. Cjmp ở đây nhằm để làm căn cứ cho việc hoán
chuyển giữa Om và Op. Trong mỗi trường hợp Cjmp được tính với 4 cách khác
20
nhau như sau [17]:
- Trường hợp 1: Giả sử Oj hiện thời thuộc về cụm có đại diện là Om
và Oj tương tự với Om,2 hơn Op (d(Oj, Op) ≥ d(Oj, Om,2)). Trong khi đó, Om,2 là
đối tượng medoid tương tự xếp thứ 2 tới Oj trong số các medoid. Trong trường hợp
này, ta thay thế Om bởi đối tượng medoid mới Op và Oj sẽ thuộc về cụm có đối
tượng đại diện là Om,2. Vì vậy, giá trị hoán chuyển Cjmp được xác định như sau:
Cjmp = d(Oj, Om,2) – d(Oj, Om). Giá trị Cjmp là không âm.
Hình 2.10. Trường hợp Cjmp=d(Oj,Om,2) – d(Oj, Om) không âm
Nguồn: Trường hợp Cjmp=d(Oj,Om,2) – d(Oj, Om) không âm theo [3]
- Trường hợp 2: Oj hiện thời thuộc về cụm có đại diện là Om, nhưng
Oj ít tương tự với Om,2 so với Op (d(Oj,Op)< d(Oj,Om,2)). Nếu thay thế Om bởi
Op thì Oj sẽ thuộc về cụm có đại diện là Op. Vì vậy, giá trị Cjmp được xác định
như sau: Cjmp=(Oj,Op)- d(Oj, Om). Cjmp ở đây có thể là âm hoặc dương.
21
Hình 2.11. Trường hợp Cjmp= d(Oj,Op)- d(Oj, Om) có thể âm hoặc dương
Nguồn: Trường hợp Cjmp= d(Oj,Op)- d(Oj, Om) có thể âm hoặc dương theo [3]
- Trường hợp 3: Giả sử Oj hiện thời không thuộc về cụm có đối tượng
đại diện là Om mà thuộc về cụm có đại diện là Om,2. Mặt khác, giả sử Oj tương tự
với Om,2 hơn so với Op, khi đó, nếu Om được thay thế bởi Op thì Oj vẫn sẽ ở lại
trong cụm có đại diện là Om,2. Do đó: Cjmp= 0.
22
Hình 2.12. Trường hợp Cjmp bằng không
Nguồn: Trường hợp Cjmp bằng không theo [3]
- Trường hợp 4: Oj hiện thời thuộc về cụm có đại diện là Om,2 nhưng
Oj ít tương tự tới Om,2 hơn so với Op. Vì vậy, nếu ta thay thế Om bởi Op thì Oj sẽ
chuyển từ cụm Om,2 sang cụm Op. Do đó, giá trị hoán chuyển Cjmp được xác định

là: Cjmp= d(Oj,Op)- d(Oj, Om,2). Cjmp ở đây luôn âm.
Hình 2.13. Trường hợp Cjmp= d(Oj,Op)- d(Oj, Om,2) luôn âm
Nguồn: Trường hợp Cjmp= d(Oj,Op)- d(Oj, Om,2) luôn âm theo [3]
Thuật toán PAM gồm các bước thực hiện chính như sau [16], [17]:
INPUT: Tập dữ liệu có n phần tử, số cụm k
OUTPUT: k cụm dữ liệu sao cho chất lượng phân hoạch là tốt nhất.
Bước 1: Chọn k đối tượng medoid bất kỳ;
Bước 2: Tính TCmp cho tất cả các cặp đối tượng Om, Op. Trong đó Om là đối
tượng medoid và Op là đối tượng không phải là modoid.
23
Bước 3: Với mỗi cặp đối tượng Om và Op. Tính minOm, minOp, TCmp. Nếu
TCmp là âm, thay thế Om bởi Op và quay lại bước 2. Nếu TCmp dương, chuyển
sang bước 4.
Bước 4: Với mỗi đối tượng không phải là medoid, xác định đối tượng medoid
tương tự với nó nhất đồng thời gán nhãn cụm cho chúng.
2.2.4. Thuật toán CLARA
CLARA (Clustering LARge Application) được Kaufman và Rousseeuw đề
xuất năm 1990, thuật toán này nhằm khắc phục nhược điểm của thuật toán PAM
trong trường hợp giá trị của k và n lớn. CLARA tiến hành trích mẫu cho tập dữ liệu
có n phần tử và áp dụng thuật toán PAM cho mẫu này và tìm ra các các đối tượng
medoid của mẫu này. Người ta thấy rằng, nếu mẫu dữ liệu được trích một cách ngẫu
nhiên, thì các medoid của nó xấp xỉ với các medoid của toàn bộ tập dữ liệu ban đầu.
Để tiến tới một xấp xỉ tốt hơn, CLARA đưa ra nhiều cách lấy mẫu rồi thực hiện
phân cụm cho mỗi trường hợp này và tiến hành chọn kết quả phân cụm tốt nhất khi
thực hiện phân cụm trên các mẫu này. Để cho chính xác, chất lượng của các cụm
được đánh giá thông độ phi tương tự trung bình của toàn bộ các đối tượng dữ liệu
trong tập đối tượng ban đầu. Kết quả thực nghiệm chỉ ra rằng, 5 mẫu dữ liệu có kích
thước 40+2k cho các kết quả tốt. Các bước thực hiện của thuật toán CLARA như
sau [17]:
INPUT: CSDL gồm n đối tượng, số cụm k.

OUTPUT: k cụm dữ liệu
1. For i = 1 to 5 do Begin
2. Lấy một mẫu có 40 + 2k đối tượng dữ liệu ngẫu nhiên từ tập dữ liệu và áp
dụng thuật toán PAM cho mẫu dữ liệu này nhằm để tìm các đối tượng medoid đại
diện cho các cụm.
3. Đối với mỗi đối tượng Oj trong tập dữ liệu ban đầu, xác định đối tượng
medoid tương tự nhất trong số k đối tượng medoid.
4. Tính độ phi tương tự trung bình cho phân hoạch các đối tượng dành ở
bước trước, nếu giá trị này bé hơn giá trị tối thiểu hiện thời thì sử dụng giá trị này
24
thay cho giá trị tối thiếu ở trạng thái trước, như vậy tập k đối tượng medoid xác
định ở bước này là tốt nhất cho đến thời điểm hiện tại.
End;
2.2.5. Thuật toán CLARANS
Thuật toán CLARANS được Ng & Han đề xuất năm 1994, nhằm để cải tiến
cho chất lượng cũng như mở rộng áp dụng cho tập dữ liệu lớn. CLARANS cũng sử
dụng các đối tượng trung tâm medoids làm đại diện cho các cụm dữ liệu.
Như đã biết, PAM là thuật toán phân hoạch có kiểu k-medoids. Nó bắt đầu
khởi tạo k tâm đại diện medoid và liên tục thay thế mỗi tâm bởi một đối tượng khác
trong cụm cho đến khi là tổng khoảng cách của các đối tượng đến tâm cụm không
giảm. CLARANS là thuật toán phân cụm dữ liệu kết hợp thuật toán PAM với chiến
lược tìm kiếm kinh nghiệm mới. Ý tưởng cơ bản của CLARANS là không xem xét
tất cả các khả năng có thể thay thế các đối tượng tâm medoids bởi một đối tượng
khác, nó ngay lập tức thay thế các đối tượng tâm này nếu việc thay thế này có tác
động tốt đến chất lượng phân cụm chứ không cần xác định cách thay thế tối ưu
nhất. Một phân hoạch cụm phát hiện được sau khi thay thế đối tượng trung tâm
được gọi là láng giềng (Neighbor) của phân hoạch cụm trước đó. Số các láng giềng
được hạn chế bởi tham số do ngừơi dùng đưa vào là Maxneighbor, quá trình lựa
chọn các láng giềng này là hoàn toàn ngẫu nhiên. Tham số Numlocal cho phép
người dùng xác định số vòng lặp tối ưu cục bộ được tìm kiếm. Không phải tất cả

các láng giềng được duyệt mà chỉ có Maxneighbor số láng giềng được duyệt [5].
CLARANS không thích hợp với tập dữ liệu lớn bởi vì nó lấy phần nhỏ
của toàn bộ tập dữ liệu và phần này được chọn để đại diện toàn bộ tập dữ liệu
và thực hiện sau đó. CLARANS không bị giới hạn không gian tìm kiếm như
đối với CLARA, và trong cùng một lượng thời gian thì chất lượng của các
cụm phân được là lớn hơn CLARA [4].
Một số khái niệm sử dụng trong thuật toán CLARANS được định nghĩa như
sau:
25

×