Tải bản đầy đủ (.pdf) (14 trang)

Thuật toán phân cụm đồng thời và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.15 MB, 14 trang )

ĐẠ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: Cơ sở toán cho tin học
Mã số: 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


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


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!


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

35

khối kết quả
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


DANH MỤC CÁC HÌNH

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

Số trang

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 -

30

Biclusters
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

44

Hartigan
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

48

điều kiện
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

50

điều kiện (theo dữ liệu ma trận logarit)
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

64

Bimax
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


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


71

& Church
Hình 3.6. Hình ảnh Bicluster 33x20 tìm thấy bởi thuật toán Cheng

72

& Church
Hình 3.7. Thời gian chạy của một số thuật toán phân cụm đồng

72

thời
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



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

73

thời
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


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 coclustering). 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.

1


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.
2


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.

Cụm 1
Cụm 3
Nợ

Cụm 2

Thu nhập

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

3


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.

Bioinformatics, volume 17 (Suppl. 1), pages S243–S252, 2001.

80

In


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.
81


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
82


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”, />
83



×