Tùy theo đặc điểm cấu trúc của tập dữ liệu và mục đích sử dụng, có các phương pháp giải quyết khác nhau như: Phân cụm dựa vào phân hoạch, phân cụm theo phân cấp, phân cụm dựa vào mật độ
Trang 1MỤC LỤC
LỜI CẢM ƠN 3
LỜI CAM ĐOAN 4
MỤC LỤC 5
DANH MỤC BẢNG BIỂU 8
MỞ ĐẦU 9
CHƯƠNG 1: TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU 11
1.1 Giới thiệu 11
1.2 Biểu diễn dữ liệu 12
1.3 Độ tương đồng 13
1.4 Các phương pháp phân cụm dữ liệu không giám sát 15
1.4.1 Các phương pháp phân hoạch 16
1.4.2 Các phương pháp phân cấp 19
1.4.3 Phương pháp phân cụm dựa trên mật độ 24
1.4.4 Các phương pháp phân cụm dựa trên lưới 27
1.5 Các phương pháp cụm dữ liệu bán giám sát 29
1.5.1 Giới thiệu 29
1.5.2 Thuật toán phân cụm bán giám sát K-means 30
CHƯƠNG 2: GIẢI THUẬT DI TRUYỀN 34
2.1 Giới thiệu 34
2.2 Giải thuật di truyền cổ điển 34
2.2.1 Phương pháp mã hoá và giải mã 36
2.2.2 Thủ tục chọn lọc 36
2.2.3 Quá trình tái tạo 37
2.2.4 Sự hội tụ của GA 38
2.2.5 Ví dụ 38
2.3 Biểu diễn bằng véc tơ số thực 40
2.3.1 Các toán tử tương giao chéo 41
2.3.2 Các toán tử biến dị 41
2.3.3 Ứng dụng của GA trong các thuật toán phân cụm 41
CHƯƠNG 3: TÓM TẮT DỮ LIỆU QUAN HỆ SỬ DỤNG PHƯƠNG PHÁP PHÂN CỤM BÁN GIÁM SÁT DỰA TRÊN GIẢI THUẬT DI TRUYỀN 43
3.1 Giới thiệu 43
3.2 Chuyển đổi dữ liệu 44
3.2.1 Giới thiệu 44
3.2.2 Cơ sở dữ liệu quan hệ 45
3.2.3 Quá trình mã hóa các mẫu tin thành số nhị phân 46
3.3 Dữ liệu đại diện trong một mô hình không gian Vector 50
3.4 Tổng kết dữ liệu bằng cách phân cụm 51
3.5 Kỹ thuật phân cụm bán giám sát 52
3.6 Kỹ thuật phân cụm bán giám sát dựa trên giải thuật di truyền 54
Trang 23.6.1 Giảm dữ liệu và gieo hạt 54
3.6.2 Thuật toán phân cụm dựa trên giải thuật di truyền 55
CHƯƠNG 4: KẾT QUẢ THỬ NGHIỆM THUẬT TOÁN 58
4.1 Giới thiệu 58
4.2 Chương trình và dữ liệu thử nghiệm 58
4.2.1 Module 1 58
4.2.2 Module 2 60
4.3 Kết quả thử nghiệm 70
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 72
TÀI LIỆU THAM KHẢO 73
Trang 3DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Các giai đoạn trong bài toán gom cụm 11
Hình 1.2: Hiển thị nhị phân của một chữ cái viết tay 13
Hình 1.3: Thuật toán K-Means 17
Hình 1.4: Quá trình phân cụm tập điểm thành 3 cụm theo k-means 17
Hình 1.5: Thuật toán K-medoid 18
Hình 1.6: Quá trình phân cụm tập điểm thành 3 cụm theo k- medoids 18
Hình 1.7: phân cụm phân cấp dạng tích lũy và phân chia trên các đối tượng dữ liệu 20
Hình 1.8: Một cây cấu trúc CF 21
Hình 1.9: Phương pháp Chameleon 23
Hình 1.10: Phạm vi mật độ và sự liên kết mật độ trong phân cụm dựa trên mật độ 25
Hình 1.11: Phân cụm dựa trên phương pháp mật độ 27
Hình 1.12: Ba tầng liên tiếp nhau của cấu trúc STING 27
Hình 1.13: CLIQUE xác định các vùng tiềm năng dựa trên các đơn vị dày đặc 28
Hình 1.14: Thuật toán Seeded-Kmeans 31
Hình 1.15: Thuật toán Constrained-Kmeans 32
Hình 1.16: Chi tiết thuật toán COP-Kmeans 33
Hình 2.1: Sơ đồ cấu trúc thuật toán di truyền 35
Hình 2.2: Minh họa cho bánh xe sổ số với quần thể có 5 cá thể 37
Hình 3.1: Ba giai đoạn chính trong quá trình tóm tắt dữ liệu quan hệ 44
Hình 3.2: Liên kết một-nhiều giữa hai quan hệ 45
Hình 3.3: Một tập dữ liệu trong cơ sở dữ liệu quan hệ với hai mối quan hệ 1:n 45
Hình 3.4: Biến đổi dữ liệu trong bảng tham chiếu với thuộc tính đơn 48
Hình 3.5: Dữ liệu được lưu trong bảng tham chiếu với nhiều thuộc tính 50
Hình 4.1: Giao diện module tạo vecto 60
Hình 4.2 : Giao diện module phân cụm các vecto 68
Hình 4.3: Giao diện Borland C++ builder tạo chương trình 69
Hình 4.4: Mô hình quan hệ của dữ liệu thử nghiệm 70
Trang 4DANH MỤC BẢNG BIỂU
Bảng 3.1 : Danh sách các mẫu được tạo ra 49
Bảng 3.2: Thiết lập các giá trị của hai đại lượng vô hướng β and α 57
Bảng 4.1: Tỷ lệ bón phân 70
Bảng 4.2: So sánh kết quả thử nghiệm các thiết lập 70
Trang 5MỞ ĐẦU
Trong thời đại hiện nay, cuộc cách mạng về khoa học và công nghệ đã có những bước phát triển vượt bậc, đánh dấu những mốc son đáng tự hào trong nền văn minh của thế giới Đóng góp một phần cho sự thay đổi này, không thể kể không kể đến các ngành đã và đang được xem là mũi nhọn hiện nay như: Công nghệ thông tin, điện
tử và truyền thông, công nghệ sinh học… với những ứng dụng rộng rãi, đem lại những lợi ích to lớn cho các ngành khoa học khác và các hệ thống phục vụ cho đời sống, kinh
tế, xã hội Cùng với sự phát triển này, một lượng dữ liệu ngày càng lớn và vô cùng phong phú đã được tạo ra Với các kho dữ liệu khổng lồ như vậy, các thông tin yêu cầu
từ nó không đơn thuần là các số liệu, mà đòi hỏi thêm ở mức cao hơn là các tri thức có thể hỗ trợ ra quyết định cho người dùng Đã có rất nhiều các công trình nghiên cứu về việc tổ chức các kho dữ liệu, các thuật toán nhận dạng mẫu, và phân lớp ảnh, các hệ thốn thông tin lớn, các hệ hỗ trợ ra quyết định, …được công bố và ứng dụng Một khái niệm mới là Data mining ra đời và mở ra những xu hướng mới trong công nghệ khám phá tri thức hiện nay
Một trong các hướng nghiên cứu của Data mining là Phân cụm dữ liệu Bài toán phân cụm dữ liệu thuộc lĩnh vực học không giám sát, nhằm phân tập dữ liệu thành các tập con, thỏa mãn điều kiện các đối tượng trong cùng một tập con có độ tương đồng cao, và ngược lại các đối tượng ở các tập con khác nhau thì có độ tương đồng thấp Hay nói cách khác, bài toán phân cụm dữ liệu là bài toán khám phá cấu trúc của tập dữ liệu Tùy theo đặc điểm cấu trúc của tập dữ liệu và mục đích sử dụng, có các phương pháp giải quyết khác nhau như: Phân cụm dựa vào phân hoạch, phân cụm theo phân cấp, phân cụm dựa vào mật độ và phân cụm dựa vào lưới Trong đó, phương pháp phân cụm bán giám sát đươc ứng dụng khá phổ biến Đây là phương pháp kết hợp giữa học không giám sát và học có giám sát
Trong việc giải quyết bài toán phân loại trong khai phá dữ liệu quan hệ, các phương pháp truyền thống thường yêu cầu liên kết dữ liệu được lưu trong nhiều bảng thành một bảng duy nhất Khi đó, bảng dữ liệu thu được sẽ có kích thước vô cùng lớn
Để truy vấn, phải sử dụng các phép toán đại số quan hệ và tối ưu các phép toán này bằng phương pháp tối ưu truy vấn heuristic tức là tìm cách thực hiện các phép chiếu, phép chọn trước các phép toán 2 ngôi Trong một số trường hợp khi nối nhiều bảng sẽ gây mất thông tin hoặc trùng lặp dữ liệu Do đó, chuyển đổi dữ liệu trở thành phức tạp
và tóm tắt dữ liệu thường kém hiệu quả Mặt khác, việc áp dụng các phương pháp tóm tắt dữ liệu trong khai phá dữ liệu được lưu trên nhiều bảng có quan hệ một-nhiều thường bị hạn chế do sự phức tạp của lược đồ cơ sở dữ liệu
Để có thể khắc phục được các vấn đề nêu trên, luận văn sẽ nghiên cứu một phương pháp tiếp cận: Sử dụng kỹ thuật phần cụm bán giám sát dựa trên giải thuật di
Trang 6truyền để tóm tắt dữ liệu được lưu trong nhiều bảng Nghiên cứu này dựa trên ý tưởng nghiên cứu của Rayner Alfred [17] Kết quả của thuật toán được áp dụng phân cụm cho dữ liệu thử nghiệm năng suất lúa
Ngoài phần kết luận và các phụ lục, phần còn lại của luận văn được chia thành
4 chương chính:
Chương I - Tổng quan về phân cụm dữ liệu Giới thiệu cách biểu diễn dữ
liệu trong máy tính nhằm phục vụ cho quá trình phân cụm, giới thiệu độ tương đồng giữa các đối tượng trong tập dữ liệu, các phương pháp phân cụm dữ liệu Với mỗi phương pháp phân cụm sẽ trình bày một số thuật toán tương ứng
Chương II – Giải thuật di truyền Chương này trình bày về giải thuật di
truyền với các cách biểu diễn dữ liệu, cách xây dựng một giải thuật di truyền và mô tả các phép toán thực hiện trên đó Tiếp theo là phân tích ứng dụng của giải thuật di
truyền trong bài toán phân cụm
Chương III – Tóm tắt dữ liệu quan hệ sử dụng phương pháp phân cụm bán bán giám sát dựa trên giải thuật di truyền Chương này đi sâu phân tích khái
niệm, cấu trúc quan hệ các bảng trong cơ sở dữ liệu, cách chuyển đổi dữ liệu Thông qua đó luận văn trình bày thuật toán phân cụm bán giám sát dựa trên giải thuật di truyền để tóm tắt dữ liệu
Chương IV - Kết quả cài đặt thử nghiệm thuật toán Chương này trình bày
các kết quả thực nghiệm về phương pháp tóm tắt dữ liệu quan hệ sử dụng thuật toán phân cụm bán giám sát dựa trên giải thuật di truyền Chương trình cài đặt thử nghiệm cho thuật toán được thực hiện bằng ngôn ngữ C++ trên tập dữ liệu thử nghiệm về năng suất lúa Thông qua các nhận xét về giá trị các độ đo đánh giá, kết quả thực hiện chương trình là khả quan
Phần Kết luận trình bày tổng hợp các kết quả thực hiện luận văn và phương
hướng nghiên cứu tiếp theo về các nội dung của luận văn Mặc dù đã có một môi trường làm việc tương đối đầy đủ và thuận tiện, nhưng luận văn chắc hẳn sẽ không tránh khỏi có nhiều thiếu sót Rất mong được sự đóng góp ý kiến, nhận xét để tôi có thể hoàn thiện được kết quả làm việc của mình
Trang 7CHƯƠNG 1: TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU
1.1 Giới thiệu
Phân cụm dữ liệu là một kỹ thuật quan trọng trong khai phá dữ liệu và được ứng dụng rộng rãi và đa dạng trong các ngành khoa học như sinh học, tâm lý học, y học, ngành marketing, điều khiển học v.v Phân cụm dữ liệu tổ chức dữ liệu bằng cách nhóm các đối tượng có độ tương đồng cao để khám phá cấu trúc của dữ liệu mà không yêu cầu các giả thiết cho trước từ các phương pháp thống kê Mục tiêu của phương
pháp phân cụm dữ liệu là 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 và quan trọng trong tập dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định
Bài toán phân cụm là bài toán phân loại tập mẫu dữ liệu ra thành nhiều nhóm dựa vào độ tương tự giữa các mẫu Các mẫu trong cùng cụm giống nhau hơn so với các mẫu thuộc cụm khác Hiện nay, có rất nhiều kỹ thuật phân cụm dữ liệu Sự khác nhau giữa những kỹ thuật là phương pháp biểu diễn dữ liệu, phương pháp đo độ tương
tự giữa các mẫu dữ liệu, và phương pháp gom các mẫu dữ liệu thành các cụm Như vậy, bài toán gom cụm bao gồm ba giai đoạn chính như mô tả trong hình 1.1:
Hình 1.1: Các giai đoạn trong bài toán gom cụm
Giai đoạn đầu tiên là quá trình chọn lựa, rút trích những đặc điểm nổi bật nhất của mẫu dữ liệu Ví dụ, dữ liệu là hình ảnh thì màu sắc và hình dạng có thể được xem
là những đặc điểm nổi bật của chúng Tiếp theo là quá trình đo độ tương tự giữa các mẫu dữ liệu, thường được đo bằng một hàm xác định khoảng cách giữa từng cặp mẫu
Có nhiều phương pháp đo khoảng cách khác nhau, trong đó, khoảng cách Euclidean là phương pháp đơn giản và thường được sử dụng để đo độ khác nhau giữa hai mẫu ([4]) Trong mô hình không gian vectơ, khoảng cách Cosine được sử dụng phổ biến để đo độ tương tự giữa hai vectơ Cuối cùng là bước gom các mẫu thành nhiều cụm khác nhau dựa vào một giải thuật gom cụm nào đó Trong nhiều loại giải thuật gom cụm, K-Means là giải thuật phân hoạch phổ biến ([8]) Ưu điểm của K-Means là có thể được
áp dụng cho tập dữ liệu lớn mà vẫn có hiệu quả về thời gian chạy Độ phức tạp tính toán của K-Means là O(kn) với k là số cụm và n là số mẫu dữ liệu
Các vấn đề liên quan tới bài toán phân cụm dữ liệu là vấn đề biểu diễn dữ liệu trong máy tính, xác định phương pháp, từ đó đưa ra thuật toán cụ thể để áp dụng, đồng
Trang 8thời xác định độ tương đồng giữa các đối tượng Đối với các thuật toán trong phương pháp dựa vào phân hoạch thì chúng ta còn phải xây dựng hàm đánh giá phù hợp để thuật toán cho ra kết quả phân cụm tốt
1.2 Biểu diễn dữ liệu
Điều kiện đầu tiên của tất cả các ứng dụng áp dụng thuật toán phân cụm dữ liệu
là trích chọn các đặc trưng cần thiết của các đối tượng trong tập dữ liệu liệu thực, các đối tượng phải được biểu diễn dưới dạng dữ liệu, tức chúng ta phải xác định các kiểu
dữ liệu cho các thuộc tính của đối tượng Các thuật toán phân cụm được áp dụng cho từng kiểu dữ liệu Phân cụm dữ liệu là một công cụ để khai thác dữ liệu và phải được
bổ sung các kỹ thuật để hiển thị dữ liệu Hầu hết việc hiển thị dữ liệu là các biểu đồ biểu diễn dữ liệu trong không gian 2 chiều để biểu diễn các đối tượng Dữ liệu nhiều chiều không phải luôn luôn chính xác khi tạo ra hiển thị bởi một dãy các biểu đồ trong hai chiều, nhưng với tính hợp lệ thì việc biểu diễn này sẽ thuận lợi cho quá trình kiểm chứng các kết quả của các thuật toán phân cụm dữ liệu
Kiểu dữ liệu cung cấp mức độ lượng hóa dữ liệu Một đặc trưng có thể là kiểu nhị phân, có kiểu rời rạc, hoặc liên tục Các đặc trưng kiểu nhị phân có chính xác hai giá trị Đặc trưng nhận giá trị rời rạc là đặc trưng có hữu hạn giá trị, lực lượng của tập giá trị mà đặc trưng rời rạc nhận được thường là nhỏ Ví dụ các mẫu của tín hiệu tiếng nói được lượng hóa bởi 24 mức, vì vậy biểu điễn một đặc trưng cho một mẫu có thể được mã hóa bởi 4 bít Tất cả các đại lượng và các số được lưu trong máy tính với số lượng hữu hạn các số có nghĩa, vì vậy, nói đúng ra tất cả các đặc trưng đều nhận giá trị rời rạc Tuy nhiên, thường thuật tiện hơn khi nghĩ rằng khi giá trị đặc trưng như là một điểm trên đường thẳng thực, một điểm có thể nhận một giá trị thực bất kỳ trong một miền giá trị xác định Do đó, đặc trưng này được gọi đặc trưng nhận giá trị liên tục
Tính chất thứ hai của đặc trưng là mức tỷ xích dữ liệu, nó cho biết ý nghĩa của các số Mức tỷ xích dữ liệu có thể phân chia thành mức tỷ xích định tính (định danh và
số thứ tự) và mức tỷ xích định lượng (khoảng, tỷ lệ) Mức tỷ xích định danh chỉ đơn giản là các số được sử dụng như là các tên Ví dụ, câu trả lời (yes, no) có thể được mã hóa là (0,1) hoặc (1,0) hoặc (50,100); các số này không mang một ý nghĩa nào trong việc định tính Với mức tỷ xích theo số thứ tự, mức chia số yếu nhất, các số chỉ mang một ý nghĩa với một số khác Ví dụ các mức tỷ xích (1,2,3), (10,20,30) là tương đương theo các quan điểm của số thứ tự Các đặc trưng và các chỉ số tương đồng nhận giá trị nhị phân và giá trị rời rạc có thể được mã hóa trên những mức tỷ xích định tính này
Tỷ xích mạnh nhất là tỷ xích theo tỷ lệ, các số mang một ý nghĩa tuyệt đối Điều này có nghĩa là số 0 tồn tại với một đơn vị đo lường, vì vậy tỷ lệ giữa hai số mang ý nghĩa Ví dụ, khoảng cách giữa hai thành phố được ước lượng trong đơn vị là mét, dặm, hoặc là inches
Trang 9Khi đã xác định được kiểu dữ liệu các đặc trưng của các các đối tượng Chúng
ta phải đưa ra cấu trúc dữ liệu để biểu diễn tập đối tượng cần phân cụm Thông thường tập dữ liệu được biểu diễn dưới dạng ma trận gọi là ma trận mẫu Chúng ta có thể đưa
ra khái niệm về ma trận mẫu như sau:
Nếu mỗi đối tượng trong một tập gồm n đối tượng được biểu diễn bởi một tập d thuộc tính, mỗi đối tượng được xem như một mẫu, hay là một vectơ d chiều Tập hợp này được xem như một ma trận mẫu kích thước n*d Mỗi dòng của ma trận này xác định một mẫu và mỗi cột tương ứng với một đặc trưng d N mẫu là các điểm nằm trong không gian d chiều, không gian này còn được gọi là không gian mẫu Chúng ta
sử dụng từ “mẫu” như là một điểm trong không gian mẫu, không mô tả tôpô của các đối tượng Một cụm được biểu diễn là một tập các mẫu gần nhau hoặc là các đối tượng thỏa mãn các quan hệ không gian Nhiệm vụ của các thuật toán phân cụm dữ liệu là nhận ra các nhóm tự nhiên trong các không gian nhiều chiều Một tiện lợi của phân cụm dữ liệu là giúp chúng ta tổ chức dữ liệu nhiều chiều khi dữ liệu không thể biểu diễn trong 2 hoặc 3 chiều
Hình 1.2: Hiển thị nhị phân của một chữ cái viết tay
1.3 Độ tương đồng
Phân cụm dữ liệu là phương pháp nhóm các đối tượng có độ tương tự hay độ tương đồng cao vào trong một nhóm, các đối tượng ở các nhóm khác nhau thì có độ tương đồng thấp Độ tương đồng giữa các đối tượng mô tả tính chất giống hoặc khác nhau giữa chúng theo một ý nghĩa nào đó Khoảng cách giữa các đối tượng càng nhỏ thì độ tương đồng càng cao Có rất nhiều hàm được dùng để biểu diễn độ tương đồng giữa các đối tượng Tuy nhiên, trong khuôn khổ của luận văn chỉ trình bày một số hàm
Trang 10đo tương đồng phổ biến gọi là các hàm khoảng cách Khoảng cách giữa hai mẫu thứ i
và mẫu thứ k ký hiệu là d(i,k) phải thỏa mãn các tính chất sau:
1 d(i,i)=0 với mọi i
2 d(i,k)=d(k,i) với mọi cặp (i,k)
3 d(i,k)>=0 với mọi cặp (i,k)
4 d(i,j)<=d(i,k)+d(k,j) với mọi i,j,k
Hàm đánh giá độ tương đồng có thể được xác định theo một số cách Giả sử rằng chúng ta có một ma trận mẫu [xij] với xij là giá trị của đặc trưng thứ j của mẫu i Tất cả các đặc trưng là liên tục và được ước lượng theo tỷ xích tỷ lệ Hàm khoảng cách phổ biến là khoảng cách Minkowski [1] dùng để ước lượng độ bất tương đồng Mẫu thứ i tương ứng với dòng thứ i của ma trận mẫu được ký hiệu là một vector cột xi
n i
x x
j
r kj
ij x x k
Các hàm khoảng cách Minkowski thỏa mãn tính chất các tính chất sau:
1 d(i,k)=0 nếu và chỉ nếu xi=xk
2 d(i,k)d(i,m) d(m,k) với mọi (i,m,k)
Có ba khoảng cách phổ biến sử dụng khoảng cách Minkowsky được định nghĩa như sau:
Khoảng cách Euclidean (r=2):
2 / 1 2
/ 1
1
2
)]
()[(
)
|
|(),
i d
Khoảng cách Max (r):
Trang 11|1
max(),
d j k
Ngoài các hàm khoảng cách được sử dụng để đánh giá độ tương đồng của các đối tượng nêu trên còn có rất nhiều cách đánh giá độ tương đồng khác, tùy thuộc vào tính chất của tập dữ liệu
Để biểu diễn độ tương đồng của tất cả các đối tượng trong tập dữ liệu, người ta thường sử dụng ma trận để lưu lại giá trị tương đồng giữa các cặp đối tượng Ma trận này được gọi là ma trận tương đồng Có thể đưa ra khái niệm về ma trận tương đồng như sau: Ma trận tương đồng [d(i,j)] lưu giá trị tương đồng trong một ma trận, mỗi dòng và mỗi cột của ma trận biểu diễn một mẫu Trong đó d(i,j) là độ tương tự giữa mẫu thứ i và mẫu thứ j Chúng ta bỏ qua các giá trị nằm trên đường chéo chính của ma trận tương đồng khi giả sử rằng tất cả các mẫu có cùng mức độ tương đồng với chính
nó Giả sử rằng ma trận tương đồng là ma trận có tính đối xứng, tất cả các cặp đối tượng có cùng một giá trị tương đồng, không phụ thuộc vào thứ tự sắp xếp
Một ma trận tương đồng có thể được gọi là ma trận độ tương tự hoặc cũng có thể gọi là ma trận bất tương đồng Các giá trị tương đồng có thể nhận giá trị nhị phân, rời rạc hoặc nhận giá trị liên tục Ví dụ, giả sử rằng một tập đối tượng được phân hoạch vào các tập con Giá trị nhị phân đo độ tương đồng phân nhận giá trị 0 với các cặp đối tượng ở hai tập con khác nhau và nhận giá trị bằng 1 với các cặp ở cùng một tập con Nếu giá trị tương đồng là một số nguyên từ 1 tới n(n-1)/2 với n là số lượng các đối tượng được xem là ma trận tương đồng nhận giá trị rời rạc Nếu ma trận tương đồng mà các phần tử nhận giá trị là khoảng cách Euclidean giữa các mẫu trong không gian mẫu thì được xem là ma trận tương đồng nhận giá trị liên tục[5]
Các thuật toán phân cụm nhóm các đối tượng, hay các dữ liệu thành phần dựa trên độ tương đồng giữa các cặp đối tượng Các đối tượng được gọi là các điểm, các trường hợp, các thành phần trong các ứng dụng khác nhau
1.4 Các phương pháp phân cụm dữ liệu không giám sát
Phân cụm dữ liệu biểu diễn mỗi quan hệ giữa các đối tượng trong ma trân tương đồng Nếu các đối tượng được đặc tả như là các mẫu hoặc các điểm trong không gian metric, thì độ tương đồng có thể là khoảng cách giữa các cặp đối tượng, như là khoảng cách Euclidean Ma trận mẫu và ma trận tương đồng là những dữ liệu vào cho các
Trang 12thuật toán phân cụm Đã có rất nhiều thuật toán phân cụm được xây dựng nhằm áp dụng vào các mục đích cụ thể Các thuật toán này có thể được phân theo một trong bốn phương pháp sau đây:
- Phương pháp dựa vào phân hoạch
- Phương pháp phân cấp
- Phương pháp dựa trên mật độ
- Phương pháp dựa trên lưới
1.4.1 Các phương pháp phân hoạch
Cho một cơ sở dữ liệu của n đối tượng hoặc dòng dữ liệu, một phương pháp phân cụm tạo ra k cụm của dữ liệu, trong đó mỗi vùng biểu diễn một cụm, và k n
Phương pháp này phân chia dữ liệu vào k nhóm, đáp ứng những yêu cầu sau: (1) mỗi nhóm phải chứa ít nhất một đối tượng và, (2) mỗi đối tượng phải thuộc duy nhất một nhóm [1] Chú ý rằng yêu cầu thứ hai có thể bỏ qua trong một số kĩ thuật được miêu tả
ở phần dưới
Đưa ra k là số lượng cụm để xây dựng, một phương thức phân cụm cần khởi tạo cụm Sau đó sử dụng một kỹ thuật định vị trí lặp lại để cố gắng tăng sự cụm bằng cách rời các đối tượng từ một nhóm tới một nhóm khác Tiêu chuẩn chung của một sự phân cụm tốt là các đối tượng trong cùng vùng là gần giống hoặc liên quan đến những đối tượng khác, trong khi các đối tượng của các cụm khác nhau lại rất khác nhau Có rất nhiều kiểu tiêu chuẩn dành cho việc đánh giá chất lượng cụm
Để có được sự tối ưu toàn diện trong cụm dựa trên sự phân cụm sẽ đòi hỏi số lượng cực lớn của mọi sự phân cụm có thể Thay vào đó, hầu hết các ứng dụng chấp nhận một trong hai phương pháp heuristic phổ biến: thuật toán k-means, nơi mỗi cụm được biểu diễn bởi giá trị trung bình của các giá trị trong cụm; và thuật toán k-medoids, trong đó mỗi cụm được biểu diễn bởi một trong các đối tượng gần trung tâm của cụm Các phương thức cụm heuristic này làm việc tốt khi tìm kiếm các cụm hình cầu trong cơ sở dữ liệu nhỏ hoặc trung bình Khi tìm kiếm các cụm với hình dạng phức tạp và cho tập dữ liệu lớn, các phương pháp phân cụm trên cần phải mở rộng
1.4.1.1 Phương pháp k-means
Thuật toán K-Means [8] do MacQueen đề xuất năm 1967 thực hiện như sau
Bước 1 Khởi tạo K phần tử đại diện K1
h h
cho K cụm, mỗi j
làm tâm cho cụm Cj
Bước 2 Lặp lại nhiều lần quá trình gắn nhãn cho đối tượng vào cụm có tâm gần
nó nhất và tính lại tâm cho đến khi các cụm không có thay đổi so với vòng lặp trước
Trang 13Thuật toán: K-Means
Đầu vào: Tập các đối tượng dữ liệuX x1, ,x N,x id, Số lượng cụm: K
Đầu ra: K phân hoạch tách rời: K1
được chọn ngẫu nhiên t0
2 Lặp cho tới khi hội tụ
Gán cụm: Gán mỗi đối tượng dữ liệu x vào cụm h*
(tức là tập *
( 1) 1
K t
Hình 1.3: Thuật toán K-Means
Basu và các cộng sự [1]đã chỉ ra rằng thuật toán này có thể xem là thuật toán
EM (Expectation-Maximization) với X là tập dữ liệu trộn từ K nguồn dữ liệu có phân
bố chuẩn nhiều chiều Thuật toán K-Means có ưu điểm là độ phức tạp tính toán nhỏ O (NKnt), trong đó t là số lần lặp, nhưng có nhược điểm cơ bản là: cần xác định trước số lượng cụm, thuật toán thường chỉ hội tụ tới cực tiểu địa phương của (1) và kết quả tùy thuộc vào các tâm khởi tạo được chọn Để giảm các hạn chế này, người ta dùng các thông tin bổ trợ trên một tập con dữ liệu được khảo sát kỹ hơn và thực hiện phân cụm bán giám sát như Seeded-Kmeans, Constrained-Kmeans[12]
Thuật toán cố gắng xác định k cụm mà tối thiểu hóa hàm mục tiêu đưa
ra Phương thức này có khả năng mở rộng và hoạt động hiệu quả trong khi xử lý các tập dữ liệu lớn bởi vì độ phức tạp tính toán của thuật toán là O (knt), trong đó n là tổng
số đối tượng, k là số cụm, và t là số lần lặp lại, thông thường k<<n và t<<n Phương thức thường kết thúc ở một sự tối thiểu cục bộ
Trang 14Thuật toán: K-medoids Đầu vào: Tập các đối tượng dữ liệuX x1, ,x N,x id, Số lượng
cụm: K
Đầu ra: K phân hoạch tách rời: K1
h h
X của X sao cho hàm mục tiêu
được tối ưu
( 1) 1
K t
Hình 1.5: Thuật toán K-medoid
K-Medoids tỏ ra hiệu quả hơn K-Means trong trường hợp dữ liệu có nhiễu hoặc đối tượng ngoại lai Tuy nhiên, so với K-Means thì K-Medoids có độ phức tạp tính toán lớn hơn Cả hai thuật toán trên đề có nhược điểm chung là số lượng cụm K phải được cung cấp bởi người dùng
Phương thức k-medoid đáng tin cậy hơn k-means bởi vì một medoid bị tác động bởi các nhân tố bên ngoài hoặc các giá trị rất lớn ít hơn k trung bình
Hình 1.6: Quá trình phân cụm tập điểm thành 3 cụm theo k- medoids
1.4.1.3 Phương pháp phân cụm trong cơ sở dữ liệu lớn CLARANS
Phương pháp k-medoid chỉ thích hợp với việc sử dụng cho tập dữ liệu nhỏ Trong cơ sở dữ liệu lớn, người ta sử dụng một phương pháp dựa trên mẫu, gọi là CLARA (Clustering Large Application)
Trang 15Ý tưởng của phương pháp này là thay cho việc dùng toàn bộ tập dữ liệu trong sự phân cụm, một phần nhỏ của dữ liệu được chọn như đại diện cho tập dữ liệu Các medoid được chọn từ tập dữ liệu này sử dụng PAM Nếu mẫu được chọn theo cách ngẫu nhiên, nó gần như đại diện cho tập dữ liệu gốc Các đối tượng biểu diễn được chọn sẽ giống như trong toàn bộ cơ sở dữ liệu CLARA dùng nhiều mẫu trong tập dữ liệu, sử dụng PAM trên mỗi mẫu và trả lại phân cụm tốt nhất của nó CLARA
có thể làm việc với tập dữ liệu lớn hơn PAM Độ phức tạp của mỗi vòng lặp là O(ks2
+k(n-k)), trong dó s là kích thước mẫu, k là số phân cụm, và n là tổng số đối tượng
Độ chính xác của thuật toán CLARA phụ thuộc vào kích thước mẫu Chú ý rằng PAM tìm kiếm k điểm trung tâm trong tập dữ liệu đưa ra, trong khi đó CLARA tìm kiếm k điểm trung tâm trong tập mẫu được lựa chọn CLARA không thể tìm được
sự phân cụm chính xác nhất nếu không tìm được tập mẫu đại diện chính xác Ví dụ, Oi
là điểm trung tâm tốt nhất của một trong k cụm nhưng lại không được lựa chọn trong mẫu, CLARA sẽ không bao giờ tìm được cách phân cụm một cách chính xác
Để cải tiến chất lượng của CLARA, một thuật toán phân cụm khác là CLARANS (Clustering Large Applications based upon RANdomized Search)
sử dụng thuật toán k-medoids áp dụng PAM kết hợp với kỹ thuật lấy mẫu Tuy nhiên, không giống như CLARA, CLARANS không giới hạn các mẫu trong mỗi lần lặp Trong khi CLARA cố định các mẫu tại tất cả các bước trong quá trình phân cụm, CLARANS lấy ra các mẫu ngẫu nhiên trong từng bước
1.4.2 Các phương pháp phân cấp
Phương pháp phân cấp là sự phân chia các đối tượng dữ liệu đưa ra theo các cấp Phương pháp phân cấp có thể được thực hiện theo các cách tích tụ hoặc phân rã Hướng tích tụ, còn gọi là hướng từ dưới lên (bottom up) bắt đầu với mỗi đối tượng tạo thành một nhóm riêng rẽ Nó hòa nhập các đối tượng hoặc nhóm bên cạnh (gần nhau) thành một, tới tận khi mọi nhóm được hòa nhập thành một (mức cao nhất của sự phân cấp), hoặc đến tận khi bắt gặp điều kiện kết thúc Hướng phân rã, còn gọi là từ trên xuống (top down), bắt đầu với mọi đối tượng trong cùng cụm Trong mỗi vòng lặp, một đoạn được phân chia thành những đoạn nhỏ hơn, tới tận khi mỗi đối tượng tương ứng một đoạn, hoặc tận khi gặp điều kiện kết thúc
Phương pháp phân cấp có nhược điểm là một khi một bước (hòa nhập hoặc phân chia) được thực hiện, nó có thể không bao giờ thay đổi Sự cứng nhắc này là chìa khóa đối với sự thành công của nó bởi vì nó dẫn đến chi phí tính toán nhỏ mà không lo lắng về một số sự tổ hợp của các lựa chọn khác nhau, đồng thời cũng là vấn đề chính bởi vì nó không thể sửa các quyết định sai
1.4.2.1 Phân cụm phân cấp dạng tích lũy và phân chia
Phân cụm phân cấp dạng tích lũy: chiến lược từ dưới lên này bắt đầu bằng việc
đặt mỗi đối tượng trong phân cụm của riêng nó và hòa nhập các phân cụm nhỏ thành
Trang 16những phân cụm lớn hơn đến tận khi mọi đối tượng trong một phân cụm đơn hoặc đến khi điều kiện kết thúc được thỏa mãn Hầu hết các phương thức phân cụm phân cấp thuộc loại này
Phân cụm phân cấp phân chia: chiến lược này hướng từ trên xuống ngược với
chiến lược phân cụm tích lũy dần Nó phân chia cụm thành những cụm nhỏ hơn đến khi mỗi đối tượng tạo thành một cụm hoặc bắt gặp điều kiện kết thúc
Hình 1.7: phân cụm phân cấp dạng tích lũy và phân chia trên các đối tượng dữ liệu
Trong cả hai loại phân cụm phân cấp này, người dùng có thể xác định số cụm mong muốn và điêu kiện kết thúc Bốn độ đo khoảng cách sử dụng rộng rãi giữa các cụm được chỉ ra bên dưới, trong đó |p-p’| là khoảng cách giữa hai đối tượng hoặc điểm
p và p’, và m i là trung bình của cụm C i và n i là số đối tượng trong C i
Khi thuật toán sử dụng khoảng cách nhỏ nhất d min (C i ,C j ) để đo khoảng cách
giữa các phân cụm, nó được gọi là k-nearest neighbor Khi thuật toán sử dụng khoảng
cách xa nhất d max (C i ,C j ), thuật toán được gọi là thuật toán phân cụm farthest-neighbor 1.4.2.2 Phương pháp BIRCH
BIRCH (Balanced iterative Reducing and Clustering Using Hierarchies) được thiết kế dành cho việc phân cụm lượng lớn dữ liệu số bằng cách tích hợp phân cụm phân cấp (ở trạng thái khởi đầu phân cụm vi mô) và các phương pháp phân cụm khác như phân cụm lặp (ở trạng thái sau phân cụm vĩ mô) Nó vượt qua hai sự khó khăn của phương thức phân cụm tích lũy: (1) tính mở rộng và (2) khả năng không thể quay lại bước trước
Trang 17BIRCH đưa ra hai khái niệm: đặc tính phân cụm và cây đặc tính phân cụm (CF tree), được sử dụng để tổng kết các sự thể hiện phân cụm Những cấu trúc này giúp phương thức phân cụm đạt được tốc độ tốt và khả năng mở rộng trong cơ sở dữ liệu lớn, hơn nữa làm tăng tính hiệu quả của phân cụm tăng dần và tính linh động của đối tượng đầu vào
Hãy xem xét sâu hơn các cấu trúc nhắc đến ở trên Xem xét n đối tượng dữ liệu hoặc điểm có d chiều trong một cụm, chúng ta có thể xác định trung tâm x0, bán kính
R, và đường kính D của cụm như sau:
Trong đó R là khoảng cách trung bình từ các đối tượng thành viên tới trung tâm, và D là khoảng cách trung bình giữa các cặp trong cụm Cả R và D phản ánh tính gần gũi của cụm xung quanh trung tâm Một đặc tính phân cụm (CF) là một vector 3 chiều tổng hợp thông tin về các cụm của đối tượng Xem xét n đối tượng hoặc điểm có
d chiều trong một phân cụm, {xi}, thì CF của cụm được định nghĩa là:
} ,
)
Hình 1.8: Một cây cấu trúc CF
BIRCH áp dụng một kĩ thuật nhiều pha: Thực hiện quét một lần tập dữ liệu tạo
ra một phân cụm tốt ban đầu, và các lần quét sau đó được dùng để cải tiến chất lượng Hai pha chính là:
Pha 1: BIRCH quét cơ sở dữ liệu để xây dựng một cây CF bộ nhớ ban đầu,
có thể được xem như là một sự nén đa cấp của dữ liệu để cố gắng bảo vệ cấu trúc phân cụm có sẵn của dữ liệu
Trang 18 Pha 2: BIRCH áp dụng một thuật toán phân cụm để phân cụm các node lá của cây CF, cố gắng loại bỏ các phân cụm thừa và nhóm các phân cụm thành một phân cụm lớn hơn
CF có 2 tham số: tham số nhánh (branching factor) B và ngưỡng T B quy định
số con lớn nhất mà một nút không phải nút lá có thể có, và T xác định đường kính lớn nhất của một phân cụm con
Ở bước 1, khi một đối tượng được thêm vào một cụm, nếu đường kính của cụm này lớn hơn giá trị ngưỡng thì các cụm sẽ bị phân chia lại Sau quá trình phân chia cụm lại ta được một tập các cụm mới Ở bước 2, có thể áp dụng một thuật toán phân cụm bất kì nào để thực hiện việc phân tách hoặc hợp nhất các cụm lại
Thuật toán BIRCH có độ phức tạp tính toán là O (n), trong đó n là số lượng đối tượng được phân cụm
1.4.2.3 Phương pháp ROCK
ROCK (Robust clustering using links) là một thuật toán phân cụm phân cấp
quan tâm đến khái niệm links (số lượng hàng xóm chung của hai đối tượng) cho dữ
liệu với các thuộc tính phân loại Các thuật toán phân cụm truyền thống cho dữ liệu phân cụm với thuộc tính Boolean và phân loại sử dụng các hàm khoảng cách Tuy nhiên, thí nghiệm chỉ ra rằng các độ đo khoảng cách như vậy không thể dẫn đến các phân cụm chất lượng cao khi phân cụm dữ liệu phân loại Hơn nữa, hầu hết các thuật toán phân cụm chỉ đánh giá sự giống nhau giữa các điểm khi phân cụm Đó là, ở mỗi bước, các điểm giống nhau nhất được hòa nhập vào trong một cụm duy nhất, hướng
“cục bộ” này có thể dẫn tới lỗi Ví dụ, hai phân cụm tách biệt có thể có ít điểm hoặc các thành phần bên ngoài gần nhau, và do đó, dựa trên sự giống nhau giữa các điểm để tạo các quyết định phân cụm có thể dẫn đến việc hai phân cụm bị hòa nhập ROCK quan tâm đến hướng toàn cục hơn để phân cụm bằng việc xem xét quan hệ láng riềng của các cặp điểm riêng rẽ Nếu hai điểm giống nhau có cùng quan hệ hàng xóm, chúng
có thể thuộc cùng cụm do đó có thể được hòa nhập
Hai điểm, p i và p j , là hàng xóm nếu sim (p i , pj), trong đó sim là một hàm thể
hiện sự giống nhau và là một ngưỡng do người dùng xác định Chúng ta có thể chọn
sim là một độ đo dạng khoảng cách hoặc thậm chí không phải độ do dạng khoảng cách
mà được chuẩn hóa để những giá trị của nó nằm trong khoảng 0 và 1, với những giá trị lớn hơn chỉ ra rằng những điểm này là giống nhau hơn Số lượng links giữa pi và pjđược xác định như số lượng hàng xóm giữa pi và pj Nếu số lượng links giữa hai điểm lớn, có khả năng cao là hai điểm đó cùng thuộc cụm Bằng việc xem xét các điểm dữ liệu có quan hệ hàng xóm giữa cặp điểm riêng rẽ, ROCK đáng tin cậy hơn các phương pháp phân cụm chuẩn chỉ tập trung vào sự giống nhau của các điểm
1.4.2.4 Phương pháp Chameleon
Trang 19Chameleon là một thuật toán phân cụm phân cấp sử dụng mô hình động để xác định sự giống nhau giữa các cặp cụm [2] Nó dựa trên việc xem xét điểm yếu hai thuật toán phân cụm phân cấp là ROCK và CURE ROCK liên quan đến lược đồ nhấn mạnh
sự tương tác cụm trong khi bỏ qua thông tin liên quan sự giống nhau cụm CURE xem xét sự giống nhau cụm và bỏ qua tính tương tác cụm Trong Chameleon, sự giống nhau cụm được đánh giá dựa trên việc các đối tượng trong cụm kết nối với nhau thế nào và quan hệ gần gũi của các cụm Do đó, hai cụm được hòa nhập nếu quan hệ tương tác giữa chúng cao và chúng gần nhau Do đó, Chameleon không dựa trên mô hình tĩnh và phụ thuộc người dùng và có thể điều chỉnh tự động đối với các đặc tính bên trong của các cụm được hòa nhập Tiến trình hòa nhập làm tăng khả năng khám phá của các phân cụm tự nhiên và áp dụng các kiểu của dữ liệu cũng như một hàm thể hiện sự giống nhau có thể được xác định
Hướng chính của Chameleon được đưa ra hình 1.7 Chameleon sử dụng hướng
đồ thị k-nearest neighbor để xây dựng một đồ thị thưa, trong đó mỗi đỉnh của đồ thị biểu diễn một đối tượng dữ liệu, và tồn tại một cạnh giữa hai đỉnh (hai đối tượng) nếu một đối tượng thuộc tập k đối tượng giống nhất của đối tượng còn lại Cạnh này được đánh trọng số để phản ánh sự giống nhau giữa các đối tượng Chameleon sử dụng một thuật toán cụm đồ thị để cụm đồ thị k nearest neighbor thành một số lượng lớn của các phân cụm nhỏ Nó sau đó sử dụng thuật toán phân cụm phân cấp dạng tích lũy để hòa nhập các phân cụm con dựa trên sự giống nhau của chúng Để xác định các cặp phân cụm con giống nhau nhất, nó tính đến cả sự tương tác kết nối cũng như tính gần gũi của các cụm
Hình 1.9: Phương pháp Chameleon
Thuật toán cụm đồ thị cụm đồ thị k-nearest neighbor để tối thiểu hóa sự giảm bớt cạnh Đó là, một phân cụm C được phân cụm thành hai phân cụm nhỏ Ci và Cj ,để tối thiểu hóa trọng số các cạnh mà C được phân chia thành Ci và Cj Sự giảm bớt cạnh được chỉ ra bằng EC(Ci,Cj) và lượng giá tính kết nối tương tác giữa các phân cụm Ci và
Trang 20
Trong đó
là giá trị trung bình trọng số của các cạnh nối các đỉnh
trong Ci và các đỉnh trong Cj, và (hoặc ) là giá trị trung bình của các cạnh cụm Ci (hoặc Cj)
1.4.3 Phương pháp phân cụm dựa trên mật độ
Hầu hết các phương pháp phân cụm các đối tượng dựa trên khoảng các giữa các đối tượng Những phương pháp như vậy có thể chỉ tìm thấy các cụm dạng hình cầu và gặp khó khăn khi tìm kiếm các cụm có hình dạng bất kì Các phương pháp cụm được
phát triển dựa trên khái niệm mật độ Ý tưởng chung là tiếp tục làm gia tăng cụm đưa
ra dựa vào mật độ (số lượng đối tượng hoặc các điểm dữ liệu) trong “khoảng” vượt ra ngoài ngưỡng, nghĩa là, đối với mỗi điểm dữ liệu trong một cụm được đưa ra, hàng xóm trong một bán kính đưa ra phải chứa ít nhất một số tối thiểu các điểm Phương pháp như vậy có thể được sử dụng để lọc ra các nhiễu, và khám phá các cụm có hình
dạng bất kì
1.4.3.1 Phương pháp DBSCAN
Phương pháp DBSCAN (Density-Based Spatial Clustering of Application witch Noise) là một thuật toán phân cụm dựa trên mật độ Thuật toán xây dựng các vùng với mật độ lớn thích hợp vào trong các phân cụm và khám phá các phân cụm có hình dạng khác nhau trong cơ sở dữ liệu không gian với các nhiễu Nó định nghĩa một phân cụm như một tập tối đa của các điểm phụ thuộc mật độ
Ý tưởng chính của phân cụm dựa trên mật độ là đối với mỗi đối tượng thuộc nhóm vùng lân cận trong bán kính được gọi là -hàng xóm của đối tượng có chứa ít nhất MinPts đối tượng
Nếu -hàng xóm của một đối tượng chứa ít nhất một số tối thiểu MinPts các đối tượng, thì đối tượng đó gọi là đối tượng trung tâm
Xem xét một tập các đối tượng D, chúng ta nói rằng một đối tượng p thuộc trong phạm vi mật độ trực tiếp của đối tượng q nếu p nằm trong -hàng xóm của đối tượng q và q là đối tượng trung tâm
Một đối tượng p nằm trong phạm vi mật độ của đối tượng q đối với và MinPts trong một tập các đối tượng D, nếu có một chuỗi các đối tượng
p1,…, pn trong đó p1=q và pn=p và pi+1 nằm trong phạm vi mật độ trực tiếp của pi đối với và MinPts, với 1in, piD
Trang 21 Một đối tượng p nằm trong phạm vi mật độ liên kết của đối tượng q đối với
và MinPts trong một tập các đối tượng D, nếu có một đối tượng o D
mà cả p và q đều nằm trong phạm vi mật độ của o với và MinPts
Hình 1.10: Phạm vi mật độ và sự liên kết mật độ trong phân cụm dựa trên mật độ
Trong hình trên, các điểm m, p, o là đối tượng trung tâm bởi vi mỗi đối tượng trong phạm vi đều có ít nhất ba đối tượng khác
q nằm trong phạm vi trực tiếp của m, m nằm trong phạm vi trực tiếp của p
DBSCAN sẽ tìm trong các cụm bằng cách kiểm tra -hàng xóm cho mỗi điểm trong cơ sở dữ liệu Nếu -hàng xóm của một điểm p chứa nhiều hơn MinPts điểm, một cụm mới với p là đối tượng trung tâm được tạo DBSCAN tập hợp các đối tượng trong phạm vi mật độ trực tiếp cho những đối tượng trung tâm, có thể thực hiện việc hòa nhập một số ít cụm trong phạm vi mật độ Tiến trình kết thúc khi không có điểm mới nào có thể thêm vào bất kì cụm nào
1.4.3.2 Phương pháp DENCLUE (Density Based Clustering)
DENCLUE là một phương pháp phân cụm dựa trên một tập các hàm phương pháp mật độ Phương pháp được xây dựng trên những ý tưởng sau: (1) sự tác động của mỗi điểm dữ liệu có thể được mô hình hóa hình thức sử dụng một hàm toán học, gọi là hàm tác động (ingluence function), mô tả tác động của một điểm dữ liệu nằm trong
Trang 22quan hệ hàng xóm của nó; (2) toàn thể mật độ của không gian dữ liệu có thể được mô hình hóa như tổng của hàm tác động cho tất cả các điểm dữ liệu; và (3) các phân cụm
có thể được xác định bằng cách xác định các density attractor, trong đó các density attractor là các cực đại cục bộ của toàn bộ hàm mật độ
Giả sử x và y là các đối tượng hoặc điểm trong F d, một không gian đầu vào d chiều Hàm tác động của điểm dữ liệu y trên x là một hàm, f B y :F d R0, được định nghĩa như sau:
),()
f B y BHàm này phản ánh tác động của y lên x Theo nguyên tắc, hàm tác động có thể
là một hàm ngẫu nhiên mà có thể được xác định bởi khoảng cách giữa hai điểm trong một quan hệ hàng xóm Hàm khoảng cách d(x,y), nên là tương phản và đối xứng, như
là hàm khoảng cách Euclid Nó được sử dụng để tính toán một hàm dạng:
hoặc dùng để tính hàm tác động Gaussian
Hàm mật độ ở một đối tượng hoặc một điểm xFd được định nghĩa như một tổng của các hàm tác động của mọi điểm dữ liệu Đó là, tổng tác động lên x của tất cả mọi điểm dữ liệu Xem xét n đối tượng điểm, D={x1… xn} d
độ với x*
sẽ tạo thành một cụm
Trang 23Hình 1.11: Phân cụm dựa trên phương pháp mật độ
1.4.4 Các phương pháp phân cụm dựa trên lưới
Các phương pháp phân cụm dựa vào mật độ như DBSCAN, OPTICS phải đổi
có thể sẽ thất bại trong không gian dữ liệu với số chiều cao và phải thiết lập các tham
số và MinPts Để nâng cao hiệu quả của phân cụm, tiếp cận phân cụm dựa trên lưới
sử dụng cấu trúc dữ liệu dạng lưới Tiếp cận này phân chia không gian dữ liệu vào một
số lượng hữu hạn các ô tạo nên dạng hình lưới Tiện lợi chính của tiếp cận này là thời gian xử lý nhanh và nó không phụ thuộc vào số lượng các đối tượng dữ liệu, chỉ phụ thuộc vào số lượng các ô ở mỗi chiều trong không gian lượng hóa
1.4.4.1 Thuật toán STRING: A STatistical INformation Grid approach
STING là một cấu trúc dữ liệu đa mức dựa trên lưới, trong không gian dữ liệu được chia thành các ô hình chữ nhật Có các ô tương ứng với các mức khác nhau để giải quyết bài toán, cách phân chia ô như vậy tạo ra một cấu trúc phân cấp: mỗi ô ở mức cao được phân chia thành một số ô ở mức thấp hơn tiếp theo Thông tin thống kê liên quan tới thuộc tính của mỗi ô như mean, maximum, minimum được tính toán trước và lưu trữ Những thông tin thông kê này sẽ trợ giúp cho quá trình truy vấn như sau:
Hình 1.12: Ba tầng liên tiếp nhau của cấu trúc STING
Trong hình 1.12 trình bày 3 tầng liên tiếp nhau của cấu trúc STING, mỗi ô ở tầng trên được phân chia thành bốn ô ở tầng tiếp theo Các tham số thống kê ở mức cao có thể được dễ dàng tính toán bởi các tham số từ các ô ở mức thấp hơn Các tham
Trang 24số này bao gồm: số lượng đối tượng trong ô: count, giá trị trung bình: mean, độ lệch chuẩn: s, giá trị nhỏ nhất của thuộc tính của các đối tượng trong ô: min, giá trị lớn nhất của thuộc tính của các đối tượng trong ô: max và kiểu phân bố trong các ô Dữ liệu được đưa vào trong cấu trúc lưới bắt đầu từ mức thấp nhất Các tham số count, m, s, min, max ở mức này được tính toán trực tiếp từ dữ liệu Giá trị của phân bố có thể được đặt bởi người sử dụng Kiểu phân bố ở ô mức cao được tính toán dựa trên các kiểu phân bố ở các ô tương ứng ở mức thấp kề nó theo một ngưỡng cho trước Nếu các phân bố ở mức thấp giống nhau và bị lỗi khi kiểm tra bởi ngưỡng, kiểu phân bố ở ô mức cao sẽ là không xác định
1.4.4.2 Thuật toán CLIQUE
Thuật toán CLIQUE tích hợp cả hai phương pháp phân cụm dựa trên mật độ và trên lưới CLIQUE tìm kiếm các cụm trong không gian con của dữ liệu Nó được sử dụng rộng rãi để phân cụm dữ liệu đa chiều phân bố thưa thớt và khó nhận ra các cụm trong không gian nhiều chiều này
Nếu một khối k-chiều là dày đặc thì đó là các ánh xạ của chúng trong không gian (k-1)-chiều Điều đó có nghĩa: một khối được xem là mật độ dày đặc trong k-chiều, nếu chúng ta kiểm tra các khối ánh xạ của nó trong không gian (k-1) chiều hình thành các khối và tìm xem nếu có bất kỳ một khối nào thưa thì chúng ta biết rằng khối trong không gian k-chiều sẽ không dày đặc
Hình 1.13: CLIQUE xác định các vùng tiềm năng dựa trên các đơn vị dày đặc
Thuật toán CLIQUE được minh họa trong hình 1.12 Thông thường, kết quả vùng t m kiếm là nhỏ hơn so với vùng ban đầu Các khối dày đặc đại diện để xác định các cụm Điều kiện tìm ra các cụm, thuật toán CLIQUE mô tả thông tin tối thiểu về các cụm như sau: Với mỗi cụm, nó xác định vùng lớn nhất phủ các khối liên kết dày đặc Sau đó nó xác định một phủ tối thiểu cho mỗi cụm
Trang 25CLIQUE tự động tìm các không gian con của không gian có số chiều cao nhất thỏa mãn các cụm mật độ cao tồn tại trong các các không gian con Nó sẽ không nhạy cảm với thứ tự của các điểm dữ liệu và phân bố dữ liệu Thuật toán phân chia tuyến tính với cỡ của dữ liệu vào và có thang chia tốt theo số chiều khi số lượng dữ liệu tăng Tuy nhiên, tính chính xác của các cụm kết quả có thể giảm tại tính đơn giản hóa của phương pháp
1.5 Các phương pháp cụm dữ liệu bán giám sát
1.5.1 Giới thiệu
Một xu hướng gần đây trong nghiên cứu học máy đó là học bán giám sát, việc học kết hợp các kỹ thuật được phát triển cho học không giám sát và học có giám sát để vận dụng các tập dữ liệu với lượng nhỏ thông tin bổ trợ Một trong số hướng được quan tâm trong học bán giám sát là phân cụm bán giám sát Nó tích cực dùng tri thức miền sẵn có để hướng dẫn quá trình phân cụm Khi đó có các câu hỏi đặt ra được phân loại theo 3 nhóm chính: tri thức đầu vào là gì, tri thức đưa vào khi nào, và tri thức ảnh hưởng tới quá trình phân cụm thế nào
Kiểu dữ liệu đầu vào đơn giản nhất là các đối tượng đã gắn nhãn Trong một số trường hợp, người dùng không biết chính xác các nhãn của lớp, nhưng họ có một số tri thức có dạng: những đối tượng nào nên hay không nên đặt trong cùng một cụm (có thể đặc tả bởi must-links và cannot-links) Có một số trường hợp dữ liệu đầu vào có dạng các luật phân lớp, một số ví dụ của các đối tượng tương tự, hay thậm chí là các chú thích chung như một đối tượng cụ thể không nên đặt vào cụm nào [8] Tri thức có thể cung cấp tại thời điểm khác nhau Nó có thể được cung cấp trước khi phân cụm để hướng dẫn quá trình phân cụm, hay sau khi khởi tạo để ước lượng các cụm và hướng dẫn vòng phân cụm tiếp theo [8] Một số thuật toán phân cụm cũng có thể chủ động yêu cầu người dùng cung cấp một số thông tin cụ thể tại thời điểm thích hợp nhất [5,11] Một số trường hợp khác, đầu vào là các cụm giống [19]
Để thực hiện phân cụm, ta cần xác định được mức độ tương tự giữa các đối tượng, tiêu chuẩn để phân cụm Trên cơ sở đó xây dựng mô hình và các thuật toán phân cụm phù hợp Mỗi cách tiếp cận cho ta kết quả phân cụm với ý nghĩa sử dụng khác nhau
Hai nguồn thông tin thường sẵn dùng cho một phương pháp phân cụm bán giám sát đó là: phân cụm không giám sát theo độ đo tương tự sẽ được kết hợp với một số cặp ràng buộc must-link và cannot-link Để mang lại lợi ích trong phân cụm bán giám sát, hai nguồn thông tin này không nên trái ngược hoàn toàn với nhau Không như phân cụm truyền thống, cách tiếp cận phân cụm bán giám sát còn khá mới mẻ và cho đến nay số phương pháp được công bố ít hơn nhiều Điểm khác biệt chính giữa những
Trang 26phương pháp này liên quan tới cách mà hai nguồn thông tin được kết hợp: vừa bởi việc thích nghi độ đo tương tự vừa bởi việc điều chỉnh cách tìm kiếm các cụm thích hợp
Trong phương pháp thích nghi độ tương tự, thuật toán phân cụm có
dùng một số độ đo tương tự, nhưng độ đo tương tự được làm thích nghi sao cho các ràng buộc sẵn dùng có thể dễ dàng thỏa mãn hơn Một số độ đo tương tự đã được tận dụng trong phân cụm bán giám sát thích nghi độ đo như: độ lệch Jensen-Shannon được huấn luyện với ‘hạ thấp gradient’ [19] hay khoảng cách Mahalanobis được điều chỉnh bởi tối ưu hóa hàm lồi [9,19] Phân cụm phân cấp liên kết-đơn [9], hay liên kết đầy đủ [19] và k-means là những cách tiếp cận điển hình liên quan tới phương pháp này
Trong các phương pháp trên cơ sở tìm kiếm, chính thuật toán phân cụm
được điều chỉnh sao cho các ràng buộc hay các nhãn người dùng cung cấp
có thể được dùng để tìm kiếm cách phân cụm thích hợp Điều này có thể được thực hiện theo một số cách như: thêm vào hàm giá một mức phạt cho các ràng buộc thiếu đúng đắn, hay bởi việc yêu cầu các ràng buộc được thỏa mãn trong suốt quá trình phân cụm Các ví dụ có thể kể ra như: phân cụm bán giám sát sử dụng thuật toán di truyền [9] dùng ý tưởng thay đổi hàm mục tiêu để nó có thể thỏa mãn các ràng buộc cho trước; hay thuật toán COP-KMeans [19] với tư tưởng áp đặt ràng buộc trong quá trình phân cụm; hay thuật toán SeededKMeans và Constrained-KMeans [1] dùng tập giống gồm các đối tượng dữ liệu được dán nhãn để khởi tạo cho quá trình phân cụm Trong phần sau tôi sẽ trình bày chi tiết ba thuật COP-KMeans, Seeded-KMeans, Constrained-KMeans là các ví dụ điển hình của phương pháp dựa trên tìm kiếm
1.5.2 Thuật toán phân cụm bán giám sát K-means
1.5.2.1 K-Means bán giám sát với một phần dữ liệu đã gán nhãn:
Seeded-Kmeans và Constrained-Kmeans là hai thuật toán phân cụm bán giám sát điển hình dựa vào dữ liệu đã gắn nhãn, được Basu giới thiệu năm 2002
Trên cơ sở của tập dữ liệu được gắn nhãn, bài toán phân cụm bán giám sát được đặt ra như sau [2]:
Cho một tập dữ liệu ban đầu N1
i i
X x , gọi SX
là tập giống (tập dữ liệu đã dán nhãn) trong đó với mỗi đối tượng xj S người dùng cung cấp cho nó một phân hoạch (cụm) X h Giả sử rằng bất kể cụm nào trong X cũng có ít nhất một đối tượng xj thuộc tập giống Người ta phân hoạch tập giống S thành K cụm giống tách rời K1
h h
S
,
do đó mọi đối tượng xj Sh đều nằm trong cụm X h
tương ứng Nhiệm vụ cần giải
Trang 27Thuật toán Constrained-Kmeans có khác một chút là, nhãn của các điểm giống được giữ không đổi trong suốt quá trình phân cụm
Dưới đây là phác thảo của các thuật toán Seeded-Kmeans và KMeans
Constrained-Thuật toán: Seeded-KMeans
Đầu vào: - Tập các đối tượng dữ liệuX x1, ,x N,x id, Số lượng
, với h = 1, K; t0
2 Lặp cho tới khi hội tụ
2.1 Gán cụm: Gán mỗi đối tượng dữ liệu x vào cụm h*
(tức là tập
*
( 1) 1
K t
Trang 28Thuật toán: Constrained-KMeans
Đầu vào: - Tập các đối tượng dữ liệu X x1, ,x N,x id
, với h = 1, K; t0
2 Lặp cho tới khi hội tụ
2.1 Gán cụm:
- Với mỗixS, nếu xS h thì gán x vào cụm h
-Với mỗi xS gán x vào cụm h* , với h* = argmin ( ) 2
Thuật toán chi tiết như ở hình bên dưới và ý tưởng của thuật toán có thể tóm tắt lại như sau:
Khởi tạo: Các tâm cụm được chọn ngẫu nhiên, nhưng phải đảm bảo thỏa mãn mọi ràng buộc must-link nó tham gia (sao cho các phần tử tham gia liên kết must-link với nó không được chọn làm tâm của cụm nào khác nữa)
Thuật toán: Trong suốt bước gán cụm trong COP-Kmeans, một điểm được gán tới cụm gần nó nhất và không vi phạm bất kỳ ràng buộc nào liên quan tới nó Nếu không tồn tại phép gán, thì bỏ qua
Trang 29Thuật toán COP-Kmeans
COP-Kmeans (Tập dữ liệu D, Các ràng buộc must-link Cons_must thuộc
DxD, các ràng buộc cannot-link Cons_can’t thuộc DxD)
Bước 1: Gọi C1, C2, …, Ck là k tâm cụm khởi tạo
Bước 2: Với mỗi điểm di trong D, gán nó tới Cj gần nhất, sao cho
VIOLATE-CONSTRAINTS (di, Cj, Cons_must, Const_can’t) = false Nếu không tồn tại cụm nào, fail (~ return)
Bước 3: Với mỗi cụm Ci, cập nhật tâm của nó bằng việc tính trung bình các điểm djđược gán tới nó
Bước 4: Lặp lại (2) và (3) cho tới khi hội tụ
Bước 5: Return {C1 …, Ck}
VIOLATE-CONSTRAINTS (điểm dữ liệu d, cụm C, Các ràng buộc must-link
Cons_must thuộc DxD, các ràng buộc cannot-link Cons_can’t thuộc DxD)
1 Với mỗi (d, d_must) thuộc Cons_must: nếu d_must không thuộc C, return true
2 Với mỗi (d, d_can’t) thuộc Cons_can’t: nếu d_must không thuộc C, return true
3 Nếu khác, return false
Hình 1.16: Chi tiết thuật toán COP-Kmeans 1.5.2.3 Nhận xét
Hai thuật toán dựa trên tập giống Seeded-KMeans, Constrained-KMeans do Basu đề xuất vào năm 2002 và COP-KMeans do Wagstaff đề xuất năm 2001 [3] là các
ví dụ điển hình hiện nay về phân cụm bán giám sát Các thông tin bổ trợ đều do người dùng cung cấp, như vậy phân cụm bán giám sát thực chất là quá trình kết hợp giữa người và máy để làm tăng chất lượng phân cụm
Thuật toán COP-KMeans và Constrained-KMeans nói chung có bản chất giống nhau vì thông tin bổ trợ chúng sử dụng đều là tập ràng buộc giữa các cặp đối tượng dữ liệu và các thông tin đó phải được thỏa mãn trong suốt quá trình phân cụm
Trang 30CHƯƠNG 2: GIẢI THUẬT DI TRUYỀN
2.1 Giới thiệu
Trong tự nhiên, mỗi cá thể có một tập các tính chất và đặc điểm riêng biệt được thể hiện ra ngoài môi trường gọi là kiểu hình Kiểu hình này được quyết định bởi cấu trúc của các gene trong cơ thể, được gọi là kiểu gene Sự đa dạng về kiểu gene của các
cá thể dẫn đến sự đa dạng về kiểu hình của một quần thể sinh học Quá trính phát triển của mỗi quần thể tuân theo quy luật chọn lọc tự nhiên mà tiến hoá qua các thế hệ kế tiếp nhau Trong đó, các hậu duệ được sinh ra từ thế hệ trước thông qua quá trình sinh sản (di truyền và biến dị) cạnh tranh tự nhiên, cá thể nào có kiểu hình (và do đó là kiểu gene) thích nghi cao hơn với môi trường phát triển thì sẽ có khả năng lớn hơn trong tồn tại và sản sinh con cháu, do đó kiểu gene này tiến hoá và hoàn thiện Quá trình tiến hoá này được lặp đi lặp lại, các cá thể có kiểu gene phù hợp sẽ sống sót và phát triển, các cá thể yếu sẽ bị loại bỏ
Dựa vào tư tưởng trên, để giải bài toán tối ưu người ta mã hoá mỗi lời giải tiềm năng dưới dạng thích hợp gọi là một nhiễm sắc thể Nhờ mô phỏng quá trình chọn lọc
tự nhiên trên quần thể nhiễm sắc thể này ta có thể tìm được lời giải của bài toán Để hiểu rõ GA, trước hết ta làm quen với GA cổ điển
2.2 Giải thuật di truyền cổ điển
GA cổ điển được Holland giới thiệu để tối ưu hoá bài toán:
- Xây dựng hàm eval trên tập nhiễm sắc thể để đánh giá độ thích nghi của mỗi
cá thể: eval(z) = f(x), trong đó x là véc tơ tương ứng với z
- Với t = 0, ta tạo ngẫu nhiên quần thể ban đầu P(0) gồm N nhiễm sắc thể và thực hiện quá trình tiến hoá theo cấu trúc:
Trang 31Thuật toán di truyền có thể mô tả vắn tắt qua hình sau :
Hình 2.1: Sơ đồ cấu trúc thuật toán di truyền
Trang 322.2.1 Phương pháp mã hoá và giải mã
Biểu diễn mã nhị phân của mỗi lời giải tiềm năng và giải mã thực hiện như sau
Mã hoá Giả sử ta cần tìm cực đại hàm f với sai số mỗi biến xi là 10-p Ta chia mỗi đoạn [ai,bi] thành (bi-ai)10p đoạn bằng nhau và ký hiệu mi là số tự nhiên nhỏ nhất thoả mãn:
1 2 10 )
k sẽ thoã mãn yêu cầu về độ
chính xác và x được biễu diễn bởi xâu nhị phân có độ dài
n
j j m m
i
m
j
j j
k
và có
12
)(
i
a b k a
Hay là
12
)(
.)2(
j
j j i
i
a b b
a
2.2.2 Thủ tục chọn lọc
Với mỗi quần thể P(t-1) gồm N nhiễm sắc thể : P(t-1) ={v1, ,vN} ta xây dựng
bánh xe xổ số thực hiện quá trình chọn lọc như sau
1
) (
Tính các xác suất chọn pi của nhiễm sắc thể vi : p i eval(v i)/F
Tính xác suất tích luỹ qi của vi :
i
j j
q
1
Ví dụ, hình 2.2 minh họa cho bánh xe sổ số với quần thể có 5 cá thể Trong đó, cá thể
1 có xác suất chọn lọc là 31%, có nghĩa là khi bánh xe sổ số quay, nó có khả năng được chọn là 0.31 Tương tự như vậy với các cá thể 2,3,4,5
Trang 33Hình 2.2: Minh họa cho bánh xe sổ số với quần thể có 5 cá thể
- Quá trình chọn lọc
Quá trình chọn lọc quần thể Q(t) từ P(t-1) dựa vào bánh xe xổ số được thực hiện theo cách sau:
Đối với mỗi số tự nhiên k {1,2, ,n} ta tạo một số ngẫu nhiên rk[0,1]
Nếu qi rk > qi-1 thì chọn vi thuộc Q(t) Hiển nhiên, ở đây mỗi nhiễm sắc thể
có thể được chọn nhiều lần và Q(t) vẫn được xem là có N phần tử Các cá thể có độ thích nghi lớn sẽ có khả năng được chọn nhiều hơn
2.2.3 Quá trình tái tạo
Quá trình tái tạo dựa trên các toán tử di truyền : tương giao chéo và biến dị
- Các toán tử di truyền
Toán tử tương giao chéo
Với 2 nhiễm sắc thể x = ( x1 xm ) và y = (y1, ,ym) tuỳ ý, chọn điểm tương giao k (có thể ngẫu nhiên) ta sẽ sinh được hai nhiễm sắc thể mới:
x’ = (x1, xk ,yk+1 ym) y’ =( y1 yk ,xk+1 xm)
Trang 34Nếu gene xk của nhiễm sắc thể x = ( x1 xm ) biến dị thì ta được nhiễm sắc thể mới x’ có:
k i x x
i
i i
áp dụng toán tử tương giao chéo để tạo nên hậu duệ mới thay thế cho nó
Sau khi tương giao chéo, đối với mỗi gene của mỗi nhiễm sắc thể ta tạo một số ngẫu nhiên r[0,1] Nếu r < pm thì gene này được biến dị
Quá trình trên cho ta quần thể P(t) của thế hệ t và được đánh giá để chọn phần tử có giá trị thích nghi tốt nhất
Điều kiện kết thúc có thể là số lần lặp định trước và lời giải có thể là các thể tốt nhất ở lần lặp cuối hoặc của mọi lần lặp
2.2.4 Sự hội tụ của GA
Các kết quả nghiên cứu, đánh giá về sự hội tụ của GA còn rất nghèo, chi mới ở mức chứng minh sự hội tụ theo xác suất tới lời giải tối ưu của bài toán Tuy nhiên, về mặt thực hành, giải thuật di truyền vẫn là một giải thuật được ưa thích để giải các bài toán khó trong thực tế và cho lời giải đủ tốt Đặc biệt GA tỏ ra rất hiệu quả đối với các bài toán mà hàm mục tiêu phức tạp, có nhiều cực trị địa phương và không trơn Đối với các bài toán đã có phương pháp giải tốt bằng phương pháp truyền thống thì GA vẫn kém hiêụ quả hơn
Trang 35v1=(10011010000000111) tương ứng với x1=1,41 ; x2=3,15 ; eval(v1)=12,68 ;
v2=(11100010010011011) tương ứng với x1=2,54 ; x2=4,22 ; eval(v2)=14,78 ;
v3=(00001000001100100) tương ứng với x1=-0,87; x2=3,78 ; eval(v3)=10,94 ;
v4=(10001100010110100) tương ứng với x1=1,19 ; x2=4,41 ; eval(v4)=10,81 ;
v5=(00011101100101001) tương ứng với x1=-0,54 ; x2=3,32 ; eval(v5)=7,67 ;
v6=(00010100001001010) tương ứng với x1=-0,69 ; x2=3,58 ; eval(v6)=7,53 ;
v7=(00100010000011010) tương ứng với x1=-0,47 ; x2=3,20 ; eval(v7)=9,23 ;
v8=(10000110000111010) tương ứng với x1=1,01 ; x2=3,45 ; eval(v8)=7,52 ;
v9=(01000000011010001) tương ứng với x1=0,00 ; x2=4,64 ; eval(v9)=5,67 ;
v10=(00010100001001010) tương ứng với x1=0,88 ; x2=3,19 ; eval(v10)=9,94
Cá thể tốt nhất : v2=(11100010010011011), eval(v2)=14,78 ; độ phù hợp toàn phần F=96,77
Stt pi qi Số ngẫu nhiên Cá thể được chọn Đánh số lại