Phân cụm Web và các thuật toán phân cụm Web

23 668 4
Phân cụm Web và các thuật toán phân cụm Web

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Phân cụm Web và các thuật toán phân cụm Web MỤC LỤC 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 Khai phá dữ liệu 1 Phân cụm Web và các thuật toán phân cụm Web MỞ ĐẦU 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 độ Khai phá dữ liệu 2 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 lưới - 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 3 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 4 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 5 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 6 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 7 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ó 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ử Khai phá dữ liệu 8 Phân cụm Web và các thuật toán phân cụm Web 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 Nhược điểm: Khai phá dữ liệu 9 Phân cụm Web và các thuật toán phân cụm Web 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 10 [...]... 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 20 Phân cụm Web và các thuật toán phân cụm Web Thuật toán. .. nhằm xác định các Khai phá dữ liệu 14 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... 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... 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 19 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. .. 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... pháp đa phân giải nên nó phụ thuộc chặt chẽ vào Khai phá dữ liệu 17 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... ≥ 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 13 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... (g . Phân cụm Web và các thuật toán phân cụm Web MỤC LỤC 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. 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. độ Khai phá dữ liệu 2 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 lưới - 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ữ

Ngày đăng: 06/04/2015, 20:50

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan