Tải bản đầy đủ (.doc) (24 trang)

Khai phá Web và các thuật toán khai phá Web

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (918.82 KB, 24 trang )

Phân cụm Web và các thuật toán phân cụm Web
Trường Đại Học Thủ Dầu Một
Khoa Công Nghệ Thông Tin
ĐỀ TÀI
Khai phá Web và các thuật toán khai phá
Web
LỚP HTTT LT
Năm học 2013 – 2014
Bình dương, ngày 01 tháng 03 năm 2014
MỤC LỤC
Khai phá dữ liệu
1

Phân cụm Web và các thuật toán phân cụm Web
Trang
Lời nói đầu 2
1. Phân cụm là gì? 2
2. Các thuật toán phân cụm 2
2.1. Phân cụm phân hoạch 3
2.1.1. Thuật toán k-means 3
2.1.2. Thuật toán PAM 4
2.1.3. Thuật toán CLARA 5
2.1.4. Thuật toán CLARANS 5
2.2. Phân cụm phân cấp 6
2.2.1. Thuật toán BIRCH 7
2.2.2. Thuật toán CURE 8
2.3. Phân cụm dựa trên mật độ 10
2.3.1. Thuật toán DBSCAN 10
2.3.2. Thuật toán OPTISC 14
2.3.3. Thuật toán DENCLUE 15
2.4. Phân cụm dựa trên lưới 16


2.4.1. Thuật toán STING 17
2.4.2. Thuật toán CLIQUE 18
2.5. Phân cụm dựa trên mô hình 19
2.5.1. Thuật toán EM 20
2.5.2. Thuật toán COBWEB 21
Kết luận, hướng phát triển đề tài 22
MỞ ĐẦU
Khai phá dữ liệu
2
Phân cụm Web và các thuật toán phân cụm Web
Ngày nay với sự bùng nổ thông tin, Word Wide Web (www) trở thành
nguồn tài nguyên khổng lồ và quý giá. Nó cung cấp cho chúng ta thông tin về mọi
lĩnh vực đời sống xã hội, khoa học v … Tuy nhiên đi đôi với sự thuận lợi ấy có
một vấn đề được đặt ra là chúng ta làm thế nào để truy cập và khai phá được
nguồn tài nguyên ấy hiệu quả nhất. Mặt khác, trong môi trường cạnh tranh, người
ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết
định và ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa
trên một khối lượng dữ liệu khổng lồ đã có. Với những lý do như vậy, cần phải có
các công cụ hỗ trợ để giúp cho việc tìm kiếm thông tin được nhanh và hiệu quả.
Vì vậy mục tiêu đó nhóm chúng em đã chọn đề tài “Phân cụm web và thuật toán
phân cụm” này nhằm để tìm hiểu và xây dựng một hệ thống tìm kiếm thông tin cụ
thể là tìm kiếm tài liệu văn bản trên cơ sở phân cụm và thuật toán phân cụm dữ
liệu.
1. Phân cụm là gì?
Phân cụm là nhóm các đối tượng lại thành cụm sao cho thỏa mãn:
- Các đối tượng trong mỗi cụm là giống nhau hoặc gần nhau được xác định
bằng độ tương tự.
- Nhữ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.
2. Các thuật toán phân cụm:
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:
- Phân cụm phân hoạch
- Phân cụm phân cấp
- Phân cụm dựa trên mật độ
- Phân cụm dựa trên lưới
Khai phá dữ liệu
3
Phân cụm Web và các thuật toán phân cụm Web
- Phân cụm dựa trên mô hình
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à 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 phân
hoạch có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề
PCDL, vì nó phải tìm kiếm tất cả các cách phân hoạch có thể được. Chính vì vậy,
trên thực tế người ta thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách
sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của các cụm cũng như để
hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu. Với chiến lược này, thông
thường người ta bắt đầu khởi tạo một phân hoạch ban đầu cho tập dữ liệu theo phép
ngẫu nhiên hoặc theo heuristic và liên tục tinh chỉnh nó cho đến khi thu được một
phân hoạch mong muốn, thoả mãn các điều kiện ràng buộc cho trước. Các thuật
toán phân cụm phân hoạch cố gắng cải tiến tiêu chuẩn phân cụm bằng cách tính các
giá trị đo độ tương tự giữa các đối tượng dữ liệu và sắp xếp các giá trị này, sau đó
thuật toán lựa chọn một giá trị trong dãy sắp xếp sao cho hàm tiêu chuẩn đạt giá trị
tối thiểu. Như vậy, ý tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục bộ
là sử dụng chiến lược ăn tham để tìm kiếm nghiệm.

