THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG...

14
ĐẠI HC QUC GIA HÀ NI TRƯỜNG ĐẠI HC KHOA HC TNHIÊN -------------------------------- LƯU XUÂN VĂN THUT TOÁN PHÂN CỤM ĐỒNG THI NG DNG Chuyên ngành: Mã s: Cơ sở toán cho tin hc 60460110 LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DN KHOA HC: TS. Nguyn ThHng Minh Hà Ni - 2015

Transcript of THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG...

Page 1: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

ĐẠ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

Page 2: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

LỜ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

Page 3: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

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 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!

Page 4: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

MỤC LỤC

Nội dung Trang

Mở đầu 1

Chương 1 - Tổng quan về phân cụm dữ liệu 3

1.1. Phân cụm dữ liệu 3

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.3. Các kiểu dữ liệu trong phân cụm 11

1.4. Phép đo độ tương tự và khoảng cách đối với các kiểu dữ liệu 14

1.5. Một số thuật toán phân cụm 21

Chương 2 - Phân cụm đồng thời 25

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. Thuật toán phân cụm đồng thời 35

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

Chương 3 - Ứng dụng của phân cụm đồng thời 66

3.1. Ứng dụng của phân cụm đồng thời 66

3.2. Hoạt động thực nghiệm 68

Kết luận 78

Danh mục tài liệu tham khảo 80

Page 5: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

DANH MỤC CÁC HÌNH

Nội dung Số trang

Hình 1.1. Ví dụ về phân cụm dữ liệu 3

Hình 1.2. Mô hình cấu trúc dữ liệu lưới 10

Hình 2.1. Ví dụ phân cụm đồng thời 26

Hình 2.2. Minh họa ma trận dữ liệu 27

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.13. Ví dụ một ma trận nhị phân 62

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.1. Ma trận dữ liệu đầu vào 69

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

Page 6: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

Hì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

Page 7: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

DANH MỤC CÁC BẢNG

Nội dung Số trang

Bảng 1.1. Bảng tham số 19

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

Page 8: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

1

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.

Page 9: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

2

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.

Page 10: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

3

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

Page 11: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

80

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.

Page 12: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

81

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.

Page 13: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

82

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

Page 14: THUẬT TOÁN PHÂN CỤM ĐỒNG THỜI VÀ ỨNG DỤNGrepository.vnu.edu.vn/bitstream/VNU_123/10450/1/01050002837-Luu Xuan Van(1).pdf · Các thuật toán biclustering sẽ tìm

83

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.