CÁC YÊU CẦU CỦA PHÂN CỤM DỮ LIỆU Phân cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những ứng dụng tiềm năng của chúng được đưa ra ngay chính trong những yêu cầu đặc biệt của ch
Trang 1TRẦN ĐỨC THUẬN
PHÂN CỤM DỮ LIỆU VÀ ỨNG DỤNG TRONG PHÂN LOẠI CẤU TRÚC PROTEIN
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2012
Trang 2TRẦN ĐỨC THUẬN
PHÂN CỤM DỮ LIỆU VÀ ỨNG DỤNG TRONG PHÂN LOẠI CẤU TRÚC PROTEIN
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: PGS.TS ĐOÀN VĂN BAN
THÁI NGUYÊN - 2012
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan bản luận văn “Phân cụm dữ liệu và ứng dụng trong phân
loại cấu trúc protein" là công trình nghiên cứu riêng của tôi Các số liệu trong
luận văn được sử dụng trung thực Kết quả nghiên cứu được trình bày trong luận văn này chưa từng được công bố tại bất kỳ công trình nào khác
Tôi cũng xin chân thành cảm ơn các thầy cô trong Viện Công nghệ Thông tin, các thầy cô trong Trường Công Nghệ Thông Tin và Truyền thông Thái Nguyên, thầy giáo Trần Đăng Hưng - Giảng viên Khoa Công nghệ thông tin và Trung tâm khoa học tính toán, Đại học Sư phạm Hà Nội, các bạn bè, đồng nghiệp tại Trung tâm Thông tin Công nghệ - Sở Khoa học Công nghệ Thái Nguyên, Cục Dự trữ Nhà nước khu vực Bắc Thái đã giúp đỡ tôi rất nhiều trong quá trình học tập, sưu tầm, tìm tòi tài liệu và trong công tác để tôi
có thể hoàn thành bản luận văn này
Tôi xin bày tỏ lòng kính trọng, và biết ơn sâu sắc tới PGS.TS Đoàn Văn
Ban, người đã trực tiếp hướng dẫn, giúp đỡ tôi trong suốt thời gian thực hiện
luận văn này
Thái Nguyên, tháng 08 năm 2012
Học viên
Trần Đức Thuận
Trang 4MỤC LỤC
Lời cam đoan i
Mục lục ii
Danh mục bảng biểu v
Danh mục các hình v
Mở đầu 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 1
3 Phương pháp nghiên cứu 2
4 Tổng quan luận văn 2
CHƯƠNG 1 - TỔNG QUAN LÝ THUYẾT VỀ PHÂN CỤM DỮ LIỆU 3
1.1 Tổng quan về phân cụm dữ liệu 3
1.2 Phân cụm trong phân loại dữ liệu 4
1.3 Các yêu cầu của phân cụm dữ liệu 6
1.4 Các kiểu dữ liệu trong phân cụm 8
1.4.1 Phân loại kiểu dữ liệu dựa trên kích thước miền 9
1.4.2 Phân loại kiểu dữ liệu dựa trên hệ đo 9
1.5 Các phép đo độ tương tự và khoảng cách đối với các kiểu dữ liệu 10
1.5.1 Khái niệm tương tự và phi tương tự 10
1.5.2 Thuộc tính khoảng cách 11
1.5.3 Thuộc tính nhị phân 13
1.5.4 Thuộc tính định danh 15
1.5.5 Thuộc tính có thứ tự 16
1.5.6 Thuộc tính tỉ lệ 16
1.6 Kết luận chương 17
CHƯƠNG 2 - KỸ THUẬT PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN LOẠI CẤU TRÚC PROTEIN 18
2.1 Giới thiệu 18
2.2 Thuật toán K-means 18
2.3 Thuật toán PAM 22
2.4 Thuật toán CLARA 24
Trang 52.6 Kết luận chương 28
CHƯƠNG 3 - TIN SINH HỌC VÀ PHÂN LOẠI CẤU TRÚC PROTEIN 29
3.1 Tổng quan về tin sinh học 29
3.1.1 Chủ thuyết trung tâm của sinh học phân tử 29
3.1.2 DNA (DesoxyriboNucleic Acid) 30
3.1.3 RNA (RiboNucleic Acid) 31
3.1.4 Protein 31
3.1.5 Các dạng protein 32
3.2 Các phương pháp phân loại cấu trúc protein 34
3.2.1 Phân loại cấu trúc với SCOP 38
3.2.2 Phân loại cấu trúc với CATH 39
3.2.3 Phân loại cấu trúc với phân loại miền Dali (DDD) 40
3.3 Kết luận chương 41
CHƯƠNG 4 - CHƯƠNG TRÌNH DEMO VỚI PHẦN MỀM CLUSTERS 3.0 42
4.1 Phần mềm Clusters 3.0 42
4.1.1 Yêu cầu phần cứng 42
4.1.2 Nguồn dữ liệu demo chương trình 42
4.1.3 Sử dụng thư viện phân cụm 42
4.2 Sử dụng thuật toán K-mean, K-medians 43
4.2.1 Khởi tạo 43
4.2.2 Tìm trọng tâm cụm 44
4.2.3 Tìm trung bình cụm, hoặc trung vị cụm 44
4.2.4 Tìm giải pháp tối ưu với K-means và K-medians 46
4.3 Phần mềm demo 48
4.3.1 Đầu vào của chương trình 48
4.3.2 Giao diện một số chức năng chính của chương trình 49
4.3.3 Tệp đầu ra của chương trình 52
KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU 53
Kết luận 53
Hướng nghiên cứu trong thời gian tới 53
TÀI LIỆU THAM KHẢO 54
PHỤ LỤC 56
Trang 6BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT Chữ viết tắt Nghĩa tiếng anh Nghĩa tiếng việt
Phân tử nucleic acid mang thông tin di truyền mã hóa cho hoạt động sinh trưởng và phát triển của các dạng sống
Là một trong hai loại axít nucleic, là cơ sở di truyền ở cấp
độ phân ử
PAM Partitioning Around Medoids Thuật toán phân cụm phân vùng
xung quanh Medoids
CLARA Clustering Large Application Thuật toán phân cụm ứng dụng
lớn
CLARANS
Clustering Large Applications based upon RANdomized Search
Thuật toán phân cụm với ứng dụng lớn trên cơ sở tìm kiếm ngẫu nhiên
tin từ ADN
SCOP Structural Classification of
Homologous superfamily
Phân loại cấu trúc protein với CATH
FSSP Families of Structurally
Similar Proteins
Dòng họ protein với cấu trúc tương tự
Trang 7DANH MỤC BẢNG BIỂU
Bảng 1.1 Bảng dự đoán cho hai đối tượng nhị phân x và y……… 14
Bảng 1.2 Ví dụ về độ phi tương tự của thuộc tính nhị phân……… 15
Bảng 2.1 Bảng so sánh các thuật toán phân cụm trung tâm……… 28
Bảng 3.1 Đưa ra một số nguồn tài nguyên phân loại trình tự protein… 35
Bảng 3.2 Nguồn tài nguyên cho phân loại cấu trúc protein……… 36
Bảng 3.3 Các cấp độ chính của CATH……… 39
DANH MỤC CÁC HÌNH Hình 1.1 Phân cụm các vector truy vấn 5
Hình 1.2 Hình thành cụm cha 6
Hình 1.3 Các tỉ lệ khác nhau có thể dẫn tới các cụm khác nhau 12
Hình 2.1 Sơ đồ phân loại các phương pháp phân cụm……… 18
Hình 2.2 Các thiết lập để xác định danh giới các cụm ban đầu 19
Hình 2.3 Tính toán trọng tâm của các cụm mới 20
Hình 2.4 Ví dụ minh họa thuật toán K-means 21
Hình 2.5 Ví dụ minh họa thuật toán PAM 24
Hình 3.1 Chủ thuyết trung tâm của sinh học phân tử 30
Hình 3.2 Cấu trúc DNA 30
Hình 3.3 Các kiểu cấu trúc của Protein 32
Hình 3.4 Cấu trúc bậc 2 thường thấy của protein 33
Hình 3.5 Hai ví dụ về protein màng 34
Hình 3.6 Sự phát triển của cấu trúc dữ liệu protein 35
Hình 4.1 Đầu vào dữ liệu……… 48
Hình 4.2 Giao diện chọn tệp đầu vào……… 49
Hình 4.3 Giao diện tab Lọc dữ liệu……… 49
Hình 4.4 Giao diện tab chỉnh sửa dữ liệu……… 50
Hình 4.5 Giao diện Tab K-Means, sử dụng K-means hoặc K-medians để phân cụm………
51 Hình 4.6 Đầu ra dữ liệu……… 52
Trang 8MỞ ĐẦU
1 LÝ DO CHỌN ĐỀ TÀI
Với sự phát triển vượt bậc của công nghệ thông tin, đặc biệt là ứng dụng công nghệ thông tin vào các ngành sinh học đã giúp ích rất nhiều cho việc tìm hiểu nghiên cứu về sinh học phân tử Chính vì vậy Tin sinh học, một lĩnh vực còn khá mới, đã ra đời, sử dụng các công nghệ của các ngành toán học ứng dụng, tin học, thống kê, khoa học máy tính, trí tuệ nhân tạo, hóa học, sinh học
để giải quyết các vấn đề của sinh học
Như chúng ta đã biết, các cơ sở phân tử của cuộc sống dựa trên hoạt động của phân tử sinh học, bao gồm axit nucleic (DNA và RNA), carbohydrate, chất béo, và protein Mặc dù mỗi loại đều đóng một vai trò thiết yếu trong cuộc sống, nhưng protein có một sự nổi bật bởi chúng là thành phần biểu diễn chính các chức năng của tế bào Chính vì vậy, tìm hiểu và nghiên cứu cấu trúc phân tử sinh học đã nổi lên như một hướng đi mới với những trải nghiệm hướng vào việc khám phá cấu trúc của các phân tử sinh học Hướng phát triển này của sinh học đã trải qua với sự phát triển cao thông qua nghiên cứu cấu trúc với mục đích có cái nhìn toàn diện về không gian cấu trúc protein, thông tin lưu trữ trong dữ liệu cấu trúc protein là chìa khóa để thành công nằm trong khả năng để tổ chức, phân tích thông tin chứa trong cơ sở dữ liệu, tích hợp những thông tin đó với những nỗ lực khác nhằm giải quyết những bí ẩn của chức năng tế bào
Nhận thấy tính thiết thực của vấn đề này và được sự gợi ý của giảng viên
hướng dẫn, em đã chọn đề tài "Phân cụm dữ liệu và ứng dụng trong phân
loại cấu trúc protein"
2 MỤC TIÊU NGHIÊN CỨU
- Tìm hiểu tổng quan về lý thuyết phân cụm dữ liệu
- Nghiên cứu một số kỹ thuật phân cụm dữ liệu ứng dụng trong phân loại cấu trúc protein
Trang 9- Tìm hiểu về Tin sinh học và một số vấn đề liên quan, nghiên cứu các phương pháp phân loại cấu trúc protein
- Tìm hiểu và sử dụng phần mềm Cluster 3.0 ứng dụng vào trong phân loại cấu trúc protein
3 PHƯƠNG PHÁP NGHIÊN CỨU
- Nghiên cứu qua các tài liệu như: sách, sách điện tử, các bài báo, thông tin tài liệu trên các website và các tài liệu liên quan
- Phân tích, tổng hợp lý thuyết và giới thiệu về phân cụm dữ liệu và một
số thuật toán phân cụm dữ liệu dựa vào cụm trung tâm ứng dụng trong phân loại cấu trúc protein
- Tìm hiểu và sử dụng phần mềm Cluster 3.0 ứng dụng thuật toán means để phân loại cấu trúc protein
K-4 TỔNG QUAN LUẬN VĂN
Luận văn được trình bày trong 4 chương và phần kết luận, với nội dung được trình bày từ việc tìm hiểu các khái niệm cơ bản đến các nội dung chính cần đi sâu tìm hiểu, giúp người đọc có cái nhìn tổng quan cũng như những vấn đề chính được nghiên cứu:
- Chương 1 - Tổng quan: Giới thiệu tổng quan về lý thuyết phân cụm dữ
liệu
- Chương 2 - Một số kỹ thuật phân cụm dữ liệu ứng dụng trong phân
loại cấu trúc protein
- Chương 3 - Tin sinh học và Phân loại cấu trúc Protein
- Chương 4 - Chương trình Demo với phần mềm cluster 3.0
- Kết luận - Tóm tắt các nội dung chính, các kết quả đạt được và hướng
nghiên cứu tiếp theo của luận văn
Trang 10CHƯƠNG 1 TỔNG QUAN LÝ THUYẾT VỀ PHÂN CỤM DỮ LIỆU
1.1 TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU
Phân cụm là chia dữ liệu thành các nhóm mà các đối tượng trong cùng một nhóm thì giống nhau theo một nghĩa nào đó và khác với các đối tượng trong các nhóm khác Mỗi nhóm được gọi là một cluster Mỗi đối tượng được
mô tả bởi một tập các độ đo hoặc bằng mối quan hệ với các đối tượng khác Cũng có rất nhiều định nghĩa về cluster, nhưng các định nghĩa sau đây được
- "Các cluster có thể được mô tả như các miền liên thông trong không gian đa chiều chứa mật độ tương đối cao các điểm, phân biệt giữa các miền bằng mật độ khá thấp của các điểm"
Phân cụm có ý nghĩa rất quan trọng trong hoạt động của con người từ y
tế, giáo dục, xử lý thông tin, nghiên cứu phân tích thị trường,… Phân cụm được sử dụng rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng mẫu, phân tích dữ liệu, xử lý ảnh, nghiên cứu thị trường, phân loại trong tin sinh học,… Bằng phân cụm, trong thương mại có thể giúp những nhà phân tích thị trường tìm ra những nhóm khách hàng có những nhu cầu riêng dựa trên độ tuổi, sở thích và tâm lý tiêu dùng Trong sinh học, nó có thể được sử dụng để phân loại thực vật, động vật, phân loại cấu trúc protein dựa trên các cấu trúc tương đồng vốn có, từ đó có thể xây dựng ngân hàng dữ liệu protein Trong xử lý thông tin, phân cụm giúp phân loại các tài liệu với dạng lưu trữ văn, trên đĩa
Trang 11mềm, trên ổ cứng, trên mạng internet thành giúp tạo lập và hoàn chỉnh kho dữ liệu khổng lồ về tri thức của loài người
Là một chức năng khai phá dữ liệu, phân cụm có thể sử dụng như một công cụ độc lập để quan sát đặc trưng của mỗi cụm thu được bên trong sự phân bố dữ liệu và tập trung vào một tập riêng biệt của các cụm để phân tích Phân cụm có thể dụng như một bước tiền xử lý cho các thuật toán như phân loại, mô tả đặc điểm, phát hiện ra các cụm với các đặc trưng, tính chất khác nhau
1.2 PHÂN CỤM TRONG PHÂN LOẠI DỮ LIỆU
Các mục dữ liệu tương tự nhau được nhóm lại để hình thành các cụm trên cơ sở độ đo mức tương tự nào đó Mỗi cụm được biểu diễn bởi trọng tâm vector đặc trưng của cụm Trong khi truy vấn, ta tính toán độ tương tự giữa vector truy vấn và từng cụm (đại diện bởi trọng tâm cụm) Các cụm mà độ tương tự của nó với vector truy vấn mà lớn hơn ngưỡng nào đó thì được lựa chọn Sau đó, độ tương tự giữa vector truy vấn với từng vector đặc trưng trong cụm được tính toán và k mục gần nhất được xếp hạng và được xem như kết quả
Ví dụ, các vector đặc trưng trên hình 1.1 được nhóm vào 11 cụm Trong khi truy tìm, vector truy vấn được so sánh với lần lượt 11 trọng tâm cụm Nếu tìm thấy trọng tâm cụm 2 gần giống vector truy vấn nhất thì ta tính khoảng cách giữa vector truy vấn với từng vector đặc trưng trong cụm 2 Tổng số tính toán khoảng cách đòi hỏi phải nhỏ hơn nhiều tổng các vector đặc trưng trong
cơ sở dữ liệu
Trang 12Hình 1.1: Phân cụm các vector truy vấn
Trong phương pháp truy tìm trên cơ sở cụm trên đây, mức độ tương tự được tính toán giữa câu truy vấn và từng trọng tâm và với từng vector đặc trưng trong cụm lựa chọn Khi tổng số cụm mà lớn, ta sử dụng cụm nhiều tầng để làm giảm tính toán mức độ tương tự giữa truy vấn và trọng tâm Các cụm tương tự nhau được nhóm để hình thành cụm lớn hơn (super-cluster) Trong khi truy tìm, trước hết so sánh vector truy vấn với trọng tâm của cụm cha sau đó so sánh với từng trọng tâm các cụm bên trong cụm cha, cuối cùng
so sánh với các vector đặc trưng của cụm con Hãy xem xét không gian đặc trưng trên hình 1.1, ta có thể hình thành cụm cha như hình 1.2
Trong khi truy vấn, so sánh vector truy vấn với từng trọng tâm của 4 cụm cha Nếu tìm thấy trọng tâm của cụm cha 1 là gần vector truy vấn nhất, hãy so sánh vector truy vấn với ba trọng tâm cụm con trong cụm cha 1 Trong thí dụ cụm hai mức này, tổng số khoảng cách tính toán đòi hỏi giữa vector truy vấn
và trọng tâm (của các cụm cha và cụm con) là 7 (4+3), nhỏ hơn 11 tính toán khi sử dụng cụm một tầng
Trang 13Hình 1.2: Hình thành cụm cha Cụm không chỉ làm truy tìm hiệu quả mà còn làm dễ dàng cho việc duyệt
và dẫn đường Với duyệt và dẫn đường, một mục đại diện mà có vector đặc trưng gần trọng tâm cụm của nó thì được hiển thị cho mỗi cụm Nếu người sử dụng quan tâm đến mục đại diện thì họ có thể quan sát các mục khác trong cụm
Các kỹ thuật cụm được sử dụng chung với các cấu trúc dữ liệu để tìm kiếm hiệu quả hơn Các mục tương tự được nhóm thành cụm Trọng tâm các cụm hoặc/và các mục trong mỗi cụm được tổ chức nhờ cấu trúc dữ liệu nào
đó để tìm kiếm hiệu quả
1.3 CÁC YÊU CẦU CỦA PHÂN CỤM DỮ LIỆU
Phân cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những ứng dụng tiềm năng của chúng được đưa ra ngay chính trong những yêu cầu đặc biệt của chúng, sau đây là một số yêu cầu cơ bản của phân cụm dữ liệu [1]:
- Có khả năng mở rộng: Nhiều thuật toán phân cụm làm việc tốt với
những tập dữ liệu nhỏ chứa ít hơn 200 đối tượng, tuy nhiên, một cơ sở dữ liệu lớn có thể chứa tới hàng triệu đối tượng Việc phân cụm với một tập dữ liệu lớn có thể làm ảnh hưởng tới kết quả Vậy làm cách nào để chúng ta có thể
Trang 14phát triển các thuật toán phân cụm có khả năng mở rộng cao đối với các cơ sở
dữ liệu lớn?
- Khả năng thích nghi với các kiểu thuộc tính khác nhau: Nhiều thuật
toán được thiết kế cho việc phân cụm dữ liệu có kiểu khoảng (kiểu số) Tuy nhiên, nhiều ứng dụng có thể đòi hỏi việc phân cụm với nhiều kiểu dữ liệu khác nhau, như kiểu nhị phân, kiểu tường minh (định danh - không thứ tự), và
dữ liệu có thứ tự hay dạng hỗn hợp của những kiểu dữ liệu này
- Khám phá các cụm với hình dạng bất kỳ: Nhiều thuật toán phân cụm
xác định các cụm dựa trên các phép đo khoảng cách Euclide và khoảng cách Manhattan Các thuật toán dựa trên các phép đo như vậy hướng tới việc tìm kiếm các cụm hình cầu với mật độ và kích cỡ tương tự nhau Tuy nhiên, một cụm có thể có bất cứ một hình dạng nào Do đó, việc phát triển các thuật toán
có thể khám phá ra các cụm có hình dạng bất kỳ là một việc làm quan trọng
- Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Nhiều
thuật toán phân cụm yêu cầu người dùng đưa vào những tham số nhất định trong phân tích phân cụm (như số lượng các cụm mong muốn) Kết quả của phân cụm thường khá nhạy cảm với các tham số đầu vào Nhiều tham số rất khó để xác định, nhất là với các tập dữ liệu có lượng các đối tượng lớn Điều này không những gây trở ngại cho người dùng mà còn làm cho khó có thể điều chỉnh được chất lượng của phân cụm
- Khả năng thích nghi với dữ liệu nhiễu: Hầu hết những cơ sở dữ liệu
thực đều chứa đựng dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai Một số thuật toán phân cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất lượng phân cụm thấp
- Ít nhạy cảm với thứ tự của các dữ liệu vào: Một số thuật toán phân cụm
nhạy cảm với thứ tự của dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi được đưa ra với các thứ tự khác nhau thì với cùng một thuật toán có thể sinh
Trang 15ra các cụm rất khác nhau Do đó, việc quan trọng là phát triển các thuật toán
mà ít nhạy cảm với thứ tự vào của dữ liệu
- Số chiều lớn: Một cơ sở dữ liệu hoặc một kho dữ liệu có thể chứa một
số chiều hoặc một số các thuộc tính Nhiều thuật toán phân cụm áp dụng tốt cho dữ liệu với số chiều thấp, bao gồm chỉ từ hai đến 3 chiều Người ta đánh giá việc phân cụm là có chất lượng tốt nếu nó áp dụng được cho dữ liệu có từ
3 chiều trở lên Nó là sự thách thức với các đối tượng dữ liệu cụm trong không gian với số chiều lớn, đặc biệt vì khi xét những không gian với số chiều lớn và có độ nghiêng lớn
- Phân cụm ràng buộc: Nhiều ứng dụng thực tế có thể cần thực hiện
phân cụm dưới các loại ràng buộc khác nhau Giả sử rằng công việc của ta là lựa chọn vị trí cho một số trạm rút tiền tự động ở một thành phố Để quyết định dựa trên điều này, có thể phân cụm những hộ gia đình trong khi xem xét các mạng lưới sông và đại lộ, và những yêu cầu khách hàng của mỗi vùng như những sự ràng buộc Một nhiệm vụ đặt ra là đi tìm những nhóm dữ liệu
có trạng thái phân cụm tốt và thỏa mãn các ràng buộc
- Dễ hiểu và dễ sử dụng: Người sử dụng có thể chờ đợi những kết quả
phân cụm dễ hiểu, dễ lý giải và dễ sử dụng Nghĩa là, sự phân cụm có thể cần được giải thích ý nghĩa và ứng dụng rõ ràng Việc nghiên cứu cách để một ứng dụng đạt được mục tiêu là rất quan trọng, có thể gây ảnh hưởng tới sự lựa chọn các phương pháp phân cụm
1.4 CÁC KIỂU DỮ LIỆU TRONG PHÂN CỤM
Trong phân cụm, các đối tượng dữ liệu thường được biểu diễn dưới dạng các đặc tính hay còn gọi là thuộc tính (khái niệm “các kiểu dữ liệu” và “các kiểu thuộc tính dữ liệu” được xem là tương đương với nhau) [1] Các thuộc tính này là các tham số cho phép giải quyết vấn đề phân cụm và chúng có tác động đáng kể đến kết quả phân cụm Phân loại các kiểu thuộc tính khác nhau
Trang 16là vấn đề cần giải quyết đối với hầu hết các tập dữ liệu nhằm cung cấp các phương tiện thuận lợi để nhận dạng sự khác nhau của các phần tử dữ liệu Có hai đặc trưng để phân loại: kích thước miền và hệ đo
Cho một cơ sở dữ liệu D chứa n đối tượng trong không gian k chiều; x, y, z
là các đối tượng thuộc D: x = (x1, x2, ,xk); y = (yl, y2, , yk); z = (zl, z2, , zk) Trong đó xi, yi, zi với i 1,k là các đặc trưng hoặc thuộc tính tương ứng của các đối tượng x, y, z; như vậy sẽ có các kiểu dữ liệu sau [9]
1.4.1 Phân loại kiểu dữ liệu dựa trên kích thước miền
- Thuộc tính liên tục: Nếu miền giá trị của nó là vô hạn không đếm được,
nghĩa là giữa hai giá trị tồn tại vô số giá trị khác (ví dụ, các thuộc tính màu, nhiệt độ hoặc cường độ âm thanh, )
- Thuộc tính rời rạc: Nếu miền giá trị của nó là tập hữu hạn, đếm được
(ví dụ, các thuộc tính số, .); trường hợp đặc biệt của thuộc tính rời rạc là thuộc tính nhị phân mà miền giá trị chỉ có hai phần tử (ví dụ:Yes/No, True/False, On/Off )
1.4.2 Phân loại kiểu dữ liệu dựa trên hệ đo
- Thuộc tính định danh: Là dạng thuộc tính khái quát hóa của thuộc tính
nhị phân, trong đó miền giá trị là rời rạc không phân biệt thứ tự và có nhiều hơn hai phần tử Nếu x và y là hai đối tượng thuộc tính thì chỉ có thể xác định
là x ≠ y hoặc x = y
- Thuộc tính có thứ tự: Là thuộc tính định danh có thêm tính thứ tự,
nhưng chúng không được định lượng Nếu x và y là hai thuộc tính thứ tự thì
có thể xác định là x ≠ y hoặc x = y hoặc x > y hoặc x < y
- Thuộc tính khoảng: Để đo các giá trị theo xấp xỉ tuyến tính, với thuộc
tính khoảng có thể xác định một thuộc tính là đứng trước hoặc đứng sau thuộc tính khác với một khoảng là bao nhiêu Nếu xi > yi thì có thể nói x cách y một khoảng xi - yi tương ứng với thuộc tính thứ i
Trang 17- Thuộc tính tỉ lệ: Là thuộc tính khoảng nhưng được xác định một cách
tương đối so với điểm mốc đầy ý nghĩa
Trong các thuộc tính trình bày ở trên, thuộc tính định danh và thuộc tính
có thứ tự gọi chung là thuộc tính hạng mục, còn thuộc tính khoảng và thuộc tính tỉ lệ được gọi là thuộc tính số
Đặc biệt, còn có dữ liệu không gian là loại dữ liệu có thuộc tính số khái quát trong không gian nhiều chiều, dữ liệu không gian mô tả các thông tin liên quan đến không gian chứa đựng các đối tượng (ví dụ, thông tin về hình học, ) Dữ liệu không gian có thể là dữ liệu liên tục hoặc rời rạc
- Dữ liệu không gian liên tục: Bao chứa một vùng không gian
- Dữ liệu không gian rời rạc: Có thể là một điểm trong không gian nhiều
chiều và cho phép xác định được khoảng cách giữa các đối tượng dữ liệu trong không gian Thông thường, các thuộc tính số được đo bằng các đơn vị xác định như kilogams hay centimeters Tuy nhiên, việc thay đổi các đơn vị
đó có ảnh hưởng đến kết quả phân cụm (ví dụ, thay đổi đơn vị đo cho thuộc tính chiều cao từ centimeters sang inches có thể mang lại kết quả khác nhau trong phân cụm) Để khắc phục điều này phải chuẩn hóa dữ liệu được thực hiện bằng cách thay thế mỗi một thuộc tính bằng thuộc tính số hoặc thêm các trọng số cho các thuộc tính
1.5 CÁC PHÉP ĐO ĐỘ TƯƠNG TỰ VÀ KHOẢNG CÁCH ĐỐI VỚI CÁC KIỂU DỮ LIỆU
1.5.1 Khái niệm tương tự và phi tương tự
Khi các đặc tính của dữ liệu được xác định, phải tìm cách thích hợp để xác định “khoảng cách” giữa các đối tượng, hay là phép đo tương tự dữ liệu Đây là các hàm để đo sự giống nhau giữa các cặp đối tượng dữ liệu, thông thường các hàm này hoặc là để tính độ tương tự hoặc là tính độ phi tương tự giữa các đối tượng dữ liệu Giá trị của hàm tính độ đo tương tự càng lớn thì sự
Trang 18giống nhau giữa các đối tượng càng lớn và ngược lại còn hàm tính độ phi tương tự tỉ lệ nghịch với hàm tính độ tương tự Độ tương tự hoặc phi tương tự có nhiều cách để xác định, chúng thường được đo bằng khoảng cách giữa các đối tượng Tất cả các cách đo độ tương tự đều phụ thuộc vào kiểu thuộc tính mà người sử dụng phân tích Ví dụ, đối với thuộc tính hạng mục thì không sử dụng độ đo khoảng cách mà sử dụng một hướng hình học của dữ liệu
Tất cả các độ đo dưới đây được xác định trong không gian metric Bất kỳ một metric nào cũng là một độ đo, nhưng điều ngược lại không đúng Để tránh sự nhầm lẫn, thuật ngữ độ đo ở đây đề cập đến hàm tính độ tương tự hoặc hàm tính độ phi tương tự Một không gian metric là một tập trong đó có xác định khoảng cách giữa từng cặp phần tử, với những tính chất thông thường của khoảng cách hình học Nghĩa là, một tập X (các phần tử của nó có thể là những đối tượng bất kỳ) các đối tượng dữ liệu trong cơ sở dữ liệu D đề cập ở trên được gọi là một không gian metric nếu:
- Với mỗi cặp phần tử x, y thuộc X đều xác định theo một quy tắc nào
đó, một số thực δ(x, y) được gọi là khoảng cách giữa x và y
- Quy tắc nói trên thỏa mãn hệ tính chất sau:
Trang 19trong cùng một đơn vị giống nhau thì nó tồn tại khoảng cách Euclide có thể xác định được nhóm dữ liệu tương tự Tuy nhiên, không phải lúc nào khoảng cách Euclide cũng cho kết quả chính xác Hình 1.3 minh họa ví dụ về phép đo chiều cao và chiều ngang của một đối tượng được thực hiện trong một đơn vị vật lí giống nhau nhưng khác nhau về tỉ lệ
Hình 1.3: Các tỉ lệ khác nhau có thể dẫn tới các cụm khác nhau Tuy nhiên chú ý rằng đây không chỉ là vấn đề đồ thị: vấn đề phát sinh từ công thức toán học được sử dụng để kết hợp khoảng cách giữa các thành phần đơn đặc tính dữ liệu vector vào trong một độ đo khoảng duy nhất mà có thể được sử dụng cho mục đích phân cụm và các công thức khác nhau dẫn tới những cụm khác nhau
Các thuật toán cần có các phép đo khoảng cách hoặc độ tương tự giữa hai đối tượng để thực hiện phân cụm Kiến thức miền phải được sử dụng để biểu diễn phép đo khoảng cách thích hợp cho mỗi ứng dụng Hiện nay thường sử dụng một số phép đo khoảng cách phổ biến [8]:
- Phép đo khoảng cách Minkowski được định nghĩa như sau:
trong đó, x và y là hai đối tượng với n là số lượng thuộc tính, x = (x1, x2,…,
xn) và y = (y1, y2,…, yn); dist là kích thước của dữ liệu, q là số nguyên dương
Trang 20- Phép đo khoảng cách Euclide:
2 1
là khoảng cách Minkowski giữa hai đối tượng trong trường hợp q=2
- Phép đo khoảng cách Manhattan:
Nếu xem xét p là biến định danh, có thể đánh giá độ tương tự của các trường hợp bằng số các biến mà có giá trị giống nhau, định nghĩa với một biến nhị phân mới từ mỗi biến danh nghĩa, bằng việc nhóm các nhãn danh nghĩa thành hai lớp, một nhãn là 1, và nhãn khác là 0 Xây dựng và xem xét
Trang 21bảng dự đoán các sự kiện có thể xảy ra và định nghĩa các thuộc tính của đối tƣợng x, y bằng các biến số nhị phân 0 và 1 [8]:
Bảng 1.1 Bảng dự đoán cho hai đối tƣợng nhị phân x và y
a là tổng số các thuộc tính có giá trị 1 trong hai đối tƣợng x, y
b là tổng số các thuộc tính có giá trị 1 trong x và giá trị 0 trong y
c là tổng số các thuộc tính có giá trị 0 trong x và giá trị 1 trong y
d là tổng số các thuộc tính có giá trị 0 trong hai đối tƣợng x, y
p là tổng tất các thuộc tính của hai đối tƣợng x, y
Độ đo khoảng cách đối xứng của biến nhị phân:
Trang 22Công thức này sử dụng trong trường hợp mà trọng số của các thuộc tính
có giá trị 1 của đối tượng dữ liệu cao hơn nhiều so với các thuộc tính có giá trị
0, như vậy thuộc tính nhị phân ở đây là không đối xứng
Ví dụ về độ phi tương tự của thuộc tính nhị phân:
Bảng 1.2 Ví dụ về độ phi tương tự của thuộc tính nhị phân
Tên Giới
tính
Bệnh sốt
Bệnh
ho
Kiểm tra 1
Kiểm tra 2
Kiểm tra 3
Kiểm tra 4
- Giới tính là thuộc tính đối xứng
- Các thuộc tính còn lại là bất đối xứng, nhị phân
- Thiết lập các thuộc tính và Có, Tốt là 1, thuộc tính Xấu và Không là 0
Trang 23Mỗi một thuộc tính có thứ tự có các miền giá trị khác nhau, vì vậy phải chuyển đổi chúng về cùng miền giá trị [0, 1] bằng cách thực hiện phép biến đổi sau cho mỗi thuộc tính:
Trang 24trong các độ đo khoảng cách trên, ví dụ với mỗi thuộc tính dữ liệu đã được gán trọng số tương ứng wi (1 ≤ i ≤ k), độ tương đồng dữ liệu được xác định như sau [8]:
2 1
( , )
n
i i i i
độ tương đồng dữ liệu thích hợp, chính xác, đảm bảo khách quan là rất quan trọng, góp phần xây dựng thuật toán phân cụm dữ liệu có hiệu quả cao trong việc đảm bảo chất lượng cũng như chi phí tính toán
1.6 KẾT LUẬN CHƯƠNG
Chương 1 nêu những kiến thức cơ bản về khái niệm phân cụm, các yêu cầu trong phân cụm dữ liệu đối với thực tế, các kiểu thuộc tính dữ liệu trong phân cụm, một số phép đo khoảng cách phổ biến cũng như một số thuộc tính phố biến áp dụng trong các thuật toán phân cụm dữ liệu
Trang 25CHƯƠNG 2
KỸ THUẬT PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG
PHÂN LOẠI CẤU TRÚC PROTEIN
2.1 GIỚI THIỆU
Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và các ứng dụng trong thực tế Các kỹ thuật phân cụm đều hướng tới hai mục tiêu chung: chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật toán
Dưới đây là sơ đồ phân loại các phương pháp phân cụm dữ liệu [3]:
Hình 2.1 Sơ đồ phân loại các phương pháp phân cụm Trong sơ đồ phân thành hai nhóm chính là phân cụm phân cấp và phân cụm dựa vào cụm trung tâm (K-means, PAM, CLARA, CLARANS)
Trong giới hạn tìm hiểu, luận văn chỉ đi sâu vào một số thuật toán phân cụm dựa vào cụm trung tâm nhằm áp dụng phân loại cấu trúc protein
2.2 THUẬT TOÁN K-MEANS
K-means là thuật toán phân cụm theo các phần tử bởi trung tâm của các cụm Phương pháp này dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm Nó được xem như là trung tâm của cụm Như vậy, nó cần khởi tạo một tập trung tâm các trung tâm cụm ban đầu, và thông qua đó nó lặp lại các bước gồm gán mỗi đối tượng tới cụm mà trung tâm gần, và tính toán
Trang 26tại trung tâm của mỗi cụm trên cơ sở gán mới cho các đối tượng Quá trình này dừng khi các trung tâm cụm hội tụ
Trong phương pháp K-means, chọn một giá trị k và sau đó chọn ngẫu nhiên k trung tâm của các đối tượng dữ liệu Tính toán khoảng cách giữa đối tượng dữ liệu trung bình mỗi cụm để tìm kiếm phần tử nào là tương tự và thêm vào cụm đó Từ khoảng cách này có thể tính toán trung bình mới của cụm và lặp lại quá trình cho đến khi mỗi các đối tượng dữ liệu là một bộ phận của các cụm k
Hình 2.2: Các thiết lập để xác định danh giới các cụm ban đầu
Mục đích của thuật toán K-means là sinh k cụm dữ liệu {C1, C2,…, Ck}
từ một tập dữ liệu chứa n đối tượng trong không gian d chiều Xi = {xi1,
xi2,…xid}, i = 1 + n, sao cho hàm tiêu chuẩn: E = 2
Trong đó: m i là trung bình cụm của cụm Ci, x là điểm dữ liệu đại diện
cho một đối tượng Trọng tâm của cụm là một vector, trong đó giá trị của mỗi phần tử của nó là trung bình cộng của các thành phần tương ứng của các đối tượng vector dữ liệu trong cụm đang xét Tham số đầu vào của thuật toán là
số cụm k, và tham số đầu ra của thuật toán là các trọng tâm của các cụm dữ liệu Độ đo khoảng cách giữa các đối tượng dữ liệu thường được sử dụng là
Trang 27khoảng cách Euclide Hàm tiêu chuẩn và độ đo khoảng cách có thể được xác định
cụ thể hơn tùy ý vào ứng dụng hoặc quan điểm của người dùng
Hình 2.3 Tính toán trọng tâm của các cụm mới Các bước cơ bản của thuật toán K- means
ban đầu trong không gian Rd (d là số chiều của
dữ liệu) Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm
Trang 28Lặp lại các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay đổi
End
Ví dụ: Giả sử trong không gian hai chiều, cho 12 điểm (n = 12) cần phân
12 điểm này thành hai cluster (k=2) Đầu tiên chọn hai điểm ngẫu nhiên vào hai cluster, giả sử chọn điểm (1,3) và điểm (9,4) (điểm có màu đỏ trên hình 2.4.a) Coi điểm (1,3) là tâm của cluster 1 và điểm (9,4) là tâm của cluster hai Tính toán khoảng cách từ các điểm khác đến hai điểm này và ta gán được các điểm còn lại này vào một trong hai cluster, những điểm có màu xanh lơ vào cluster 1, những điểm có màu xanh đậm vào cluster 2 (hình 2.4.b) Hiệu chỉnh lại tâm của hai cluster, điểm màu đỏ trên hình 2.4.c là tâm mới của hai cluster Tính lại các khoảng cách các điểm đến tâm mới và gán lại các điểm này, hình 2.4.d Tiếp tục hiệu chỉnh lại tâm của hai cluster Cứ như thế lặp lại cho đến khi không còn sự thay đổi nữa thì dừng Khi đó ta thu được đầu ra của bài toán
Hình 2.4 Ví dụ minh họa thuật toán k-means [8]
Nếu gọi n là số các đối tượng trong cơ sở dữ liệu, k là số phân cụm, t là
số lần lặp đi lặp lại thuật toán, với k,t << n, ta có độ phức tạp của thuật toán K- means: O(tkn) [10]
Trang 29Thuật toán này có hiệu quả tương đối với các cơ sở dữ liệu lớn, có ưu điểm là rõ ràng, dễ dàng cài đặt Nhưng nhược điểm của thuật toán này là phải chỉ ra số lượng cluster và yêu cầu cơ sở dữ liệu cần phân nhóm phải xác định được tâm Thuật toán này cũng không phù hợp với việc khai phá các dữ liệu gồm các cluster có hình dạng không lồi (non-convex) Có thể đưa thêm nhiều cải tiến vào k-mean để được thuật toán hiệu quả hơn, như thay đổi cách chọn các mẫu khởi đầu, cách tính tiêu chuẩn,
Các thuật toán sau này như PAM, CLARA, đều là sự cải tiến của thuật toán K-means
2.3 THUẬT TOÁN PAM
Thuật toán PAM 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 phần tử ngoại lai, PAM
sử dụng các đối tượng đại diện để biểu diễn cho các cụm dữ liệu, một đối tượng đại diện là đối tượng đặt tại vị trí trung tâm nhất bên trong mỗi cụm [8]
Vì vậy, đối tượng đại diện í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 đại diện và phân phối các đối tượng còn lại vào các cụm với đối tượng đại diện tương ứng sao cho chúng tương tự đối với đại diện trong cụm nhất Giả sử Oj là đối tượng không phải đại diện mà Om là một đối tượng đại diện, khi đó ta nói Oj
thuộc về cụm có đối tượng đại diện là Om nếu d(Oj, Om) = minOe(Oj, Oe); trong đó d(Oj, Om) là độ phi tương tự giữa Oj và Oe, minOe là giá trị nhỏ nhất của độ phi tương tự giữa Oj và tất cả các đối tượng đại diện của các cụm dữ liệu Chất lượng của mỗi cụm được khám phá được đánh giá thông qua độ phi tương tự trung bình giữa một đối tượng và đối tượng đại diện tương ứng với cụm của nó, nghĩa là chất lượng phân cụm được đánh giá thông qua chất lượng của tất cả các đối tượng đại diện Độ phi tương tự được xác định bằng
Trang 30độ đo khoảng cách, thuật toán PAM được áp dụng cho dữ liệu không gian Để xác định các đại diện, PAM bắt đầu bằng cách lựa chọn k đối tượng đại diện 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 đại diện Om và một đối tượng Op, không phải là đại diện, 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 PAM tính giá trị Cjmp cho tất cả
các đối tượng Oj để làm căn cứ cho việc hoán chuyển giữa Om và Op
Om: là đối tượng đại diện hiện thời cần được thay thế:
Op: là đối tượng đại diện mới thay thế cho Om;
Oj: Là đối tượng dữ liệu (Không phải đại diện) có thể được di chuyển sang cụm khác;
Oj,2: Là đối tượng đại diện hiện thời gần đối tượng Oj nhất
TCmp là tổng khoảng cách giữa đối tượng đại diện hiện thời Op và đối tượng đại diện Om mới thay thế Op
Các bước thực hiện thuật toán PAM
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
BEGIN
1 Chọn k đối tượng đại diện bất kỳ;
2 Tính TCmp cho tất cả các cặp đối tượng Om, Op Trong đó, Om là đối tượng đại diện và Op là đối tượng không phải đại diện;
3 Chọn 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;
Trang 314 Với mỗi đối tượng không phải đại diện, xác định đối tượng đại diện tương tự với nó nhất đồng thời gán nhãn cụm cho chúng
END
- Ví dụ thuật toán PAM
Hình 2.5 Ví dụ minh họa thuật toán PAM [8]
Nếu gọi n là số các đối tượng trong cơ sở dữ liệu, k là số phân cụm, t là
số lần lặp đi lặp lại thuật toán với k,t << n, ta có độ phức tạp của thuật toán
PAM: O(tk(n-k) 2 ) [10].
2.4 THUẬT TOÁN CLARA
Thuật toán CLARA được đưa ra nhằm khắc phục nhược điểm của thuật toán PAM trong trường hợp giá trị k và n là lớn [8] CLARA tiến hành trích mẫu cho tập dữ liệu có n phần tử, nó áp dụng thuật toán PAM cho mẫu này và tìm ra các đối tượng trung tâm đại diện cho mẫu được trích ra từ dữ liệu này Nếu mẫu dữ liệu được trích theo một cách ngẫu nhiên, thì các đại diện của
nó xấp xỉ với các đại diện 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 và thực hiện phân cụm cho mỗi trường hợp, sau đó tiến hành chọn kết quả phân cụm tốt nhất khi thực hiện
Trang 32phân cụm trên mẫu này Để đo chính xác, chất lượng của các cụm được đánh giá thông qua độ 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 dữ liệu 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 kết quả tốt Các bước thực hiện của thuật toán CLARA:
Input: Số đối tượng trong cơ sở dữ liệu(n), số phân cụm k, kích thước
mẫu s,
Output: k cụm dữ liệu với chất lượng tốt nhất
BEGIN
1 For i = 1 to 5 do
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 đại diện đại diện cho các cụm
3 Đối với mỗi tượng Oj trong tập dữ liệu ban đầu, xác định đối tượng đại diện tương tự nhất trong số k đối tượng đại diện
4 Tính độ phi tương tự trung bình cho phân hoạch các đối tượng thu được ở 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 thay cho giá trị tối thiểu ở trạng thái trước, như vậy tập k đối tượng đại diện xác định ở bước này là tốt nhất cho đến thời điểm này
5 Quay về bước 1
END
Ở đây, một phần nhỏ dữ liệu hiện thời được chọn như một đại diện của
dữ liệu thay vì sử dụng toàn bộ dữ liệu và sau đó đại diện được chọn từ mẫu
sử dụng PAM Nếu mẫu được chọn theo cách ngẫu nhiên thì nó có thể cần phải đại diện tập dữ liệu gốc Các đối tượng đại diện (đại diệns) được chọn là tương tự mà đã được chọn từ tập dữ liệu Nó đưa ra nhiều mẫu của tập dữ liệu, áp dụng PAM trên mỗi mẫu, và trả lại cụm tốt nhất ở đầu ra Như vậy, CLARA có thể xử lý với tập dữ liệu lớn hơn PAM
Trang 33Nếu gọi n là số các đối tượng trong cơ sở dữ liệu, k là số phân cụm, s là
kích thước của mẫu được trích rút, với k,s << n, ta có độ phức tạp của thuật
toán CLARA: O(ks 2 +k(n-k)) [10]
2.5 THUẬT TOÁN CLARANS
Thuật toán k-means và k-medoids thường thực hiện với CSDL vừa và nhỏ, chỉ khoảng vài trăm đến vài nghìn đối tượng Do yêu cầu của việc phân cụm dữ liệu không gian ngày càng lớn, năm 1994 Raymond T.Ng và Jiawei Han đã đưa ra một thuật toán phân cụm theo kiểu k-medoids hiệu quả hơn các thuật toán trước đó Thuật toán này có tên là CLARANS (Clustering Large Applications based on RANdomized Search) CLARANS phân cụm dựa trên
việc tìm kiếm ngẫu nhiên các tập gồm k đối tượng để làm tâm của k cụm Tại mỗi bước tìm kiếm sẽ xác định được độ tốt của nó và giữ lại kết quả tìm kiếm
tốt nhất [2]
Các tác giả đã thực hiện việc tìm kiếm và đánh giá độ tốt của phép tìm kiếm bằng cách xây dựng một đồ thị tìm kiếm như sau Với n đối tượng cần chia làm k cụm thì độ thị được đặt tên là Gn,k Mỗi đỉnh của Gn,k là một tập gồm k đối tượng O m 1 , , O m k, ngụ ý rằng mỗi đối tượng Omi là tâm của một cụm Tập đỉnh của đồ thị là O , , O | O , , O CSDL
k 1
Trang 34Thuật toán CLARANS cần có hai tham số đầu vào là numlocal (số cục
bộ địa phương cần tìm) và maxneighbour (số đỉnh kề cần xét)
Quá trình thực hiện của thuật toán như sau:
Đầu tiên chọn ngẫu nhiên một đỉnh làm đỉnh hiện thời, lấy ngẫu nhiên một đỉnh kề với đỉnh hiện thời, so sánh trọng số của đỉnh hiện thời và đỉnh vừa chọn, nếu đỉnh vừa chọn có trọng số nhỏ hơn thì đặt đỉnh đó làm đỉnh hiện thời, lặp lại quá trình đó maxneighbour lần, tìm được một đỉnh có trọng
số thấp nhất, trọng số này gọi là cực tiểu địa phương So sánh cực tiểu địa phương với một số mincost, nếu nhỏ hơn thì gán mincost bằng cực tiểu địa phương đó và lưu lại đỉnh hiện thời vào bestnode Lặp lại quá trình trên đủ numlocal lần Kết quả được chứa trong bestnode
Thuật toán CLARANS được mô tả cụ thể như sau:
1 Đặt i = 1, mincost = +
2 Chọn một đỉnh ngẫu nhiên của Gn,k gọi là đỉnh hiện thời current
3 Đặt j = 1
4 Chọn ngẫu nhiên 1 đỉnh S kề với current Tính trọng số của S
5 Nếu S có trọng số nhỏ hơn current thì đặt S là đỉnh hiện thời và trở lại bước 3
6 Ngược lại, j = j + 1 Nếu j maxneighbour thì quay về bước 4
7 Ngược lại, khi j > maxneighbour thì so sánh trọng số của current với mincost, nếu nhỏ hơn mincost thì đặt mincost bằng trọng số của current
Trang 35Tuy nhiên, CLARANS cũng bộc lộ một số hạn chế Thứ nhất, CLARANS cần đưa cả CSDL vào bộ nhớ trong Thứ hai thời gian thực thi có nhiều trường hợp rất xấu, trường hợp tốt nhất là O(kn2) và trường hợp xấu nhất là O(nk
) với n là số các đối tượng, k là số phân cụm, với k << n [10]
2.6 KẾT LUẬN CHƯƠNG
Trên đây là một số thuật toán dựa vào cụm trung tâm để phân cụm dữ liệu Ta có đánh giá và so sánh của từng thuật toán về tham số đầu vào, cấu trúc phân cụm, và độ phức tạp thuật toán đã trình bày dưới đây [10]:
Bảng 2.1 Bảng so sánh các thuật toán phân cụm trung tâm
Thuật toán phân cụm trung tâm
Thuật
toán
Tham số đầu vào
Tối ưu hóa cho
Cấu trúc phân cụm
Độ phức tạp thuật toán
K-means Số các phân cụm Phân chia các
phân cụm Hình cầu O(tkn)
PAM Số các phân cụm
Phân chia các phân cụm, Dữ liệu nhỏ
và CLARA
Hình cầu O(kn2)