Lớp các thuật toán phân cụm phân hoạch bao gồm các thuật toán đề xuất đầu
tiên trong lĩnh vực KPDL cũng là 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.
2.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
Khai phá dữ liệu
4
Phân cụm Web và các thuật toán phân cụm Web
đượ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, …
Các bước thực hiện thuật toán:
2.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
 Các bước thực hiện thuật toán:
Khai phá dữ liệu
5
Phân cụm Web và các thuật toán phân cụm Web
2.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.
 Các bước thực hiện thuật toán:
2.1.4. Thuật toán CLARANS

 Thuật toán CLARANS (A Clustering Algorithm based on RANdomized Search)
Khai phá dữ liệu
6
Phân cụm Web và các thuật toán phân cụm Web
đượ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.
Các bước thực hiện thuật toán:
2.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) và phương pháp “dưới lên”
(Bottom up).
Phương pháp Bottom up: Phương pháp này bắt đầu với mỗi đối
tượng được khởi tạo tương ứng với các cụm riêng biệt, sau đó tiến hành nhóm các
đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm
của hai nhóm). Qúa trình này được tiếp tục cho tới khi các nhóm hòa nhập với
nhau hoặc tới khi thỏa các điều kiện.
Phương pháp Top Down: Bắt đầu với trạng thái là tất cả các đối tượng được xếp
trong cùng một cụm. Mỗi vòng lặp thành công, một cụm được tách thành các cụm
nhỏ hơn theo giá trị của một phép đo độ tương tự nào đó cho đến khi mỗi đối
tượng là một cụm hoặc cho đến khi điều kiện dừng thoả mãn.
Khai phá dữ liệu
7

Phân cụm Web và các thuật toán phân cụm Web
2.2.1. Thuật toán BIRCH
BIRCH (Balanced Iterative Reducing and Clustering Using
Hierarchies) do Tian Zhang, amakrishnan và Livny đề xuất năm 1996, là thuật
toán phân cụm phân cấp sử dụng chiến lược Top down. Ý 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. Các bộ ba này được gọi là các đặc trưng của cụm
Thuật toán BIRCH thực hiện qua giai đoạn sau:
INPUT: CSDL gồm n đối tượng, ngưỡng T
OUTPUT: k cụm dữ liệu
Bước 1: Duyệt tất cả các đối tượng trong CSDL và xây dựng một 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. 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 các
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 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 (vì tăng T sẽ làm hoà
nhập một số các cụm con thành một cụm, điều này làm cho cây CF nhỏ hơn).
Khai phá dữ liệu
8
Phân cụm Web và các thuật toán phân cụm Web
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.
Bướ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. 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 thí dụ như 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 tuỳ 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
• Ưu điểm:
Sử dụng cấu trúc cây CF làm cho thuật toán BIRCH có tốc độ thực hiện
PCDL nhanh và có thể áp dụng đối với tập dữ liệu lớn, BIRCH đặc biệt hiệu quả
khi áp dụng với tập dữ liệu tăng trưởng theo thời gian.
• Nhược điểm:
- Chất lượng của các cụm được khám phá không được tốt.
- Nó thực hiện tốt chỉ với các dữ liệu số.
- BIRCH không thí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ân
cụm. Thuật toán CURE (Clustering Using REpresentatives) được đề xuất
bởi Sudipto Guha, Rajeev Rastogi và Kyuseok Shim năm 1998 là thuật toán sử
dụng chiến lược 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 đại diệ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ủa thuật toán, hai cụm có
Khai phá dữ liệu
9
Phân cụm Web và các thuật toán phân cụm Web
cặp đối tượng đại diện gần nhất 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 điểm đại diện cho các 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 trong CSDL 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ủa 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 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
Thuật toán CURE được thực hiện qua các bước cơ bản như sau:
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: Ta thực hiện PCDL cho các nhóm
cho đến khi mỗi nhóm được phân thành n'/(pq)cụm (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.
Bước 6. Đánh dấu dữ liệu với các nhãn tương ứng.
• Ưu điểm:
CURE là thuật toán tin cậy trong việc khám phá các cụm với hình thù bất kỳ và
có thể áp dụng tốt trên các tập dữ liệu hai chiều
Khai phá dữ liệu
10
Phân cụm Web và các thuật toán phân cụm Web
• Nhược điểm:
CURE lại rất nhạy cảm với các tham số như là tham số các đối tượng đại diện,
tham số co của các phần tử đại diện.
 Nhìn chung thì BIRCH tốt hơn so với CURE về độ phức tạp, nhưng
