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ánkhi sử dụng cụm một tầng...
Trang 1LỜ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ănnà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ôngThái Nguyên, thầy giáo Trần Đăng Hưng - Giảng viên Khoa Công nghệ thôngtin 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ấtnhiề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 2MỤ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
2.5 Thuật toán CLARANS 26
Trang 32.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 4BẢ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
DNA DesoxyriboNucleic Acid
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
RNA RiboNucleic Acid
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
Proteins Phân loại cấu trúc các protein
CATH Class Architecture Topology
Homologous superfamily
Phân loại cấu trúc protein với CATH
DDD Dali Domain Dictionary Từ điển miền Dali
PDB Protein Data Bank Ngân hàng dữ liệu protein
FSSP Families of Structurally
Similar Proteins
Dòng họ protein với cấu trúc tương tự
Trang 5DANH 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 6MỞ ĐẦ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ụngcô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ìmhiể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ựccòn khá mới, đã ra đời, sử dụng các công nghệ của các ngành toán học ứngdụ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ếtyế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ầnbiể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êncứ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ảinghiệ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ướngphá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êncứ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úcprotein, thông tin lưu trữ trong dữ liệu cấu trúc protein là chìa khóa để thànhcô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ếtnhữ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ạicấu trúc protein
Trang 7- Tìm hiểu về Tin sinh học và một số vấn đề liên quan, nghiên cứu cácphươ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ânloạ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ôngtin 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ânloạ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ínhcầ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ữngvấ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 8CHƯƠ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ùngmột nhóm thì giống nhau theo một nghĩa nào đó và khác với các đối tượngtrong 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ônggian đa chiều chứa mật độ tương đối cao các điểm, phân biệt giữa các miềnbằ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ântí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ườngtì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ânloạ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 9mề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ộtcô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ântí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ấtkhá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ụmtrê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âmvector đặc trưng của cụm Trong khi truy vấn, ta tính toán độ tương tự giữavector 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ựachọn Sau đó, độ tương tự giữa vector truy vấn với từng vector đặc trưngtrong 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 Trongkhi 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ếutì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ảngcách giữa vector truy vấn với từng vector đặc trưng trong cụm 2 Tổng số tínhtoá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 10Hình 1.1: Phân cụm các vector truy vấnTrong 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 đặctrưng trong cụm lựa chọn Khi tổng số cụm mà lớn, ta sử dụng cụm nhiềutầ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áccụ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ụmcha 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 đặctrư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ụmcha 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 sosá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ánkhi sử dụng cụm một tầng
Trang 11Hình 1.2: Hình thành cụm chaCụ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 đặctrư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 trongcụ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ìmkiế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áccụ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 ứngdụng tiềm năng của chúng được đưa ra ngay chính trong những yêu cầu đặcbiệ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ệulớ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ệulớ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 12phá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ố) Tuynhiê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ệukhá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áchManhattan 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ìmkiế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ộtcụ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 địnhtrong phân tích phân cụm (như số lượng các cụm mong muốn) Kết quả củaphân cụm thường khá nhạy cảm với các tham số đầu vào Nhiều tham số rấtkhó để 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ềunà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 13ra 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ốtcho dữ liệu với số chiều thấp, bao gồm chỉ từ hai đến 3 chiều Người ta đánhgiá 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 trongkhô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étcá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ùngnhư 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ựachọ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ạngcá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áckiểu thuộc tính dữ liệu” được xem là tương đương với nhau) [1] Các thuộctí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 14là 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ácphươ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 ứngcủ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ềuhơ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ộctí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ộtkhoảng xi - yi tương ứng với thuộc tính thứ i
Trang 15- 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ộctí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áiquát trong không gian nhiều chiều, dữ liệu không gian mô tả các thông tin liênquan đến không gian chứa đựng các đối tượng (ví dụ, thông tin về hìnhhọ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ệutrong 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ộctính chiều cao từ centimeters sang inches có thể mang lại kết quả khác nhautrong phân cụm) Để khắc phục điều này phải chuẩn hóa dữ liệu được thựchiệ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áctrọ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ôngthườ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 16giống nhau giữa các đối tượng càng lớn và ngược lại còn hàm tính độ phitương tự tỉ lệ nghịch với hàm tính độ tương tự Độ tương tự hoặc phitương tự có nhiều cách để xác định, chúng thường được đo bằng khoảngcách giữa các đối tượng Tất cả các cách đo độ tương tự đều phụ thuộcvà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ínhhạng mục thì không sử dụng độ đo khoảng cách mà sử dụng một hướnghì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ôngthườ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 17trong 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ảngcách Euclide cũng cho kết quả chính xác Hình 1.3 minh họa ví dụ về phép đochiề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 nhauTuy 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ớinhữ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ữahai đố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 18- Phép đo khoảng cách Euclide:
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áctrường hợp bằng số các biến mà có giá trị giống nhau, định nghĩa với mộtbiến nhị phân mới từ mỗi biến danh nghĩa, bằng việc nhóm các nhãn danhnghĩ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 19bả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 đốitượ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 20Cô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 21trong đó, m là số thuộc tính đối sánh tương ứng trùng nhau, và p là tổng
Mỗi một thuộc tính có thứ tự có các miền giá trị khác nhau, vì vậy phảichuyể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 22gán trọng số tương ứng wi (1 ≤ i ≤ k), độ tương đồng dữ liệu được xác địnhnhư sau [8]:
độ tương đồng dữ liệu thích hợp, chính xác, đảm bảo khách quan là rất quantrọ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 trongviệ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êucầ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 trongphâ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ínhphố biến áp dụng trong các thuật toán phân cụm dữ liệu
Trang 23CHƯƠ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 trongthự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ượngcủ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ụmTrong 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âncụ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áccụ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ầnkhở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ặplạ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 24tạ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ìnhnà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ẫunhiê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 đốitượ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ủacụ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ậncủ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 đầuMụ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ỗiphầ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 đốitượ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ữ
Trang 25liệu Độ đo khoảng cách giữa các đối tượng dữ liệu thường được sử dụng làkhoả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ớiCá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 26Lặp lại các bước 2 và 3 cho đến khi các trọng tâm của cụm khôngthay đổ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àohai cluster, giả sử chọn điểm (1,3) và điểm (9,4) (điểm có màu đỏ trên hình2.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àocluster 1, những điểm có màu xanh đậm vào cluster 2 (hình 2.4.b) Hiệu chỉnhlạ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ình2.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 khikhô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 27Thuậ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êmnhiều cải tiến vào k-mean để được thuật toán hiệu quả hơn, như thay đổi cáchchọ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ậttoá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 đốitượ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 trungtâ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ởicá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à đốitượ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 độ phitương tự trung bình giữa một đối tượng và đối tượng đại diện tương ứng vớicụm của nó, nghĩa là chất lượng phân cụm được đánh giá thông qua chấtlượ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 28độ đ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ệnbấ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ánchuyể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 khichấ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ểnsang 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à đốitượ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à đốitượ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 sangbước 4;
Trang 294 Với mỗi đối tượng không phải đại diện, xác định đối tượng đại diệntươ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ậttoán PAM trong trường hợp giá trị k và n là lớn [8] CLARA tiến hành tríchmẫ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ỗitrườ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 30phâ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 đánhgiá thông qua độ phi tương tự trung bình của toàn bộ các đối tượng dữ liệutrong 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ậttoán CLARA:
Input: Số đối tượng trong cơ sở dữ liệu(n), số phân cụm k, kích thước
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ầnphả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ữ
Trang 31liệ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.
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, 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âncụm dữ liệu không gian ngày càng lớn, năm 1994 Raymond T.Ng và JiaweiHan đã đưa ra một thuật toán phân cụm theo kiểu k-medoids hiệu quả hơn cácthuật toán trước đó Thuật toán này có tên là CLARANS (Clustering LargeApplications 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ìmkiế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ầnchia 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ậpgồm k đối tượng O m1, , O mk , 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 32cụm, gán mỗi đỉnh của đồ thị với một trọng số là tổng khoảng của tất cả cácđối tượng đến tâm tương ứng Dùng trọng số này để đánh giá độ tốt của mỗiphương án.
Thuậ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ênmột đỉnh kề với đỉnh hiện thời, so sánh trọng số của đỉnh hiện thời và đỉnhvừa chọn, nếu đỉnh vừa chọn có trọng số nhỏ hơn thì đặt đỉnh đó làm đỉnhhiệ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 địaphương với một số mincost, nếu nhỏ hơn thì gán mincost bằng cực tiểu địaphươ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ạibướ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ớimincost, nếu nhỏ hơn mincost thì đặt mincost bằng trọng số của current
và đặt bestnode = current
8 i = i + 1, nếu i > numlocal thì đưa ra bestnode và dừng, ngược lại thìquay về bước 2
Trang 33Thuật toán CLARANS được đánh giá là hiệu quả trên CSDL lớn, vấn đềxác định tham số numlocal và maxneighbour không phức tạp Có thể chọn cácgiá trị khác nhau sao cho phù hợp với CSDL cần nghiên cứu
Tuy 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ấunhấ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ấutrú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ỏ.
Hình cầu O(tk(n-k) 2 )
CLARA Số các phân cụm Dữ liệu lớn Hình cầu O(ks 2 +k(n-k))
CLARANS Số các phân cụm, Số đối tượng hàng xóm
Dữ liệu không gian, chất lượng phân cụm tốt hơn so với PAM
và CLARA.
Hình cầu O(kn 2 )
Trang 34CHƯƠNG 3 TIN SINH HỌC VÀ PHÂN LOẠI CẤU TRÚC PROTEIN
3.1 TỔNG QUAN VỀ TIN SINH HỌC
Tin sinh học (Bioinformatics) là một ngành khoa học mới và quan trọng được ra đời bởi sự kết hợp giữa hai ngành khoa học là tin học và sinh học Đối tượng nghiên cứu chính của Tin sinh học là các đại phân tử sinh học [15].Các đại phân tử sinh học chính là protein, nucleic acid, lipid vàpolysaccaride, trong đó quan trọng hơn cả là nucleic acid lưu trữ thông tin ditruyền và protein - biểu hiện của vật chất sống Protein được hình thành từ 20loại amino acid, có cấu trúc không gian đặc trưng Chức năng của protein rất
đa dạng: tham gia vào cấu tạo tế bào, xúc tác các phản ứng chuyển hóa, nhậnbiết các phân tử lạ, tham gia vào các quá trình sống như actin và myosin trong
sự vận động cơ Nucleic acid được hình thành từ 4 loại nucleotide (adenine,thymine, cytosine, và guanine) và gồm hai loại: DNA và RNA Phân tử DNA
là một chuối xoắn kép do sự kết hợp của hai mạch bổ sung RNA là một phân
tử mạch đơn, gồm ba loại: mRNA mang thông tin mã hóa cho protein, rRNA
là một thành phần của ribosome và tRNA tham gia vào quá trình dịch mã.Trong phần này chúng tôi giới thiệu tổng quan về các đối tượng nghiên cứucủa BioInformatics; Cấu trúc và chức năng của Protein; Các phương phápphân loại cấu trúc Protein
3.1.1 Chủ thuyết trung tâm của sinh học phân tử
Nhiễm sắc thể (chromosomes) là các đại phân tử DNA chứa rất nhiềugene, các vật chất cơ bản và các đơn vị mang chức năng di truyền Một gene
là một chuối gồm nhiều nucleotide, gene mang thông tin quy định cấu trúccủa protein Hệ gene của con người rất lớn, nhưng mới chỉ có khoảng 10%được giải mã Hệ gene bao gồm nhiều vùng chưa được giải mã, những chức