PHÂN CỤM DỮ LIỆU TRONG DATAMING
Trang 1MỤC LỤC
Chương 1: PHÂN CỤM DỮ LIỆU
1 Khai phá dữ liệu và phân cụm dữ liệu
1.1 Khai phá dữ liệu
1.1.1 Giới thiệu chung
1.1.2 Khai phá dữ liệu là gì
1.2 Quá trình khai phá tri thức trong cơ sơ dữ liệu
1.3 Các dạng dữ liệu có thể khai phá được
1.3.1 Phân cụm dữ liệu
1.3.2 Các đặc trưng cơ bản để phân cụm
2 Các phương pháp phân cụm dữ liệu
2.1 Phương pháp dựa trên phân hoạch
2.1.1 Phương pháp gom cụm k-means
2.1.2 Thuật toán PAM
2.1.3 Thuật toán CLARA
2.1.4 Thuật toán CLARANS
2.1.5 Nhận xét chung về các thuật toán phân hoạch
2.2 Phương pháp dựa trên phân cấp
2.2.1 Thuật toán BIRCH
2.2.2 Thuật toán CURE
2.3 Phương pháp dựa trên mật độ
2.3.1 Thuật toán DBSCAN
2.3.2 Thuật toán OPTICS
3 Một số thuật toán phân cụm dữ liệu đặc thù
3.1 Thuật toán STING
3.2 Thuật toán CRIQUE
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Trang 23.3 Thuật toán EM
4 Phân cụm dữ liệu nhờ mạng nơ-ron
Chương 2: MẠNG NƠ-RON NHÂN TẠO
1 Mang nơ-ron sinh học
2.5.3 Mạng nơ-ron trong dự báo
2.5.4 Mạng nơ-ron và tối ưu
2.6 Tiến trình học
Chương 3: SOM VÀ THUẬT TOÁN HUẤN LUYỆN MẠNG NÀY
Trang 3Lời mở đầu
Ngày nay, cùng với sự phát triển mạnh mẽ của công nghệ phần cứng và truyềnthông, các hệ thống dữ liệu phục vụ cho các lĩnh vực kinh tế - xã hội cũng khôngngừng tăng lên, lượng dữ liệu được tạo ra ngày càng lớn Sự phong phú về dữ liệu,thông tin cùng với khả năng kịp thời khai thác chúng đã mang đến những năng suất vàchất lượng mới cho công tác quản lý, hoạt động kinh doanh,…Nhưng rồi các yêu cầu
về thông tin trong các lĩnh vực hoạt động đó, đặc biệt trong lĩnh vực ra làm quyếtđịnh, ngày càng đòi hỏi cao hơn, người quyết định không những cần dữ liệu mà còncần có thêm nhiều hiểu biết, nhiều tri thức để hỗ trợ cho việc ra quyết định của mình.Cho đến những năm 90 của thế kỷ trước, nhu cầu khám phá tri thức mới thực sự bùng
nổ, theo đó, hàng loạt các lĩnh vực nghiên cứu về tổ chức các kho dữ liệu và khothông tin, các hệ trợ giúp quyết định, các thuật toán nhận dạng mẫu và phân lớp mẫu,
…và đặc biệt là khai phá dữ liệu (Data Mining) ra đời
Từ khi ra đời, khai phá dữ liệu đã trở thành một trong những hướng nghiên cứuphổ biến trong lĩnh vực khoa học máy tính và công nghệ tri thức Nhiều kết quảnghiên cứu, ứng dụng của khai phá dữ liệu trong các lĩnh vực khoa học, kinh tế, xãhội Khai phá dữ liệu bao hàm nhiều hướng nghiên cứu quan trọng, một trong số đó làphân cụm dữ liệu (Data Clustering) Phân cụm dữ liệu là quá trình tìm kiếm và pháthiện ra các cụm hoặc các mẫu dữ liệu tự nhiên trong cơ sở dữ liệu lớn Các kỹ thuậtchính được áp dụng trong phân cụm dữ liệu phần lớn được kế thừa từ lĩnh vực thốngliệu cho việc giải quyết các vấn đề trong các lĩnh vực như tài chính, thông tin địa lý,sinh học, nhận dạng ảnh,… Trong thời gian gần đây, trong lĩnh vực phân cụm dữ liệu,người ta tập trung chủ yếu vào nghiên cứu, phân tích các mô hình dữ liệu phức tạpnhư dữ liệu văn bản, Web, hình ảnh,…và đặc biệt là mô hình dữ liệu hỗn hợp để ápdụng chúng trong phân cụm dữ liệu
Chương 1: PHÂN CỤM DỮ LIỆU
1 Khai phá dữ liệu và phân cụm dữ liệu
1.1 Khai phá dữ liệu
1.1.1 Giới thiệu chung
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Trang 4Những năm 60 của thế kỉ trước, người ta bắt đầu sử dụng các công cụ tin học
để tổ chức và khai thác các cơ sở dữ liệu Cùng với sự phát triển vượt bậc của cáccông nghệ điện tử và truyền thông, khả năng thu thập, lưu trữ và xử lí dữ liệu cho các
hệ thống tin học không ngừng được nâng cao, theo đó lượng thông tin được lưu trữtrên các thiết bị nhớ không ngừng được tăng lên Thống kê sơ bộ cho thấy, lượngthông tin trên các hệ thống tin học cứ sau 20 tháng lại tăng lên gấp đôi Cuối thập kỉ
80 của thế kỉ XX, sự phát triển rộng khắp của các cơ sở dữ liệu ở mọi quy mô đã tạo
sự bùng nổ thông tin trên toàn cầu Vào thời gian này, người ta bắt đầu đề cập đếnkhái niệm phân tích dữ liệu tác nghiệp để cung cấp thông tin với yêu cầu chất lượngngày càng cao cho người làm quyết định trong các tổ chức tài chính, thương mại,khoa học,…
Đúng như John Naisbett đã cảnh báo “Chúng ta chìm ngập trong dữ liệu mà vẫn đói tri thức” Lượng dữ liệu khổng lồ này thực sự là nguồn tài nguyên có nhiều
giá trị bởi thông tin là yếu tố then chốt trong mọi hoạt đọng quản lý, kinh doanh, pháttriển sản xuất và dịch vụ,…nó giúp những người điều hành và quản ly có nhiều hiểubiết về môi trường và tiến trình hoạt động của tổ chức mình trước khi ra quyết định đểtác động đến quá trình hoạt động nhằm đạt được cá mục tiêu một cách hiệu quả vàbền vững
Khai phá dữ liệu (Data mining), là một lĩnh vực mới xuất hiện, nhằm tự độngkhai thác những thông tin, những tri thức có tính tiềm ẩn, hữu ích từ những cơ sơ dữliệu lớn cho các đơn vị, tổ chức, doanh nghiệp,…từ đó làm thức đẩy khả năng sảnxuất, kinh doanh, cạnh tranh cho các đơn vị, tổ chức này Các kết quả khoa học cùngnhững ứng dụng thành công trong khám phá tri thức, cho thấy khai phá dữ liệu là mộtlĩnh vực phát triển bền vững, mang lại nhiều lợi ích và có nhiều triển vọng, động thời
có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống Hiện nay, khaiphá dữ liệu đã ứng dụng ngày càng rộng rãi trong các lĩnh vực như: thương mại, tàichính, điều trị y học, viễn thông, tin- sinh,…
1.1.2 Khai phá dữ liệu là gì?
Khai phá dữ liệu là một hướng nghiên cứu mới ra đời hơn một thập niên trở lạiđây, các kĩ thuật chính được áp dụng trong lĩnh vực này phần lớn được thừa kế từlĩnh vực cơ sơ dữ liệu, máy học, trí tuệ nhân tạo, lý thuyết thông tin, xác suất thống
kê, và tính toán hiệu năng cao Do sự phát triển nhanh của khai phá dữ liệu về phạm
vi ứng dụng và các phương pháp tìm kiếm tri thức, nên đã có nhiều quan điểm khácnhau về khai phá dữ liệu Tuy nhiên ở mức độ trừu tượng nhất định chúng ta địnhnghĩa khai phá dữ liệu như sau:
Định nghĩa: Khai phá dữ liệu là một quá trình tìm kiếm, phát hiện các tri thức mới, tiềm ẩn, hữu dụng trong cơ sơ dữ liệu lớn.
Khai phá tri thức trong cơ sơ dữ liệu (Knowledge Discovery in Database KDD) là mục tiêu chính của khai phá dữ liệu, do vậy hai khái niệm khai phá dữ liệu
Trang 5và KDD được các nhà khoa học trên hai lĩnh vực xem là tương đương nhau Thếnhưng nếu phân chia một cách chi tiết thì khai phá dữ liệu là một bước chính trongquá trình KDD
1.2 Quá trình khai phá tri thức trong cơ sơ dữ liệu
Khai phá tri thức trong cơ sơ dữ liệu, KDD, là lĩnh vực liên quan đến cácngành như: thống kê, học máy, cơ sơ dữ liệu, thuật toán, trực quan hóa dữ liệu, tínhtoán song song và hiệu năng cao,
Quá trình KDD có thể phân chia thành các giai đoạn sau:
Trích chọn dữ liệu: là bước trích chọn những tập dữ liệu cần được khai phá từ cáctập dữ liệu lớn (database, data warehouse, data repositories) ban đầu theo một sốtiêu chí nhất định
Tiền xử lí dữ liệu: là bước làm sạch dữ liệu (xử lí dữ liệu không đầy đủ, dữ liệunhiễu, dữ liệu không nhất quán, …) rút gọn dữ liệu, sử dụng hàm nhóm và tínhtổng, các phương pháp nén dữ liệu, sử dụng histograms, lấy mẫu,…, rời rạc hóa dữliệu (rời rạc hóa vào histograms, dựa vào entropy, dựa vào phân khoảng,…) Saubước này dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hóa
Biến đổi dữ liệu: đây là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về dạngthuận lợi nhất nhằm phục vụ cho các kĩ thuật khai phá ở bước sau
Khai phá dữ liệu: đây là bước áp dụng các kĩ thuật phân tích (phần nhiều là các kĩthuật của học máy) nhằm để khai thác dữ liệu, trích chọn những mẫu thông tin,những mối liên hệ đặc biệt trong dữ liệu Đây được xem là bước quan trọng và tốnnhiều thời gian nhất của toàn quá trình khai phá tri thức
Đánh giá và biểu diễn tri thức: những mẫu thông tin và mối liên hệ trong dữ liệu
đã được khai phá ở bước trên được chuyển dạng và biểu diễn ở một dạng gần gũivới người sử dụng như đồ thị, cây, bảng biểu, luật,…Đồng thời bước này cũngđánh giá những tri thức khai phá được theo những tiêu chí nhất định
Các giai đoạn trong KDD được thể hiện trực quan trong hình 1.1 dưới đây:
Hình 1-1 Các bước thực hiện trong quá trình khai phá tri thức
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Dữ liệu thô
trích chọn dữ liệu
Dữ liệu Tiền xử lý dữ
liệu
Dữ liệu Tiền xử lý
Biến đổi dữ liệu
Khai phá dữ liệu
Các mẫu
Đánh giá và giải thích
Biểu diễn tri thức Tri thức
Trang 61.2 Các kĩ thuật áp dụng trong khai phá dữ liệu.
Khai phá tri thức trong cơ sơ dữ liệu là một lĩnh vực liên ngành, bao gồm: tổchức dữ liệu, học máy, trí tuệ nhân tạo và các khoa học khác
Nếu theo quan điểm của học máy (Machine Learning), thì các kĩ thuật trongkhai phá dữ liệu bao gồm:
Học có giám sát (Surpervised learning): là một quá trình gán nhãn cho cácphần tử trong cơ sơ dữ liệu dựa trên một tập các ví dụ huấn luyện và các thông tin cónhãn lớp đã biết
Học không có giám sát (Unsupervised learning): là quá trình phân chia mộttập dữ liệu thành các lớp hay các cụm (clustering) dữ liệu tương tự nhau mà chưađược biết trước các thông tin về lớp hay tập các ví dụ huấn luyện
Học nửa giám sát (semi-Surpervised learning): là quá trình phân chia mộttập dữ liệu thành các lớp dựa trên một tập nhỏ các mẫu ví dụ huấn luyện và một sốcác thông tin về một số nhãn đã biết trước
Nếu căn cứ vào lớp các bài toán cần giải quyết, thì khai phá dữ liệu bao gồm các
kĩ thuật áp dụng sau:
Phân lớp và dự đoán (classification and prediction): xếp một đối tượng vàomột trong những lớp đã biết trước Ví dụ, phân lớp các dữ liệu bệnh nhân trong hồ sơbệnh án Hướng tiếp cận này sử dụng một số kĩ thuật của học máy như cây quyết đinh(decision tree), mạng nơ-ron nhân tạo,… Phân lớp và dự báo còn được gọi là học cógiám sát
Luật kết hợp (asssociation rules): là dạng luật biểu diễn tri thức ở dạng kháđơn giản Ví dụ, “60% nữ giới vào siêu thị mua phấn thì có 80% trong số họ sẽ muathêm son” Luật kết hợp được ứng dụng nhiều trong kinh doanh, y học, tin sinh, tàichính và thị trường chứng khoán,…
Phân tích chuỗi theo thời gian (sequential temporal patterns): tương tự nhưkhai phá luật kết hợp nhưng có thêm tính tương tự và tính thời gian Hướng tiếp cậnnày được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó cótính dự báo cao
Phân cụm (Clustering/ segmentation): xếp các đối tượng theo từng cụm dữliệu tự nhiên Phân cụm còn được gọi là học không có giám sát
Mô tả khái niệm (concept desription and summarization): thiên về mô tảtổng hợp và tóm tắt khái niệm Ví dụ, tóm tắt văn bản
1.3 Các dạng dữ liệu có thể khai phá được
Do khai phá dữ liệu được ứng dụng rộng rãi nên nó có thể làm việc với rấtnhiều kiểu dữ liệu khác nhau Một số dạng dữ liệu điển hình: cơ sơ dữ liệu quan hệ,
cơ sơ dữ liệu đa chiều (multidimensional structures, data warehouse), cơ sơ dữ liệudạng giao dịch, cơ sơ dữ liệu đa phương tiện, dữ liệu text và web,…
1.3.1 Phân cụm dữ liệu
a Mục đích của phân cụm dữ liệu
Phân loại là một trong những hành vi nguyên thủy nhất của con người nhằmnắm giữ lượng thông tin khổng lồ họ nhận được hằng ngày Vì sự xử lý mọi thông tinnhư một thực thể đơn lẻ là không thể Phân cụm dữ liệu nhằm mục đích chính là khai
Trang 7phá cấu trúc của mẫu dữ liệu để thành lập các nhóm dữ liệu từ tập dữ liệu lớn, theo đócho phép người ta đi xâu vào phân tích và nghiên cứu cho từng cụm dữ liệu này nhằmkhai phá và tìm kiếm các thông tin tiềm ẩn, hữu ích phục vụ cho ra quyết định
Trong thời đại bùng nổ của công nghệ thông tin hiện nay, mạng máy tính đóngvai trò ngày càng quan trọng hơn trong hoạt động của tổ chức, doanh nghiệp cũng nhưcác cơ quan nhà nước Thậm chí ở một số đơn vị chẳng hạn như công ty hàng khônghoặc các ngân hàng lớn, mạng máy tính có thể ví như hệ thần kinh điều khiển các hoạtđộng của toàn doanh nghiệp Sự ngừng hoạt động của mạng máy tính trong những cơquan này cps thể làm tê liệt các hoạt động chính của đơn vị, và thiệt hại khó có thểlường trước được
Chúng ta đều biết máy chủ là trái tim của mạng máy tính, nếu máy chủ mạnghỏng, các hoạt động của hệ thống sẽ bị ngưng trệ Điều đáng tiếc là dù các hãng sảnxuất đã cố gắng làm mọi cách để nâng cao chất lượng của các thiết bị, nhưng nhữnghỏng hóc đối với các thiết bị mạng nói chung là các maý chủ nói riêng là điều khôngthể tránh khỏi Do vậy vấn đề đặt ra là cần có một giải pháp đảm bảo cho hệ thốngvẫn hoạt động tốt ngay cả khi có sự cố xảy ra đối với máy chủ mạng, và công nghệclustering (bó) là câu trả lời cho vấn đề này
Một vài ví dụ về ý nghĩa thực tiễn của phân cụm như sau:
- Khám phá ra các vị trí địa lý thuận lợi cho việc xây dựng các kho hàng phục
vụ mua hàng của một công ty thương mại
- Xác định các cụm ảnh như ảnh của các loại động vật như chim, thú,…trongtập cơ sơ dữ liệu ảnh về động vật nhằm phục vụ cho việc tìm kiếm ảnh
- Xác định các nhóm người bệnh nhằm cung cấp thông tin cho việc phân phốicác thuốc điều trị trong y tế
- Xác định các nhóm khách hàng trong cơ sơ dữ liệu ngân hàng có vốn các đầu
tư vào bất động sản cao…
Như vậy phân cụm dữ liệu là một phương pháp xử lí thông tin quan trọng vàphổ biến, nó nhằm khám phá mối liên hệ giữa các mẫu dữ liệu bằng cách tổ chứcchúng thành các cụm tương tự Thuật ngữ phân cụm được hiểu là phân cụm dữ liệu
Clustering là một kiến trúc nhằm đảm bảo nâng cao khả năng sẵn sàng cho các
hệ thống mạng máy tình Clustering cho phép sử dụng nhiều máy chủ kết hợp vớinhau tạo thành một cụm (cluster) có khả năng chịu đựng hay chấp nhận sai sót (fault-tolerant) nhằm nâng cao tính sẵn sàng của hệ thống mạng Cluster là một hệ thống baogồm nhiều máy chủ được nối với nhau theo dạng song song hay phân tán và được sửdụng như một tài nguyên thống nhất Nếu một máy chủ ngừng hoạt động do bị sự cốhoặc để nâng cấp, hoặc bảo trì thì toàn bộ công việc mà máy chủ này đảm nhiệm sẽđược tự động chuyển sang cho máy chủ khác (trong cùng một cụm) mà không làmcho hoạt động của hệ thống bị ngắt hay gián đoạn Quá trình này gọi là “fail- over” vàviệc phục hồi tài nguyên của một máy chủ trong hệ thống (cluster) được gọi là “fail-back”
Việc thiết kế và lắp đặt các cluster cần thỏa mãn các yêu cầu sau:
Yêu cầu tính sẵn sàng cao (availability) Các tài nguyên mạng phải luôn sẵnsàng trong khả năng cao nhất để cung cấp và phục các người dùng cuối và giảm thiếu
sự ngưng hoạt động hệ thống ngoài ý muốn
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Trang 8 Yêu cầu về độ tin cậy cao (reliability): độ tin cậy cao của cluster được hiểu
là khả năng giảm thiểu tần số xảy ra các sự cố, và nâng cao khả năng chịu đựng sai sótcủa hệ thống
Yêu cầu về khả năng mở rộng được (scalability) Hệ thống phải có khảnăng dễ dàng cho việc nâng cấp, mở rộng trong tương lai Việc nâng cấp mở rộng baohàm cả việc thêm các thiết bị, máy tính vào hệ thống để nâng cao chất lượng dịch vụ,cũng như việc thêm số lượng người dùng, thêm ứng dụng, dịch vụ và thêm các tàinguyên mạng khác
Ba yêu cầu trên được gọi tắt là RAS (Reliability- Availability- Scalability),những hệ thống đáp ứng được ba yêu cầu trên được gọi là hệ thống RAS (cần phânbiệt với Remote Access Service là dịch vụ truy cập từ xa)
Cũng cần chú ý rằng hiệu quả hoạt động của hệ thông Clustering phụ thuộcvào sự tương thích giữa các ứng dụng và dịch vụ, giữa phần cứng và phần mềm.Ngoài ra kĩ thuật Clustering không thể chống lại các sự cố do virus, sai sót của phầnmềm hay các sai sót của người sử dụng Để chống lại các sự cố này cần xây dựng một
cơ sơ dữ liệu được bảo vệ chắc chắn cũng như có các kế hoạch khôi phục, back up dữliệu
1.3.2 Các đặc trưng cơ bản để phân cụm
Chọn lựa đặc trưng: các đặc trưng phải được lựa chọn một cách hợp
lí để có thể “mã hóa ” nhiều nhất thông tin liên quan đến công việc quan tâm Mụctiêu chính là giảm thiểu sự dư thừa thông tin giữa các đặc trưng Các đặc trưng cầnđược xử lí trước khi dùng trong các bước sau
Chọn độ đo gần gũi: đây là một độ đo chỉ ra mức độ tương tự haykhông tương tự giữa hai vector đặc trưng Phải đảm bảo rằng tất cả các vector đặctrưng góp phần như nhau trong việc tính toán độ đo gần gũi và không có đặc trưngnào át đặc trưng nào Điều này được đảm nhận bởi quá trình tiền xử lí
Tiêu chuẩn phân cụm: Điều này phụ thuộc vào sự giải thích củachuyên gia cho thuật ngữ “dễ nhận thấy” dựa vào loại của các cụm được chuyên giacho rằng đang ẩn dấu dưới tập dữ liệu
Thuật toán phân loại: cần lựa chọn một sơ đồ thuật toán riêng biệtnhằm làm sáng tỏ cấu trúc của tập dữ liệu
Công nhận kết quả: khi đã có kết quả phân loại thì ta phải kiểm tratính đúng đắn của nó Điều này thường được thực hiện bởi việc dùng các kiểm địnhphù hợp
Giải thích kết quả: trong nhiều trường hợp, chuyên gia trong lĩnhvực ứng dụng phải kết hợp kết quả phân loại với bằng chứng thực nghiệm và phântích để đưa ra các kết luận đúng đắn Trong một số trường hợp nên có cả bước khuynhhướng phân cụm; trong bước này có các kiểm định khác nhau để chỉ ra một tập dữliệu có hay không một cấu trúc phân cụm Ví dụ như một tập dữ liệu của ta có thểhoàn toàn ngẫu nhiên vì vậy mọi cố gắng phâm cụm đều vô nghĩa
Các lựa chọn khac nhau của các đặc trưng, độ đo gần gũi, tiêu chuẩn phân cụm
có thể dẫn tới các kết qủa khác phân cụm khác nhau Do đó, việc lựa chọn một cáchhợp lí nhất hoàn toàn dựa vào kiến thức và kinh nghiệm của các chuyên gia Vì vậytính chủ quan (của chuyên gia) là một thực tế mà ta phải chấp nhận
Final Clusters
Knowledge
Lựa chọn đặc
trưng
Lựa chọn thuật toán phân cụm
Công nhận kết quả
Giải thích kết quả
Trang 9Hình 1-2 Các bước trong quá trình phân cụm
2 Các phương pháp phân cụm dữ liệu
2.1Các phương pháp dựa trên phân hoạch
Phương pháp phân hoạch: tạo một phân hoạch của cơ sơ dữ liệu D chứa n đốitượng thành tập gồm k cụm sao cho:
Mỗi cụm chứa ít nhất là một đối tượng
Mỗi đối tượng thuộc về đúng một cụm
Cho k, tìm một phân hoạch có k cụm nhằm tối ưu tiêu chuẩn phân cụm đượcchọn
Tiêu chuẩn suy đoán chất lượng phân hoạch
Tối ưu toàn cụn: liệt kê theo hướng vét cạn tất cả các phân hoạch
2.1.1 Phương pháp gom cụn k- means
Trọng tâm của một cụm là một véc tơ, trong đó giá trị của mỗi phần tử của nó
là trung bình cộng của các thành phần tương ứng của các đối tượng vectơ dữ liệutrong cụm đang xét Tham số đầu vào của thuật toán là số cụm k, và tham số đầu racủa thuật toán là các trọng tâm của các cụm dữ liệu Độ đo khoảng cách D giữa cácđối tượng dữ liệu thường được sử dụng dụng là khoảng cách Euclide, bởi vì đây là mô
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Trang 10hình khoảng cách dễ để lấy đạo hàm và xác định các cực trị tối thiểu Hàm tiêu chuẩn
và độ đo khoảng cách có thể được xác định cụ thể hơn tuỳ vào ứng dụng hoặc cácquan điểm của người dùng Thuật toán k-means bao gồm các bước cơ bản:
Đầu vào của thuật tóan: số k cụm k và cơ sơ dữ liệu
Thuật toán gồm 4 bước:
1 Phân hoạch đối tượng thành k tập con/ cụm khác rỗng
2 Tính các điểm hạt giống làm centroid (trung bình của các đối tượng củacụm) cho từng cụm trong cụm hiện hành
3 Gán từng đối tượng vào cụm có centroid gần nhất
4 Quay về bước 2 chấm dứt khi không còn phép gán mới
BEGIN
1 Write (“Nhập số đối tượng dữ liệu”);readln(n);
2 Nhập n đối tượng dữ liệu;
D2(xi, mj): là khoảng cách Euclide từ đối tượng thứ i tới trọng tâm thứ j:
OldMSE, m’j, n’
j: là các biến tạm lưu giá trị cho các trạng thái trung gian cho các biến tương ứng: giá trị hàm tiêu chuẩn, giá trị của vectơ tổng của các đối tượng trong cụm thứ j, số các đối tượng của cụm thứ j;
Thuật toán k-means tuần tự trên được chứng minh là hội tụ và có độ phức tạptính toán là : O(( 3 nkd ) T flop) Trong đó: n là đối tượng dữ liệu, k là số cụm dữ liệu,
Trang 11d là số chiều, là số vòng lặp, T flop
là thời gian để thực hiện một phép tính cơ sởnhư phép nhân, chia,…Như vậy, do k-means phân tích cụm đơn giản nên có thể ápdụng đối với tập dữ liệu lớn Tuy nhiên nhược điểm của k-means là chỉ áp dụng với
dữ liệu có thuộc tính số và khám phá ra các cụm có hình dạng cầu, k-means còn rấtnhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu Hình dưới diễn tả môphỏng về một số hình dạng cụm dữ liệu khám phá được bởi k-means:
Thí dụ về một số hình dạng dữ liệu được khám phá ra bởi k-means
Hơn nữa, chất lượng phân cụm dữ liệ của thuật toán k-means phụ thuộc nhiềuvào các tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu Trong trườnghợp, các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiênthì kết quả phân cụm k-means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rấtlệch so với các cụm trong thực tế Trên thực tê người ta chưa có một giải pháp tối ưunào đẻ chọn các tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệmvới các giá trị đầu vào k khác nhau rồi sau đo chinh giải pháp tốt nhất
Đến nay, đã có rất nhiều thuật toán kế thừa tư tưởng của thuật toán k-means ápdụng trong datamining để giải quyết với tập dữ liệu có kích thước tất lớn được ápdụng hiệu quả và phổ biến như thuật toán k-modes, PAM, CLARA, CLARANS, k-prototypes,…
Thuật toán khác cũng gồm 4 bước:
1 Chọn bất kì k đối tượng làm các tâm ban đầu (centroids)
2 Gán hoặc gán lại từng đối tượng vào cụm với khoảng cách gần nhất
3 Cập nhật centroids
4 Quay về bước 2, dừng khi không còn phép gán mới
b) Ví dụ phương pháp gom cụm k- means
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
0 1 2 3 4 5 6 7 8 9 10
Trang 12c) Điểm mạnh của phương pháp gom cụm k - means
Khả năng mở rộng (scalable) tương đối: trong khi xử lí các tập dữ liệulớn
Hiệu suất tương đối: O(tkn), với n là số đối tượng, k là số cụm, t là sốlần lặp Thông thường k, t < < n
Thường kết thúc ở điểm tối ưu cục bộ; có thể tìm được tối ưu toàn cục dùngcác kĩ thuật như thuật toán di truyền
d) Điểm yếu của phương pháp gom cụm k – means
Có thể áp dụng khi biết được trị trung bình của các đối tượng
Cần chỉ định trức k, số các cụm
Không thể xử lí được dữ liệu chuỗi và outlier
Không phù hợp để khám phá các cụm với dạng không lồi hay cụm cókích thước khác nhau
e) Các biến đổi của phương pháp gom cụm k means
Vài biến thể của phương pháp k- means khác nhau ở:
- Chọn k centroids ban đầu
- Tính toán sự bất tương tự
- Các chiến lược tính centroids cụm
Xử lí dữ liệu phân nhóm: k- modes (cách thức)
- Thay trị trung bình của cluster bằng modes
- Dùng các độ đo bất tương tự mới cho các đối tượng phân nhóm
- Dùng các phương pháp dựa trên tần số để cập nhật modes của đốitượng
Một sự kết hợp giữa dữ liệu phân lớp và dữ liệu số: phương pháp k- prototype
f) Phương pháp gom cụm k-medoids
Đầu vào của thuật toán: số cụm k và cơ sơ dữ liệu có n đối tượng
Thuật toán gồm 4 bước:
1 Chọn bất kì k đối tượng nào làm medoids ban đầu (các đối tượng đạidiện)
2 Gán từng đối tượng còn lại vào cụm có medoid gần nhất
3 Chọn nonmedoid và thay một trong các medoids bằng nó nếu nó cảithiện chât lượng cụm
4 Quay về bước 2, dừng khi không còn phép gán mới
2.1.2 Thuật toán PAM
0 1 2 3 4 5 6 7 8 9 10
Trang 13PAM (Partitioning Around Medois) là thuật toán mở rộng của thuật toán means, nhằm có khả năng xử lý hiệu quả đối với dữ liệu nhiễu hoặc các phần tửngoại lai, đây là thuật toán phân cụm dữ liệu được đề xuất bởi Kaufman vàRousseeuw Thay vì sử dụng các trọng tâm như k-means, PAM sử dụng các đối tượngmedoid để biểu diễn cho các cụm dữ liệu, một đối tượng medoid là đối tượng đặt tại
k-vị trí trung tâm nhất bên trong của mỗi cụm Vì vậy, các đối tượng medoid ít bị ảnhhưởng bởi các đối tượng ở rất xa trung tâm, trong khi đó các trọng tâm của thuật toánk-means lại rất bị tác động bởi những điểm ở xa trung tâm này Ban đầu, PAM khởitạo k đối tượng medoid và phân phối các đối tượng còn lại vào các cụm với các đốitượng medoid đại diện tương ứng sao cho chúng tương tự với đối tượng medoid trongcụm nhất
Thí dụ : Nếu Oj là đối tượng không phải là medoid và Om là một đối tượng
medoid, khi đó ta nói Oj thuộc về cụm có đối tượng medoid là Om làm đại diện nếu :d(Oj, Om) = minOed ( Oj, Oe) Trong đó : d ( Oj, Oe) là độ phi tương tự giữa
Oj và Oe , minOe là giá trị nhỏ nhất của độ phi tương tự giữa Oj và tất cả các đối
tượng medoid của các cụm dữ liệu Chất lượng của mỗi cụm được khám phá được
đánh giá thông qua độ phi tương tự trung bình giữa một đối tượng và đối tượng
medoid tương ứng với cụm của nó, nghĩa là chất lượng phân cụm được đánh giá
thông qua chất lượng của tất cả các đối tượng medoid Độ phi tương tự ở đây thông
thường được xác định bằng độ đo khoảng cách, thuật toán PAM ở đây được áp dụngcho dữ liệu không gian
Để xác định các medoid, PAM bắt đầu bằng cách lựa chọn k đối tượng medoid
bất kỳ Sau mỗi bước thực hiện, PAM cố gằng hoán chuyển giữa đối tượng medoid
Om và một đối tượng Op không phải là medoid, miễn là sự hoán chuyển này nhằm cải
tiến chất lượng của phân cụm, quá trình này kết thúc khi chất lượng phân cụm khôngthay đổi Chất lượng phân cụm được đánh giá thông qua hàm tiêu chuẩn, chất lượngphân cụm tốt nhất khi hàm tiêu chuẩn đạt giá trị tối thiểu
Chúng ta xét ví dụ đơn giản sau : Cho hai đối tượng medoid A và B Đối với tất cả
các đối tượng Y thuộc cụm với đối tượng medoid đại diện A, chúng ta tìm medoid
của cụm gần nhất để thay thể Có hai trường hợp có thể xẩy ra, hoặc Y được chuyểntới cụm dữ liệu có đại diện là B hoặc được chuyển tới cụm dữ liệu có đại diện là M.Tiếp đến, chúng ta xét lần lượt cho tất cả các đối tượng trong cụm có đại diện là A.Tương tự như vậy, đối với tất các các đối tượng trong cụm có đối tượng đại diện là B,chúng ta có thể di chuyển chúng tới cụm có đại diện là M hoặc là chúng ở lại B Thí
dụ này có thể biểu diễn như hình dưới đây :
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Trang 14Thí dụ về khả năng thay thế của các đối tượng trung tâm medoid
Sau đây là một số khái niệm biến được sử dụng cho thuật toán PAM :
Om : Là đối tượng medoid hiện thời cần được thay thế
Op : là đối tượng medoid mới thay thế cho Om;
Oj : Là đối tượng dữ liệu (không phải là medoid) có thể được di chuyển
sang cụm khác
Oj,2 : Là đối tượng medoid hiện thời gần đối tượng Oj nhất mà không phải
là các đối tượng A và M như trong ví dụ trên
Bốn trường hợp như mô tả trong thí dụ trên, PAM tính giá trị Cjmp cho tất cả cácđối tượng Oj Cjmp ở đây nhằm để làm căn cứ cho việc hoán chuyển giữa Om và Op.Các cách tính Trong mỗi trường hợp Cjmp được tính với 4 cách khác nhau nhưsau :
Trường hợp 1: Giả sử Oj hiện thời thuộc về cụm có đại diện là Om và Ojtương tự với Oj, 2 hơn Op (d(Oj, Op) d(Oj, Oj,2)) Trong khi đó, Oj,2 là đối tượng
medoid tương tự xếp thứ 2 tới Oj trong số các medoid Trong trường hợp này,
chúng ta thay thế Om bởi đối tượng medoid mới Op và Oj sẽ thuộc về cụm cóđối tượng đại diện là Oj,2 Vì vậy, giá trị hoán chuyển Cjmp được xác định nhưsau :
Cjmp = d(Oj, Oj,2) – d(Oj, Om) (1)
Giá trị Cjmp là không âm
Trường hợp 2 : Oj hiện thời thuộc về cụm có đại diện là Om , nhưng Oj íttương tự với Oj,2 so với Op (Nghĩa là, d(Oj, Op)<d(Oj, Oj,2)) Nếu Om, được thaythế bởi Op thì Oj sẽ thuộc về cụm có đại diện là Op Vì vậy, giá trị Cjmp được xác
Trang 15Trường hợp 4 : Oj hiện thời thuộc về cụm có đại diện là Oj,2 nhưng Oj íttương tự tới Oj,2 hơnso với Op Vì vậy, nếu chúng ta thay thế Om bởi Op thì Oj sẽchuyển từ cụm Oj,2 sang cụm Op Do đó, giá trị hoán chuyển Cjmp được xác định
là : Cjmp= (Oj, Op) - d(Oj, Oj,2) (4) Cjmp ở đây luôn âm
Kết hợp cả bốn trường hợp trên, tổng giá trị hoán chuyển Om bằng Op được
Bước 1 : Chọn k đối tượng medoid bất kỳ;
Bước 2 : Tính TC mp cho tất cả các cặp đối tượng O m , O p Trong đó O m là đối tượng medoid và O p
là đối tượng không phải là modoid.
Bước 3 : Chọn cặp đối tượng O m và O p Tính min Om, min Op , TC mp
Nếu TC mp là âm, thay thế O m bởi O p và quay lại bước 2 Nếu TC mp dương, chuyển sang bước 4 Bước 4 : Với mỗi đối tượng không phải là medoid, xác định đối tượng medoid tương tự với nó
nhất đồng thời gán nhãn cụm cho chúng
END
Các bước thực hiện của thuật toán PAMTrong bước 2 và 3, có PAM phải duyệt tất cả k(n-k) cặp Om, Op Với mỗi vặp,việc tính toán TCmp yêu cầu kiểm tra n-k đối tượng Vì vậy, độ phức tạp tính toán củaPAM là O(Ik (n-k)2), trong đó I là số vòng lặp Như vậy, thuật toán PAM kém hiệuquả về thời gian tính toán khi giá trị của k và n là lớn[10][16]
2.1.3 Thuật toán CLARA
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Trang 16CLARA (Clustering LARge Application) được Kaufman đề xuất năm 1990,thuật toán này nhằm khắc phục nhiệc điểm của thuật toán PAM trong trường hợp giátrị của k và n là lớn CLARA tiến hành trích mẫu cho tập dữ liệu có n phần tử, nó ápdụng thuật toán PAM cho mẫu này và tìm ra các đối tượng trọng tâm medoid cho mẫutrích từ dữ liệu này Người ta thấy rằng, nếu mẫu dữ liệu được trích theo cách ngẫunhiên, thì các medoid của nó xấp xỉ với các medoid của toàn bộ tập dữ liệu ban đầu
Để tiến tới một xấp xỉ tốt hơn, CLARA đưa ra nhiều cách lấy mẫu và thực hiện phâncụm cho mỗi trường hợp và tiến hành chọn kết qủa phân cụm tốt nhất khi thực hiệnphân cụm trên các mẫu này Để cho chính xác, chất lượng của các cụm được đánh giáthông độ phi tương tự trung bình của toàn bộ các đối tượng dữ liệu trong tập đốitượng ban đầu Kết quả thực nghiệm chỉ ra rằng, 5 mẫu dữ liệu có kích thước 40+20kcho các kết quả tốt Các bước thực hiện của thuật toán CLARA như sau:
3 Đối với mỗi đối tượng O j trong tập dữ liệu ban đầu, xác định đối tượng medoid tương tự nhất trong
số k đối tượng medoid.
4 Tính độ phi tương tự trung bình cho phân hoạch các đối tượng dành ở bước trước, nếu giá trị này
bé hơn giá trị tối thiểu hiện thời thì sử dụng giá trị này thay cho giá trị tối thiếu ở trạng thái trước, như vậy, tập k đối tượng medoid xác định ở bước này là tốt nhất cho đến thời điểm này
5 Quay về bước 1.
END;
Các bước thực hiện thuật toán CLARA
Độ phức tạp tính toán của nó là O(k(40+k)2 + k(n-k)), và CLARA có thể thực hiện đốivới tập dữ liệu lớn Chú ý đối với kỹ thuật tạo mẫu trong PCDL : kết quả phân cụm cóthể không phụ thuộc vào tập dữ liệu khởi tạo nhưng nó chỉ đạt tối ưu cục bộ Thí dụ
như : Nếu các đối tượng medoid của dữ liệu khởi tạo không nằm trong mẫu, khi đó
kết quả thu được không đảm bảo là tốt nhất được
2.1.4 Thuật toán CLARANS
Thuật toán CLARANS được Ng & Han đề xuất năm 1994, nhằm để cải tiếncho chất lượng cũng như mở rộng áp dụng cho tập dữ liệu lớn CLARANS cũng sửdụng các đối tượng trung tâm medoids làm đại diện cho các cụm dữ liệu
Như đã biết, PAM là thuật toán phân hoạch có kiểu k-medoids Nó bắt đầu
khởi tạo k tâm đại diện medoid và liên tục thay thế mỗi tâm bởi một đối tượng khác
Trang 17trong cụm cho đến khi là tổng khoảng cách của các đối tượng đến tâm cụm khônggiảm CLARANS là thuật toán phân cụm dữ liệu kết hợp thuật toán PAM với chiếnlược tìm kiếm kinh nghiệm mới Ý tưởng cơ bản của CLARANS là không xem xét tất
cả các khả năng có thể thay thế các đối tượng tâm medoids bởi một đối tượng khác,
nó ngay lập tức thay thế các đối tượng tâm này nếu việc thay thế này có tác động tốtđến chất lượng phân cụm chứ không cần xác định cách thay thế tối ưu nhất Một phânhoạch cụm phát hiện được sau khi thay thế đối tượng trung tâm được gọi là láng giềng(Neighbor) của phân hoạch cụm trước đó Số các láng giềng được hạn chế bởi tham
số do ngừơi dùng đưa vào là Maxneighbor, quá trình lựa chọn các láng giềng này là hoàn toàn ngẫu nhiên Tham số Numlocal cho phép người dùng xác định số vòng lặp
tối ưu cục bộ được tìm kiếm Không phải tất cả các láng giềng được duyệt mà chỉ có
Maxneighbor số láng giềng được duyệt.
Một số khái niệm sử dụng trong thuật toán CLARANS được định nghĩa như sau :
Giả sử O là một tập có n đối tượng và M là tập các đối tượng tâm medoid, NM
-M là tập các đối tượng không phải tâm Các đối tượng dữ liệu sử dụng trong thụât toánCLARANS là các khối đa diện Mối đối tượng được diễn tả bằng một tập các cạch, mỗi cạnhđược xác định bằng 2 điểm Giả sử P R3 là một tập tất cả các điểm Nói chung, các đốitượng ở đây là các đối tượng dữ liệu không gian và chúng ta định nghĩa tâm của một đốitượng chính là trung bình cộng toán học của tất cả các đỉnh hay còn gọi là trọng tâm:
Center : O P
Giả sử dist là một hàm khoảng cách, khoảng cách thường được chọn ở đây là khoảng cách Euclidean : dist: P x PR0+
Hàm khoảng cách dist có thể mở rộng cho các điểm của khối đa diện thông qua hàm tâm :
dist: O x OR0+ sao cho dist (oi, oj) = dist (center(oi), center(oj))
Mỗi đối tượng được được gán cho một tâm medoid của cụm nếu khoảng cách từ trọng tâm của đối tượng đó tới tâm medoid của nó là nhỏ nhất Vì vậy, chúng ta định nghĩa một tâm medoid
dist (o, mi) với mi M, cluster(mi )
Thuật toán chi tiết CLARANS như biểu diễn trong hình sau:
Input : O, k, dist, numlocal, and maxneighbor;
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Trang 18Thuật toán CLARANS
Trong đó :
Create_Randomly(k) : tạo ngẫu nhiên k cụm dữ liệu, nghĩa là thuật toán lựa chọn
ngẫu nhiên k đối tượng medoid từ n đối tượng dữ liệu
Select_randomly(old, new) : Thay thế một đối tượng tâm cụm medoid old bởi đối tượng khác new.
Calculate_distance_difference(old, new) : Tính toán sự khác nhau về tổng khoảng
cách giữa phân hoạch hiện thời và láng giềng của nó
Exchange(old, new) : Hoán đối giữa đối tượng tâm cụm medoid old với đối tượng
không phải là medoid new, sau khi hoán đổi vai trò của chúng cũng được hoán đổi
Calculate_total_distance() : Tính tổng khoảng cách cho mỗi phân hoạch.
Như vậy, quá trình hoạt động của CLARANS tương tự với quá trình hoạt động của
thuật toán CLARA Tuy nhiên, ở giai đoạn lựa chọn các trung tâm medoid của cụm
dữ liệu, CLARANS lựa chọn một giải pháp tốt hơn bằng cách lấy ngẫu nhiên một đối
tượng của k đối tượng trung tâm medoid của cụm và cố gắng thay thế nó với một đối
tượng được chọn ngẫu nhiên trong (n-k) đối tượng còn lại, nếu không có giải phápnào tốt hơn sau một số cố gắng lựa chọn ngẫu nhiên xác định, thuật toán dùng và chokết quả phân cụm tối ưu cục bộ
Trong trường hợp tệ nhất, CLARANS so sánh một đối tượng với tất các đối tượng
Medoid Vì vậy, độ phức tạp tính toán của CLARANS là O(kn2), do vậy CLARANS
Trang 19không thích hợp với tập dữ liệu lớn (khi trường hợp xấu nhất xẩy ra) CLARANS có
ưu điểm là không gian tìm kiếm không bị giới hạn như đối với CLARA, và trongcùng một lượng thời gian thì chất lượng của các cụm phân được là lớn hơn so vớiCLARA
2.1.5 Nhận xét chung về họ các thuật toán phân hoạch
Thuật toán k-means chỉ thích hợp để tìm kiếm các cụm dữ liệu có dạng hình cầu,không thích hợp cho việc xác định các cụm với hình dạng bất kỳ, nhưng trong trườnghợp các cụm khá gần nhau thì một số đối tượng của một cụm có thể là nằm cuối cáctrong các cụm khác Thuật toán PAM là một cải tiến của k-means nhằm để khắc phụctrong trường hợp dữ liệu chứa nhiễu hoặc các phần tử ngoại lai CLARA vàCLARANS là các thuật toán dựa trên hàm tiêu chuẩn của thuật toán PAM, đây là cácthuật toán có khả năng áp dụng với tập dữ liệu lớn, nhưng hiệu quả của chúng phụthuộc vào kích thước của các mẫu được phân Thuật toán CLARANS hiệu quả hơn so
với thuật toán CLARA Hạn chế chung của các thuật toán phân cụm phân hoạch là chỉ
thích hợp đối với dữ liệu số và ít chiều, và chỉ khám phá ra các cụm dạng hình cầu,thế nhưng chúng lại áp dụng tốt với dữ liệu có các cụm phân bố độc lập và trong mỗicụm có mật độ phân bố cao
2.2Các phương pháp dựa trên phân cấp
Phương pháp phân cấp: tạo phân cấp cụm chứ không phải là một phân hoạchđơn thuần các đối tượng
o Các lá của cây biểu diễn các đối tượng riêng lẻ
o Các nút trong của cây biểu diễn các cụm
Hai loại phương pháp tạo kiến trúc cụm:
o Gộp- agglomerative (từ dưới lên)
- Đưa từng đối tượng vào cluster riêng của nó
- Trộn ở mỗi bước hai cụm tương tự nhất cho đến khi chỉ còn mộtcụm hay thỏa điều kiện kết thúc
o Phân chia – divisive (từ trên xuống)
- Bắt đầu bằng một cụm lớn chứa tất cả các đối tượng
- Phân chia cụm phân biệt nhất thành các cụm nhỏ hơn và xử lý chođến khi co n cụm hay thỏa điều kiện kết thúc
Hai loại phương pháp tạo kiến trúc phân cấp cụm
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Trang 20 Các khoảng cách trong
Thường có 3 cách được dùng để định nghĩa khoảng cách giữa các cụm:
- Phương pháp liên kết đơn (láng giềng gần nhất):
- Phương pháp liên kết hoàn toàn (láng giềng xa nhất):
- Phương pháp liên kết trung bình (trung bình cặp nhóm không cótrọng ):
Sức mạnh của các phương pháp phân cấp
o Khái niệm đơn giản
o Lý thuyết tốt
o Khi cụm được trộn/ tách, quyết định là vĩnh cửu => số các phương ánkhác nhau cần được xem xét bị rút giảm
Điểm yếu của phương pháp phân cấp
o Trộn/ tách các cụm là vĩnh cửu => các quyết định sai là không thể khắcphục về sau
o Các phương pháp phân chia là cần thời gian tính toán
o Các phương pháp là không scalable (mở rộng được) cho các tập dữ liệulớn
Phân tích outlier
o outliers
- Là các đối tượng bất tương tự với
- Có thể gây ra việc đo đạc hay lỗi thực hiện, hay
- Là kết quả của việc biến đổi dữ liệu kế thừa rất nhiều thuật toán khaiphá dữ liệu cố gắng
- Giảm ảnh hưởng của outliers
Step 0 Step 1 Step 2 Step 3 Step 4
d xC i yC j
( , )
max )
d xC i yC j
Trang 21- Giảm outliers
o Cực tiểu hóa ảnh hưởng của outliers và/ hay khử đi những outliers cóthể gây ra mất mát thông tin
o Có thể quan tâm đến khai khác outlier mining
o Các ứng dụng của khai thác outlier
- Phát hiện phạm tội
- Tiếp thị
- Xử lý y khoa
2.2.1 Thuật toán BIRCH
BIRCH (Balanced Iterative Reducing and Clustering Using Hierarchies) là thuật toán phân cụm phân cấp sử dụng chiến lược phân cụm trên xuống (top down) Ý tưởng củathuật tóan 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ê Đối với mỗi dữ liệu của các cụm, BIRCH chỉ lưu một bộ ba (n, LS, SS), trong đó n là đối tượng trong cụm, LS là tổng các giá trị thuộc tính của các đối tượng trong cụm và SS là tổng bình phương của các giá trị thuộc tính của các đối tượng trong cụm Các bộ ba này được gọi là các đặc trưng của cụm
(Cluster Features - CF) và được lưa giữ trong một cây gọi là cây CF (CF tree) Người
ta đã chứng minh rằng, các đại lượng thống kê chuẩn như độ đo khoảng cách, có thể xác định cây CF Hình dưới đây biểu thị một ví dụ về cây CF Chúng ta thấy rằng tất
cả các nút trong cây lưu tổng các đặc trưng cụm CF của nút con, trong khi đó các nút
lá lưu trữ các đặc trưng của cụm dữ liệu
Cây CF là cây cân bằng, nhằm để lưu trữ các đặc trưng của cụm (CF) 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ữ tổng các đặ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 (Branching Factor - B): nhằm xác định số tối đa các nút con của mỗi nút trong cây, và
Ngưỡng (Threshloid-T): 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 được gọi là đường kínhcủa các cụm con được lưu tại các nút lá
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Trang 22Hai 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 qua giai đoạn sau:
Giai đoạn 1: BIRCH duyệt qua tất cả các đối tượng trong cơ sở dữ liệu
và xây dựng một cây CF khởi tạo Trong giai đoạn này, các đối tượng lần lượt đượcchè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 khichè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ínhcủ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 này lặp cho đến khi tất cả các đối tượng đều được chèn vào trongcây Ở đây ta thấy rằng, mỗi đố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 hai: BIRCH lựa chọn một thuật toán phân cụm dữ liệu (nhưthuật toán phân cụm chẳng hạn) để thực hiện phân cụm dữ liệu cho các nút lá củacây
Thuật toán BIRCH thực hiện qua các bước cơ bản như hình sau:
Với
Với cấu trúc cây CF được sử dụng, BIRCH có tốc độ thực hiện phân cụm dữliệu nhanh và có thể áp dụng đối với tập dữ liệu lớn, đặc biệt, BIRCH hiệu quả khi ápdụng với tập dữ liệu tăng trưởng theo thời gian BIRCH chỉ duyệt toàn bộ dữ liệu mộtlần với một lần quét thêm tùy chọn, nghĩa là độ phức tạp của nó là O(n), với n là đốitượng dữ liệu Nhược điểm của nó là 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 Euclide, nó thực hiện tốt chỉ với dữ liệu
số Mặc khác, tham số vào T có ảnh hưởng rất lớn tới kích thước và tính tự nhiên củacụm Việc ép các đối tượng dữ liệu làm cho các đối tượng của một cụm có thể là đối
1 Các đối tượng dữ liệu lần lượt được chèn vào cây CF, sau khi chèn hết các
đối tượng ta thu được cây CF khởi tạo Mỗi 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 Khi một đối tượng thích hợp được chèn vào nút
lá thì tất cả các nút trở tới gốc của cây được cập nhật với các thông tin cần
thiết
2 Nếu cây CF hiện thời không có đủ bộ nhớ trong thì tiến hành dựng cây CF
nhỏ hơn: kích thước của cây CF được điều khiển bởi tham số T 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
bắt đầ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
3 Thực hiện phân cụm: các nút lá của cây CF lưu giữ 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ụ như k-means và tạo ra một
khởi tạo cho phân cụm
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 nhãn lại 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
Trang 23tượng kết thúc cụm khác, trong khi các đối tượng gần nhau có thể bị hút bởi các cụmkhác nếu chúng được biểu diễn cho thuật toán theo một thứ tự khác BIRCH khôngthích hợp với dữ liệu đa chiều
2.2.2 Thuật toán CURE
Việc chọn một cách biểu diễn cho các cụm có thể nâng cao chất lượng phâncụm Thuật toán CURE (Clustering Using REpresentatives) là thuật toán sử dụngchiến lược dưới lên (Bottom up) của kĩ thuật phân cụm phân cấp
Thay vì sử dụng các trọng tâm hoặc các đối tượng tâm để biểu diễn cụm,CURE sử dụng nhiều đối tượng để diễn tả cho mỗi cụm dữ liệu Các đối tượng đạidiện cho cụm này ban đầu được lựa chọn rải rác đều ở các vị trí khác nhau, sau đóchúng được di chuyển bằng cách co lại theo một tỉ lệ nhất định Tại mỗi bước củathuật toán, hai cụm có cặp đối tượng đại diện gần nhất (đối tượng thuộc về mỗi cụm)
sẽ được trộn lại thành một cụm
Với cách thức sử dụng nhiều hơn một phần tử đại diện cho các cụm, CURE cóthể khám phá được các cụm có các hình thù và kích thước khác nhau trong cơ sơ dữliệu lớn Việc co các đối tượng đại diện lại có tác dụng làm giảm tác động củ các phần
tử ngoại lai, vì vậy, CURE có khả năng xử lý đối với các phần tử ngoại lai Hình dướiđây là ví dụ về các dạng và kích thước cụm dữ liệu được khám phá bởi CURE
2.3 Các phương pháp dựa trên mật độ
Các cụm có thể được xem như các vùng có mật độ cao, được tách ra bởi cácvùng không có hoặc ít mật độ Khái niệm mật độ ở được xem như là các số các đốitượng láng giềng
2.3.1 Thuận toán DBSCAN
Thuật toán phân cụm dựa trên mật độ thông dụng nhất là thuật toán DBSCAN(Density- Based Spatial Clustering of Applications with noise) Thuật toán đi tìm cácđối tượng mà có số đối tượng láng giềng lớn hơn một ngưỡng tối thiểu Tìm tất cả cácđối tượng mà các láng giềng của nó thuộc về lớp các đối tượng đã xác định ở trên,một cụm được xác định bằng một tập tất cả các đối tượng kiên thông mật độ với cácláng giềng của nó DBSCAN có thể tìm ra các cụm với hình thù bất kì, trong khi đótại cùng một thời điểm ít bị ảnh hưởng bởi thứ tự của các đối tượng dữ liệu nhập vào
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Trang 24Khi có một đối tượng dữ liệu được chèn vào chỉ tác động đến một láng giềng xácđịnh Mặc khác DBSCAN yêu cầu người dùng xác định bán kính Eps của các lánggiềng và số các láng giềng tối thiểu Minpts, các tham số này khó mà xác định được tối
ưu, thông thường nó được xác định bằng phép chọn ngẫu nhiên hoặc theo kinhnghiệm Người ta áp dụng chỉ số không gian để giúp xác định các láng giềng của mộtđối tượng dữ liệu do vậy độ phức tạp của DBSCAN đã được cải tiến là O(nlogn) sovới độ phức tạp của DBSCAN là O(n2) trong trường hợp nếu không áp dụng cấu trúcchỉ số Khoảng cách Euclide được sử dụng để đo sự tương tác giữa các đối tượngnhưng không hiệu quả đối với dữ liệu đa chiều
Thuật toán DBSCAN dựa trên các khái niệm mật độ có thể áp dụng cho các tập
dữ liệu không gian lớn đa chiều Dưới đây là các định nghĩa và bổ đề được sử dụngtrong thuật toán DBSCAN
Định nghĩa 1: lân cận với ngưỡng Eps của một điểm (Eps – Neighborhood of apoint)
Lân cận với ngưỡng Eps của một điểm P kí hiệu là NEps(p) được xác định như sau: NEps(p) = {q D | khoảng cach Dist(p,q) ≤ Eps}, D là tập dữ liệu cho trước
Một điểm p muốn nằm trong một cụm C nào đó thì NEps(p) thì phải có tối thiểu Minpts điểm Số điểm tối thiểu được chọn là bao nhiêu cũng là bài toán khó, vì: Nếu
số điểm tối thiểu lớn thì chỉ những điểm nằm thực sự trong cụm C mới đạt đủ tiêu chuẩn, trong khi đó những điểm nằm ngoài biên của cụm không thể đạt được điều đó Ngược lại nếu số điểm tối thiểu là nhỏ thì mọi điểm sẽ rơi vào một cụm
Theo định nghĩa trên, chỉ những điểm thực sự nằm trong cụm mới thỏa mãn điều kiện là điểm thuộc vào cụm Những điểm nằm ở biên của cụm thì không thỏa mãn điều kiện đó, bởi vì thông thường thì lân cận với ngưỡng Eps của điểm biên thì
bé hơn lân cận với ngưỡng của Eps của điểm nhân (Core point)
Để tránh được điều này, chúng ta có thể đưa ra một tiêu chuẩn khác để định nghĩa một điểm thuộc vào một cụm như sau: Nếu một điểm p muốn thuộc vào cụm C phải tồn tại một điểm q mà p ∊ NEps(q) và số điểm trong NEps(q) phải lớn hơn số điểm tối thiểu Điều này có thể được định nghĩa một cách hình thức như sau:
Định nghĩa 2: Đến được trực tiếp theo mật độ (Directly Density-reachable) Một
điểm p được gọi là đến được trực tiếp từ điểm q với ngưỡng Eps nếu:
1 p ∊ NEps(q)
2 || NEps(q)|| ≥ Minpts (điều kiện nhân)
Điểm q được gọi là điểm nhân (Core point) Có thể thấy là đến được trực tiếp một hàm phản xạ và đối xứng đối với hai điểm nhân và bất đối xứng nếu nếu một trong hai điểm đó không phải là điểm nhân
Định nghĩa 3: Đến được mật độ (Density- Reachable)
Một điểm p được gọi là đến được từ một điểm q theo hai tham số Eps và Minpts nếu tồn tại một dãy p = p1, p2, , pn = q thỏa mãn pi+1 là có thể đến được trực tiếp từ pi với