kém về chất lượng phân cụm. Cả hai thuật toán này có thể xử lý các phần
tử ngoại lai tốt.
2.3. Phân cụm theo mật độ:

- Phân cụm dữ liệu theo mật độ là phương pháp nhóm đối tượng theo hàm mật
độ xác định. Phương pháp này dựa vào mật độ của các đối tượng để xác định các
cụm dữ liệu và có thể phát hiện ra các cụm dữ liệu có hình thù bất kì.
- Một số thuật toán phân cụ dữ liệu Web theo mật độ điển hình như là
DBSCAN, OPTICS, DENCLUE,…
2.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
Ý tưởng: vùng lân cận trong một cụm có đối tượng lớn hơn ngưỡng tối thiểu.
- Các đối tượng trong cụm được phân làm 2 loại: đối tượng bên trong (core
point) và đối tượng nằm trên đường biên(border point).
Định nghĩa:
• Định nghĩa 1 : Vùng lân cận Eps của đối tượng p, ký hiệu N
EPS
(p) là tập hợp
các đối tượng q sao cho khoảng cách giữa p và q dist(p,q) nhỏ hơn Eps.
Khai phá dữ liệu
11
Phân cụm Web và các thuật toán phân cụm Web
o Tính chất:
- Nói chung các vùng lân cận của đối tượng biên có số đối tượng ít hơn đáng
kể so hơn đối tượng biên.
- Một điểm p muốn nằm trong một cụm C nào đó thì NEps(p) phải có tối
thiểu MinPts điểm.
• Định nghĩa 2: Đối tượng p tới được trực tiếp theo mật độ (directly density-
reachable) thỏa Eps, MinPts từ đối tượng q nếu:
- Điểm q gọi là điểm nhân. Ta thấy rằng nó là 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 một trong hai điểm đó không phải là
điểm nhân.

o Tính chất :
− Nếu p, q đều là core point quan hệ directly density-reachable là đối xứng
nghĩa là p tới được trực tiếp theo mật độ từ q và ngược lại.
− Nếu trong p, q có một đối tượng lõi (core point), một đối tượng biên như
hình dưới thì chỉ đối tượng biên có tới được trực tiếp theo mật độ từ đối tượng lõi
mà không có chiều ngược lại (bất đối xứng).
Khai phá dữ liệu
12
Phân cụm Web và các thuật toán phân cụm Web
• Định nghĩa 3: Đối tượng p tới được theo mật độ (density-reachable) thỏa
Eps, MinPts từ đối tượng q nếu tồn tại một dãy p, p
1
, , p
n
(p
1
=q, p
n
= p) sao cho
p
i+1
tới được theo mật độ trực tiếp từ p
i
.
o Tính chất:
− Quan hệ density-reachable là sự mở rộng của directly density-reachable.
− Quan hệ density-reachable có tính bắt cầu
− Nếu p, q đều là đối tượng lõi (core point) thì quan hệ density-reachable là
đối xứng nghĩa là p tới được theo mật độ từ q và ngược lại.
− Nếu p, q đều là đối tượng biên (border point) thì p không tới được theo mật

