Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và các ứng dụng trong thực tế, nó đều 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:
- P ƣơn p p p ân ụm phân hoạch:
Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k
nhóm cho đến khi xác định số các cụm đƣợc thiết lập. số các cụm đƣợc thiết lập là các đặc trƣng đƣợc lựa chọn trƣớc. Phƣơng pháp này là tốt cho việc tìm các cụm hình cầu trong không gian Euclidean. Ngoài ra, phƣơng pháp này cũng phụ thuộc vào khoảng cách cơ bản giữa các điểm để lựa chọn các điểm dữ liệu nào có quan hệ gần nhau với mỗi điểm khác và các điểm dữ liệu nào không có quan hệ hoặc có quan hệ xa nhau so với mỗi điểm khác. Tuy nhiên, phƣơng pháp này không thể xử lý các cụm có hình dạng kỳ quặc hoặc các cụm có mật độ các điểm dày đặc. 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ế 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ụm cũng nhƣ để hƣớng dẫn cho quá trình tìm kiếm phân hoạch dữ liệ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
20 lƣợc ăn tham (Greedy) để tìm kiếm nghiệm.
- P ƣơn p p p ân ụ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ân chia nhóm, thƣờng đƣợc gọi là tiếp cận Top - down
Thực tế áp dụng, có nhiều trƣờng hợp kết hợp cả hai phƣơng pháp phân cụm phân hoạch và 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 qua 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 đã có rất 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.
- P ƣơn p p p ân ụm dựa trên mật độ:
Kỹ thuật này nhóm các đối tƣợng dữ liệu dựa trên hàm mật độ xác định, mật độ là số các đối tƣợng lân cận của một đối tƣợng dữ liệu theo một nghĩa nào đó. Trong cách tiếp cận này, khi một dữ liệu đã xác định thì 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 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 trên 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 nhiên việc xác định các tham số mật độ của thuật toán là 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.
- P ƣơn p p p ân ụm dự tr n lƣới:
Kỹ thuật phân cụm dựa trên lƣới thích hợp với dữ liệu nhiều chiều, dựa trên cấu trúc dữ liệu lƣới để phân cụm, phƣơng pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian. Mục tiêu của phƣơng pháp này là lƣợng hóa
21
dữ liệu thành các ô tạo thành cấu trúc dữ liệu lƣới. Sau đó, các thao tác phân cụm chỉ cần làm việc với các đối tƣợng trong từng ô trên lƣới chứ không phải các đối tƣợng dữ liệu. 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 ô 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 ô. 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úng không trộn các ô, đồng thời giải quyết khắc phục yêu cầu đối với dữ liệu nhiều chiều mà phƣơng pháp phân phân cụm dựa trên mật độ không giải quyết đƣợc. Ƣu điểm của phƣơng pháp phân cụm 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ố ô trong mỗi chiều của không gian lƣới.
- P ƣơn p p p ân ụ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ử dụng chiến lƣợc phân cụm phân hoạch hoặ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 chúng hiệu 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ựa trên mô hình cố gắng khớp giữa các 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 cách 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 phân cụm dựa trên mật độ, 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.
- P ƣơn p p p ân ụ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
22
đị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 cụ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 đã và đ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 hệ thống, 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 khái niệm: Kỹ thuật này đƣợc phát triển áp dụng cho dữ liệu hạng mục, chúng phân cụm các đối tƣợng theo các khái niệm mà chúng xử lý. + 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 chỉ 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 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.
1.3.4. Một số độ đo tron p ân ụm
Đây chính là cơ sở để xác định các đối tƣợng “tƣơng tự” hay “không tƣơng tự”.
- Minkowski
- Euclidean: – p = 2
- Độ đo tƣơng tự (gần nhau): cosin hai vectơ 1 1 (|| || ) n p p i i i x y .w || || . || w || v v
23
1.3.5. Mụ đ ủ p ân ụm
- Xác định đƣợc bản chất của việc nhóm các đối tƣợng trong một tập dữ liệu không có nhóm.
- Phân cụm không dựa trên một tiêu chuẩn chung nào, mà dựa vào tiêu chuẩn mà ngƣời dùng cung cấp trong từng trƣờng hợp.
1.3.6. Tổng quan về phân cụm mờ
Trong cuộc sống, chúng ta đã gặp rất nhiều ứng dụng của bài toán phân cụm. Chẳng hạn nhƣ trong ngành bƣu điện, hàng ngày bƣu điện phải phân loại thƣ theo mã nƣớc, trong mã nƣớc lại phân loại theo mã tỉnh/thành phố, sau đó khi thƣ về đến bƣu điện tỉnh thì bƣu điện tỉnh lại phải phân loại thƣ theo quận/huyện để gửi đi, đến bƣu điện quận/huyện lại phân loại thƣ theo xã/phƣờng để gửi thƣ. Đó chính là một ứng dụng của bài toán phân cụm rõ.
Vậy bài toán phân cụm rõ là gì?
Ta có thể định nghĩa bài toán phân cụm rõ nhƣ sau: Cho tập dữ liệu mẫu X, ta kiểm tra các điểm dữ liệu xem nó giống với đặc điểm của nhóm nào nhất thì ta gán điểm dữ liệu đó vào trong nhóm đó. Nhƣng trong thực tế không phải lúc nào bài toán phân cụm rõ cũng áp dụng đƣợc. Chẳng hạn, ta có phép phân loại sau: Những ngƣời đi xe máy xịn thì thuộc nhóm ngƣời giàu, những ngƣời đi xe máy thƣờng thuộc nhóm ngƣời bình dân. Vậy ngƣời nghèo mà đi xe máy xịn thì chúng ta xếp ngƣời đó vào nhóm nào? Vì vậy, chúng ta cần đƣa vào khái niệm bài toán phân cụm mờ.
Trong các phƣơng pháp phân cụm, mỗi phƣơng pháp phân cụm phân hoạch một tập dữ liệu ban đầu thành các cụm dữ liệu có tính tự nhiên và mỗi đối tƣợng dữ liệu chỉ thuộc về một cụm dữ liệu, phƣơng pháp này chỉ phù hợp với việc khám phá ra các cụm có mật độ cao và rời nhau, với đƣờng biên giữa các cụm đƣợc xác định tốt. Tuy nhiên, trong thực tế, đƣờng biên giữa các cụm có thể mờ, các cụm có thể chồng lên nhau, nghĩa là một số các đối tƣợng dữ liệu thuộc về nhiều các cụm khác nhau, do đó mô hình này không mô tả đƣợc dữ liệu thực. Vì vậy ngƣời ta đã áp dụng lý thuyết về tập mờ trong phân cụm
24
dữ liệu để giải quyết cho trƣờng hợp này. Cách thức kết hợp này đƣợc gọi là
phân cụm mờ.
Phân cụm mờ là phƣơng pháp phân cụm dữ liệu mà cho phép mỗi điểm dữ liệu thuộc về hai hoặc nhiều cụm thông qua bậc thành viên. Ruspini (1969) giới thiệu khái niệm phân hoạch mờ để mô tả cấu trúc cụm của tập dữ liệu và đề xuất một thuật toán để tính toán tối ƣu phân hoạch mờ. Dunn (1973) mở rộng phƣơng pháp phân cụm và đã phát triển thuật toán phân cụm mờ. Ý tƣởng của thuật toán là xây dựng một phƣơng pháp phân cụm mờ dựa trên tối thiểu hóa hàm mục tiêu. Bezdek (1981) cải tiến và tổng quát hóa hàm mục tiêu mờ bằng cách đƣa ra trọng số mũ để xây dựng thuật toán phân cụm mờ và đƣợc chứng minh độ hội tụ của các thuật toán là cực tiểu cục bộ.
- Các thuật toán trong phân cụm rõ và phân cụm mờ:
K - means là thuật toán phân cụm dữ liệu rõ và C - means là thuật toán phân cụm mờ tƣơng ứng, hai thuật toán này cùng sử dụng chung một chiến lƣợc phân cụm dữ liệu. Thuật toán K - means đƣợc dùng phổ biến với ƣu điểm đơn giản, dễ hiểu, đáp ứng đƣợc yêu cầu của bài toán phân cụm dữ liệu nhƣng không có khả năng tìm ra các cụm không lồi hoặc các cụm có hình dạng phức tạp và rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu. Thuật toán C - means mờ hay còn gọi tắt là thuật toán FCM (Fuzzy C - means) đã đƣợc áp dụng thành công trong giải quyết một số lớn các bài toán phân cụm dữ liệu nhƣ trong nhận dạng mẫu (Nhận dạng vân tay, ảnh), xử lý ảnh (Phân tách các cụm ảnh màu, cụm màu), y học (Phân loại bệnh, phân loại triệu chứng),... Tuy nhiên, nhƣợc điểm lớn nhất của thuật toán FCM là tập dữ liệu lớn, tập dữ liệu nhiều chiều, nhạy cảm với các nhiễu và phần tử ngoại lai trong dữ liệu, nghĩa là các trung tâm cụm có thể nằm xa so với trung tâm thực của cụm. Đã có nhiều các phƣơng pháp đề xuất để cải tiến cho nhƣợc điểm trên của thuật toán FCM bao gồm: Phân cụm dựa trên xác suất (Keller, 1993), phân cụm nhiễu mờ (Dave, 1991), phân cụm dựa trên toán tử LP Norm
25
(Kerten, 1999) và thuật toán Interval Type II Fuzzy C - means và thuật toán FCM cải tiến.
Bài khóa luận sẽ trình bày ba thuật toán K - means, Fuzzy C - means và Interval Type II Fuzzy C - means.
26
CHƢƠNG 2 CÁC THUẬT TOÁN TÁCH MÀU TRONG ẢNH MÀU
2.1. T uật to n K - means 2.1.1. Mô tả b i to n
Đây là một thuật toán nổi tiếng và đƣợc sử dụng nhiều nhất trong hƣớng tiếp cận phân nhóm phân hoạch. Thuật toán này có nhiều biến thể khác nhau nhƣng đƣợc đƣa ra đầu tiên bởi J.B MacQueen vào năm 1967. Đầu vào của thuật toán này là một tập gồm n mẫu và một số nguyên K.
Tƣ tƣởng của thuật toán này là: Tìm cách phân nhóm n đối tƣợng đã 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 khoảng cách giữa các đối tượng đến tâm nhóm là nhỏ nhất.
Đầu tiên chọn ngẫu nhiên K mẫu, mỗi mẫu này coi nhƣ biểu diễn một cụm, nhƣ vậy trong mỗi cụm đối mẫu đó cũng là tâm của cụm. Các mẫu còn lại đƣợc gắn vào một nhóm nào đó trong K nhóm đã có sao cho tổng khoảng cách từ nhóm mẫu đó đến tâm của nhóm là nhỏ nhất. Sau đó tính lại tâm các nhóm và lặp lại quá trình đó đến khi không có mẫu dữ liệu nào di chuyển từ nhóm này đến nhóm khác. Tại thời điểm này các mẫu ổn định và quá trình phân cụm kết thúc.
Sự lựa chọn phân vùng ban đầu ảnh hƣởng rất lớn đến các cụm kết quả cuối cùng. Tiếp cận thuật toán K - means là lặp đi lặp lại, tính toán chuyên sâu và do đó chỉ áp dụng cho những vùng con của ảnh hơn là những hình ảnh đầy đủ. Thuật toán này có thể áp dụng đối với cơ sở dữ liệu đa chiều, nhƣng để dễ minh họa em mô tả thuật toán trên dữ liệu hai chiều.
2.1.2. T uật to n
Thuật toán K - means bao gồm các bƣớc sau:
- Input: K và dữ liệu về n mẫu của một cơ sở dữ liệu.
- Output: Một tập gồm K cluster sao cho tổng khoảng cách từ các mẫu
27
Bƣớc 1: Chọn ngẫu nhiên K mẫu vào K cụm. Coi tâm của cụm chính là
mẫu có trong cụm.
Bƣớc 2: Gán các mẫu vào từng cụm sao cho khoảng cách từ mẫu đó
đến tâm của nhóm là nhỏ nhất.
Bƣớc 3: Cập nhật lại trọng tâm.
Bƣớc 4: Nếu các nhóm không có sự thay đổi nào sau khi thực hiện
bƣớc 3 thì chuyển sang bƣớc 5, ngƣợc lại sang bƣớc 2.
Bƣớc 5: Dừng thuật toán.
-
+
Hình 2.1. Mô tả của thuật toán K - means
Bắt đầu Số cụm K Trọng tâm Khoảng cách các đối tƣợng đến các trọng tâm Nhóm các đối tƣợng vào các cụm Không có đối tƣợng chuyển nhóm Kết thúc
28
Ví dụ: Cho bảng đối tƣợng và thuộc tính:
Đối tƣợng Thuộc tính 1 (X) Thuộc tính 2 (Y)
A 1 1 B 2 1 C 4 3 D 5 4 Bƣớc 1: Khởi tạo: Chọn 2 trọng tâm: c1(1,1) ≡ A và c2(2,1) ≡ B thuộc 2 cụm 1 và 2. Hai đối tƣợng C(4,3) và D(5,4).
Hình 2.2. Chọn các đối tượng và trọng tâm ban đầu
Bƣớc 2: Tính khoảng cách từ các đối tƣợng đến tâm của các nhóm: