Đề tài Phân cụm dữ liệu trong Dataming

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ền thô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ông ngừ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òn cầ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à kho thô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ứu phổ 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át hiệ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ật chí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ống liệ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ạp như 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 để áp dụng chúng trong phân cụm dữ liệu.

doc48 trang | Chia sẻ: tuandn | Lượt xem: 3904 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Phân cụm dữ liệu trong Dataming, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC Chương 1: PHÂN CỤM DỮ LIỆU Khai phá dữ liệu và phân cụm dữ liệu Khai phá dữ liệu Giới thiệu chung Khai phá dữ liệu là gì Quá trình khai phá tri thức trong cơ sơ dữ liệu Các dạng dữ liệu có thể khai phá được Phân cụm dữ liệu Các đặc trưng cơ bản để phân cụm Các phương pháp phân cụm dữ liệu Phương pháp dựa trên phân hoạch Phương pháp gom cụm k-means Thuật toán PAM Thuật toán CLARA Thuật toán CLARANS Nhận xét chung về các thuật toán phân hoạch Phương pháp dựa trên phân cấp Thuật toán BIRCH Thuật toán CURE Phương pháp dựa trên mật độ Thuật toán DBSCAN Thuật toán OPTICS Một số thuật toán phân cụm dữ liệu đặc thù Thuật toán STING Thuật toán CRIQUE Thuật toán EM Phân cụm dữ liệu nhờ mạng nơ-ron Chương 2: MẠNG NƠ-RON NHÂN TẠO Mang nơ-ron sinh học Khái niệm Mô hình Mạng nơ-ron nhân tạo 2.1 Khái niệm 2.2 Đặc điểm 2.3 Cấu trúc mạng nơ-ron nhân tạo 2.3.1 Nút 2.3.2 Phân loại cấu trúc mạng nơ-ron 2.3.3 Các hàm hoạt động 2.4 Kiến trúc mạng nơ-ron 2.5 Một số ứng dụng của mạng nơ-ron 2.5.1 Mạng nơ-ron trong phân lớp 2.5.2 Mạng nơ-ron trong nhận dạng 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 Lờ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ền thô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ông ngừ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òn cầ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à kho thô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ứu phổ 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át hiệ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ật chí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ống liệ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ạp như 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 để áp dụ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 Giới thiệu chung Nhữ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ác cô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ượng thô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 đến khá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ượng ngà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át triể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ểu biế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ự động khai 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ản xuấ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ùng nhữ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ột lĩ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, khai phá 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ài chính, điều trị y học, viễn thông, tin- sinh,… 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ác nhau về khai phá dữ liệu. Tuy nhiên ở mức độ trừu tượng nhất định chúng ta định nghĩ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 và 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 trong quá trình KDD. 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ác ngà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ính toá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ác tậ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ệu nhiễ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ính tổ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,…). Sau bướ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ạng thuậ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ốn nhiề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ũi vớ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: 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 Hình 11. Các bước thực hiện trong quá trình khai phá tri thức 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 trong khai 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ác phầ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ột tậ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ột tậ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ào mộ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ẽ mua thêm son”. Luật kết hợp được ứng dụng nhiều trong kinh doanh, y học, tin sinh, tài chí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ận nà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. 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ất nhiề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ệu dạ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ằm nắ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 tin như 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 phá 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ằm khai 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 đóng vai 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ông hoặ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ạng hỏ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ản xuấ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ững hỏ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ông thể 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ống vẫ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ú,…trong tậ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ối cá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ức chú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ới nhau 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 bao gồ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àm cho 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ẵn sà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. 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ót củ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 bao hà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ài nguyê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ân biệ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ộc và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ần mề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ục tiê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ự hay không tương tự giữa hai vector đặc trưng. Phải đảm bảo rằng tất cả các vector đặc trư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ưng nà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ủa chuyê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 gia cho 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ệt nhằ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 tra tí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 định phù hợp. Giải thích kết quả: trong nhiều trường hợp, chuyên gia trong lĩnh vự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ân tí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 khuynh hướ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ách hợ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ậy tính chủ quan (của chuyên gia) là một thực tế mà ta phải chấp nhận. Data * ** ** * * * ** * * ** * * ** * * ** * ** * ** * Data for process Algorithm results 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ả Hình 12. 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 Cá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 đối tượ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 được chọ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. Các phương pháp: Phương pháp k-means (MacQueen’ 67): mỗi cụm được đại diện bằng tâm của cụm (centroid). k- medoids (Kuafman & Roosseew’87): mỗi cụm được đại diện bằng một trong các đối tượng của cụm (medoids) 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ệu trong 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 ra củ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ô hì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ác quan đ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: Phân hoạch đối tượng thành k tập con/ cụm khác rỗng. Tính các điểm hạt giống làm centroid (trung bình của các đối tượng của cụm) cho từng cụm trong cụm hiện hành. Gán từng đối tượng vào cụm có centroid gần nhất. 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; 3. Write (“Nhập số cụm dữ liệu”);readln(k); 4. MSE = + ∞; 5. For i = 1 to k do mi = xi+(i-1)*[n/k]; //Khởi tạo k trọng tâm 6. Do{ 7. OldMSE = MSE; 8. MSE' = 0; 9. For j = 1 to k do 10. {m'j =0; n'j = 0;} 11. Endfor; 12. For i = 1 to n do 12. For j = 1 to k do Tính toán khoảng cách Euclide 14. bình phương : D2(xi, mj); 15. Endfor 16. Tìm trọng tâm gần nhất mh tới Xi. 17. m'h =m'h + Xi; n'h = n'h + 1; 18. MSE' = MSE' + D2(xi, mh); 19. Endfor 20. nj = max (n'j, 1); mj =m'j / nj ; 21. Endfor 22. MSE = MSE'; 23} while (MSE < OldMSE) END; Thuật tóan k-means chi tiết Các khái niệm biến và hàm sử dụng trong thuật toán k-means trên: MSE (Mean Squared Error) được gọi là sai số bình phương trung bình hay còn gọi là hàm tiêu chuẩn, MSE dùng