độ từ q và ngược lại.
− Nếu trong p, q có một đối tượng lõi (core point), một đối tượng biên như
hình dưới thì chỉ đối tượng biên có tới được theo mật độ từ đối tượng lõi mà
không có chiều ngược lại (bất đối xứng).
• Định nghĩa 4: Đối tượng p kết nối theo mật độ (density-connected) thỏa Eps,
MinPts với đối tượng q tồn tại đối tượng o sao cho cả p và q đều tới được theo
mật độ từ o.
o Tính chất:
− Đối với các đối tượng tới được theo mật độ với đối tượng khác, quan hệ
density-connected có tính phản xạ
− Quan hệ density-connected có tính đối xứng.
Khai phá dữ liệu
13
Phân cụm Web và các thuật toán phân cụm Web
• Định nghĩa 5: Cụm và nhiễu Cho D là một tập các đối tượng dữ liệu. Một
tập con C khác rỗng của D được gọi là một cụm theo Eps và MinPts nếu thoả mãn
hai điều kiện:
Cụm C thỏa định nghĩa trên sẽ có ít nhất MinPts đối tượng vì lý do sau: C phải
có ít nhất một đối tượng p (C khác rỗng), p phải liên hệ mật độ với bản thân nó
thông qua một đối tượng o (điều kiện 2 của định nghĩa 5). Vì vậy, o là đối tượng
lõi và vùng lân cận Eps của o có ít nhất MinPts đối tượng (do p có liên hệ mật độ
từ o).
Hai bổ đề này có thể phát biểu một cách hình thức hơn như sau:
Bổ đề 1: Giả sử p là một đối tượng trong D, trong đó ||NEps(p)|| ≥ MinPts, tập
O = {o|oD và o là mật độ-đến được từ p theo Eps và MinPts} là một cụm theo
Eps và MinPts.
Như vậy, cụm C không hoàn toàn là duy nhất, tuy nhiên, mỗi một điểm
trong C đến được mật độ từ bất cứ một điểm nhân nào của C, vì vậy C chứa
đúng một số điểm liên thông với điểm nhân tuỳ ý.
Bổ đề 2: Giả sử C là một cụm theo Eps và MinPts, p là một điểm bất kỳ trong

C với ||NEps(p)|| ≥ MinPts. Khi đó C trùng với tập O = {o|oD và o là mật độ-
đến được từ p theo Eps và MinPts}.
Các bước của thuật toán DBSCAN như sau:
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.
Khai phá dữ liệu
14
Phân cụm Web và các thuật toán phân cụm Web
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ý.
Nếu ta chọn sử dụng giá trị trị toàn cục Eps và MinPts, DBSCAN có thể hoà
nhập hai cụm thành một cụm nếu mật độ của hai cụm gần bằng nhau. Giả sử
khoảng cách giữa hai tập dữ liệu S1 và S2 được định nghĩa là
Dist(S1,S2) = min{dist(p,q)| pS1 và qS2}.
Thuật toá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. Khi có một đối tượng được chèn vào chỉ tác động đến một láng giềng xác
định. Mặt khác, DBSCAN yêu cầu người dùng xác định bán kính Eps của các
láng giềng và số các láng giềng tối thiểu MinPts, thông thường các tham số này
được xác định bằng phép chọn ngẫu nhiên hoặc theo kinh nghiệm.
Trừ một số trường hợp ngoại lệ, kết quả của DBSCAN độc lập với thứ tự
duyệt các đối tượng dữ liệu. Eps và MinPts là hai tham số toàn cục được xác
định bằng thủ công hoặc theo kinh nghiệm. Tham số Eps được đưa vào là nhỏ so
với kích thước của không gian dữ liệu, thì độ phức tạp tính toán trung bình của
mỗi truy vấn là O(nlogn).
2.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 thực hiện tính toán và sắp xếp các đối tượng theo thứ tự
tăng dần nhằm tự động phân cụm và phân tích cụm tương tác hơn là đưa ra phân
cụmmột tập dữ liệu rõ ràng. Thứ tự này diễn tả cấu trúc dữ liệu phân cụm dựa trên
mật độ chứa thông tin tương đương với phân cụm dựa trên mật độ với một dãy
các tham số đầu vào. OPTICS xem xét bán kính tối thiểu nhằm xác định
các
Khai phá dữ liệu
15
Phân cụm Web và các thuật toán phân cụm Web
láng giềng phù hợp với thuật toán.
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). Hình sau thể hiện về
một thí dụ trong PCDL của thuật toán OPTICS:
Hình 2.23. Thứ tự phân cụm các đối tượng theo OPTICS
2.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.
- Các cụm được xác định bởi các đối tượng mật độ cao trong đó mật độ cao
là các điểm cực đại của hàm mật độ toàn cục.
Định nghĩa hàm ảnh hưởng: Cho x, y là hai đối tượng trong không gian d
chiều ký hiệu là Fd, hàm ảnh hưởng của y lên x được xác định: , mà
được định nghĩa dưới dạng một hàm ảnh hưởng cơ bản

