KỸ THUẬT PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU

32 701 0
KỸ THUẬT PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU

Đ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 TP.HCM Trường Đại Học Công Nghệ Thông Tin BÀI TIỂU LUẬN MÔN KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU ĐỀ TÀI: KỸ THUẬT PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU GVHD: PGS.TS Đỗ Phúc Người thực hiện: Tô Hồ Hải Mã số: CH1101011 Lớp: Cao học khóa 6 TP.HCM – 11/2012 MỤC LỤC  MỤC LỤC 1 LỜI NÓI ĐẦU 2 TỔNG QUAN 3 PHẦN I: TỔNG QUAN PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 5 PHẦN II. KỸ THUẬT GOM CỤM – PHƯƠNG PHÁP GOM CỤM BẰNG K- MEANS 13 5.2. Minh họa thuật giải K-Means: 16 PHẦN III. CÀI ĐẶT MINH HỌA THUẬT TOÁN 20 K-MEANS 20 1. Giao diện: 20 2. Thực hiện chương trình: 20 } 29 PHẦN IV. TỔNG KẾT 30 TÀI LIỆU THAM KHẢO 31 Trang 1 LỜI NÓI ĐẦU Trong chương trình cao học ngành công nghệ thông tin, nhóm các môn học bắt buộc là bảy môn. Trong đó có hai môn là “Cơ sở dữ liệu (Nâng cao)” và “Khai thác dữ liệu và kho dữ liệu” em được thầy Đỗ Phúc phụ trách. Khi học với thầy em nhận thấy rằng: thầy có kiến thức rất sâu rộng ở nhiều lĩnh vực nên luôn tạo cho bài giảng của mình một cách rất sinh động, tự nhiên. Thầy dẫn dắt chúng em đi sâu vào bài học bằng những kiến thức, những mẩu chuyện, những ví dụ rất quen thuộc và cách thầy đan xen chúng vào nhau thật là khéo léo. Và điều quan trọng hơn cả là cách thầy truyền cảm hứng học tập cho chúng em và chỉ cách cho chúng em phải tự học, nghiên cứu như thế nào để được kết quả tốt nhất. Bên cạnh đó em cũng đúc kết được thêm một số kinh nghiệm, kỹ năng rất quan trọng, cần thiết và nhất là phần kiến thức vô cùng bổ ích mà thầy đã truyền đạt và định hướng cho chúng em. Em xin gởi lời cám ơn đến thầy Đỗ Phúc, thầy đã rất tận tâm, truyền đạt rất nhiều kiến thức, ý tưởng mà em rất tâm đắc. Em chúc thầy cùng luôn khỏe mạnh và đạt nhiều thành quả trong công việc của mình. Trang 2 TỔNG QUAN Nhiều năm trở lại đây, với sự phát triển và ứng dụng của công nghệ thông tin vào nhiều lĩnh vực khác nhau như: kinh tế, y tế, xã hội, giáo dục, quân sự. . . Điều này cũng có nghĩa rằng lượng dữ liệu được các tổ chức sử dụng công nghệ thông tin thu thập và lưu trữ ngày một nhiều hơn. Nhưng trên thực tế thì lượng dữ liệu khổng lồ này lại không được sử dụng nhiều (chỉ khoảng 5% - 10%) vì nhiều nguyên nhân khác nhau. Lượng dữ liệu tái sử dụng thì rất ít nhưng chúng ta vẫn tiếp tục thu thập với ý nghĩ lo sợ rằng sẽ có bỏ qua phần nào đó quan trọng hoặc những dữ liệu này sẽ có lúc cần đến. Trong khi đó để thu thập lượng dữ liệu này cũng là một bài toán về kinh phí. Bên cạnh đó, vấn đề về kinh tế hiện nay cạnh tranh rất khốc liệt. Vì vậy, đối với những người làm kinh tế người ta rất 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ác phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được yêu cầu của thực tế. Từ đây phát triển ra một kỹ thuật mới đó là Kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD – Knowledge Discovery and Data Mining). Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên cứu, phát triển và ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới. Tại Việt Nam kỹ thuật này tương đối còn mới, tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng. Bước quan trọng nhất của quá trình này là Khai phá dữ liệu (Data Mining - DM), giúp người sử dụng thu được những tri thức hữu ích từ những CSDL hoặc các nguồn dữ liệu khổng lồ khác. Rất nhiều doanh nghiệp và tổ chức trên thế giới đã ứng dụng kỹ thuật khai phá dữ liệu vào hoạt động sản xuất kinh doanh của mình và đã thu được những lợi ích to lớn. Nhưng để làm được điều đó, sự phát triển của các mô hình toán học và các giải thuật hiệu quả là chìa khoá quan trọng. Và hiện nay có rất nhiều kỹ thuật được đưa ra để giải quyết vấn đề này. Trong bài tiểu luận này em xin trình một trong những cách mà em đã được học trong môn học Trang 3 “Khai phá dữ liệu và Kho dữ liệu” do thầy Đỗ Phúc phụ trách, đó là “Kỹ thuật phân cụm trong khai phá dữ liệu”. Trang 4 PHẦN I: TỔNG QUAN PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1. Giới thiệu chung. Trong những năm gần đây, sự phát triển mạnh mẽ của CNTT và ngành công nghiệp phần cứng đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăng nhanh một cách chóng mặt. Bên cạnh đó việc tin học hoá một cách ồ ạt và nhanh chóng các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo ra cho chúng ta một lượng dữ liệu lưu trữ khổng lồ. Hàng triệu CSDL đã được sử dụng trong các hoạt động sản xuất, kinh doanh, quản lí , trong đó có nhiều CSDL cực lớn cỡ Gigabyte, thậm chí là Terabyte. Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những kỹ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức có ích. Từ đó, các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền CNTT thế giới hiện nay. 2. Khái niệm khai phá dữ liệu Khai phá dữ liệu (Data Mining) là một khái niệm ra đời vào những năm cuối của thập kỷ 1980. Nó là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ liệu hay dùng để phân tích dữ liệu bán tự động hay giải thích dữ liệu trên các tập dữ liệu lớn… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: khai phá tri thức từ CSDL, trích lọc dữ liệu, phân tích dữ liệu/mẫu, khảo cổ dữ liệu, nạo vét dữ liệu. Nhiều người xem khai phá dữ liệu và một thuật ngữ thông dụng khác là phát hiện tri thức trong CSDL (Knowlegde Discovery in Databases - KDD) là như nhau. Tuy nhiên trên thực tế, khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình phát hiện tri thức trong CSDL. Có thể nói Data Mining là giai đoạn quan trọng nhất trong tiến Trang 5 trình phát hiện tri thức từ cơ sở dữ liệu, các tri thức này hỗ trợ trong việc ra quyết định trong khoa học và kinh doanh. 3. Các bước của quá trình khai phá dữ liệu: Nghiên cứu lĩnh vực Tạo tập dữ liệu đầu vào Tiền xử lý/làm sạch, mã hóa Rút gọn/chiều Chọn tác vụ khai thác dữ liệu Chọn các thuật giải khai thác dữ liệu Khai thác dữ liệu: Tìm kiếm tri thức Đánh giá mẫu tìm được Biểu diễn tri thức Sử dụng các tri thức vừa khám phá 4. Một số kỹ thuật khai phá dữ liệu thông dụng: 4.1. Khai phá Luật kết hợp (Association Rules) - Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong CSDL. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được. - Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như marketing có chủ đích, phân tích quyết định, quản lí kinh doanh, … - Tiếp cận cho kỹ thuật này thường sử dụng thuật toán Apriori. - Nhiều bài báo đã được công bố về đề tài này 4.2. Khai phá luật Episode: - Các luật Episode mô tả quan hệ thời gian giữa các sự vật Trang 6 - Hai cách tiếp cận: * WINEPI với cửa sổ trượt * MINEPI với việc tìm sự xuất hiện nhỏ nhất - Mở rộng thuật toán tăng cường cho bài toán Sequential Pattern Mining 4.3. Gom cụm Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng. Phân cụm dữ liệu là một ví dụ của phương pháp học không giám sát. Không giống như phân loại dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện. Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát (learning by observation), trong khi phân loại dữ liệu là học bằng ví dụ (learning by example). Trong phương pháp này bạn sẽ không thể biết kết quả các cụm thu được sẽ như thế nào khi bắt đầu quá trình. Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thu được. Kỹ thuật phân cụm dữ liệu được sử dụng rất nhiều trong các ứng dụng về nhận dạng mẫu, phân loại email, phân loại khách hàng, phân đoạn thị trường… Ngoài ra phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác. 4.4. Phân lớp Bayes - Có thể dùng phân lớp và dự đoán để xác lập mô hình nhằm môtả các lớp quan trọng hay dự đoán khuynh hướng dữ liệu trong tương lai. - Phân lớp Bayes được triển khai rất rộng rãi trong Data Mining vì dễ hiểu, dễ triển khai. Tuy nhiên, phân lớp Bayes giả thiết rằng các biến trong mô hình là độc lập nhau. Nếu các biến không độc lập nhau thì phân lớp Bayes cho kết quả thiếu chính xác. Hiện nay có rất nhiều Data Mining Software triển khai phân lớp Bayes như Weka, XMMiner, StatSoft,… 4.5. Cây quyết định Trang 7 Giải thuật quy nạp cây ID3 (gọi tắt là ID3) là một giải thuật học đơn giản nhưng tỏ ra thành công trong nhiều lĩnh vực. ID3 là một giải thuật hay vì cách biểu diễn tri thức học được của nó, tiếp cận của nó trong việc quản lý tính phức tạp, heuristic của nó dùng cho việc chọn lựa các khái niệm ứng viên, và tiềm năng của nó đối với việc xử lý dữ liệu nhiễu. ID3 biểu diễn các khái niệm (concept) ở dạng các cây quyết định (decision tree). Biểu diễn này cho phép chúng ta xác định phân loại của một đối tượng bằng cách kiểm tra các giá trị của nó trên một số thuộc tính nào đó. Như vậy, nhiệm vụ của giải thuật ID3 là học cây quyết định từ một tập các ví dụ rèn luyện (training example) hay còn gọi là dữ liệu rèn luyện (training data). 4.6. Tập thô - Lý thuyết tập thô được nhà logoc học Balan Zdzilaw Pawlak đề xuất ra vào đầu những năm 80 của thế kỷ 19 - Nó cung cấp một công cụ để phân tích, suy diễn dữ liệu không chính xác để phát hiện ra mối quan hệ giữa các đối tượng và những tiềm ẩn trong dữ liệu. - Một hướng tiếp cận mới về tính không chắc chắn và không chính xác của dữ liệu . . . 5. Phân loại khai phá dữ liệu: 5.1 Khai phá dữ liệu mô tả: Kỹ thuật này có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có. - Cho biết điều gì là hữu ích có thể tìm thấy được trong dữ liệu - Giải thích dữ liệu đó Khai phá dữ liệu mô tả bao gồm các kỹ thuật: phân cụm (clustering), phân tích luật kết hợp (association rules) Trang 8 5.2 Khai phá dữ liệu dự báo: • Dựa trên dữ liệu quá khứ, dự báo tương lai • Xu thế phát triển! 6. Lợi thế của khai phá dữ liệu so với các phương pháp khác Khai phá dữ liệu là một lĩnh vực liên quan tới rất nhiều ngành học khác như: hệ CSDL, thống kê, Hơn nữa, tuỳ vào cách tiếp cận được sử dụng, khai phá dữ liệu còn có thể áp dụng một số kỹ thuật như mạng nơ ron, lý thuyết tập thô hoặc tập mờ, biểu diễn tri thức… Như vậy, khai phá dữ liệu thực ra là dựa trên các phương pháp cơ bản đã biết. Tuy nhiên, sự khác biệt của khai phá dữ liệu so với các phương pháp đó là gì? Tại sao khai phá dữ liệu lại có ưu thế hơn hẳn các phương pháp cũ? Ta sẽ lần lượt xem xét và giải quyết các câu hỏi này. 6.1 Học máy (Machine Learning): So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khai phá dữ liệu có thể sử dụng với các cơ sở dữ liệu thường động, không đầy đủ, bị nhiễu và lớn hơn nhiều so với các tập dữ liệu học máy điển hình. Trong khi đó phương pháp học máy chủ yếu được áp dụng trong các CSDL đầy đủ, ít biến động và tập dữ liệu không quá lớn. Thật vậy, trong học máy, thuật ngữ cơ sở dữ liệu chủ yếu đề cập tới một tập các mẫu được lưu trong tệp. Các mẫu thường là các vectơ với độ dài cố định, thông tin về đặc điểm, dãy các giá trị của chúng đôi khi cũng được lưu lại như trong từ điển dữ liệu. Một giải thuật học sử dụng tập dữ liệu và các thông tin kèm theo tập dữ liệu đó làm đầu vào và đầu ra biểu thị kết quả của việc học. Học máy có khả năng áp dụng cho cơ sở dữ liệu, lúc này, học máy sẽ không phải là học trên tập các mẫu nữa mà học trên tập các bản ghi của cơ sở dữ liệu. Tuy nhiên, trong thực tế, cơ sở dữ liệu thường động, không đầy đủ và bị nhiễu, lớn hơn nhiều so với các tập dữ liệu học máy điển hình. Các yếu tố này làm cho hầu hết các giải thuật học máy trở nên không hiệu quả. Khai phá dữ liệu lúc này sẽ xử lý các vấn đề vốn đã điển hình trong học máy và vượt quá khả năng của học máy, đó là sử dụng được các CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ hoặc biến đổi liên tục. Trang 9 [...]... cách tổng quan về phạm trù khai phá dữ liệu và giới thiệu một thuật toán để thực hiện công việc khai phá dữ liệu ở mức đơn giản Để tiến hành khai phá dữ liệu trong thực tế, đòi hỏi chúng ta phải qua rất nhiều công đoạn Độ chính xác phân lớp, phân loại phụ thuộc vào nhiều yếu tố như chất lượng dữ liệu, thuật toán cài đặt, phương pháp tính độ tương đồng của các đối tượng dữ liệu Ngoài ra, các giá trị... cho việc phân loại dữ liệu trên WWW để khai thác thông tin Như một hàm khai phá dữ liệu, phép phân tích cụm được dùng như là một công cụ độc lập để có thể nhìn thấu được bên trong sự phân bố dữ liệu, để quan sát các đặc điểm của mỗi cụm và tập trung trên một tập đặc biệt các cụm cho phép phân tích Trang 13 xa hơn Tiếp theo, nó phục vụ như là một bước tiền xử lý cho các giải thuật khác như phân loại... về lĩnh vực quan tâm  Các kết quả của phân tích thống kê có thể rất nhiều và khó có thể làm rõ được Các phương pháp thống kê cần có sự hướng dẫn của người dùng để xác định phân tích dữ liệu như thế nào và ở đâu Phương pháp thống kê là một trong những nền tảng lí thuyết của khai phá dữ liệu Sự khác nhau cơ bản giữa khai phá dữ liệu và thống kê ở chỗ khai phá dữ liệu là một phương tiện được dùng bởi... Vì vậy một số hướng phát triển nhằm nâng cao chất lượng và tốc độ phân lớp, phân loại: • Tiến hành cài đặt và tiếp tục nghiên cứu nhiều kỹ thuật khai phá dữ liệu hơn nữa, đặc biệt là triển khai giải quyết các bài toán cụ thể trong thực tế • Đây là bước khởi đầu trong quá trình tìm hiểu những vấn đề cần quan tâm khi giải quyết các bài toán khai phá dữ liệu trong thực tế • Mỗi giải thuật có một mức độ... kê Khai phá dữ liệu đã khắc phục được các yếu điểm trên của thống kê, tự động quá trình thống kê một cách hiệu quả, vì thế giảm bớt công việc của người dùng đầu cuối, tạo ra một công cụ dễ sử dụng hơn 7 Các ứng dụng và thách thức của việc khai mỏ dữ liệu 7.1 Các ứng dụng của Khai mỏ dữ liệu: Trang 10 Các kỹ thuật khai mỏ dữ liệu có thể được áp dụng vào trong nhiều lĩnh vực: • Thông tin thương mại: Phân. .. tính), khoảng cách được định nghĩa: d (i , j ) = p−m p 3.4 Kiểu symbol 4 Phân loại các phương pháp phân cụm chính - Các phương pháp phân chia - Các phương pháp phân cấp - Các phương pháp phân cụm dựa trên mật độ - Các phương pháp phân cụm dựa trên lưới 5 Giải thuật K-Means 5.1 Giải thuật: 1 Khởi động ngẫu nhiên K tâm (center) của K cụm (clusters) 2 Mỗi phần tử được gán cho tâm gần nhất với phần tử dựa... thước dữ liệu là khác nhau Điều này còn tuỳ thuộc vào cách thức tổ chức dữ liệu ở bộ nhớ chính, bộ nhớ ngoài của các giải thuật • Khai phá dữ liệu sẽ hiệu quả hơn khi bước tiền xử lý, lựa chọn thuộc tính, mô hình được giải quyết tốt • Độ chính xác phân lớp, phân loại phụ thuộc vào nhiều yếu tố như chất lượng dữ liệu, thuật toán cài đặt, phương pháp tính độ tương đồng của các đối tượng dữ liệu •... giống nhau trong phạm vi cùng một cụm và không giống nhau với các đối tượng trong các cụm khác 2 Mục tiêu của gom cụm: Phép phân tích cụm là một hoạt động quan trọng Thời kì đầu, nó học làm thế nào để phân biệt giữa các cụm với nhau bằng cách trau dồi liên tục tiềm thức các lược đồ phân loại Phép phân tích cụm được dùng rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng, phép phân tích dữ liệu, xử lý... nếu cơ sở dữ liệu không được thiết kế với sự khám phá bằng trí tuệ Các giải pháp có thể gồm nhiều chiến lược thống kê phức tạp để nhận biết các biến ẩn và các biến phụ thuộc Trang 12 PHẦN II KỸ THUẬT GOM CỤM – PHƯƠNG PHÁP GOM CỤM BẰNG K-MEANS 1 Gom cụm là gì? Xử lý nhóm một tập các đối tượng vào trong các lớp các đối tượng giống nhau được gọi là phân cụm Một cụm là một tập hợp các đối tượng dữ liệu giống... hướng phát triển sau này là xử lý các giá trị khuyết, phát hiện và loại bỏ các thuộc tính dư thừa, cải tiến phương pháp tính độ tương đồng, nhằm nâng cao chất lượng và tốc độ phân lớp, phân loại • Tiến hành cài đặt và tiếp tục nghiên cứu nhiều kỹ thuật khai phá dữ liệu hơn nữa, đặc biệt là triển khai giải quyết các bài toán cụ thể trong thực tế Trang 30 TÀI LIỆU THAM KHẢO  [1] Đỗ Phúc, Bài giảng Khai . thấy được trong dữ liệu - Giải thích dữ liệu đó Khai phá dữ liệu mô tả bao gồm các kỹ thuật: phân cụm (clustering), phân tích luật kết hợp (association rules) Trang 8 5.2 Khai phá dữ liệu dự. một số thuật ngữ khác có ý nghĩa tương tự như: khai phá tri thức từ CSDL, trích lọc dữ liệu, phân tích dữ liệu/ mẫu, khảo cổ dữ liệu, nạo vét dữ liệu. Nhiều người xem khai phá dữ liệu và một thuật. lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ liệu hay dùng để phân tích dữ liệu bán tự động hay giải thích dữ liệu trên các tập dữ liệu lớn… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người

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

Từ khóa liên quan

Mục lục

  • 1. Giới thiệu chung.

  • 2. Khái niệm khai phá dữ liệu

  • 3. Các bước của quá trình khai phá dữ liệu:

  • 4. Một số kỹ thuật khai phá dữ liệu thông dụng:

  • 5. Phân loại khai phá dữ liệu:

  • 6. Lợi thế của khai phá dữ liệu so với các phương pháp khác

  • 7. Các ứng dụng và thách thức của việc khai mỏ dữ liệu.

  • 1. Gom cụm là gì?

  • 2. Mục tiêu của gom cụm:

  • 3. Các kiểu dữ liệu trong phép phân cụm

  • 4. Phân loại các phương pháp phân cụm chính

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

  • 3. Phần code chương trình:

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

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

Tài liệu liên quan