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ự kho
Trang 1Đại Học Quốc Gia TP.HCM Trường Đại Học Công Nghệ Thông Tin
THUYẾT TIẾN HÓA TRONG CHUỖI THUẬT TOÁN
GOM CỤM TRUNG TÂM
Người thực hiện: :Dương Trí Dũng
Mã học viên: :CH1301008
TP.HCM – 2014
Trang 2LỜ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
Trang 3LỜ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ý)
Trang 4MỤC LỤC
4
Trang 5LỜ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
Trang 6Chươ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 đượcxem 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
Trang 7Bắ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áchhơ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 laikhô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
Trang 8Chươ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 1829)
(1744-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
Trang 9- 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 chocá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
Trang 10Hì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
Trang 112.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]
Trang 12Nộ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
Trang 13Hì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
Trang 14Nguồ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
Trang 15Hì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
Trang 16tập con, trong đó k là số nguyên dương chọn trước cố định Trong mỗi nhóm có mộtphầ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 X ⊆¡ là một tập điểm cho trước và n = dTì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
Trang 17Bướ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âmcủ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
Trang 18đổ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à pgầ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
Trang 19Bướ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]
Trang 202.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 Cjmpcho 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