Hàm ảnh hưởng là hàm tuỳ chọn, miễn là nó được xác
định bởi khoảng cách
d(x,y) của các đối tượng, thí dụ như khoảng cách Euclide.
Khai phá dữ liệu
16
Phân cụm Web và các thuật toán phân cụm Web
Độ phức tạp tính toán của thuật toán DENCLUE là O(nlogn). Các
thuật toán dựa trên mật độ không thực hiện kỹ thuật phân mẫu trên tập dữ liệu
như trong các thuật toán phân cụm phân hoạch, vì điều này có thể làm tăng thêm
độ phức tạp do có sự khác nhau giữa mật độ của các đối tượng trong mẫu với mật
độ của toàn bộ dữ liệu.
2.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 để PCDL,
phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian. Thí dụ
như dữ liệu được biểu diễn dưới dạng cấu trúc hình học của đối tượng trong
không gian cùng với các quan hệ, các thuộc tính, các hoạt động của chúng. Mục
tiêu của phương pháp này là lượng hoá tập dữ liệu thành các ô (Cell), các ô này
tạo thành cấu trúc dữ liệu lưới, sau đó các thao tác PCDL làm việc với các đối
tượng trong từng ô này. Cách tiếp cận dựa trên lưới này không di chuyển các đối
tượng trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối tượng
trong một ô. Trong ngữ cảnh này, phương pháp này gần giống với phương pháp
phân cụm phân cấp nhưng chỉ có điều chúng không trộn các ô. Do vậy các cụm
không dựa trên độ đo khoảng cách (hay còn gọi là độ đo tương tự đối với các dữ
liệu không gian) mà nó được quyết định bởi một tham số xác định trước. Ưu điểm
của phương pháp PCDL dựa trên lưới là thời gian xử lý nhanh và độc lập với số
đối tượng dữ liệu trong tập dữ liệu ban đầu, thay vào đó là chúng phụ thuộc vào
số ô trong mỗi chiều của không gian lưới. Một thí dụ về cấu trúc dữ liệu lưới chứa
các ô trong không gian như hình sau:

Khai phá dữ liệu
17
Phân cụm Web và các thuật toán phân cụm Web
Hình 2.25. : Mô hình cấu trúc dữ liệu lưới
Một số thuật toán PCDL dựa trên cấu trúc lưới điển hình như : STING, CLIQUE,

2.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.
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,… .
Các đối tượng dữ liệu lần lượt được chèn vào lưới và các tham số thống kê
ở trên được tính trực tiếp thông qua các đối tượng dữ liệu này. Các truy vấn
không gian được thực hiện bằng cách xét các cell thích hợp tại mỗi mức của phân
cấp. Một truy vấn không gian được xác định như là một thông tin khôi phục lại
của dữ liệu không gian và các quan hệ của chúng. STING có khả năng mở rộng
cao, nhưng do sử dụng phương pháp đa phân giải nên nó phụ thuộc chặt chẽ vào
Khai phá dữ liệu
18
Phân cụm Web và các thuật toán phân cụm Web
trọng tâm của mức thấp nhất. Đa phân giải là khả năng phân rã tập dữ liệu thành
các mức chi tiết khác nhau. Khi hoà nhập các cell của cấu trúc lưới để hình thành
các cụm, các nút của mức con không được hoà nhập phù hợp (do chúng chỉ tương
ứng với các cha của nó) và hình thù của các cụm dữ liệu khám phá được có các

