LỜI CẢM ƠN Được sự cho phép của Khoa Toán-Cơ-Tin, Trường Đại học Khoa học tự nhiên, ĐHQGHN và sự đồng ý của cô giáo hướng dẫn TS Nguyễn Thị Hồng Minh, tác giả đã thực hiện đề tài nghiên
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
-
LƯU XUÂN VĂN
THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI
VÀ ỨNG DỤNG
Chuyên ngành:
Mã số:
Cơ sở toán cho tin học
60460110
LUẬN VĂN THẠC SĨ KHOA HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Thị Hồng Minh
Hà Nội - 2015
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu do chính tôi thực hiện Các số liệu, kết quả phân tích trong luận văn là hoàn toàn trung thực và chưa từng được ai công bố trong bất kỳ công trình nghiên cứu nào trước đây
Hà Nội, ngày 21 tháng 12 năm 2015
Tác giả
Lưu Xuân Văn
Trang 3LỜI CẢM ƠN
Được sự cho phép của Khoa Toán-Cơ-Tin, Trường Đại học Khoa học
tự nhiên, ĐHQGHN và sự đồng ý của cô giáo hướng dẫn TS Nguyễn Thị Hồng Minh, tác giả đã thực hiện đề tài nghiên cứu “Thuật toán phân cụm đồng thời và ứng dụng”
Để hoàn thành luận văn này, tác giả xin chân thành cảm ơn các thầy cô giáo Bộ môn Tin học, Khoa Toán-Cơ-Tin đã tận tình hướng dẫn, giảng dạy và tạo điều kiện trong suốt quá trình học tập, nghiên cứu và rèn luyện ở trường Đại học Khoa học tự nhiên
Tác giả xin tỏ lòng biết ơn sâu sắc đến cô giáo TS Nguyễn Thị Hồng Minh đã tận tình, chu đáo hướng dẫn, giúp đỡ, tạo mọi điều kiện thuận lợi cho tác giả trong suốt quá trình nghiên cứu, thực hiện luận văn này
Xin được chân thành cảm ơn các bạn bè đã luôn động viên, khích lệ tinh thần để tác giả có đủ nghị lực hoàn thành luận văn này
Mặc dù đã có nhiều cố gắng để thực hiện đề tài một cách hoàn chỉnh nhất Song do thời gian thực tế vừa công tác, vừa đi học cùng với những hạn chế về kiến thức và kinh nghiệm nên không thể tránh khỏi thiếu sót nhất định
mà bản thân chưa thấy được, tác giả rất mong được sự góp ý của quý thầy, cô giáo và các bạn đồng nghiệp để luận văn và những nghiên cứu tiếp theo được hoàn chỉnh hơn
Tác giả xin chân thành cảm ơn!
Trang 4MỤC LỤC
1.2 Ứng dụng và yêu cầu của thuật toán phân cụm dữ liệu 5
1.4 Phép đo độ tương tự và khoảng cách đối với các kiểu dữ liệu 14
2.1 Vấn đề phân cụm đồng thời - Biclustering 25 2.2 Phân loại các khối kết quả của phân cụm đồng thời 29 2.3 Cấu trúc các khối kết quả của phân cụm đồng thời 31
2.4.1 Tìm hiểu thuật toán phân cụm đồng thời theo từng loại
khối kết quả
35
2.4.2 Thuật toán của Hartigan 42
2.4.3 Thuật toán của Cheng & Church 45
2.4.4 Thuật toán Bimax 60
Trang 5DANH MỤC CÁC HÌNH
Hình 2.3 Phân loại các khối kết quả của phân cụm đồng thời -
Biclusters
30
Hình 2.4: Cấu trúc các khối kết quả của phân cụm đồng thời 31 Hình 2.5 Chuỗi các giai đoạn chia tách của thuật toán của
Hartigan
44
Hình 2.6 Ví dụ ma trận biểu hiện và một ma trận con là bicluster 46 Hình 2.7 Ví dụ một ma trận con (bicluster) nhất quán hoàn hảo 47 Hình 2.8 Biểu đồ biểu diễn mức độ biểu hiện của gen theo từng
điều kiện
48
Hình 2.9 Ví dụ ma trận biểu hiện biến đổi logarit 49 Hình 2.10 Biểu đồ biểu diễn mức độ biểu hiện của gen theo từng
điều kiện (theo dữ liệu ma trận logarit)
50
Hình 2.11 Biểu đồ biểu hiện gien và giá trị MSR tương ứng 54 Hình 2.12 Minh họa hai vectơ nghịch đảo nhau 57
Hình 2.14 Sắp xếp lại hàng và cột theo thuật toán Bimax 63 Hình 2.15 Các ma trận con tiếp tục được xử lý lặp theo thuật toán
Bimax
64
Hình 3.2 Hình ảnh ma trận dữ liệu đầu vào được tô màu 70 Hình 3.3 Hình ảnh Bicluster 25x6 tìm thấy bởi thuật toán Bimax 70
Trang 6Hình 3.4 Hình ảnh Bicluster 19x7 tìm thấy bởi thuật toán Bimax 71 Hình 3.5 Hình ảnh Bicluster 37x19 tìm thấy bởi thuật toán Cheng
& Church
71
Hình 3.6 Hình ảnh Bicluster 33x20 tìm thấy bởi thuật toán Cheng
& Church
72
Hình 3.7 Thời gian chạy của một số thuật toán phân cụm đồng
thời
72
Hình 3.8 Thực nghiệm thuật toán Cheng & Church với 74
Hình 3.9 Thực nghiệm thuật toán Cheng & Church với 75
Hình 3.10 Thực nghiệm thuật toán Cheng & Church với 76
Hình 3.11 Thực nghiệm thuật toán Cheng & Church với 76
Trang 7DANH MỤC CÁC BẢNG
Bảng 2.1 Tổng hợp các thuật toán phân cụm đồng thời 42 Bảng 3.1 Tính toán chỉ số Jaccard một số kết quả phân cụm đồng
thời
73
Bảng 3.2 Tính toán giá trị phương sai một số thuật toán phân cụm
đồng thời
73
Trang 81
MỞ ĐẦU
Việc phân tích dữ liệu biểu hiện gene, mà cụ thể là phân nhóm các gene
có sự biểu hiện giống nhau trong từng thời điểm thành các nhóm (cluster) được thực hiện bởi các thuật toán phân cụm (clustering methods) Các thuật toán này thường tìm cách nhóm các gene có sự biểu hiện phụ thuộc nhau trên toàn bộ các điều kiện thí nghiệm Tuy nhiên, trên thực tế các gene thường chỉ thể hiện phụ thuộc với nhau trên một số điều kiện nào đó và độc lập với nhau trong điều kiện khác Điều này dẫn đến một hạn chế rất lớn của các thuật toán clustering là không thể tìm ra được các gene chỉ thể hiện giống nhau trên một
số điều kiện thí nghiệm Để khắc phục hạn chế này, các nhà khoa học đã đề
xuất một phương pháp phân cụm mới có tên là biclustering (hoặc
co-clustering) Các thuật toán biclustering sẽ tìm cách phân cụm đồng thời trên
các hàng (gene) và cột (condition) của ma trận dữ liệu biểu hiện gene nhằm tìm ra các ma trận con thoả mãn một số tiêu chí đặt ra, từ đó có thể giúp chúng ta hiểu thêm các tiến trình sinh học giữa các gene trong các cá thể Nhưng gần như tất cả các phương pháp tiếp cận đến nay là heuristic và không đảm bảo để tìm giải pháp tối ưu
Trong trường hợp dữ liệu biểu hiện gene theo chuỗi thời gian, thì các mẫu sinh học thường được đo theo một thời điểm nhất định nhằm quan sát các tiến trình sinh học xảy ra trong các cá thể Vì vậy, việc tìm ra các mẫu có thể hiện giống nhau trong một khoảng thời gian liên tục nào đó, có thể hình dung như chúng vừa hoàn thành một tiến trình sinh học, hoặc một giai đoạn chức năng sinh học nào đó Việc phân tích trên dữ liệu thể hiện gene cho phép hiểu được cơ chế điều khiển gene và tương tác giữa chúng Các mẫu dữ liệu này có thể coi như là một bicluster gồm các hàng và các cột trong ma trận
Vì lý do đó, tác giả lựa chọn đề tài: “Thuật toán phân cụm đồng thời và
ứng dụng” là hướng nghiên cứu cho luận văn của mình
Trang 92
Trong luận văn này, tác giả đặt mục tiêu như sau:
- Nghiên cứu những nội dung liên quan tới phân cụm dữ liệu, một số tư tưởng và thuật toán cơ bản,
- Nghiên cứu một số thuật toán phân cụm đồng thời đã được công bố
- Ứng dụng một số thuật toán biclustering vào tập dữ liệu thực cụ thể, phân tích và đánh giá các cụm bicluster thu được
Để hướng tới mục tiêu trên, tác giả đã thu thập và tìm đọc các tài liệu, tổng hợp các nội dung lý thuyết, thực hiện việc phân tích, nghiên cứu các công trình của các nhà khoa học đã công bố trước đây theo từng bước:
- Nghiên cứu lý thuyết cơ bản về phân cụm dữ liệu
- Nghiên cứu thuật toán phân cụm đồng thời
- Nghiên cứu dữ liệu biểu hiện gene, một số lĩnh vực, bài toán mà phân cụm đồng thời đã được áp dụng
- Áp dụng một số thuật toán phân cụm đồng thời (biclustering) trên bộ
dữ liệu thực để thực nghiệm và đối chứng
Sau quá trình nghiên cứu, tác giả đã hoàn thành bản luận văn của mình, nội dung luận văn được trình bày trong 3 chương như sau:
Chương 1: Tổng quan về phân cụm dữ liệu Trong chương này trình
bày tổng quan về hoạt động phân cụm dữ liệu, một số phương pháp phân cụm
dữ liệu phổ biến như phân cụm phân hoạch, phân cụm phân cấp, phân cụm dựa trên mật độ,
Chương 2: Phân cụm đồng thời Trong chương này trình bày về một số
loại hình, cấu trúc của các bicluster có thể tồn tại trong cơ sở dữ liệu, trình bày một số thuật toán tìm kiếm các bicluster trong đó, tóm tắt một số kết nghiên cứu các thuật toán này
Chương 3: Ứng dụng của phân cụm đồng thời Trong chương này trình
bày những ứng dụng thực tế đã từng thực hiện bởi các nghiên cứu trước đây
Áp dụng thuật toán phân cụm đồng thời (biclustering) vào bộ dữ liệu thực, xem xét, tìm hiểu các bicluster thu được
Trang 103
CHƯƠNG 1 TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU
1.1 Phân cụm dữ liệu
Khai phá dữ liệu (Data mining) là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong tập dữ liệu lớn được lưu trữ trong các cơ sở dữ liệu, kho dữ liệu Các nhà khoa học xác định:
“Phân cụm dữ liệu là một kỹ thuật trong khai phá dữ liệu, nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn, quan trọng trong tập dữ liệu lớn, từ đó cung cấp thông tin, tri thức hữu ích cho việc ra quyết định”
Phân cụm là quá trình nhóm các điểm dữ liệu trong cơ sở dữ liệu thành các cụm sao cho những điểm dữ liệu trong cùng một cụm có độ tương đồng lớn
và những điểm không cùng một cụm có sự tương đồng là rất nhỏ Một cụm các đối tượng dữ liệu có thể xem như là một nhóm trong nhiều ứng dụng, ví dụ: mô hình về phân cụm các trường dựa trên tiêu chuẩn về thu nhập và số nợ Cụm 1
là cụm những người thu nhập cao, số nợ nhiều Cụm 2 gồm những người thu nhập cao nhưng nợ ít Cụm 3 gồm những đối tượng thu nhập ít nhưng nợ nhiều
Hình 1.1 Ví dụ về phân cụm dữ liệu
Thu nhập
Nợ
Cụm 3
Cụm 1
Cụm 2
Trang 1180
DANH MỤC TÀI LIỆU THAM KHẢO
1 Ben-Dor, A., B Chor, R Karp, and Z Yakhini (2003), “Discovering
local structure in gene expression data: The order-preserving submatrix
problem”, Journal of Computational Biology 10, 373-384
2 Bergmann, S., J Ihmels, and N Barkai (2003), “Iterative signature
algorithm for the analysis of large-scale gene expression data”,
Physical Review E E 67 031902, 1-18
3 Cheng, Y and G M Church (2000), “Biclustering of expression data”,
Proceedings of the Eighth International Conference on Intelligent Systems for Molecular Biology 1, 93-103
4 Chun Tang, Li Zhang, Idon Zhang, and Murali Ramanathan
Interrelated two-way clustering: an unsupervised approach for gene
expression data analysis In Proceedings of the 2nd IEEE International
Symposium on Bioinformatics and Bioengineering, pages 41–48, 2001
5 Claycamp, H J and W F Massy (1968), “A theory of market
segmentation”, Journal of Marketing Research 5 (4), pp 388-394
6 Demirtas, H (2006), “A method for multivariate ordinal data
generation given marginal distributions and correlations”, Journal of
Statistical Computation and Simulation 76(11), 1017-1025
7 Dolnicar, S (2002), “A review of data-driven market segmentation in
tourism”, Journal of Travel and Tourism Marketing 12 (1), 1 - 22
8 Dolnicar, S., S Kaiser, K Lazarevski, and F Leisch (2011),
“Biclustering overcoming data dimensionality problems in market
segmentation”, Journal of Travel Research
9 Eran Segal, Ben Taskar, Audrey Gasch, Nir Friedman, and Daphne
Koller Rich probabilistic models for gene expression In
Bioinformatics, volume 17 (Suppl 1), pages S243–S252, 2001
Trang 1281
10 Eran Segal, Ben Taskar, Audrey Gasch, Nir Friedman, and Daphne
Koller Decomposing gene expression into cellular processes In
Proceedings of the Pacific Symposium on Biocomputing, volume 8,
pages 89–100, 2003
11 Everitt, B S., S Landau, and M Leese (2009), “Cluster Analysis”,
London: Wiley
12 Getz, G., E Levine, and E Domany (2000), “Coupled two-way
clustering analysis of gene microarray data”, Proceedings of the
National Academy of Sciences of the United States of America 97(22),
12079-12084
13 Haixun Wang, Wei Wang, Jiong Yang, and Philip S Yu Clustering by
pattern similarity in large data sets In Proceedings of the 2002 ACM
SIGMOD International Conference on Management of Data, pages
394–405, 2002
14 Hartigan, J A (1972), “Direct clustering of a data matrix”, Journal of
the American Statistical Association 67(337), 123-129
15 Jinze Liu and Wei Wang Op-cluster: Clustering by tendency in high
dimensional space In Proceedings of the 3rd IEEE International
Conference on Data Mining, pages 187–194, 2003
16 Kluger, Y., R Basri, J T Chang, and M Gerstein (2003), “Spectral
biclustering of microarray data: Coclustering genes and conditions”,
Genome Research 13, 703-716
17 Lazzeroni, L and A Owen (2002), “Plaid models for gene expression
data”, Statistica Sinica 12, 61-86
18 Lee, M., H Shen, J Z Huang, and J S Marron (2010, Feb),
“Biclustering via sparse singular value decomposition”, Biometrics
19 Madeira, S C and A L Oliveira (2004) “Biclustering algorithms for
biological data analysis: A survey”, IEEE/ACM Transactions on
Computational Biology and Bioinformatics 1 (1), 24-45
Trang 1382
20 Mechelen, I V., H.-H Bock, and P D Boeck (2004), “Two-mode
clustering methods: a structured overview”, StatisticalMethods in
Medical Research 13, 363-394
21 Prelic, A., S Bleuler, P Zimmermann, A Wil, P Buhlmann, W
Gruissem, L Hennig, L Thiele, and E Zitzler (2006), “A systematic comparison and evaluation of biclustering methods for gene expression
data”, Bioinformatics 22(9), 1122-1129
22 R Tibshirani, T Hastie, M Eisen, D Ross, D Botstein, and P Brown
Clustering methods for the analysis of DNA microarray data Technical report, Department of Health Research and Policy, Department of Genetics and Department of Biochemestry, Stanford University, 1999
23 Sheng, Q., Y Moreau, and B D Moor (2003), “Biclustering
microarray data by Gibbs sampling”, Bioinformatics 19
24 Smith, W R (1956), “Product differentiation and market segmentation
as alternative marketing strategies”, The Journal of Marketing 21 (1),
pp 3-8
25 Stanislav Busygin, Gerrit Jacobsen, and Ewald Kramer Double
conjugated clustering applied o leukemia microarray data In
Proceedings of the 2nd SIAM International Conference on Data Mining, Workshop on Clustering High Dimensional Data, 2002
26 Tanay, A., R Sharan, and R Shamir (2002), “Discovering statistically
significant biclusters in gene expression data”, Bioinformatics 18(1),
136-144
27 Tanay, A., R Sharan, and R Shamir (2005), “Biclustering Algorithms:
A Survey”, In Handbook of Computational Molecular Biology / CRC
Computer and Information Science Series
28 Turner, H., T Bailey, and W Krzanowski (2005), “Improved
biclustering of microarray data demonstrated through systematic
Trang 1483
performance tests”, Computational Statistics and Data Analysis 48,
235-254
29 T M Murali and Simon Kasif Extracting conserved gene expression
motifs from gene expression data In Proceedings of the Pacific
Symposium on Biocomputing, volume 8, pages 77–88, 2003
30 Williams, G J (2009, December), “Rattle: A data mining gui for r”,
The R Journal 1 (2), 45-55
31 Wikipedia, “Biclustering”, http://en.wikipedia.org/wiki/Biclustering