CÀI ĐẶT GIẢI THUẬT K-MEANS CHO BÀI TOÁN GOM CỤM VĂN BẢN

16 1.7K 5
CÀI ĐẶT GIẢI THUẬT K-MEANS CHO BÀI TOÁN GOM CỤM VĂN BẢN

Đ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN LỚP CAO HỌC KHÓA 6 CÀI ĐẶT GIẢI THUẬT K-MEANS CHO BÀI TOÁN GOM CỤM VĂN BẢN HVTH: Phạm Nguyễn Trường An MSHV: CH1101062 GVHD: PGS. TS. ĐỖ PHÚC Báo cáo cuối kỳ KHAI PHÁ DỮ LIỆU Phạm Nguyễn Trường An Khai phá dữ liệu Mục lục I.Đặt vấn đề 3 1.Giới thiệu tổng quan 3 a.Bài toán gom cụm 3 b.Đặc điểm của bài toán gom cụm 4 2.Đặt vấn đề gom cụm văn bản 4 II.Giải thuật K-Means 5 1.Ý tưởng chính: 5 2.Ví dụ minh họa thuật toán K-Means: 6 3.Đặc điểm thuật toán K-Means 11 III.Áp dụng giải thuật K-Means cho văn bản 11 IV.Cài đặt và thử nghiệm 13 1.Cách thức thử nghiệm 13 2.Chương trình thử nghiệm 13 V.Kết luận 15 VI.TÀI LIỆU THAM KHẢO: 16 GVHD: PGS.TS. ĐỖ PHÚC Trang 2/16 Phạm Nguyễn Trường An Khai phá dữ liệu I. Đặt vấn đề. 1. Giới thiệu tổng quan a. Bài toán gom cụm Phân cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các phương pháp học không giám sát (Unsupervised Learning) trong máy học (Machine Learning). Có rất nhiều định nghĩa khác nhau về kỹ thuật này, nhưng về bản chất ta có thể hiểu phân cụm là các qui trình tìm cách nhóm các đối tượng đã cho vào các cụm (clusters), sao cho các đối tượng trong cùng 1 cụm tương tự (similar) nhau và các đối tượng khác cụm thì không tương tự (Dissimilar) nhau. Trong nhiều tình huống thực tế ta có thể bắt gặp vấn đề gom cụm. Vấn đề này đã xuất hiện từ lâu, vào những năm 60 thế kỷ trước mới được chú ý và nghiên cứu bằng phương pháp toán học. Ngày nay phạm vi ứng dụng của bài toán chia côm bao gồm nhiều lĩnh vực, sinh học, tâm lý học, y học, kỹ thuật, cho đến kinh tế tiếp thị, v. v… Ví dụ: 1. (Y học) Có một ca ngộc độc thực phẩm và rất nhiều bệnh nhân cùng nhập viện một lúc. Dựa trên các triệu chứng lâm sàn cần phân bệnh nhân thành hai nhóm: nhóm đặc biệt nghiêm trọng và nhóm ngộ độc nhẹ để có thể nhanh chóng phân tuyến cho bệnh nhân được điều trị kịp thời. 2. (Kinh tế) Với kết quả kiểm toán cuối năm, cần phân các công ty con thành hai nhóm làm ăn thua lỗ và nhóm trên đà phát triển để có cách phân bố vốn đầu tư hợp lý., v.v Ta phân biệt kỹ thuật gom cụm với kỹ thuật phân lớp (classification) vốn thuộc lớp các phương pháp học có giám sát (Supervised Learning). Trong kỹ thuật phân lớp, yêu cầu được là với một tập dữ liệu đã được gán nhãn vào từng lớp hoặc cụm cụ thể, GVHD: PGS.TS. ĐỖ PHÚC Trang 3/16 Phạm Nguyễn Trường An Khai phá dữ liệu ta cần xác định một mẫu dữ liệu hoàn toàn mới thuộc lớp hay cụm nào. Việc gán nhãn phân lớp cho dữ liệu sẵn có có thể được xác định bằng chính phương pháp gom cụm hoặc bằng kinh nghiệm chuyên gia. Tuy một số giải thuật gom cụm có thể được chỉnh sửa để thực hiện việc phân lớp nhưng thường chúng không hiệu quả bằng các thuật toán phân lớp vốn được thiết kế riêng cho kỹ thuật đặc thù này. b. Đặc điểm của bài toán gom cụm Một phương pháp gom cụm được đánh giá là tốt nếu như nó tạo ra các cụm có chất lượng cao với tương tự cao cho trong lớp ( intra- class), tương tự thấp giữa các lớp ( inter- class). Vì thế ta có thể thấy chất lượng của kết quả gom cụm phụ thuộc vào độ đo tương tự sử dụng và việc cài đặt độ đo tương tự này. Ngoài ra, chất lượng của phương pháp gom cụm cũng được đo bởi khả năng phát hiện các mẫu bị che ( hidden patterns). Trong khai phá dữ liệu đôi khi ta có yêu cầu sau đối với việc gom cụm: • Scalability: Có thể thay đổi kích cỡ. • Khả năng làm việc với các loại thuộc tính khác nhau. • Khám phá ra các cụm có hình dạng bất kì. • Các yêu cầu tối thiểu cho tri thức lĩnh vực nhằm xác định các tham biến nhập • Khả năng làm việc với dữ liệu có chứa nhiễu ( outliers). • Không nhạy cảm với thứ tự các bản ghi nhập vào. • Khả năng làm việc với dữ liệu nhiều chiều. • Có thể diễn dịch và khả dụng 2. Đặt vấn đề gom cụm văn bản. Dựa vào những lý thuyết chung nói trên về bài toán gom cụm, tiểu luận này đặt ra yêu cầu giải quyết vấn đề gom cụm văn bản dựa trên ý tưởng về tình huống giả định trong thực tế như sau: Có một lượng rất lớn hồ sơ trong kho lưu trữ cần được truy lục để xử lý. Biết rằng số hồ sơ này có nội dung thuộc về k nhóm phân biệt, mỗi nhóm chỉ có thể được xử lý bởi các chuyên gia về đúng lĩnh vực của nhóm đó. Yêu cầu cần một thuật toán có thể nhanh chóng phân số hồ sơ trên thành k nhóm dựa trên GVHD: PGS.TS. ĐỖ PHÚC Trang 4/16 Phạm Nguyễn Trường An Khai phá dữ liệu nội dung để có thể chuyển giao cho các chuyên gia phù hợp xử lý. Tình huống giả định trên được chọn vì mức độ gần gũi với thực tế cũng như độ khó tương đối phù hợp với tiểu luận. Tình huống đặt ra yêu cầu phải hiểu và cài đặt được một thuật toán gom cụm văn bản, cũng như một phương án tính khoảng cách giữa các đối tượng dữ liệu là văn bản dựa trên nội dung của chúng. Trước khi đi vào phần chi tiết của tiểu luận chúng ta sẽ phát biểu lại yêu cầu của tình huống trên một cách tường minh hơn: Input: – Một tập các file text thô (plain text) không có cấu trúc. – Số lượng các cụm cần phải phân các file text thô này Output: – Danh sách các file text của từng cụm. Mỗi file chỉ xuất hiện trong duy nhất một cụm. II. Giải thuật K-Means. 1. Ý tưởng chính: K-Means[1] là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật phân cụm. Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối tượng (objects) đã cho vào K cụm (K là số các cụm được xác đinh trước, K nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm (centroid ) là nhỏ nhất. Thuật toán K-Means thực hiện qua các bước chính sau: 1. Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster). Mỗi cụm được đại diện bằng các tâm của cụm. 2. Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng khoảng cách Euclidean) 3. Nhóm các đối tượng vào nhóm có tâm gần đối tượng nhất 4. Xác định lại tâm mới cho các nhóm GVHD: PGS.TS. ĐỖ PHÚC Trang 5/16 Phạm Nguyễn Trường An Khai phá dữ liệu 5. Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của các đối tượng. Lưu đồ thuật toán K-Means 2. Ví dụ minh họa thuật toán K-Means: Giả sử ta có 4 loại thuốc A,B,C,D, mỗi loại thuộc được biểu diễn bởi 2 đặc trưng X và Y như sau. Mục đích của ta là nhóm các thuốc đã cho vào 2 nhóm (K=2) dựa vào các đặc trưng của chúng. Bước 1. Khởi tạo tâm (centroid) cho 2 nhóm. Giả sử ta chọn A là tâm của nhóm GVHD: PGS.TS. ĐỖ PHÚC Trang 6/16 Phạm Nguyễn Trường An Khai phá dữ liệu thứ nhất (tọa độ tâm nhóm thứ nhất c1(1,1)) và B là tâm của nhóm thứ 2 (tạo độ tâm nhóm thứ hai c2 (2,1)). Bước 2. Tính khoảng cách từ các đối tượng đến tâm của các nhóm (Khoảng cách Euclidean) Mỗi cột trong ma trận khoảng cách (D) là một đối tượng (cột thứ nhất tương ứng với đối tượng A, cột thứ 2 tương ứng với đối tượng B,…). Hàng thứ nhất trong ma trận khoảng cách biểu diễn khoảng cách giữa các đối tượng đến tâm của nhóm thứ nhất (c1) và hàng thứ 2 trong ma trận khoảng cách biểu diễn khoảng cách của các đối tượng đến tâm của nhóm thứ 2 (c2). Ví dụ, khoảng cách từ loại thuốc C=(4,3) đến tâm c1(1,1) là 3.61 và đến tâm GVHD: PGS.TS. ĐỖ PHÚC Trang 7/16 Phạm Nguyễn Trường An Khai phá dữ liệu c2(2,1) là 2.83 được tính như sau: Bước 3. Nhóm các đối tượng vào nhóm gần nhất Ta thấy rằng nhóm 1 sau vòng lặp thứ nhất gồm có 1 đối tượng A và nhóm 2 gồm các đối tượng còn lại B,C,D. Bước 5. Tính lại tọa độ các tâm cho các nhóm mới dựa vào tọa độ của các đối tượng trong nhóm. Nhóm 1 chỉ có 1 đối tượng A nên tâm nhóm 1 vẫn không đổi, c1(1,1). Tâm nhóm 2 được tính như sau: GVHD: PGS.TS. ĐỖ PHÚC Trang 8/16 Phạm Nguyễn Trường An Khai phá dữ liệu Bước 6. Tính lại khoảng cách từ các đối tượng đến tâm mới Bước 7. Nhóm các đối tượng vào nhóm Bước 8. Tính lại tâm cho nhóm mới GVHD: PGS.TS. ĐỖ PHÚC Trang 9/16 Phạm Nguyễn Trường An Khai phá dữ liệu Bước 8. Tính lại khoảng cách từ các đối tượng đến tâm mới Bước 9. Nhóm các đối tượng vào nhóm GVHD: PGS.TS. ĐỖ PHÚC Trang 10/16 [...]... của thuật toán K-Means không bao giờ thỏa Để đảm bảo tính dừng của thuật toán, chúng ta có thể đơn giản hóa điều kiện dừng bằng cách giới hạn số lần lặp của thuật toán hoặc xác định một ngưỡng chặn dưới ε sao cho nếu sau mỗi lần lặp không có tâm cụm nào dịch chuyển một khoảng cách nhỏ hơn ε thì thuật toán sẽ dừng III Áp dụng giải thuật K-Means cho văn bản Để áp dụng được giải thuật K-Means cho văn bản, ... nào của các đối tượng) nên thuật toán dừng và kết quả phân nhóm như sau: 3 Đặc điểm thuật toán K-Means Thuật toán K-Means có ưu điểm là đơn giản, dễ hiểu và cài đặt Tuy nhiên, một số hạn chế của K-Means là hiệu quả của thuật toán phụ thuộc vào việc chọn số nhóm K (phải xác định trước) và chi phí cho thực hiện vòng lặp tính toán khoảng cách lớn khi số cụm K và dữ liệu phân cụm lớn Ngoài ra, khi thao... đã trình bày được hiểu biết về bài toán gom cụm trong khai phá dữ liệu và đi sâu trình bày một thuật toán gom cụm tiêu biểu – thuật toán K-Means Tiểu luận cũng trình bày cách vận dụng linh hoạt thuật toán K-Means vào việc xử lý một tình huống giả định trong thực tế mà chưa được đề cập trong tài liệu môn học Qua đó nêu bật được tính mềm dẻo dễ ứng dụng của thuật toán K-Means Nộp kèm tiểu luận là chương... được đặt tên theo quy tắc [Tên chủ đề].DTR_[ngày đăng bài] _[Mã số bài báo].txt Nội dung file là toàn văn bài báo bằng tiếng Việt (bao gồm tiêu đề) đã được xử lý đưa về dạng text thô Chúng ta tiến hành cài đặt giải thuật K-Means với số cụm (K) là 2 và quan sát kết quả gom cụm của K-Means so với kết quả phân loại từ trước của báo vnexpress.net để có thể có một cái nhìn tương đối về hiệ quả của thuật toán. .. cần một phương pháp tính khoảng cách giữa các văn bản dựa trên nội dung của chúng Một trong những phương pháp tiếp cận phổ biến cho việc này là chuyển hóa văn bản thành các điểm trên không gian tọa độ Giả sử ta có tập hợp N gồm tất cả các từ (term) trong tất cả các văn bản cần gom cụm Ta có thể xây dựng một không gian tọa độ |N| chiều, và như thế mỗi văn bản sẽ được biểu diễn thành một điểm trong không... điều hành khác thuộc họ Unix Trở thành một ngôn ngữ lý tưởng cho việc viết các ứng dụng đa nền tảng Giao diện của ứng dụng thử nghiệm trên nền tảng linux Chương trình cài đặt chính hai thao tác quan trọng là bước tiền xử lý, phân tích các bài báo trong dữ liệu thử nghiệm để rút trích và xây dựng đặc trưng dựa trên nội dung Sau đó thuật toán K-Means sẽ được áp dụng trên dữ liệu đã qua tiền xử lý và GVHD:... trưng nhất nếu có thể IV Cài đặt và thử nghiệm 1 Cách thức thử nghiệm Dữ liệu được chọn để tiến hành thử nghiệm sẽ là các bài báo được tải từ trang báo điện tử vnexpress.net Các bài báo này đã được phân loại sẵn một cách tương đối vào những chuyên mục trên trang vnexpress.net vì vậy dữ liệu thử nghiệm sẽ bao gồm 50 bài báo được rút trích ngẫu nhiên trong chuyên mục Âm nhạc và 50 bài báo được rút trích... phân loại, tại bước tiền xử lý văn bản, ta loại bỏ các từ không có ý nghĩa cho phân loại văn bản Thông thường những từ này là những từ có số lần xuất hiện quá ít hoặc quá nhiều Tuy vậy việc loại bỏ những từ này có thể không làm giảm đáng kể số lượng các đặc trưng Với số lượng các đặc trưng lớn bộ phân loại sẽ học chính xác tập tài liệu huấn luyện, tuy vậy nhiều trường hợp cho kết quả dự đoán kém chính... Qua đó nêu bật được tính mềm dẻo dễ ứng dụng của thuật toán K-Means Nộp kèm tiểu luận là chương trình thử nghiệm và dữ liệu thử nghiệm đã được chuẩn bị từ trước phù hợp với bài toán đặt ra trong tiểu luận Chương trình được cài đặt bằng một ngôn ngữ và thư viện lập trình đa nền tảng, được đóng gói hoàn chỉnh để có thể chạy và thể hiện kết quả thử nghiệm trên nhiều nền tảng hệ điều hành máy tính khác... biểu diễn thành một điểm trong không gian với giá trị của những tọa độ là trọng số của từ trong văn bản đó Chúng ta có một số cách tính trọng số thông dụng: 1 Tần suất từ (term frequency - TF): Trọng số từ là tần suất xuất hiện của từ đó trong tài liệu Cách định trọng số này nói rằng một từ là quan trọng chomột tài liệu nếu nó xuất hiện nhiều lần trong tài liệu đó 2 TFIDF: Trọng số từ là tích của tần . phá dữ liệu Mục lục I .Đặt vấn đề 3 1.Giới thiệu tổng quan 3 a .Bài toán gom cụm 3 b.Đặc điểm của bài toán gom cụm 4 2 .Đặt vấn đề gom cụm văn bản 4 II .Giải thuật K-Means 5 1.Ý tưởng chính:. 5 1.Ý tưởng chính: 5 2.Ví dụ minh họa thuật toán K-Means: 6 3.Đặc điểm thuật toán K-Means 11 III.Áp dụng giải thuật K-Means cho văn bản 11 IV .Cài đặt và thử nghiệm 13 1.Cách thức thử nghiệm. sao cho nếu sau mỗi lần lặp không có tâm cụm nào dịch chuyển một khoảng cách nhỏ hơn ε thì thuật toán sẽ dừng. III. Áp dụng giải thuật K-Means cho văn bản. Để áp dụng được giải thuật K-Means cho

Ngày đăng: 09/04/2015, 22:42

Từ khóa liên quan

Mục lục

  • I. Đặt vấn đề.

    • 1. Giới thiệu tổng quan

      • a. Bài toán gom cụm

      • b. Đặc điểm của bài toán gom cụm

      • 2. Đặt vấn đề gom cụm văn bản.

      • II. Giải thuật K-Means.

        • 1. Ý tưởng chính:

        • 2. Ví dụ minh họa thuật toán K-Means:

        • 3. Đặc điểm thuật toán K-Means

        • III. Áp dụng giải thuật K-Means cho văn bản.

        • IV. Cài đặt và thử nghiệm.

          • 1. Cách thức thử nghiệm.

          • 2. Chương trình thử nghiệm.

          • V. Kết luận

          • VI. TÀI LIỆU THAM KHẢO:

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

Tài liệu liên quan