biên ngang và dọc, theo biên của các cell. STING sử dụng cấu trúc dữ liệu lưới
cho phép khả năng xử lý song song, STING duyệt toàn bộ dữ liệu một lần nên độ
phức tạp tính toán để tính toán các đại lượng thống kê cho mỗi cell là O(n), trong
đó n là tổng số đối tượng. Sau khi xây dựng cấu trúc dữ liệu phân cấp, thời gian
xử lý cho các truy vấn là O(g) với g là tổng số cell tại mức thấp nhất (g<<n).
2.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. Các bước chính của thuật
toán như sau:
Hình 2.26. Thuật toán CLIQUE
Khai phá dữ liệu
19
Bước 1: Phân hoạch tập dữ liệu thành các hình hộp chữ 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).
Bước 2: Xác định không gian con chứa các cụm được sử dụng nguyên lý Apriori.
Bước 3: Hợp các hình hộp này tạo thành các cụm dữ liệu.
Bước 4: Xác định các cụm: Trước hết nó tìm các cell đặ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.
Phân cụm Web và các thuật toán phân cụm Web
Hình 2.27. Quá trình nhận dạng các ô của CLIQUE
CLIQUE có khả năng áp dụng tốt đối với dữ liệu đa chiều, nhưng nó lại rất
nhạy cảm với thứ tự của dữ liệu vào, độ phức tạp tính toán của CLIQUE là O(n).
2.5. Phân cụm dữ liệu dựa trên mô hình
Phương pháp này cố gắng khám phá các phép xấp xỉ tốt của các tham số
mô hình sao cho khớp với dữ liệu một cách tốt nhất. Chúng có thể sử dụng chiến
lược phân cụm phân hoạch hoặc chiến lược phân cụm phân cấp, dựa trên cấu trúc
hoặc mô hình mà chúng giả định về tập dữ liệu và cách mà chúng tinh chỉnh các

mô hình này để nhận dạng ra các phân hoạch.
Phương pháp PCDL 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,
2.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
Khai phá dữ liệu
20
Phân cụm Web và các thuật toán phân cụm Web
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 (các mô hình phụ thuộc vào các biến tiềm ẩn chưa
được quan sá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. EM gán các đối tượng cho các cụm đã cho theo xác suất
phân phối thành phần của đối tượng đó. Phân phối xác suất thường được sử dụng
là phân phối xác suất Gaussian với mục đích là khám phá lặp các giá trị tốt cho
các tham số của nó bằng hàm tiêu chuẩn là hàm logarit khả năng của đối tượng dữ
liệu, đây là hàm tốt để mô hình xác suất cho các đối tượng dữ liệu.
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).
Cụ thể thuật toán EM ở bước lặp thứ t thực hiện các công việc sau:
1) 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:
2) Bước M: Đánh giá xác suất π
EM có thể khám phá ra nhiều hình dạng cụm khác nhau, tuy nhiên do thời
gian lặp của thuật toán khá nhiều nhằm xác định các tham số tốt nên chí phí tính
toán của thuật toán là khá cao. Đã có một số cải tiến được đề xuất cho EM dựa
trên các tính chất của dữ liệu: có thể nén, có thể sao lưu trong bộ nhớ và có thể

