2.1 Phân cụm phân hoạch Ý tưởng chính của kỹ thuật này là phân một tập dữ liệu có n phần tử cho trước thành k nhóm dữ liệu sao cho mỗi phần tử dữ liệu chỉ thuộc về một nhóm dữ liệu và
Trang 1Báo Cáo Phân cụm Web & các thuật
toán phân cụm Web?
Thành viên thực hiện:
1.Nguyễn Hoàng An
2.Nguyễn Mạnh Cường
3.Bùi Thị Thu Thủy
4.Nguyễn Thị Thu Vân
Trang 3Những đối tượng không cùng 1 cụm thì không tương tự nhau.
Cần phân biệt giữa phân cụm với phân lớp
Phân cụm web: là sắp xếp các web thành các nhóm chủ đề riêng theo từng nội dung Web
3
Trang 42 Các thuật toán phân cụm Web
Thuật toán phân cụm hướng tới 2 mục tiêu: chất lượng được khám phá và tốc độ của thuật toán Các thuật toán được phân thành các loại cơ bản sau:
1 Phân cụm phân hoạch
2 Phân cụm phân cấp
3 Phân cụm dựa trên mật độ
4 Phân cụm dựa trên lưới
5 Phân cụm dựa trên mô hình
4
Trang 52.1 Phân cụm phân hoạch
Ý tưởng chính của kỹ thuật này là phân một
tập dữ liệu có n phần tử cho trước thành k
nhóm dữ liệu sao cho mỗi phần tử dữ liệu chỉ thuộc về một nhóm dữ liệu và mỗi nhóm
dữ liệu có tối thiểu ít nhất một phần tử dữ liệu
các thuật toán được áp dụng nhiều trong
thực tế như k-means, PAM, CLARA,
CLARANS Sau đây là một số thuật toán kinh điển được kế thừa sử dụng rộng rãi
5
Trang 62.1.1 Thuật toán K- means
Thuật toán phân cụm k-means do
MacQueen đề xuất trong lĩnh vực thống kê năm 1967
Đế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 áp dụng trong KPDL để giải quyết tập dữ liệu có kích thước rất lớn đang được áp dụng rất hiệu
quả và phổ biến như thuật toán k-medoid, PAM, CLARA, CLARANS, k- prototypes, …
6
Trang 7Các bước của thuật toán K-means
7
Trang 82.1.2 Thuật toán PAM
Thuật toán PAM (Partitioning Around Medoids) được Kaufman và Rousseeuw đề xuất 1987, là thuật toán mở rộng của thuật
toán k-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 Thay vì sử dụng các trọng tâm như k-means, PAM sử dụng các đối tượng medoid để 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 vị trí trung tâm nhất bên trong của mỗi cụm
8
Trang 9Các bước thực hiện thuật toán PAM
9
Trang 102.1.3 Thuật toán CLARA
CLARA (Clustering LARge Application) được Kaufman và Rousseeuw đề xuất năm 1990, thuật toán này nhằm khắc phục nhược điểm của thuật toán PAM trong trường hợp giá trị
của k và n lớn
10
Trang 11Các bước thực hiện thuật toán
11
Trang 122.1.4 Thuật toán CLARANS
Thuật toán CLARANS (A Clustering Algorithm based on RANdomized Search) được Ng & Han đề xuất năm 1994, nhằm để cải tiến chất lượng cũng như mở rộng áp dụng cho tập dữ liệu lớn CLARANS là thuật toán PCDL kết hợp thuật toán PAM với chiến lược tìm kiếm kinh nghiệm mới
12
Trang 13Các bước thực hiện thuật toán:
13
Trang 142.2 Phân cụm phân cấp
Phân cụm phân cấp 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 xây dựng theo
kỹ thuật đệ quy và chia theo hai phương pháp tổng quát:
Phương pháp “trên xuống” (Top down)
Phương pháp “dưới lên” (Bottom up)
Một số thuật toán điển hình như: CURE, BIRCH,…
14
Trang 152.2.1 Thuật toán 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ê
Đối với mỗi cụm dữ liệu, BIRCH chỉ lưu một bộ ba (n,
LS, SS), với n là số đố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ác giá trị thuộc tính của các đối tượng trong cụm
15
Trang 16Các bước thực hiện thuật toán:
INPUT: CSDL gồm n đối tượng, ngưỡng T
Trang 17Bước 2:
- Nếu cây CF hiện thời không có đủ bộ nhớ trong thì tiến hành xây dựng một cây CF nhỏ hơn bằng cách điều khiển bởi tham số T
- Không cần đọ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
17
Trang 18Bước 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
- 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 thí dụ như k-means và tạo ra một khởi tạo cho phân cụm
18
Trang 19- 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
19
Trang 202.2.2 Thuật toán CURE
Các đối tượng đại diện được lựa chọn sẽ 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
Hai cụm có cặp đối tượng đại diện gần nhất sẽ được trộn lại thành một cụm
CURE có thể khám phá được các cụm có các dạng hình thù và kích thước khác nhau và có khả năng xử lý đối với các phần tử ngoại lai
20
Trang 21Hình sau thí dụ về các dạng và kích thước cụm dữ liệu
được khám phá bởi CURE:
21
Trang 22Các bước thực hiện thuật toán:
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 chính ở đâ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 (với n' là kích thước của mẫu)
Bước 3: Phân cụm các điểm của mỗi nhóm cho đến khi mỗi nhóm được phân thành n'/(pq)cụm (với q>1)
22
Trang 23 Bước 4: 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
Bước 6: Đánh dấu dữ liệu với các nhãn tương ứng
23
Trang 242.3 Phân cụm dựa trên mật độ
Phương pháp này nhóm các đối tượng theo hàm độ xác định
Có một số thuật toán cơ bản sau: DBSCAN, OPTICS, SNN…
24
Trang 252.3.1 Thuật toán DBSCAN
DBSCAN (Density – Based Spatial Clustering of Applications with Noise) do Ester, P.Kriegel và J.Sander đề xuất năm 1996 Là thuật toán gom cụ dựa trên mật độ , hiệu quả với cơ sở dữ liệu lớn, có khả năng xử lí nhiễu
25
Trang 26Các bước thuật hiện thuật toán:
Bước 1: Chọn một đối tượng p tuỳ ý
Bước 2: Lấy tất cả các đối tượng mật độ - đến được từ
p với Eps và MinPts
Bước 3: Nếu p là điểm nhân thì tạo ra một cụm theo Eps và MinPts
Bước 4: Nếu p là một điểm biên, không có điểm nào là mật độ - đến được mật độ từ p và DBSCAN sẽ đi thăm điểm tiếp theo của tập dữ liệu
Bước 5: Quá trình tiếp tục cho đến khi tất cả các đối tượng được xử lý
26
Trang 272.3.2 Thuật toán OPTICS
Thuật toán OPTICS (Ordering Points To Identify the Clustering Structure) do Ankerst, Breunig, Kriegel và Sander đề xuất năm 1999, là thuật toán mở rộng cho thuật toán DBSCAN, bằng cách giảm bớt các tham số đầu vào
Thuật toán DBSCAN và OPTICS tương tự với nhau về cấu trúc và có cùng độ phức tạp: O(nLogn) (n là kích thước của tập dữ liệu)
27
Trang 28Hình sau thể hiện về một thí dụ trong PCDL của thuật
toán OPTICS:
28
Trang 292.3.3 Thuật toán DENCLUE
Thuật toán DENCLUE (DENsity - Based CLUstEring) được đề xuất bởi Hinneburg và Keim năm 1998, đây
là thuật toán PCDL dựa trên một tập các hàm phân phối mật độ Ý tưởng chính của thuật toán này như sau :
Ảnh hưởng của một đối tượng tới láng giềng của nó được xác định bởi hàm ảnh hưởng
Mật độ toàn cục của không gian dữ liệu được mô hình phân tích như là tổng tất cả các hàm ảnh hưởng của các đối tượng
29
Trang 302.4 Phân cụm dựa trên lưới
Kỹ thuật phân cụm dựa trên mật độ không thích hợp với dữ liệu nhiều chiều, để giải quyết cho đòi hỏi này, người ta đã sử dụng phương pháp phân cụm dựa trên lưới
Đây là phương pháp dựa trên cấu trúc dữ liệu lưới để phân cụm dữ liệu, phương pháp này chủ yếu tập trung
áp dụng cho lớp dữ liệu không gian
Một số thuật toán như: STING, CLIQUE…
30
Trang 312.4.1 Thuật toán STING
STING (STatistical INformation Grid) do Wang, Yang
và Muntz đề xuất năm 1997, nó phân rã tập dữ liệu
không gian thành số hữu hạn các cell sử dụng cấu trúc phân cấp chữ nhật Có nhiều mức khác nhau cho các
cell trong cấu trúc lưới, các cell này hình thành nên cấu trúc phân cấp như sau: Mỗi cell ở mức cao được phân hoạch thành các cell mức thấp hơn trong cấu trúc phân cấp
31
Trang 32 Giá trị của các tham số thống kê (như các giá trị trung bình, tối thiểu, tối đa) cho các thuộc tính của đối tượng
dữ liệu được tính toán và lưu trữ thông qua các tham số thống kê ở các cell mức thấp hơn (điều này giống với cây CF)
Các tham số này bao gồm: tham số đếm count, tham số trung bình means, tham số tối đa max tham số tối thiểu
min, độ lệch chuẩn s,…
322.4.1 Thuật toán STING
Trang 332.4.2 Thuật toán CLIQUE
Thuật toán CLIQUE do Agrawal, Gehrke, Gunopulos, Raghavan đề xuất năm 1998, là thuật toán tự động phân cụm không gian con với số chiều lớn, nó cho phép phân cụm tốt hơn không gian nguyên thủy
33
Trang 34Các bước thực hiện thực toán:
nhật và tìm các hình hộp chữ nhật đặc (nghĩa là các hình hộp này chứa một số các đối tượng dữ liệu trong
số các đối tượng láng giềng cho trước)
sử dụng nguyên lý Apriori
liệu
đặc đơn chiều, tiếp đến chúng tìm các hình chữ nhật 2 chiều, rồi 3 chiều,…, cho đến khi hình hộp chữ nhật đặc
k chiều được tìm thấy 34
Trang 352.5 Phân cụm dựa trên mô hình
Phương pháp phân cụm dữ liệu dựa trên mô hình cố
gắng khớp giữa dữ liệu với mô hình toán học, nó dựa
trên giả định rằng dữ liệu được tạo ra bằng hỗn hợp
phân phối xác suất cơ bản
Các thuật toán phân cụm dựa trên mô hình có hai tiếp
cận chính: Mô hình thống kê và Mạng Nơron Một số
thuật toán điển hình như EM, COBWEB,
35
Trang 362.5.1 Thuật toán EM
Thuật toán EM (Expectation - Maximization) được
nghiên cứu từ 1958 bởi Hartley và được nghiên cứu đầy đủ bởi Dempster, Laird và Rubin công bố năm
1977
Thuật toán này nhằm tìm ra sự ước lượng về khả năng lớn nhất của các tham số trong mô hình xác suất, nó được xem như là thuật toán dựa trên mô hình hoặc là
mở rộng của thuật toán k-means
Thuật toán gồm 2 bước xử lý: Đánh giá dữ liệu chưa được gán nhãn (bước E) và đánh giá các tham số của
mô hình, khả năng lớn nhất có thể xảy ra (bước M)
36
Trang 37 Cụ thể thuật toán EM ở bước lặp thứ t thực hiện các
công việc sau:
Bước E: Tính toán để xác định giá trị của các biến chỉ thị dựa trên mô hình hiện tại và dữ liệu:
Bước M: Đánh giá xác suất π
372.5.1 Thuật toán EM
Trang 382.5.2 Thuật toán COBWEB
COBWEB được đề xuất bởi Fisher năm 1987 Thuật toán này sử dụng công cụ đánh giá heuristic được gọi
là công cụ phân loại CU (Category Untility) để quản lý cấu trúc cây
Cấu trúc cây có thể hợp nhất hoặc phân tách khi chèn một nút mới vào cây
38
Trang 39Các bước thực hiện thuật toán:
Bước 1: Khởi tạo cây bắt đầu bằng một nút rỗng.
Bước 2: Sau khi thêm vào từng nút một và cập nhật lại cây cho phù hợp tại mỗi thời điểm.
Bước 3: Cập nhật cây bắt đầu từ lá bên phải trong mỗi trường hợp, sau đó cấu trúc lại cây
Bước 4: Quyết định cập nhật dựa trên sự phân hoạch và các hàm tiêu chuẩn phân loại
39