DANH SÁCH CÁC HÌNH Hình 1: Quá trình khám phá tri thức Hình 2: Quá trình khai phá dữ liệu Hình 3: Cây CF biểu diễn trong BIRCH Hình 4: Cụm dữ liệu khai phá bởi thuật toán CURE Hình 5
Trang 11
LỜI CẢM ƠN
Để hoàn thành được khóa luận này, trước hết em xin gửi lời cảm ơn sâu sắc nhất tới PGS.TS Trịnh Đình Thắng, đã tận tình hướng dẫn, chỉ bảo, định hướng, đóng góp những ý kiến quý báu trong suốt quá trình thực hiện
Em xin chân thành cảm ơn các thầy, cô giáo trong khoa Công nghệ thông tin, trường ĐH Sư Phạm Hà Nội 2 đã quan tâm dạy dỗ và giúp đỡ em trong suốt bốn năm học vừa qua cũng như trong thời gian em làm bài khóa luận này Là sinh viên ngành Công nghệ thông tin, em rất tự hào về khoa mình học, về thầy cô giáo của mình Em xin kính chúc các thầy, các cô luôn mạnh khỏe, hạnh phúc và thành công Chúc khoa Công nghệ thông tin sẽ ngày một khang trang, vững mạnh, góp phần to lớn trong sự nghiệp đào tạo chuyên nghiệp của trường Đại học sư phạm Hà Nội 2
Là sinh viên lần đầu nghiên cứu khoa học, chắc chắn đề tài của em không tránh khỏi những thiếu sót, hạn chế Vì vậy em rất mong sự đóng góp ý kiến của các thầy cô giáo và các bạn để đề tài của em được hoàn thiện
Cuối cùng, em xin cảm ơn tới đại gia đình của em, đã luôn luôn động viên, khích lệ tinh thần và tạo điều kiện tốt nhất cho em hoàn thành khóa luận này
Hà Nội, tháng 05 năm 2013
Sinh viên
Vũ Thị Bích Phương
Trang 2LỜI CAM ĐOAN
Tên em là: Vũ Thị Bích Phương
Sinh viên: K35 – CNTT, trường Đại học sư phạm Hà Nội 2
Em xin cam đoan:
1 Đề tài “Nghiên cứu các kỹ thuật phân cụm dữ liệu và ứng dụng” là kết quả tìm hiểu và nghiên cứu của riêng em, dưới sự hướng dẫn của PGS.TS Trịnh Đình Thắng
2 Khóa luận hoàn toàn không sao chép từ các tài liệu có sẵn đã được công bố khác
3 Kết quả không trùng với các tác giả khác
Nếu sai em xin hoàn toàn chịu trách nhiệm
Hà Nội, tháng 05 năm 2013
Sinh viên
Vũ Thị Bích Phương
Trang 33
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỞ ĐẦU 5
CHƯƠNG 1 Error! Bookmark not defined TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 11 1.1 Giới thiệu chung 11
1.2 Khám phá tri thức và quá trình khám phá tri thức 12
1.3 Khai phá dữ liệu 14
CHƯƠNG 2 Error! Bookmark not defined PHÂN CỤM DỮ LIỆU VÀ CÁC THUẬT TOÁN TRONGError! Bookmark not defined PHÂN CỤM DỮ LIỆU Error! Bookmark not defined 2.1 Khái niệm về phân cụm dữ liệu 20
2.2 Các ứng dụng của phân cụm 21
2.3 Các yêu cầu về thuật toán phân cụm dữ liệu 22
2.4 Các kiểu dữ liệu trong phân cụm 23
2.5 Phép đo độ tương tự, phi tương tự 25
2.6 Các thuật toán phân cụm dữ liệu 28
2.6.1 Thuật toán phân cụm dữ liệu dựa vào phân cụm phân cấp 28
2.6.2 Thuật toán phân cụm dữ liệu mờ 33
2.6.3 Thuật toán phân cụm dữ liệu dựa vào cụm trung tâm 35
2.6.4 Thuật toán phân cụm dữ liệu dựa vào lưới 38
2.6.5 Thuật toán phân cụm dữ liệu dựa vào mật độ 42
2.6.6 Thuật toán phân cụm dữ liệu dựa trên mẫu 48
Trang 4CHƯƠNG 3: Error! Bookmark not defined
ỨNG DỤNG CỦA PHÂN CỤM DỮ LIỆU 50
3.1 Phân đoạn ảnh 50
3.1.1 Định nghĩa phân đoạn ảnh 51
3.1.2 Phân đoạn ảnh dựa vào phân cụm dữ liệu 52
3.2 Nhận dạng đối tượng và ký tự 57
3.2.1 Nhận dạng đối tượng 57
3.2.2 Nhận dạng ký tự 60
3.3 Khai phá dữ liệu 61
3.3.1 Khai phá dữ liệu bằng phương pháp tiếp cận 62
3.3.2 Khai phá dữ liệu có cấu trúc lớn 63
3.3.3 Khai phá dữ liệu trong Cơ sở dữ liệu địa chất 64
KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 66
TÀI LIỆU THAM KHẢO 69
Trang 5dữ liệu lớn
Kỹ thuật khám phá tri thức và khai phá 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 trong những năm gần đây Những vấn
đề được quan tâm là phân lớp nhận dạng mẫu, luật kết hợp, phân cụm dữ liệu, phần tử dị biệt, …
Phân cụm cơ sở dữ liệu là một trong những phương pháp quan trọng trong quá trình tìm hiểu tri thức Phân cụm đặc biệt hiệu quả khi ta không biết
về thông tin của các cụm, hoặc khi ta quan tâm tới những thuộc tính của cụm
mà ta chưa biết hoặc biết rất ít những thông tin đó Phân cụm được coi như
Trang 6một công cụ độc lập để xem xét phân bố dữ liệu, làm bước tiền xử lý cho các thuật toán khác Việc phân cụm dữ liệu có rất nhiều ứng dụng như trong tiếp thị, sử dụng đất, bảo hiểm, hoạch định thành phố… Hiện nay, phân cụm dữ liệu là một hướng được nghiên cứu rất nhiều trong Công nghệ thông tin Chính vì lý do đó mà em chọn đề tài “Nghiên cứu các kỹ thuật phân cụm dữ liệu và ứng dụng” là hướng nghiên cứu cho bài khóa luận của mình
2 Mục đích nghiên cứu
- Tìm hiểu qua về quá trình khám phá tri thức và khai phá dữ liệu
- Tìm hiểu về phân cụm dữ liệu và các thuật toán trong phân cụm dữ liệu
- Trên nền tảng lý thuyết về khai phá dữ liệu và một số thuật toán phân cụm dữ liệu tiến tới đi sâu vào tìm hiểu, phân tích, đánh giá một số thuật toán của phương pháp phân cụm dữ liệu
3 Phạm vi nghiên cứu
Data mining là một lĩnh vực thu hút được rất nhiều sự quan tâm của các nhà nghiên cứu, với nhiều ngành ứng dụng Một trong các hướng đó là phân cụm dữ liệu, với các phương pháp phân cụm dữ liệu khác nhau Ở khóa luận này, em xin trình bày về một số phương pháp phân cụm dữ liệu
4 Ý nghĩa khoa học và thực tiễn
Nếu đề tài “Nghiên cứu các kỹ thuật phân cụm dữ liệu và ứng dụng” được nghiên cứu thì sẽ đạt hiệu quả phân cụm tối ưu, giúp xử lý dữ liệu nhanh hơn, giảm thời gian, công sức để tìm kiếm, phát hiện các cụm, các mẫu dữ liệu trong tập dữ liệu lớn để cung cấp thông tin trợ giúp việc ra quyết định, dự đoán
Trang 77
5 Phương pháp nghiên cứu
a Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các vấn đề của đề tài
b Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù hợp với yêu cầu thực tiễn, nội dung xử lý nhanh đáp ứng được yêu cầu ngày càng cao của người sử dụng
c Phương pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được nghiên cứu và kết quả đạt được qua những phương pháp trên
6 Cấu trúc khóa luận
Ngoài phần mở đầu, kết luận và định hướng phát triển thì luận văn của
em bao gồm ba chương:
Chương 1: Tổng quan về khám phá tri thức và khai phá dữ liệu
Chương 2: Phân cụm dữ liệu và các thuật toán trong phân cụm dữ liệu
Chương 3: Ứng dụng của phân cụm dữ liệu
Trang 8DANH SÁCH CÁC HÌNH
Hình 1: Quá trình khám phá tri thức
Hình 2: Quá trình khai phá dữ liệu
Hình 3: Cây CF biểu diễn trong BIRCH
Hình 4: Cụm dữ liệu khai phá bởi thuật toán CURE
Hình 5: Các bước của thuật toán Chameleon
Hình 6: Các thiết lập để xác định danh giới các cụm ban đầu Hình 7: Ví dụ hình dạng PCDL sau khi phân cụm bằng K-means Hình 8: Mô hình cấu trúc dữ liệu lưới
Hình 9: Mô hình thuật toán STING
Hình 10: Hình dạng các cụm được khám phá bởi DBSCAN Hình 11: Mật độ - đến được trực tiếp
Hình 18: Kết quả của việc tạo ngưỡng
Hình 19: Phân đoạn ảnh bằng phân cụm dữ liệu
Trang 99
Hình 20: Kết quả của kết cấu phân đoạn ảnh
Hình 21: Phân đoạn ảnh y tế đa quang phổ
Hình 22: Phân đoạn ảnh LANDSAT
Hình 23: Một tập con các ảnh của cảnh Rắn hổ mang được chọn từ 320 cảnh Hình 24: Cấu trúc của một nhóm gồm 320 cảnh của 1 tác phẩm điêu khắc con rắn hổ mang
Hình 25: Mã vùng so với bản đồ đơn vị địa tầng của một khu vực nghiên cứu
Trang 10DANH SÁCH CÁC CỤM TỪ VIẾT TẮT
Database
Khám phá tri thức trong
cơ sở dữ liệu
Trang 1111
CHƯƠNG 1 TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ
KHAI PHÁ DỮ LIỆU
1.1 Giới thiệu chung
Cách mạng khoa học kỹ thuật tạo ra bước nhảy vọt trong tất cả các lĩnh vực của đời sống kinh tế, xã hội, … một thành công không thể không kể đến của cuộc cách mạng này là sự bùng nổ thông tin, khiến cho khối lượng thông tin mà con người thu thập và lưu trữ ngày một khổng lồ, kích thước của CSDL tăng một cách nhanh chóng Trong những CSDL đó tiềm ẩn nhiều tri thức mà con người chưa khám phá ra được Đứng trước núi dữ liệu khổng lồ thu thập được, việc khám phá tri thức và thông tin trở nên rất khó khăn Chính
vì lý do đó nhu cầu tìm kiếm tri thức trong khối CSDL đã nảy sinh, nhu cầu này ngày một cấp thiết và dẫn tới sự hình thành của một lĩnh vực mới – lĩnh vực khai phá dữ liệu (Data mining) hay khám phá tri thức trong CSDL
Khám phá tri thức trong CSDL có thể được coi như quá trình tìm tri thức có ích, cần thiết, tiềm ẩn và chưa được biết trước trong CSDL lớn
Tuy mới ra đời nhưng khám phá tri thức và khai phá 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 trong những năm gần đây Những vấn đề được quan tâm là phân lớp nhận dạng mẫu, luật kết hợp, phân cụm dữ liệu, phần tử dị biệt, …
Trang 121.2 Khám phá tri thức và quá trình khám phá tri thức
1.2.1 Khám phá tri thức
Khám phá hay phát hiện tri thức trong CSDL là một quy trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: Phân tích, tổng hợp, hợp thức, khả ích, và có thể hiểu được Còn khai phá dữ liệu là một bước trong quy trình khám phá tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số quy định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu Nói một cách khác, mục đích của phát hiện tri thức và khai phá dữ liệu chính là tìm ra các và/hoặc các mô hình đang tồn tại trong các CSDL nhưng vẫn còn bị che khuất bởi hàng núi dữ liệu
1.2.2 Quá trình khám phá tri thức
Việc khám phá tri thức thông thường có thể mô tả bằng sơ đồ các quy trình sau:
Hình 1: Quá trình khám phá tri thức
Trang 1313
Trong đó, mỗi bước là một quy trình có vai trò riêng và nhiệm vụ khác nhau, bao gồm:
Bước thứ nhất: Tìm hiểu lĩnh vực ứng dụng và hình thành bài toán,
bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu
Bước thứ hai: Thu thập và xử lý dữ liệu thô, còn được gọi là tiền xử lý
dữ liệu nhằm loại bỏ nhiễu, xử lý việc thiếu dữ liệu, biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết, bước này chiếm khá nhiều thời gian trong toàn bộ quy trình khám phá tri thức
Bước thứ ba: Khai phá dữ liệu, hay nói cách khác là trích ra các mẫu
hoặc/và các mô hình ẩn dưới các dữ liệu
Bước thứ tư: Hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô
tả và dự đoán Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được
có thể được lấy trung bình trên tất cả các lần thực hiện
Bước thứ năm: Sử dụng tri thức đã được khai phá vào thực tế Các tri
thức phát hiện được tích hợp chặt chẽ trong hệ thống Tuy nhiên để sử dụng được các tri thức đó đôi khi cần đến các chuyên gia trong các lĩnh vực quan tâm vì tri thức rút ra có thể chỉ mang tính chất hỗ trợ quyết định hoặc cũng có thể được sử dụng cho một quá trình khám phá tri thức khác
Mặc dù được tóm tắt thành năm bước nhưng thực chất quá trình xây dựng và thực hiện việc khám phá tri thức không chỉ tuân theo các bước cố định mà các quá trình này còn có thể được lặp đi lặp lại ở một hoặc một số giai đoạn trước và cứ tiếp tục như thế sẽ làm cho quá trình khai phá và tìm kiếm dữ liệu ngày càng hoàn thiện hơn
Trang 141.3 Khai phá dữ liệu
1.3.1 Khai phá dữ liệu
Khai phá dữ liệu là một giai đoạn quan trọng trong quá trình khám phá tri thức Về bản chất nó là giai đoạn duy nhất tìm ra được thông tin mới Việc khai phá dữ liệu còn được coi như là việc khai phá tri thức từ dữ liệu, trích lọc tri thức, phân tích dữ liệu – mẫu, đào xới, nạo vét dữ liệu
Khai phá dữ liệu (Data Mining) được định nghĩa là quá trình trích lọc các thông tin có giá trị ẩn trong lượng lớn dữ liệu được lưu trữ trong các CSDL hoặc các kho dữ liệu … Khai phá dữ liệu cũng còn được gọi là một quá trình tìm kiếm, khám phá ở nhiều góc độ để tìm ra các mối tương quan, các mối liên hệ dưới nhiều góc độ khác nhau nhằm tìm ra các mẫu hay các mô hình tồn tại bên trong cơ sở dữ liệu đang bị che khuất Để trích rút các mẫu,
mô hình tiềm ẩn có tính “tri thức” ta phải tìm và áp dụng các phương pháp, kỹ thuật khai phá sao cho các kỹ thuật và phương pháp này phải phù hợp với tính chất, đặc trưng của dữ liệu và mục đích sử dụng Tuy khai phá dữ liệu chỉ là một bước trong quá trình khám phá tri thức nhưng nó lại là bước tiên quyết, quan trọng và ảnh hưởng đến toàn bộ quá trình
Tóm lại, khai phá dữ liệu là một quá trình tìm kiếm thông tin “tri thức” tiểm ẩn trong cơ sở dữ liệu lớn, khổng lồ Vì thế, có thể nói rằng hai thuật ngữ khám phá tri thức và khai phá dữ liệu là tương đương nếu nói ở khía cạnh tổng quan, còn nếu xét ở góc độ chi tiết thì khai phá dữ liệu là một giai đoạn
có vai trò quan trọng trong quá trình khám phá tri thức
1.3.2 Mục tiêu của khai phá dữ liệu
Qua những nội dung đã trình bày ở trên, ta có thể hiểu một cách sơ lược rằng khai phá dữ liệu là quá trình tìm kiếm thông tin hữu ích, tiềm ẩn và mang tính dự báo trong các cơ sở dữ liệu lớn Việc khai phá dữ liệu nhằm các mục đích chính như sau:
Trang 1515
- Khai thác những thông tin tiềm ẩn mang tính chất dự đoán từ những cơ
sở dữ liệu lớn dựa trên các công cụ khai phá dữ liệu nhằm dự đoán những xu hướng trong tương lai nhằm giúp các đối tượng cần khai phá tri thức như: Các tổ chức, doanh nghiệp, nhà nghiên cứu, … để hỗ trợ việc đưa ra những quyết định kịp thời, được định hướng trên những tri thức được khám phá mang lại
- Thực hiện phân tích xử lý, tính toán dữ liệu một cách tự động cho mỗi quá trình xử lý dữ liệu để tìm ra tri thức
1.3.3 Quá trình khai phá dữ liệu
KPDL là một giai đoạn quan trọng trong quá trình KPTT Về bản chất,
nó là giai đoạn duy nhất tìm ra được thông tin mới, thông tin tiềm ẩn có trong CSDL chủ yếu phục vụ cho mô tả và dự đoán Dự đoán là thực hiện việc suy luận trên dữ liệu để đưa ra các dự báo nhằm phân tích tập dữ liệu huấn luyện
và tạo ra một mô hình cho phép dự đoán các mẫu, mô hình mới chưa biết Mô
tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được
Quá trình KPDL bao gồm các bước:
Hình 2: Quá trình khai phá dữ liệu
Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp
Thu nhập và tiền xử lý dữ liệu: Thu thập các dữ liệu liên quan và tiền
xử lý chúng sao cho thuật toán KPDL có thể hiểu được Đây là một quá
Trang 16trình rất khó khăn, có thể gặp rất nhiều các vướng mắc như: Dữ liệu phải được sao cho nhiều bản (nếu được chiết xuất vào các tệp), quản lý tập các dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi), …
Thuật toán khai phá dữ liệu: Lựa chọn thuật toán KPDL và thực hiện việc KPDL để tìm được các mẫu có ý nghĩa, các mẫu này được biểu diễn dưới dạng luật kết hợp, cây quyết định, … tương ứng với ý nghĩa của nó
1.3.4 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng trong khai phá
1.3.4.2 Phân cụm dữ liệu
Mục tiêu của phương pháp phân cụm dữ liệu 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ỏ Điểm mạnh của phân cụm dữ liệu là đưa ra được những cấu trúc có ích hoặc những cụm có đối tượng tìm thấy trực tiếp từ
dữ liệu mà không cần bất kì một tri thức cơ sở nào Giống như cách tiếp cận học máy, phân cụm dữ liệu được hiểu như là phương pháp “học không có
Trang 1717
thầy” Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế, có thể coi phân cụm
dữ liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng
ví dụ Trong phương pháp này sẽ không biết kết quả các cụm thu được sẽ như thế nào khi bắt đầu quá trình Vì vậy, cần có một chuyên gia để đánh giá các cụm thu được Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web … Ngoài ra, phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lý cho các thuật toán khai phá dữ liệu khác
1.3.4.3 Phân lớp dữ liệu và hồi quy
Mục tiêu của phương pháp phân lớp là dự đoán nhãn lớp cho các mẫu
dữ liệu Quá trình phân lớp dữ liệu thường gồm 2 bước: Xây dựng mô hình và
sử dụng mô hình:
Bước 1: Một mô hình sẽ được xây dựng dựa trên việc phân tích các
mẫu dữ liệu sẵn có Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là thuộc tính lớp Các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có thầy, khác với phân cụm dữ liệu là học không có thầy
Bước 2: Sử dụng mô hình để phân lớp dữ liệu Trước hết phải tính độ
chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình
sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ, hồi quy dùng để dự đoán về các giá trị liên tục còn phân lớp dữ liệu thì chỉ dùng để dự đoán về các giá trị rời rạc
Trang 181.3.5 Thách thức – khó khăn trong khám phá tri thức và khai phá dữ liệu
KPTT và KPDL liên quan đến nhiều ngành, nhiều lĩnh vực trong thực
tế, vì vậy các thách thức và khó khăn ngày càng nhiều, càng lớn Một số các thách thức và khó khăn cần được quan tâm:
Các cơ sở dữ liệu lớn, các tập dữ liệu cần xử lý có kích thước rất lớn, trong thực tế, kích thước của các tập dữ liệu thường ở mức tera - byte (hàng ngàn giga – byte)
- Mức độ nhiễu cao hoặc dữ liệu bị thiếu
- Số chiều lớn
- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp
- Quan hệ giữa các trường phức tạp
1.3.6 Ứng dụng của khai phá dữ liệu
Marketing: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách hàng giá trị, phân loại và dự đoán hành vi khách hàng, …) sử dụng sản phẩm hay dịch vụ của công ty để giúp công ty có chiến lược kinh doanh hiệu quả hơn
Biology: Phân nhóm động vật và thực vật dựa vào các thuộc tính của chúng
Libraries: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả …
Insurance, Finance: 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 (trend) của khách hàng, phát hiện gian lận tài chính (identifying frauds)
WWW: Phân loại tài liệu (document classification), phân loại người dùng web (clustering weblog), …
Trang 1919
1.3.7 Kết luận
Khai phá dữ liệu đã 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ề CNTT 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 khai phá dữ liệu Trong chương này đã trình bày một cách tổng quan về khám phá tri thức và khai phá dữ liệu
Trang 20CHƯƠNG 2 PHÂN CỤM DỮ LIỆU VÀ CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU
2.1 Khái niệm về phân cụm dữ liệu
Phân cụm dữ liệu là một kỹ thuật phát triển mạnh mẽ trong nhiều năm trở lại đây do các ứng dụng và lợi ích to lớn của nó đối với các lĩnh vực trong thực tế Ở một mức cơ bản nhất, người ta định nghĩa phân cụm dữ liệu như sau:
Phân cụm dữ liệu là một kỹ thuật trong Data Mining 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 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
Một cụm các đối tượng dữ liệu có thể xem như một nhóm trong nhiều ứng dụng, ví dụ: mô hình về phân cụm các trường dựa trên tiêu chuẩn về thu nhập và số nợ Cụm 1 là cụm những người thu nhập cao, số nợ nhiều, cụm 2 gồm những người thu nhập cao nhưng nợ ít Cụm 3 gồm những đối tượng thu nhập ít những nợ nhiều
Hình 3: Mô hình về phân cụm dựa trên tiêu chuẩn thu nhập và số nợ
Trang 2121
Quá 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, 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 hay còn gọi là học không thầy 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 ít về các thông tin
2.2 Các ứng dụng của phân cụm
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 và những đặc tả họ từ các bản ghi mua bán trong CSDL mua hàng
- Sinh học: Phân loại các gen với các chức năng tương đồng và thu được các cấu trúc trong mẫu
Trang 22- Thư viện: Theo dõi độc giả, 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
- WWW: Phân loại tài liệu, phân loại người dùng web
2.3 Các yêu cầu về thuật toán phân cụm dữ liệu
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 phân cụm dữ liệu Do đặc thù của CSDL 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 thỏa 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 CSDL 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 PCDL với các thứ tự 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)
Trang 2323
- 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 đa chiều: Thuật toán
có khả năng áp dụng hiệu quả cho dữ liệu có số chiều khác nhau
- 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 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 2.4 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 phươ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ó 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 2 , … , 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ác đối tượng x, y, z; như vậy sẽ có các kiểu dữ liệu sau:
2.4.1 Kiểu dữ liệu dựa trên kích thước miền
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 nhau (ví dụ, các thuộc tính mầu, nhiệt độ hoặc cường độ âm thanh, …)
Trang 24Thuộ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 …)
2.4.2 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 hóa 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, 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 thứ tự
nhưng chúng không được định lượng Nếu x, 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
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 tương ứng với thuộc tính
thứ i
Thuộc tính nhị phân: Là thuộc tính có hai giá trị 0 và 1
Thuộc tính 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 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,
Trang 2525
quan hệ metric, quan hệ hướng, …) Dữ liệu không gian có thể là 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
2.5 Phép đo độ tương tự, phi tương tự
Khi các đặc tính của dữ liệu được xác định, người ta tìm cách thích hợp
để xác định “khoảng cách” giữa các đối tượng Đâ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 hoặc là để tính độ “tương tự” hoặc tính độ “phi tương tự” 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 Ứng với mỗi kiểu dữ liệu thì có một hàm tính độ đo tương tự để xác định khoảng cách giữa 2 phân tử của cùng một kiểu dữ liệu Tất cả các độ đo đều đượ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 ngược lại thì không đúng Độ đo ở đây
có thể là tương tự hoặc phi tương tự
Một tập dữ liệu X là không gian metric nếu:
Với mỗi cặp x, y thuộc X đều xác định được một số thực d(x, y) theo một quy tắc nào đó và được gọi là khoảng cách của x, y
Quy tắc đó phải thỏa mãn các tính chất sau:
1 d(x, y) > 0 nếu x # y
2 d(x, y) = 0 nếu x = y
3 d(x, y) = d(y, x) với mọi x, y
4 d(x, y) ≤ d(x, z) + d(x, y)
Trang 26Hàm d(x, y) được gọi là một metric của không gian Các phần tử của X được gọi là các điểm của không gian này
Sau đây là một số phép đo tương tự áp dụng đối với các kiểu dữ liệu thuộc tính khác nhau:
Kiểu thuộc tính nhị phân
Thuộc tính nhị phân chỉ có hai giá trị là 0 và 1 Trong đó 0 có nghĩa là sai và 1 có nghĩa là đúng
Nếu ta đặt = +++ Với x, y là đối tượng có tất cả thuộc tính đều
ở dạng nhị phân Trong đó , , , được hiểu như sau:
là tổng số các thuộc tính có giá trị là 1 trong cả hai đối tượng x, y
là tổng số các thuộc tính có giá trị 1 trong x và 0 trong y
là tổng số các thuộc tính có giá trị 0 trong x và 1 trong y
là tổng số các thuộc tính có giá trị là 0 trong cả hai đối tượng x, y
Khi đó độ tương tự được cho như sau:
Trang 27thuộc tính có giá trị 1 lớn hơn rất nhiều các thuộc tính có giá trị 0, tức là các thuộc tính nhị phân ở đây không đối xứng
Kiểu thuộc tính khoảng (Interval)
Sau khi chuẩn hóa, độ đo phi tương tự của x và y được tính bằng các
metric khoảng cách sau:
n
i i i
Nó là trường hợp của khoảng cách Minkowski với q = 1
Kiểu thuộc tính định danh (Nominal)
Độ đo phi tương tự giữa hai đối tượng x và y được xác định qua công thức:
Trang 28 Kiểu thuộc tính thứ tự (Ordinal)
Độ đo phi tương tự được tính thông qua các bước sau:
1 Gọi f là một thuộc tính thứ tự, giá trị của f ứng với đối tượng thứ i là
x if Giả sử f có M f trạng thái có thứ tự: 1, 2, …, M f Ta thay thế mỗi x if bởi giá trị tương ứng r if [1,M f ]
2 Vì mỗi thuộc tính f có thứ tự có số lượng các trạng thái khác nhau nên
ta cần làm cho r if thuộc khoảng [0,1] để mỗi thuộc tính đều có cùng trọng
số Do đó r if được thay thế bởi
if if
1z
1
f
r M
Kiểu thuộc tính tỷ lệ (Ratio)
Có nhiều cách để tính độ tương tự giữa các thuộc tính tỉ lệ Một trong
số đó là việc sử dụng công thức tính logarit để chuyển mỗi thuộc tính tỉ lệ x i
về dạng thuộc tính khoảng i = log(x i )
2.6 Các thuật toán phân cụm dữ liệu
2.6.1 Thuật toán phân cụm dữ liệu dựa vào phân cụm phân cấp
2.6.1.1 Thuật toán BIRCH
Thuật toán phân cụm cho tập dữ liệu lớn, được gọi là BIRCH Ý tưởng của thuật toán là không cần lưu toàn bộ các đối tượng dữ liệu của các cụm trong bộ nhớ mà chỉ lưu các đại lượng thống kê Thuật toán đưa ra hai khái niệm mới để theo dõi các cụm hình thành, phân cụm đặc trưng là tóm tắt thông tin về một cụm đặc trưng (cây CF) là cây cân bằng được sử dụng lưu trữ cụm đặc trưng
Trang 2929
Cây CF chứa các nút trong và nút lá, nút trong là nút chứa các nút con và nút
lá thì không có con Nút trong lưu trữ các tổng đặc trưng cụm (CF) của các nút con của nó Một cây (CF) được đặc trưng bởi hai tham số:
- Yếu tố nhánh: Nhằm xác định tối đa các nút con của một nút lá trong của cây
- Ngưỡng: Khoảng cách tối đa giữa bất kỳ một cặp đối tượng trong nút lá của cây, khoảng cách này còn gọi là đường kính của các cụm con được lưu tại các nút lá
Hai tham số này có ảnh hưởng đến kích thước của cây CF Thuật toán BIRCH
thực hiện gồm hai giai đoạn:
Giai đoạn 1: BIRCH quét tất cả các đối tượng trong CSDL để xây dựng cây
CF khởi tạo, mà được lưu trữ trong bộ nhớ Trong giai đoạn này các đối tượng lần lượt được chèn vào nút lá gần nhất của cây CF (nút lá của cây đóng vai trò là cụm con), sau khi chèn xong thì tất cả các nút trong cây CF được cập nhật thông tin Nếu đường kính của cụm con sau khi chèn là lớn hơn ngưỡng T, thì nút lá được tách Quá trình lặp lại cho đến khi tất cả các đối tượng trong cây chỉ được đọc một lần, để lưu toàn bộ cây CF trong bộ nhớ thì cần phải điều chỉnh kích thước của cây CF thông qua điều chỉnh ngưỡng T
Giai đoạn 2: BIRCH lựa chọn một thuật toán phân cụm (như thuật toán
phân cụm phân hoạch) để thực hiện phân cụm cho các nút lá của cây CF
Hình 4: Cây CF sử dụng trong BIRCH
Trang 30Thuật toán BIRCH thực hiện qua các bước cơ bản như sau:
Bước 1: Các đối tượng dữ liệu lần lượt được chèn vào cây C, sau khi
chèn hết các đối tượng thì thu được cây CF khởi tạo Một đối tượng được chèn vào nút lá gần nhất tạo thành cụm con Nếu đường kính của cụm con này lớn hơn T thì nút lá được tách ra Khi một đối tượng thích hợp được chèn vào nút lá, tất cả các nút trỏ tới gốc của cây được cập nhật với thông tin cần thiết
Bước 2: Nếu cây CF hiện thời không có đủ bộ nhớ trong khi tiến hành
xây dựng một cây CF nhỏ hơn: Kích thước của cây CF được điều khiển bởi tham số F và vì vậy việc chọn một giá trị lớn hơn cho nó sẽ hòa nhập một số cụm con thành một cụm, điều này làm cho cây CF nhỏ hơn Bước này không cần yêu cầu đọc dữ liệu lại từ đầu nhưng vẫn đảm bảo hiệu chỉnh cây dữ liệu nhỏ hơn
Bước 3: Thực hiện phân cụm: Các nút lá cây CF lưu trữ các đại lượng
thống kê của các cụm con Trong bước này, BIRCH sử dụng các đại lượng thống kê này để áp dụng một số kỹ thuật phân cụm, ví dụ K-means và tạo ra một khởi tạo cho phân cụm
Bước 4: Phân phối lại các đối tượng dữ liệu bằng cách dùng các đối
tượng trọng tâm cho các cụm được khám phá từ bước 3: Đây là một bước tùy chọn để duyệt lại tập dữ liệu và gán lại nhãn cho các đối tượng dữ liệu tới các trọng tâm gần nhất Bước này nhằm để gán nhãn cho các dữ liệu khởi tạo và loại bỏ các đối tượng ngoại lai
Ưu điểm: Với cấu trúc cây CF được sử dụng, BIRCH có tốc độ thực hiện
PCDL nhanh và có thể áp dụng đối với tập CSDL lớn, BIRCH cũng có hiệu quả khi áp dụng với tập dữ liệu tăng trưởng theo thời gian BIRCH thực hiện tính toán khá tốt, độ phức tạp tính toán của BIRCH là tuyến tính tỷ lệ với số các đối tượng, do BIRCH chỉ duyệt toàn bộ dữ liệu một lần với một lần quét thêm tùy chọn (thực hiện phân cụm lại các nút lá của cây CF), có thể được đo
Trang 3131
trong thời gian O(n) với n là số đối tượng dữ liệu Thuật toán này kết hợp các cụm gần nhau và xây dựng lại cây CF, tuy nhiên mỗi nút trong cây CF có thể chỉ lưu trữ một số hữu hạn bởi kích thước của nó
Nhược điểm: Thuật toán này có thể không xử lý tốt nếu các cụm không
có hình dạng cầu, bởi nó sử dụng khái niệm bán kính hoặc đường kính để kiểm soát ranh giới các cụm và chất lượng của các cụm được khám phá không được tốt Nếu BIRCH sử dụng khoảng cách Eucle, nó thực hiện tốt chỉ với dữ liệu số, mặt khác tham số vào T có ảnh hưởng rất lớn tới kích thước tự nhiên của cụm Việc ép các đối tượng dữ liệu làm cho các đối tượng của cụm có thể
là đối tượng kết thúc của cụm khác, trong khi các đối tượng gần nhau có thể
bị hút bởi các cụm khác nếu chúng được biểu diễn cho thuật toán theo một thứ tự khác BIRCH không thích hợp với dữ liệu đa chiều
2.6.1.2 Thuật toán CURE
Trong khi hầu hết các thuật toán thực hiện phân cụm với các cụm hình cầu và kích thước tương tự, như vậy là không hiệu quả khi xuất hiện các phẩn
tử ngoại lai Thuật toán này định nghĩa một số cố định các điểm đại diện nằm rải rác trong toàn bộ không gian dữ liệu và được chọn để mô tả các cụm được hình thành Các điểm này được tạo ra bởi trước hết lựa chọn các đối tượng nằm rải rác trong cụm và sau đó “co lại” hoặc di chuyển về trung tâm cụm bằng nhân tố co cụm Quá trình này được lặp lại và như vậy trong quá trình này có thể đo tỷ lệ gia tăng của cụm Như vậy có nhiều hơn một điểm đại diện mỗi cụm cho phép CURE khám phá được các cụm có hình dạng không phải
là hình cầu Việc co lại các cụm có tác dụng làm giảm tác động của các phần
tử ngoại lai Thuật toán này có khả năng xử lý tốt trong trường hợp có các phần tử ngoại lai và làm cho hiệu quả với những hình dạng không phải là hình cầu và kích thước độ rộng biến đổi Hơn nữa, nó tỷ lệ tốt đối với CSDL lớn
mà không làm giảm chất lượng phân cụm
Trang 32Hình 5: Cụm dữ liệu khai phá bởi thuật toán CURE
hoạch, một mẫu được xác định là ngẫu nhiên trước khi phân hoạch, và sau đó được tiến hành phân cụm trên mỗi phân hoạch, như vậy mỗi phân hoạch là từng phần đã được phân cụm, các cụm thu được lại được phân cụm không nhất thiết đưa ra một mô tả tốt cho toàn bộ tập dữ liệu
Bước 1: Chọn một mẫu ngẫu nhiên từ tập dữ liệu ban đầu
Bước 2: Phân hoạch mẫu này thành nhiều nhóm dữ liệu có kích thước bằng
nhau: Ý tưởng ở đây là phân hoạch mẫu thành p nhóm dữ liệu bằng nhau, kích thước của mỗi phân hoạch là n`/p (n` là kích thước mẫu)
Bước 3: Phân cụm các điểm của mỗi nhóm: Thực hiện PCDL cho các nhóm
cho đến khi mỗi nhóm được phân thành n`/pq (với q>1)
Bước 4: Loại bỏ các phần tử ngoại lai: Trước hết khi các cụm được hình
thành cho đến khi số các cụm giảm xuống một phần so với số các cụm ban đầu Sau đó, trong trường hợp các phần tử ngoại lai được lấy mẫu cùng với quá trình pha khởi tạo mẫu dữ liệu, thuật toán sẽ tự động loại bỏ các nhóm nhỏ
Bước 5: Phân cụm các cụm không gian: các đối tượng đại diện cho các cụm
di chuyển về hướng trung tâm cụm, nghĩa là chúng được thay thế bởi các đối tượng gần trung tâm hơn
Trang 3333
Bước 6: Đánh dấu dữ liệu với các nhãn tương ứng
Độ phức tạp tính toán của thuật toán CURE là O(n2log(n)) CURE là thuật toán tin cậy trong việc khám phá ra các cụm với hình thù bất kỳ và có thể áp dụng tốt đối với dữ liệu có phần tử ngoại lai và trên các tập dữ liệu hai chiều Tuy nhiên, nó lại rất nhạy cảm với các tham số như số các đối tượng đại diện, tỷ lệ co của các phần tử đại diện
2.6.2 Thuật toán phân cụm dữ liệu mờ
Phân cụm dữ liệu mờ (FCM) là phương pháp phân cụm dữ liệu 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 quái 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ũ m để xây dựng thuật toán phân cụm mờ Fuzzy C-means (FCM), và được chứng minh độ hội tụ của các thuật toán là cực tiểu cục bộ
Thuật toán FCM đã được áp dụng thành công trong giải quyết một số bài toán lớn của bài toán PCDL như trong nhận dạng mẫu, xử lý ảnh, y học,… Tuy nhiên, nhược điểm lớn nhất của FCM là nhạy cảm với 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 của cụm Đã có nhiều 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 (Kallet, 1993), phân cụm nhiễu mờ (Dave, 1991), phân cụm dựa trên toán tử Lp, Norm (Kerten, 1999) và thuật toán Insensitive Fuzzy C-means(FCM)
Trang 342.6.2.1 Thuật toán FCM
Thuật toán gồm một chuỗi các phép lặp qua lại giữa các phương trình,
sử dụng phép lặp để tối ưu hóa hàm mục tiêu, dựa trên đo đạc độ tương tự có trọng số giữa xk và cụm trung tâm Vì sau mỗi vòng lặp thuật toán tính toán
và cập nhật phần tử ujk trong ma trận phân hoạch U Phép lặp sẽ dừng khi
max ij {|| - || ≤ }, trong đó là chuẩn kết thúc giữa 0 và 1, trong khi k
là các bước lặp Thủ tục này hội tụ tới cực tiểu cục bộ hay điểm yên ngựa của
J m (u, V) Thuật toán FCM tính toán ma trận phân hoạch U và kích thước của
các cụm để thu được các mô hình mờ từ ma trận này
Các bước thực hiện của thuật toán FCM:
Input: Số cụm c và tham số mũ m cho hàm mục tiêu J;
Output: c cụm dữ liệu sao cho hàm mục tiêu đạt giá trị cực tiểu