Các thuật toán biclustering sẽ tìm cách phân cụm đồng thời trên co-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í
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
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
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 41.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.3 Thuật toán của Cheng & Church 45
Trang 5Hình 2.3 Phân loại các khối kết quả của phân cụm đồng thời -
Hình 2.11 Biểu đồ biểu hiện gien và giá trị MSR tương ứng 54
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
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 8MỞ ĐẦ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 clustering) Các thuật toán biclustering sẽ tìm cách phân cụm đồng thời trên
co-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 9Trong 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,
Trang 10CHƯƠ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
Trang 11Quá trình phân cụm là quá trình tìm ra các đối tượng trong cơ sở dữ liệu một cách tự động Không giống như phân lớp (classification), phân cụm không cần những thông tin được xác định trước Nói cách khác, phân cụm là phương pháp học từ quan sát (learning from obversation) hay còn gọi là học không giám sát (unsupervised learning or automatic classfication) trong trí tuệ nhân tạo Phân cụm đặc biệt hiệu quả khi không biết về thông tin các cụm, hoặc khi ta quan tâm tới các thuộc tính của cụm mà chưa biết hoặc biết rất ít về các thông tin đó
Đã có rất nhiều thuật toán cũng như hệ thống được phát triển cho bài toán phân cụm trong cơ sở dữ liệu lớn Sự phát triển của lĩnh vực này đã được
áp dụng vào nhiều lĩnh vực ứng dụng như xử lý ảnh, nhận dạng, đánh giá kinh doanh Sự đa dạng của thuật toán phân cụm là do sự khác nhau của những ứng dụng thực tế cũng dẫn tới những yêu cầu về dữ liệu khác nhau và đòi hỏi những thuật toán phân cụm khác nhau
Một trong những câu hỏi lớn đặt ra trong bài toán phân cụm là đo độ tương đồng không gian giữa các đối tượng dữ liệu (spatial similarity) Trong
dữ liệu không gian thì độ đo tương đồng được xem như sự quan hệ về vị trí không gian giữa các đối tượng dữ liệu Nói cách khác thì hai đối tượng dữ liệu được gọi là tương đồng nếu “khoảng cách không gian” giữa chúng là nhỏ
Một trong những phương pháp đo độ tương đồng giữa hai đối tượng là bằng nghịch đảo của hàm không tương đồng (dissimilarity function) Hàm không tương đồng là hàm dựa trên những thuộc tính không gian của các đối tượng dữ liệu như: toạ độ của các đối tượng, độ cao của các đối tượng Trong nhiều trường hợp thì hàm không tương đồng được xem như là hàm khoảng cách không gian giữa các đối tượng như hàm khoảng cách Euclid, hàm khoảng cách Manhattan, hàm khoảng cách Minkowski,
Bài toán phân cụm là quá trình nhóm một cơ sở dữ liệu thành những nhóm đối tượng dữ liệu phục vụ cho mục đích cụ thể của từng ứng dụng thực
Trang 12mọi ứng dụng mà với mỗi ứng dụng khác nhau thì người sử dụng phải lựa chọn
ra một thuật toán phân cụm cụ thể thích ứng với ứng dụng đó Kết quả đánh giá cho từng thuật toán cũng phụ thuộc vào những yêu cầu của từng ứng dụng
1.2 Ứng dụng và yêu cầu của thuật toán phân cụm dữ liệu
1.2.1 Ứng dụng của phân cụm dữ liệu
Phân cụm dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng tại nhiều lĩnh vực như:
- Quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lí, nhằm cung cấp thông tin cho quy hoạch đô thị;
- Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất nhằm cung cấp thông tin cho nhận dạng các vùng nguy hiểm;
- Thương mại: Tìm kiếm nhóm các khách hàng quan trọng có đặc trưng tương đồng từ các bản ghi mua bán trong cơ sở dữ liệu mua, bán hàng;
- Sinh học: Phân loại các gene với các chức năng tương đồng và thu được các cấu trúc trong mẫu;
- Thư viện: Theo dõi người đọc, sách, dự đoán nhu cầu của độc giả
- Bảo hiểm: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ tài chính, dự đoán xu hướng của khách hàng, phát hiện gian lận tài chính;
- Phân loại tài liệu, phân loại người dùng web
1.2.2 Yêu cầu về thuật toán phân cụm dữ liệu
Theo các nghiên cứu cho thấy hiện nay chưa có một phương pháp phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc cơ sở
dữ liệu Hơn nữa, các phương pháp phân cụm cần có cách thức biểu diễn cấu trúc của cơ sở dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng thuật toán phân cụm phù hợp Vì vậy, phân cụm dữ liệu vẫn đang là một vấn
đề khó và mở vì phải giải quyết nhiều vấn đề cơ bản một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là với kho dữ liệu hỗn hợp đang
Trang 13ngày càng tăng và đây cũng là một trong những thách thức lớn trong lĩnh vực khai phá dữ liệu
Vậy phân cụm dữ liệu là một thách thức trong lĩnh vực nghiên cứu, vì 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 Do đặc thù của của cơ sở dữ liệu là lớn, phức tạp, và
có dữ liệu nhiễu nên những thuật toán phân cụm được áp dụng phải thoả mãn những yêu cầu sau:
- Thuật toán phải hiệu quả và thời gian chạy phải là tăng tuyến tính theo kích thước của dữ liệu;
- Thuật toán phải xử lý và áp dụng được với cơ sở dữ liệu nhiều nhiễu, phức tạp gồm cả dữ liệu không gian, phi không gian, dữ liệu số, phi số, kiểu nhị phân, dữ liệu định danh, hạng mục, thích nghi với kiểu dữ liệu hỗn hợp
- Thuật toán phải có khả năng xác định được những cụm với hình dáng bất kỳ bao gồm cả những cụm có hình dạng lồng nhau, cụm có hình dạng lõm, hình cầu, hình que
- Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào Do các giá trị đầu vào thường ảnh hưởng rất lớn đến thuật toán phân cụm và rất phức tạp để xác định các giá trị vào thích hợp đối với các cơ sở dữ liệu lớn
- Thuật toán phải thực hiện với mọi thứ tự đầu vào dữ liệu Nói cách khác kết quả của thuật toán nên độc lập với dữ liệu đầu vào (Cùng một tập dữ liệu, khi đưa vào xử lý cho thuật toán phân cụm dữ liệu với các thứ tự vào của các đối tượng dữ liệu ở các lần thực hiện khác nhau thì không ảnh hưởng lớn đến kết quả phân cụm);
- Thuật toán không đòi hỏi những tri thức về cơ sở dữ liệu từ người dùng;
- Thuật toán phải làm việc được với cơ sở dữ liệu chứa nhiều lớp đối tượng dữ liệu phức tạp và có tính chất khác nhau;
- Thuật toán phải thích nghi với dữ liệu đa chiều: Thuật toán có khả năng
áp dụng hiệu quả cho dữ liệu có số khác chiều nhau;
Trang 14- Thuật toán phải dễ hiểu, dễ cài đặt và khả thi: 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 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.2.3 Các hướng tiếp cận của bài toán phân cụm dữ liệu
Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và ứng dụng trong thực
tế, nó hướng tới hai mục tiêu chung đó là 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 Hiện nay, các kỹ thuật phân cụm có thể phân loại theo các cách tiếp cận chính sau
1.2.3.1 Phương pháp phân cụm phân hoạch
Phương pháp phân cụm phân hoạch nhằm phân một tập dữ liệu có n phần
tử cho trước thành k nhóm dữ liệu sao cho: mỗi phần tử dữ liệu chỉ thuộc về
một nhóm dữ liệu và mỗi nhóm dữ liệu có tối thiểu ít nhất một phần tử dữ liệu Các thuật toán phân hoạch dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề phân cụm dữ liệu, do nó phải tìm kiếm tất cả các cách phân hoạch có thể được Chính vì vậy, trên thực tế người ta thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách sử dụng một hàm tiêu chuẩn
để đánh giá chất lượng của các cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu Với chiến lược này, thông thường người thực hiện bắt đầu khởi tạo một phân hoạch ban đầu cho tập dữ liệu theo phép ngẫu nhiên hoặc theo heuristic và liên tục tinh chỉnh nó cho đến khi thu được một phân hoạch mong muốn, thoả mãn ràng buộc cho trước Các thuật toán phân cụm phân hoạch cố gắng cải tiến tiêu chuẩn phân cụm, bằng cách tính các giá trị đo
độ tương tự giữa các đối tượng dữ liệu và sắp xếp các giá trị này, sau đó thuật toán lựa chọn một giá trị trong dãy sắp xếp sao cho hàm tiêu chuẩn đạt giá trị tối thiểu Như vậy, ý tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến lược tham lam (Greedy) để tìm kiếm nghiệm Một số thuật toán phân cụm phân hoạch điển hình như K-means, PAM, CLARA, CLARANS,
Trang 151.2.3.2 Phương pháp phân cụm phân cấp
Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu đang xem xét Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấu trúc
có dạng hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy có hai cách tiếp cận phổ biến của kỹ thuật này đó là:
- Hòa nhập nhóm (thường được gọi là tiếp cận Bottom-Up): Phương pháp này bắt đầu với mỗi đối tượng được khởi tạo tương ứng vói các cụm riêng biệt, sau đó tiến hành nhóm các đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm của hai nhóm), quá trình này được thực hiện cho đến khi tất
cả các nhóm được hòa nhập vào một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều kiện kết thúc thỏa mãn Như vậy, cách tiếp cận này
sử dụng chiến lược tham lam trong quá trình phân cụm
- Phân chia nhóm (thường được gọi là tiếp cận Top-Down): Bắt đầu với trạng thái là tất cả các đối tượng được xếp trong cùng một cụm Mỗi vòng lặp thành công, một cụm được tách thành các cụm nhỏ hơn theo giá trị của một phép đo độ tương tự nào đó cho đến khi mỗi đối tượng là một cụm, hoặc cho đến khi điều kiện dừng thỏa mãn Cách tiếp cận này sử dụng chiến lược chia để trị trong quá trình phân cụm
Một số thuật toán phân cụm phân cấp điển hình như CURE, BIRCH, Thực tế áp dụng, có nhiều trường hợp người ta kết hợp cả hai phương pháp phân cụm phân hoạch và phương phân cụm phân cấp, nghĩa là kết quả thu được của phương pháp phân cấp có thể cải tiến thông quan bước phân cụm phân hoạch Phân cụm phân hoạch và phân cụm phân cấp là hai phương pháp phân cụm dữ liệu cổ điển, hiện nay đã có nhiều thuật toán cải tiến dựa trên hai phương pháp này đã được áp dụng phổ biến trong khai phá dữ liệu
1.2.3.3 Phương pháp phân cụm dựa trên mật độ
Phương pháp này nhóm các đối tượng theo hàm mật độ xác định Mật độ được định nghĩa như là số các đối tượng lân cận của một đối tượng dữ liệu theo
Trang 16thì nó tiếp tục được phát triển thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân cận của các đối tượng này phải lớn hơn một ngưỡng đã được xác định trước Phương pháp phân cụm dựa vào mật độ của các đối tượng để xác định các cụm dữ liệu có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ
Kỹ thuật này có thể khắc phục được các phân tử ngoại lai hoặc giá trị nhiễu rất tốt, tuy vậy việc xác định các tham số mật độ của thuật toán rất khó khăn, trong khi các tham số này lại có tác động rất lớn đến kết quả phân cụm dữ liệu Một
số thuật toán phân cụm dữ liệu dựa trên mật độ điển hình như DBSCAN, OPTICS,
1.2.3.4 Phương pháp phân cụm dựa trên lưới
Kỹ thuật phân cụm dựa trên mật độ không thích hợp với dữ liệu nhiều chiều, để giải quyết cho đòi hỏi này, người ta đã dử dụng phương pháp phân cụm dựa trên lưới Đây là phương pháp dựa trên cấu trúc dữ liệu lưới để phân cụm dữ liệu, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Thí dụ như dữ liệu được biểu diễn dưới dạng cấu trúc hình học của đối tượng trong không gian cùng với các quan hệ, các thuộc tính, các hoạt động của chúng Mục tiêu của phương pháp này là lượng hoá tập dữ liệu thành các ô (cell), các cell này tạo thành cấu trúc dữ liệu lưới, sau đó các thao tác phân cụm
dữ liệu làm việc với các đối tượng trong từng cell này Cách tiếp cận dựa trên lưới này không di chuyển các đối tượng trong các cell mà xây dựng nhiều mức phân cấp của nhóm các đối tượng trong một cell Trong ngữ cảnh này, phương pháp này gần giống với phương pháp phân cụm phân cấp nhưng chỉ có điều chúng không trộn các cell Do vậy các cụm không dựa trên độ đo khoảng cách (hay còn gọi là độ đo tương tự đối với các dữ liệu không gian) mà nó được quyết định bởi một tham số xác định trước Ưu điểm của phương pháp phân cụm dữ liệu dựa trên lưới là thời gian xử lý nhanh và độc lập vói số đối tượng
dữ liệu trong tập dữ liệu ban đầu, thay vào đó là chúng phụ thuộc vào số cell trong mỗi chiều của không gian lưới Một thí dụ về cấu trúc dữ liệu lưới chứa các cell trong không gian như hình sau:
Trang 17Hình 1.2 Mô hình cấu trúc dữ liệu lưới Một số thuật toán phân cụm dữ liệu dựa trên cấu trúc lưới điển hình: Sting, WaveCluster,
1.2.3.5 Phương pháp phân cụm dựa trên mô hình
Phương pháp này cố gắng khám phá các phép xấp xỉ tốt của các tham số
mô hình sao cho khớp với dữ liệu một cách tốt nhất Chúng có thể sử đụng chiến lược phân cụm phân hoạch hoặc chiến lược phân cụm phân cấp, dựa trên cấu trúc hoặc mô hình mà chúng giả định về tập dữ liệu và cách mà chúng tinh chỉnh các mô hình này để nhận dạng ra các phân hoạch
Phương pháp phân cụm dữ liệu dựa trên mô hình cố gắng khớp giữa dữ liệu với mô hình toán học, nó dựa trên giả định rằng dữ liệu được tạo ra bằng hỗn hợp phân phối xác suất cơ bản Các thuật toán phân cụm dựa trên mô hình
có hai tiếp cận chính: mô hình thống kê và mạng Nơron Phương pháp này gần giống với phương pháp dựa trên mật độ, bởi vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định trước đó, nhưng đôi khi nó không bắt đầu với một số cụm cố định và không sử dụng cùng một khái niệm mật độ cho các cụm
1.2.3.6 Phương pháp phân cụm có dữ liệu ràng buộc
Sự phát triển của phân cụm dữ liệu không gian trên cơ sở dữ liệu lớn đã cung cấp nhiều công cụ tiện lợi cho việc phân tích thông tin địa lí, tuy nhiên hầu hết các thuật toán này cung cấp rất ít cách thức cho người dùng để xác định các ràng buộc trong thế giới thực cần phải được thỏa mãn trong quá trình phân
Trang 18cụm Để phân cụm dữ liệu không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm
Hiện nay, các phương pháp phân cụm trên đã, đang được phát triển và
áp dụng nhiều trong các lĩnh vực khác nhau và đã có một số nhánh nghiên cứu được phát triển trên cơ sở của các phương pháp đó như:
- Phân cụm thống kê: Dựa trên các khái niệm phân tích thống kê, nhánh nghiên cứu này sử dụng các độ đo tương tự để phân hoạch các đối tượng, nhưng chúng chỉ áp dụng cho các dữ liệu có thuộc tính số
- Phân cụm mờ: Sử dụng kỹ thuật mờ để phân cụm dữ liệu, các thuật toán thuộc loại này chia ra lược đồ phân cụm thích hợp với tất cả các hoạt động đời sống hàng ngày, chúng chỉ xử lí các dữ liệu thực hiện không chắc chắn
- Phân cụm mạng Kohonen: Loại phân cụm này dựa trên khái niệm của các mạng Nơron Mạng Kohonen có tầng Nơron vào và các tầng Nơron ra Mỗi Nơron của tầng vào tương ứng với mỗi thuộc tính của bản ghi, mỗi một Nơron vào kết nối với tất cả các Nơron của tầng ra Mỗi liên kết được gắn liền với một trọng số nhằm xác định vị trí của Nơron ra tương ứng
Các kỹ thuật phân cụm dữ liệu trình bày ở trên đã được sử dụng rộng rãi trong thực tế, thế nhưng hầu hết chúng chỉ nhằm áp dụng cho tập dữ liệu với cùng một kiểu thuộc tính Vì vậy, việc phân cụm dữ liệu trên tập dữ liệu có kiểu hỗn hợp là một vấn đề đặt ra trong khai phá dữ liệu trong giai đoạn hiện nay
1.3 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 diễn tả 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) Các thuộc tính này là các tham số để giải quyết vấn đề phân cụm và sự lựa chọn 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
là 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
Trang 19phươ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ác thuật toán phân cụm thường sử dụng một trong hai cấu trúc dữ liệu sau:
- Ma trận dữ liệu (Data matrix): là mảng n hàng, p cột, trong đó p là số
thuộc tính của mỗi đối tượng Mỗi hàng biểu diễn một đối tượng, các phần tử trong mỗi hàng chỉ giá trị thuộc tính tương ứng của đối tượng đó Mảng được cho như sau:
i và j là khá “gần” nhau, nếu d(i,j) càng lớn thì hai đối tượng i, j khá khác nhau
Do d(i,i) = d(j,j) = 0 nên ta có thể biểu diễn ma trận phi tương tự như sau:
Do vậy, nếu dữ liệu cần phân cụm được tổ chức dưới dạng ma trận dữ liệu thì cần biến đổi về dạng ma trận phi tương tự trước khi tiến hành phân cụm
Có hai đặc trưng để phân loại: kích thước miền và hệ đo
Cho một CSDL 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 = (x 1 ,x 2 , ,x k ); Y = (y 1 , ,y k ); Z = (z 1 ,z 2 , z k ) (trong đó x i , y i , z i 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:
+ Kiểu dữ liệu dựa trên kích thước miền
Trang 20- 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, )
+ 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 hoá của thuộc tính nhị phân, trong đó có 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 nhưng 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 x i > y i thì có thể nói x i cách y i một
khoảng x i - y i tương ứng với thuộc tính thứ i
Việc lựa chọn đơn vị đo cho các thuộc tính cũng ảnh hưởng đến chất lượng phân cụm Nếu đơn vị độ đo của một thuộc tính càng được chia nhỏ, thì khoảng cách xác định của thuộc tính đó càng lớn và ảnh hưởng nhiều hơn đến kết quả phân cụm Để tránh phụ thuộc vào việc lựa chọn đơn vị đo, dữ liệu cần được chuẩn hóa Việc chuẩn hóa sẽ gán cho tất cả các thuộc tính một trọng số bằng nhau Tuy nhiên, trong nhiều trường hợp người sử dụng có thể thay đổi trọng số cho các thuộc tính ưu tiên
Để chuẩn hóa các độ đo, một cách làm phổ biến là biến đổi các thuộc
tính về dạng không có đơn vị đo Giả sử đối với các thuộc tính f, ta thực hiện
như sau:
Trang 21- Tính độ lệch trung bình:
𝑆𝑓 = 1
𝑛(|𝑥1𝑓 − 𝑚𝑓| + |𝑥2𝑓 − 𝑚𝑓|+ + |𝑥𝑛𝑓 − 𝑚𝑓|)
Trong đó x 1f , , x nf là giá trị thuộc tính f của n phần tử dữ liệu, và m f là
giá trị trung bình của f, được cho như sau:
- Thuộc tính nhị phân là thuộc tính có hai giá trị là 0 và 1
- 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
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 cách 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, quan hệ metric, quan hệ hướng, ) 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 khoảng cách giữa các đối tượng dữ liệu trong không gian
1.4 Phép đo độ tương tự và khoảng cách đối với các kiểu dữ liệu
1.4.1 Khái niệm tương tự, phi tương tự
Để phân cụm, người ta phải đ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
Trang 22hoặc là để tính độ tương tự (Similar) hoặc là tính độ phi tương tự (Dissimilar) 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ự giố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à con người phân tích Ví
dụ, 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:
(i) 𝛿(x,y) > 0 nếu x ≠ y;
(ii) 𝛿(x,y) = 0 nếu x = y;
(iii) 𝛿(x,y) = 𝛿(y,x) với mọi x, y;
(iv) 𝛿(x,y) < 𝛿(x,z) + 𝛿(z,y);
Hàm 𝛿(x,y) được gọi là một metric của không gian Các phần tử x,y được gọi là các điểm của không gian này
1.4.2 Thuộc tính khoảng
Một thành phần quan trọng trong thuật toán phân cụm là phép đo khoảng cách giữa hai điểm dữ liệu Nếu thành phần của vectơ thể hiện dữ liệu thuộc
Trang 23trong cùng một đơn vị giống nhau thì nó tồn tại khoảng cách Euclidean 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 Euclidean cũng cho kết quả chính xác
Tuy nhiên chú ý rằng đây không phải 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 vectơ 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: 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 để trình bày rõ ràng phép đo khoảng thích hợp cho mỗi ứng dụng Hiện nay, phép
đo có nhiều mức độ khác nhau tùy theo từng trường hợp
Trang 24Trong trường hợp q = ∞, hữu ích để định nghĩa các đối tượng phi tương
tự nếu chúng khác nhau chỉ trong một kích thước biến đổi
- Bình phương khoảng cách Euclidean
của khoảng cách Minkowski Giả sử có hai trường hợp C 1 và C 2 có các biến
liên tục x và y, lấy lần lượt các giá trị (x 1 , y 1 ) và (x 2 , y 2) tương ứng, có thể vẽ đồ thị hai trường hợp trong không gian x-y:
Khoảng cách Euclidean
Tuy nhiên không có nguyên tắc tổng quát để chọn phép đo áp dụng cho bất cứ bài toán nào Một cách đơn giản để đo độ tương tự giữa các nhóm trong
khung tương tự bằng cách thay thế nhóm cho thuộc tính thứ i của đối tượng đo
chẳng hạn như khoảng cách Euclidean, khoảng cách Manhattan, hoặc bình
phương Mahalanobis Ví dụ, giả sử rằng nhóm A có vectơ trung bình A =
[𝑥̅𝑎1, 𝑥̅𝑎2, , 𝑥̅𝑎𝑛] và nhóm B có vectơ trung bình B = [𝑥̅𝑏1, 𝑥̅𝑏2, , 𝑥̅𝑏𝑛] thì cách đo bằng khoảng cách Euclidean giữa hai nhóm có thể được định nghĩa là:
𝑑𝑖𝑠𝑡(𝐴, 𝐵) = (∑(𝑥̅𝑎𝑖 − 𝑥̅𝑏𝑖)2
𝑛
𝑖=1
)1/2
Trang 25Cách tiếp cận khác để tính là khoảng cách giữa phần tử gần nhất hoặc phần tử xa nhất Cách tiếp cận này sử dụng các thuật toán phân cụm phân cấp chẳng hạn như liên kết đơn và liên kết đầy đủ Vấn đề chính với hai cách tiếp cận này giống nhau là không cảm nhận được mâu thuẫn định lượng và không tính toán cho các yếu tố của các phần tử trong một nhóm
Cách tiếp cận khác, là trung bình nhóm, có thể sử dụng phép đo độ tương
tự giữa các nhóm Cách tiếp cận này, sự giống nhau giữa các nhóm được đo bằng cách lấy giá trị trung bình của tất cả các phép đo giữa các đối tượng cho từng cặp đối tượng trong các nhóm khác nhau Ví dụ, trung bình phi tương tự giữa nhóm A và B có thể được định nghĩa là:
trong đó, n là tổng số các đối tượng cùng cặp, n = n x x n y , n x và n y lần
lượt là số các đối tượng trong đối tượng x i và y i , d(x i ,y i ) là phi tương tự của một cặp đối tượng x i và y i , x i ∈ A, yi ∈ B Hàm phi tương tự có thể dễ dàng chuyển đổi sang hàm tương tự bằng cách thay đổi cho nhau
1.4.3 Thuộc tính nhị phân
Tất cả các phép đo được định nghĩa ở trên đa số thích hợp cho các biến liên tục Cho các biến danh nghĩa, “phép đo khoảng cách” là 0 nếu các trường hợp có cùng giá trị danh nghĩa, và 1 nếu các trường hợp có các giá trị danh nghĩa khác nhau, hoặc với độ đo tương tự 1 (nếu các trường hợp có cùng giá trị danh nghĩa) và 0 (nếu không giống nhau)
Do đó nếu xem xét p 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 Nói chung đị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, nhãn khác là 0 Xây dựng và xem xét bảng ngẫu nhiê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
Trang 26a 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 số tất cả các thuộc tính của hai đối tượng x, y
Các phép đo độ tương tự của các trường hợp với dữ liệu thuộc tính nhị phân được thực hiện bằng các cách sau:
- Chỉ số đối sánh đơn giản: d(x,y) = (a+d)/p ; cả hai đối tượng có vai trò
như nhau, nghĩa là chúng đối xứng và có cùng trọng số
- Chỉ số Jaccard: d(x,y) = a/(a+b+c) ; tham số này bỏ qua số các đối
sánh 0-0
Cô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
d(x,y) = a/p
d(x,y) = a/(b + c)
d(x,y) = a/(2a+b+c)
Các giá trị được định nghĩa trong khoảng [0, 1] và có thể biến đổi sang
độ đo phi tương tự bằng biểu thức: ds(x,y) = 1 - d(x,y)
1.4.4 Thuộc tính định danh
Độ đo phi tương tự giữa hai đối tượng x và y được định nghĩa như sau:
d(x,y)=(p-m)/p
Trang 27trong đó, m là số thuộc tính đối sánh tương ứng trùng nhau, p là tổng số
các thuộc tính
1.4.5 Thuộc tính có thứ tự
Phép đo độ phi tương tự giữa các đối tượng dữ liệu với thuộc tính thứ tự
được thực hiện như sau: Giả sử i là thuộc tính thứ tự có M i giá trị (M i là kích thước miền giá trị):
- Các trạng thái M i được sắp xếp thứ tự như nhau: [1, ,M i], có thể thay
thế mỗi giá trị của thuộc tính bằng giá trị cùng loại r i với r i ∈ {1, ,M i}
- Mỗi 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:
𝑧𝑖(𝑗) = 𝑟𝑖
(𝑓)− 1
𝑀𝑖 − 1
- Sử dụng công thức tính độ phi tương tự của thuộc tính khoảng đối với
các giá trị 𝑧𝑖(𝑗) , đây cũng chính là độ phi tương tự của thuộc tính có thứ tự
1.4.6 Thuộc tính tỷ lệ
Có nhiều cách khác nhau để tính độ tương tự giữa các thuộc tính tỉ lệ
Một trong những số đó là sử dụng công thức tính logarit cho mỗi thuộc tính x i,
ví dụ q i = log(x i ), q i đóng vai trò như thuộc tính khoảng Phép biến đổi logarit này thích hợp trong trường hợp các giá trị của thuộc tính là số mũ
Trong thực tế, khi tính độ tương tự dữ liệu, chỉ xem xét một phần các thuộc tính đặc trưng đối với các kiểu dữ liệu hoặc là đánh trọng số cho tất cả các thuộc tính dữ liệu Trong một số trường hợp, loại bỏ đơn vị đo của các thuộc tính dữ liệu bằng cách chuẩn hóa chúng, hoặc gán trọng số cho mỗi thuộc tính giá trị trung bình, độ lệch chuẩn Các trọng số này có thể sử dụng trong 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 w i (1 < i < k), độ tương đồng dữ liệu được xác định như sau:
Trang 28𝑑(𝑥, 𝑦) = √∑ 𝑤𝑖 (𝑥𝑖 − 𝑦𝑖)2
𝑛
𝑖=1
Có thể chuyển đổi giữa các mô hình cho các kiểu dữ liệu trên, ví dụ như
dữ liệu kiểu hạng mục có thể chuyển đổi thành dữ liệu nhị phân hoặc ngược lại Giải pháp này rất tốn kém về chi phí tính toán, do vậy, cần phải cân nhắc khi
áp dụng cách thức này
Tóm lại, tùy từng trường hợp dữ liệu cụ thể mà có thể sử dụng các mô hình tính độ tương tự khác nhau Việc xác định độ 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.5 Một số thuật toán phân cụm
1.5.1 Thuật toán K-means
Thuật toán phân cụm K-means do MacQueen giới thiệu trong tài liệu “J Some Methods for Classification and Analysis of Multivariate Observations” năm 1967 và phát triển dựa trên ý tưởng của H.Steinhaus đề xuất năm 1956
K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật phân cụm Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm
các đối tượng (objects) đã cho vào K cụm (K là số các cụm được xác định trước,
K nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng
Trong đó, x là một điểm, m i là giá trị trung bình của cụm C i
Thuật toán k-means bao gồm các bước cơ bản sau :
Trang 29Đầu vào: n đối tượng, số cụm k, và các trọng tâm cụm m j (1 ≤ j ≤ k) Đầu ra: Các cụm Ci (1 ≤ i ≤ k) và hàm tiêu chuẩn E đạt giá trị tối thiểu
Begin
Bước 1: Khởi tạo
Chọn k trọng tâm m j (1 ≤ j ≤ k) ban đầu trong không gian dữ liệu Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm
Bước 2: Tính toán khoảng cách
Đối với mỗi điểm x i (1 ≤ i ≤ n), tính toán khoảng cách của nó tới mỗi trọng tâm m j (1 ≤ j ≤ k) Sau đó tìm trọng tâm gần nhất đối với mỗi điểm
Bước 3: Cập nhật lại trọng tâm
Đối với mỗi 1 ≤ j ≤ k, cập nhật trọng tâm cụm m j bằng cách xác định trung bình cộng các vectơ đối tượng dữ liệu
vào như: số cụm k và các trọng tâm khởi tạo ban đầu Trong trường hợp các trọng
tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của k-means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm trong thực tế Trên thực tế chưa có một giải pháp tối ưu nào
để chọn các tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm
với các giá trị đầu vào K khác nhau rồi sau đó chọn giải pháp tốt nhất
1.5.2 Thuật toán AGNES
Phương pháp phân cụm AGNES là một phương pháp phân cụm phân cấp
Trang 30các cụm riêng lẻ Các cụm được hòa nhập theo một số loại của cơ sở luật, cho đến khi chỉ có một cụm ở đỉnh của phân cấp, hoặc gặp điều kiện dừng Hình dạng này của phân cụm phân cấp cũng liên quan đến tiếp cận bottom-up bắt đầu ở dưới với các nút lá trong mỗi cụm riêng lẻ và duyệt lên trên phân cấp tới nút gốc, nơi tìm thấy cụm đơn cuối cùng với tất cả các đối tượng dữ liệu được chứa trong cụm đó
Đối với phương pháp phân cụm phân cấp từ dưới lên giải thuật được mô
tả như sau, với x = {x 1 , x 2 , , x N } là tập các đối tượng Gọi C = {c 1 ,c 2 , ,c K} là
tập các cụm với μ i là tâm cụm của cụm c i và n i là số đối tượng trong cụm c i Ma
trận DN×N được gọi là ma trận khoảng cách với D ij = d(c i ,c j ) Thuật toán ban đầu
sẽ gán mỗi đối tượng là một cụm chẳng hạn chúng ta có N đối tượng thì chúng
ta sẽ có N cụm Sau đó tiến hành hai cụm gần nhau nhất lại cho đến khi nào số
cụm còn lại một thì dừng lại
Thuật toán AGNES bao gồm các bước cơ bản sau :
Bước 1: Mỗi đối tượng là một nhóm
Bước 2: Hợp nhất các nhóm có khoảng cách giữa các nhóm là nhỏ nhất
Kết luận
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 Phân cụm dữ liệu là lĩnh vực đã và đang trở thành một trong những hướng nghiên cứu thu hút được sự quan tâm của nhiều chuyên gia về công nghệ
Trang 31thông tin trên thế giới và được ứng dụng trong nhiều lĩnh vực khác nhau Tại Việt Nam kỹ thuật này còn tương đối mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng Trong những năm gần đây, rất nhiều các phương pháp và thuật toán mới liên tục được công bố Điều này chứng tỏ những ưu thế, lợi ích và khả năng ứng dụng thực tế to lớn của phân cụm trong khai phá dữ liệu Trong chương này, những nội dung tổng quan về phân cụm dữ liệu đã trình bày một cách tương đối đầy đủ
Trang 32CHƯƠNG 2 PHÂN CỤM ĐỒNG THỜI
2.1 Vấn đề phân cụm đồng thời - Biclustering
2.1.1 Đặt vấn đề
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ó những 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 phương pháp phân cụm (clustering methods) như trên 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à nghiên cứu đã đề 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 phân cụm đồng thời (Biclustering) sẽ tìm cách phân cụm đồng thời trên các hàng (các gene) và các cột (các điều kiện - 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ể
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 có thể được sử dụng trong nghiên cứu chế tạo thuốc, phát hiện khối u, và các nghiên cứu lâm sà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
Trang 33Hình 2.1 Ví dụ phân cụm đồng thời; (a) Ma trận dữ liệu nhị phân ban đầu (b)
Ma trận dữ liệu được tổ chức lại theo phân vùng của các hàng (c) Ma trận dữ liệu được tổ chức lại theo phân vùng của cả các hàng và các cột (d) Kết quả phân cụm cuối cùng
Như vậy, mục đính của phân cụm đồng thời (Biclustering) là:
- Tìm thấy một tập hợp các bicluster có ý nghĩa trong một ma trận: xác định ma trận con có những tính chất đáng quan tâm;
- Thực hiện phân nhóm đồng thời trên hàng và cột của ma trận biểu hiện gene thay vì phân nhóm riêng lẻ các hàng và cột;
- Thường được dùng phân tích dữ liệu biểu hiện gene: xác định các nhóm nhỏ gene và nhóm nhỏ điều kiện (conditions), mà các gene biểu hiện mối tương quan cao trong các điều kiện ấy
Trang 342.1.2 Định nghĩa và phát biểu có hệ thống vấn đề
Chúng ta sẽ làm việc với một ma trận n x m, trong đó các phần tử a ij sẽ được gán một giá trị thực nhất định Trong trường hợp của ma trận biểu hiện
gene, giá trị a ij thể hiện mức độ biểu hiện của gene i trong điều kiện j
Phần lớn các ứng dụng của các thuật toán phân cụm đồng thời là hoạt động xử lý đối với ma trận biểu hiện gene Tuy nhiên, ngoài ra cũng có rất nhiều ứng dụng khác của các phương pháp phân cụm đồng thời Vì lý do này,
chúng ta sẽ xem xét các trường hợp chung của một ma trận dữ liệu A, với tập hợp các hàng X và tập hợp các cột Y, trong đó các phần tử a ij tương ứng với
một giá trị đại diện cho mối quan hệ giữa hàng i và cột j
Một ma trận A, với n hàng và m cột, được xác định bởi tập hợp các hàng của nó, X={x 1 , , x n }, và các cột của nó, Y={y 1 , , y n} Chúng ta sẽ sử dụng
(X,Y) để biểu diễn ma trận A Nếu I⊆X và J⊆Y là các tập hợp con của các hàng
và các cột, tương ứng, A IJ =(I,J) biểu thị ma trận con A IJ của A mà chỉ chứa các phần tử a ij thuộc ma trận con với tập hợp các hàng I và tập hợp các cột J
Điều kiện 1 Điều kiện j Điều kiện m
Hình 2.2 Minh họa ma trận dữ liệu
Cho ma trận dữ liệu A, một cụm các hàng (cluster of rows) là một tập
hợp con của các hàng mà có biểu hiện tương tự trên tập tất cả các cột Điều này
có nghĩa rằng một cụm hàng A IY = (I,Y) là một tập hợp con của các hàng được xác định trên tất cả các cột Y, trong đó I={i 1 , , i k} là một tập con của các hàng
(I⊆X và k≤n) Một cụm các hàng (cluster of rows) (I,Y) có thể được định nghĩa như là một ma trận con k x m của ma trận dữ liệu A Tương tự như vậy, một cụm các cột (cluster of columns) là một tập con các cột biểu hiện hành vi tương
Trang 35tự trên tất cả các hàng Một cụm A XJ = (X,J) là một tập con các cột được xác định trên tất cả các hàng X, trong đó J={j 1 , , j s} là một tập hợp con của các
cột (J⊆Y và s≤m) Một nhóm các cột (X,J) có thể được định nghĩa là một ma trận con n x s của ma trận dữ liệu A
Một bicluster là một tập con của các hàng mà giá trị thể hiện biểu hiện
tương tự như nhau trên một tập con của các cột, và ngược lại Bicluster A IJ =(I,J)
là một tập con của các hàng và một tập con của các cột trong đó I={i 1 , , i k} là
một tập con của các hàng (I⊆X và k≤n), và J={j 1 , , j s} là một tập con của các
cột (J⊆Y và s≤m) Một bicluster (I,J) có thể được định nghĩa như là một ma trận con k x s của ma trận dữ liệu A
Như vậy, các vấn đề cụ thể cần giải quyết bằng các thuật toán phân cụm đồng thời (biclustering) bây giờ có thể được xác định Cho một ma trận dữ liệu
A, chúng ta muốn xác định một tập hợp các bicluster B k =(I k ,J k) sao cho mỗi
bicluster B k thỏa mãn một số đặc điểm đồng nhất cụ thể Các đặc điểm đồng nhất mà một bicluster phải tuân theo thay đổi giữa phương pháp tiếp cận này
và phương pháp tiếp cận khác
Tóm lại:
Cho một ma trận A có độ lớn là n × m, tìm một tập hợp các ma trận con
B k , sao cho mỗi B k biểu diễn một dấu hiệu mong muốn nào đó
Clustering: Có thể được áp dụng cho các hàng hoặc các cột của ma trận
dữ liệu một cách riêng biệt Đưa ra cụm hàng (phân nhóm hàng) hoặc cụm cột
(phân nhóm cột)
Biclustering: Thực hiện phân nhóm đồng thời cả hàng và cột của ma trận
dữ liệu Đưa ra phân nhóm hàng và phân nhóm cột
Trang 362.2 Phân loại các khối kết quả của phân cụm đồng thời
Một tiêu chí để đánh giá một thuật toán phân cụm đồng thời liên quan đến việc xác định các loại bicluster mà các thuật toán có thể tìm thấy Chúng ta
có thể xác định được bốn loại bicluster chính như sau:
1) Bicluster với các giá trị hằng số (Constant Bicluster)
2) Bicluster với các giá trị không đổi trên hàng (Constant Rows Bicluster) hoặc cột (Constant Columns Bicluster)
3) Bicluster với các giá trị cố kết (Coherent Values Bicluster)
4) Bicluster với các giá trị biến đổi cố kết (Coherent Evolutions Bicluster) Các thuật toán phân cụm đồng thời đơn giản nhất xác định các tập con
của các hàng và các tập con của các cột với các giá trị hằng số Một ví dụ về
một bicluster hằng số được trình bày trong Hình 2.3(a) Một bicluster hằng số
“hoàn hảo” là một ma trận con (I,J), trong đó tất cả các giá trị trong ma trận đó (bicluster) đều bằng nhau với mọi i∈I và j∈J, tức là:
a ij =μ
Phương pháp tiếp cận phân cụm đồng thời khác tìm kiếm các tập con của
các hàng và các tập con của các cột với các giá trị không đổi trên các hàng hoặc trên các cột của ma trận dữ liệu Các bicluster trình bày trong Hình 2.3(b)
là một ví dụ của một bicluster với các hàng mà giá trị các phần tử trên hàng đó không đổi, trong khi bicluster mô tả trong Hình 2.3(c) là một ví dụ của một bicluster với các cột mà giá trị các phần tử trên cột đó không đổi
Một bicluster “hoàn hảo” với các hàng không đổi là một ma trận con (I,J), trong đó tất cả các giá trị trong bicluster có thể thu được bằng cách sử
dụng một trong những biểu thức sau đây:
a ij = μ + α i hoặc a ij = μ × α i Trong đó μ là giá trị đặc trưng trong bicluster và α i là sự điều chỉnh cho
hàng i∈I Điều chỉnh này có thể thu được qua một phép cộng hoặc phép nhân
Trang 37Tương tự như vậy, một bicluster “hoàn hảo” với các cột không đổi là một ma trận con (I,J) Trong đó, tất cả các giá trị trong bicluster có thể thu được
bằng cách sử dụng một trong các biểu thức sau:
a ij = μ + 𝛽j hoặc a ij = μ × 𝛽j
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 2.0 3.0 4.0 1.0 2.0 5.0 0.0 1.0 2.0 0.5 1.5 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 1.0 2.0 3.0 4.0 2.0 3.0 6.0 1.0 2.0 4.0 1.0 3.0 1.0 1.0 1.0 1.0 3.0 3.0 3.0 3.0 1.0 2.0 3.0 4.0 4.0 5.0 8.0 3.0 4.0 8.0 2.0 6.0 1.0 1.0 1.0 1.0 4.0 4.0 4.0 4.0 1.0 2.0 3.0 4.0 5.0 6.0 9.0 4.0 3.0 6.0 1.5 4.5 (a) Constant
Bicluster
(b) Constant Rows
(c) Constant Columns
(d) Coherent Values - Addtive Model
(e) Coherent Values - Multiplicative Model S1 S1 S1 S1 S1 S1 S1 S1 S1 S2 S3 S4 70 13 19 10
(h) Coherent Evolution on the Columns
(i) Coherent Evolution on the Columns Hình 2.3 Phân loại các khối kết quả của phân cụm đồng thời - Bicluster
Bicluster có các giá trị cố kết (Coherent Values Bicluster) là một cải tiến tổng thể hơn các loại được xem xét trong phần trước, trong đó trình bày các bicluster với các giá trị không đổi không phải chỉ ở các hàng hay các cột, mà xem xét các bicluster với các giá trị cố kết trên cả hàng và cột Trong trường hợp dữ liệu biểu hiện gene, chúng ta có thể quan tâm đến việc xác định các bicluster phức tạp hơn trong đó 1 tập con gene và 1 tập con điều kiện có giá trị
cố kết trên cả hàng và cột Các bicluster trong Hình 2.3(d), 2.3(e) là những ví
dụ của loại hình bicluster này, trong đó Hình 2.3(d) là mô hình cố kết cộng, Hình 2.3(e) là mô hình cố kết nhân
Trong một số trường hợp nghiên cứu dữ liệu biểu hiện gen, có thể chỉ quan tâm tới việc tìm kiếm bằng chứng cho thấy một tập con các gene là up-
Trang 38hoặc cơ thể bằng cách gia tăng sản xuất một sản phẩm nào đó của cơ thể để giúp cơ thể chống lại những bất lợi) hoặc down-regulated trên một tập con các điều kiện mà không tính đến giá trị biểu hiện thực tế của chúng trong ma trận
dữ liệu Tính chất đồng biến đổi có thể được quan sát thấy trên cả các hàng và các cột của các bicluster, như nó được thể hiện trong Hình 2.3(f), trên các hàng của bicluster hoặc trên các cột của nó Các bicluster trình bày trong Hình 2.3(h)
và 2.3(i) là những ví dụ của các bicluster với sự đồng biến đổi trên các cột, trong khi Hình 2.3(g) cho thấy một bicluster với đồng biến đổi trên các hàng
2.3 Cấu trúc các khối kết quả của phân cụm đồng thời
and column bicluster
(c) Checkerboard Structure
(d) Exclusive rows bicluster
(e) Exclusive columns bicluster
(f) Non-Overlapping
bicluster with tree
structure
(g) Non-Overlapping non-exclusive bicluster
(h) Overlapping bicluster with hierarchical structure
(i) Arbitrarily positioned overlapping bicluster
Hình 2.4: Cấu trúc các khối kết quả của phân cụm đồng thời
Trang 39Các thuật toán phân cụm đồng thời giả định một trong những trường hợp sau đây: hoặc là chỉ có một bicluster trong ma trận dữ liệu (Single Bicluster -
Hình 2.4(a)), hoặc ma trận dữ liệu chứa K bicluster, trong đó K là số bicluster
chúng ta hi vọng xác định được Trong khi hầu hết các thuật toán giả định sự tồn tại của nhiều bicluster trong ma trận dữ liệu, nhưng cũng có những thuật toán khác chỉ nhằm mục đích tìm kiếm một bicluster Trong thực tế, mặc dù các thuật toán có thể tìm thấy nhiều hơn một bicluster, các bicluster mục tiêu quan tâm thường là một trong số các bicluster được coi là tốt nhất theo một số tiêu chí cụ thể nào đó
Khi thuật toán phân cụm đồng thời giả định sự tồn tại của một số bicluster trong ma trận dữ liệu, các cấu trúc bicluster sau có thể có các dạng như sau:
1) Các bicluster có hàng và cột riêng biệt (khối đường chéo hình chữ nhật sau khi các hàng và các cột sắp xếp lại) (Exclusive row and column bicluster - Hình 2.4(b))
2) Các bicluster cấu trúc dạng bàn cờ (Checkerboard Structure - Hình 2.4(c))
3) Các bicluster có các hàng riêng biệt (Exclusive rows bicluster - Hình 2.4(d))
4) Các bicluster có các cột riêng biệt (Exclusive columns bicluster - Hình 2.4(e))
5) Các bicluster cấu trúc cây không chồng chéo (Non-Overlapping bicluster with tree structure - Hình 2.4(f))
6) Các bicluster không riêng biệt không chồng chéo (Non-Overlapping non-exclusive bicluster - Hình 2.4(g))
7) Các bicluster cấu trúc phân cấp chồng chéo (Overlapping bicluster with hierarchical structure - Hình 2.4(h))
8) Các bicluster chồng chéo (Arbitrarily positioned overlapping
Trang 40Một ý tưởng khởi đầu để đạt được mục tiêu xác định một số bicluster
trong một ma trận dữ liệu A là xác định một hình ảnh màu sắc đối với từng giá trị phần tử a ij trong ma trận dữ liệu A đó Sau đó, chúng ta xem xét các phương
pháp và các cách để sắp xếp lại các hàng và cột, để nhóm các hàng tương tự và các cột tương tự lại với nhau, do đó tạo thành một hình ảnh mới bao gồm các khối trong đó các phần tử trong khối đó có màu sắc tương tự nhau Các khối này là tập con của các hàng và tập con của các cột với các giá trị biểu diễn tương tự, do đó, đây chính là các bicluster Một ý tưởng là sắp xếp lại ma trận
dữ liệu sẽ tạo ra một hình ảnh gồm K khối hình chữ nhật trên đường chéo (Hình
2.4(b)) Mỗi khối sẽ có màu gần thống nhất, và phần hình ảnh xung quanh của các khối chéo sẽ là một màu nền trung lập Trong cấu trúc các bicluster này,
mỗi hàng và mỗi cột trong ma trận dữ liệu thuộc về duy nhất một trong số K
bicluster được xem xét (Hình 2.4(b)) Đây là một sắp xếp lý tưởng và hiếm khi tồn tại trong dữ liệu thực tế
Đối mặt với vấn đề thực tế này, bước tiếp theo là xem xét rằng các hàng
và cột đó có thể thuộc về nhiều hơn một bicluster, và giả định một cấu trúc bàn
cờ tồn tại trong ma trận dữ liệu (Hình 2.4(c)) Bằng cách này, chúng ta cho phép
sự tồn tại của K bicluster không chồng chéo và không duy nhất trong đó mỗi hàng trong ma trận dữ liệu thuộc về chính xác K bicluster Điều này tương tự
đối với các cột Trong số các nghiên cứu phân cụm đồng thời, Kluger và các cộng sự đã giả định cấu trúc này có trên dữ liệu bệnh ung thư Thuật toán
Double Conjugated Clustering (DCC) được giới thiệu bởi Busygin và cộng sự
[25] cũng có thể xác định cấu trúc bicluster này Tuy nhiên, DCC có xu hướng tạo cấu trúc trong Hình 2.4(b)
Các cách tiếp cận phân cụm đồng thời khác giả định rằng các hàng chỉ
có thể thuộc về một bicluster, trong khi cột, tương ứng với các điều kiện trong trường hợp dữ liệu biểu hiện gene, có thể thuộc về nhiều bicluster Cấu trúc này, được biểu diễn như trong Hình 2.4(d), giả định các bicluster mà các hàng chỉ duy nhất thuộc vào một bicluster, được sử dụng bởi nhóm tác giả Sheng