huỷ bỏ. Trong các cải tiến này, các đối tượng bị huỷ bỏ khi biết chắc chắn được
nhãn phân cụm của nó, chúng được nén khi không bị loại bỏ và thuộc về một cụm
quá lớn so với bộ nhớ và chúng sẽ được lưu lại trong các trường hợp còn lại.
2.5.2. Thuật toán COBWEB
COBWEB được đề xuất bởi Fisher năm 1987. Các đối tượng đầu vào của
thuật toán được mô tả bởi cặp thuộc tính-giá trị, nó thực hiện phân cụm phân cấp
bằng cách tạo cây phân lớp, các cấu trúc cây khác nhau.
Khai phá dữ liệu
21
Phân cụm Web và các thuật toán phân cụm Web
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. Từ đó cấu trúc cây được hình
thành dựa trên phép đo độ tương tự mà phân loại tương tự và phi tương tự, cả hai
có thể mô tả phân chia giá trị thuộc tính giữa các nút trong lớp.
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.
Các bước chính của thuật toán:
1) Khởi tạo cây bắt đầu bằng một nút rỗng.
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.
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.
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.
Tại mỗi nút, nó xem xét 4 khả năng xảy ra (Insert, Create, Merge, Split) và
lựa chọn một khả năng có hàm giá trị CU đạt được tốt nhất của quá trình.
Một số hạn chế của COBWEB là nó thừa nhận phân bố xác suất trên các
thuộc tính đơn lẻ là độc lập thống kê và chi phí tính toán phân bố xác suất của các
cụm khi cập nhật và lưu trữ là khá cao.
Các phương pháp cải tiến của thuật toán COBWEB là CLASSIT,
AutoClass.
KẾT LUẬN

Lĩnh vực khai phá Web là một vấn đề khá mới mẽ, rất quan trọng và khó,
bên cạnh những kết quả nghiên cứu đã đạt được nó đã đặt ra những thách thức lớn
đối với các nhà nghiên cứu. Khai phá Web là một lĩnh vực đầy triển vọng, phức
tạp và còn là vấn đề mở. Hiện chưa có một thuật toán và mô hình biểu diễn dữ
liệu tối ưu trong khai phá dữ liệu Web.
Mặc dù đã cố gắng, nỗ lực hết mình song do thời gian nghiên cứu, trình độ
của bản thân có hạn và điều kiện nghiên cứu còn nhiều hạn chế nên nhóm chúng
em không thể tránh khỏi những khuyết thiếu và hạn chế, chúng em rất mong nhận
được những góp ý, nhận xét quý báu của thầy và bạn bè để bài báo cáo của nhóm
chúng em được hoàn hiện hơn.
Khai phá dữ liệu
22
Phân cụm Web và các thuật toán phân cụm Web
HƯỚNG PHÁT TRIỀN
Đây là một đề tài có tính thực tế. Với nhiệm vụ nghiên cứu của đè tài đã đáp
ứng được một số yêu cầu cơ bản của hệ thống. Tuy nhiên để trở thành một ứng
dụng thưc tế cho người sử dụng thì đòi hỏi cần thêm nhiều chức năng khác do đó
hướng phát triển của đề tài như sau:
- Tăng tốc độ chỉ mục
- Sử dụng thuật toán phân cụmn để làm tăng tốc độ tìm kiếm
- Thêm các chức năng thu thập tài liệu định kì
TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt
[1] Cao Chính Nghĩa, “Một số vấn đề về phân cụm dữ liệu”, Luận văn thạc sĩ,
Trường Đại học Công nghệ, ĐH Quốc gia Hà Nội, 2006.
[2] Hoàng Hải Xanh, “Về các kỹ thuật phân cụm dữ liệu trong data mining”,
luận văn thạc sĩ, Trường ĐH Quốc Gia Hà Nội, 2005
[3] Hoàng Thị Mai, “Khai phá dữ liệu bằng phương pháp phân cụm dữ liệu”,
Luận văn thạc sĩ, Trường ĐHSP Hà Nội, 2006.
Tài liệu tiếng Anh

[4] Athena Vakali, Web data clustering Current research status & trends,
Aristotle University,Greece, 2004.
[5] Bing Liu, Web mining, Springer, 2007.
Khai phá dữ liệu
23
Phân cụm Web và các thuật toán phân cụm Web
[6] Brij M. Masand, Myra Spiliopoulou, Jaideep Srivastava, Osmar R. Zaiane,
Web Mining for Usage Patterns & Profiles, ACM, 2002.
[7] Filippo Geraci, Marco Pellegrini, Paolo Pisati, and Fabrizio Sebastiani,
A scalable algorithm for high-quality clustering of Web Snippets, Italy, ACM,
2006.
[8] Giordano Adami, Paolo Avesani, Diego Sona, Clustering Documents in a
Web Directory, ACM, 2003.
Khai phá dữ liệu
24

×