Tổng quan về khai thác dữ liệu và phân cụm dữ liệu bằng thuật toán K-Means

27 598 3
Tổng quan về khai thác dữ liệu và phân cụm dữ liệu bằng thuật toán K-Means

Đ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 CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG ________________ BÁO CÁO THU HOẠCH MÔN HỌC KHAI THÁC DỮ LIỆU VÀ ỨNG DỤNG Đề tài: Tổng quan về khai thác dữ liệu và phân cụm dữ liệu bằng thuật toán K-Means Giảng viên : PGS.TS. Đỗ Phúc Sinh viên thực hiện: Tăng Chí Tâm MSSV : CH1101130 TP. HCM, NĂM 2012 Lời mở đầu Ngày nay, sự phát triễn của khoa học - kỹ thuật đã mang đến cho chúng ta một khối lượng thông tin khổng lồ, con người khó có thể xử lý khối lượng thông tin này để tìm ra các thông tin hữu ích phục vụ cho nhu cầu của mình. Chính vì lý do này mà các kỹ khai thác dữ liệu dã ra đời. Bài viết này nhằm giới thiệu một cách nhìn tổng quát về vấn đề khai thác dữ liệu và giới thiệu thuật toán K-Means, một trong những thuật toán thường dùng để phân cụm dữ liệu phục vụ cho quá trình khai thác dữ liệu. Nội dung bài viết gồm: • Chương 1: Tổng quan về khai thác dữ liệu: Chương này giới thiệu những thông tin cần thiết để chúng ta có cái nhìn tổng quát về vấn đề khai thác dữ liệu • Chương 2: Phân cụm dữ liệu : Giới thiệu các thông tin xung quanh vấn đề “ Phân cụm” các dữ liệu và hướng dẫn các bước phân cụm dữ liệu bằng thuật toán K-Means • Chương 3: Chương trình minh họa KTDL bằng thuật toán K- Means Cảm ơn Thầy và các anh chị đã cung cấp những tài liệu liên quan đến đề tài. Mục Lục CHƯƠNG 1 : Tổng quan về khai thác dữ liệu 1.1.Giới thiệu Với sự phát triễn nhanh chóng của khoa học kỹ thuật trong tất cả các lĩnh vực của đời sống, kinh tế, xã hội…, chúng ta đã đạt được những thành tựu to lớn. Một trong những thành tựu đó là sự bùng nổ thông tin, khối lượng thông tin mà ta thu thập và lưu trữ ngày càng nhiều. Trong khối thông tin ấy có chứa nhiều tri thức mà con người chưa khám phá ra được. Do lượng dữ liệu thu thập được là rất lớn nên việc khám phá tri thức và thông tin trở nên rất khó khăn. Chính vì thế mà nhu cầu tìm kiếm tri thực đã nảy sinh, nhu cầu này ngày một cấp thiết và dẫn tới sự hình thành của một lĩnh vực mới – lĩnh vực khai thác dữ liệu (Data Mining)-(KTDL). 1.2.Khai thác dữ liệu là gì ? Khai thac dữ liệu (Data Mining) được định nghĩa là quá trình trích lọc các thông tin có giá trị tiềm ẩn trong lượng lớn dữ liệu được lưu trữ trong các CSDL hay các kho dữ liệu. Khai thác dữ liệu còn được coi là quá trình khám phá, tìm kiếm các mối tương quan, các mối liên hệ dưới nhiều góc độ khác nhau đang bị che khuất trong khối dữ liệu. Để tìm ra các thông tin tiềm ẩn này, ta phải tìm và áp dụng các phương pháp kỹ thuật khai thác sao cho các phương pháp này phù hợp với tính chất, đặc trưng của dữ liệu và mục đích sử dụng. Cần phân biệt giữa quá trình tìm kiếm thông tin và quá trình khai thác dữ liệu. Ví dụ: Tìm kiếm thông tin(không phải Data Mining) Khai thác dữ liệu - Tìm số điện thoại trong danh bạ điện thoại - Tìm thông tin về “Amazon” trên mạng -Các tên phổ biến ở Boston -Gom nhóm các tài liệu giống nhau thu được từ search engine dựa theo nội dung như: rừng nhiệt đới Amazon 5 1.3.Các nhiệm vụ chính của khai thác dữ liệu Mô hình mô tả mục tiêu khai thác dữ liệu Việc khai thác dữ liệu nhằm các mục đích chính như sau: - Dự đoán (predictive): thực hiện việc suy luận trên dữ liệu để đưa ra các dự báo nhằm phân tích tập dữ liệu huấn luyện và tạo ra một mô hình cho phép dự đoán các mẫu, mô hình mới chưa biết, thông qua các phương pháp o Phân lớp o Hồi quy o Phát hiện sự thay đổi/ lạc hướng - Mô tả (Descriptive) : tổng kết hoặc diễn tả những đặc điểm chung của những thuộc tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được, thông qua các phương pháp: o Phân cụm o Tóm tắt o Mô hình hóa phụ thuộc 1.4.Quá trình khai thác dữ liệu Quá trình KTDL gồm các bước như hình sau: 6 Quá trình khai thác dữ liệu - Xác định nhiệm vụ: xác định chính xác các vấn đề cần giải quyết - Xác định các dữ liệu liên quan: dùng để xây dựng giải pháp - Thu thập và tiền xử lý dữ liệu: Thu thập và tiền xử lý dữ liệu thu thập được sao cho thuật toán KTDL có thể hiểu được. Đây là một quá trình rất khó khăn, có thể gặp phải rất nhiều các vướng mắc như: dữ liệu phải được chép ra nhiều bản, quản lý tập các dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi), v.v - Thuật toán khai phá dữ liệu: Lựa chọn thuật toán KTDL và thực hiện việc KTDL để tìm được các mẫu có ý nghĩa, các mẫu này được biểu diễn dưới dạng luật kết hợp, cây quyết định tương ứng với ý nghĩa của nó. 1.5.Một số kỹ thuật áp dụng trong khai thác dữ liệu Vấn đề khai thác dữ liệu có thể phân chia theo lớp các hướng tiếp cận sau: 1.5.1.Phân lớp và dự đoán Hướng tiếp cận này làm nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời. Kỹ thuật này gồm có: phân lớp (classification), hồi quy (regression) Là quá trình xếp một đối tượng vào một trong những lớp đã biết trước. Đối với hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định (decision tree), mạng neural nhân tạo (neural network), 1.5.2.Phân cụm dữ liệu Mục tiêu của phương pháp phân cụm dữ liệu là quá trình nhóm các điểm dữ liệu trong cơ sở dữ liệu thành các cụm sao cho những điểm dữ liệu trong cùng một cụm có độ tương đồng lớn và những điểm không cùng một cụm có sự tương đồng là rất nhỏ. Điểm mạnh của phân cụm dữ liệu là đưa ra được những cấu trúc có ích hoặc những cụm các đối tượng tìm thấy trực tiếp từ dữ liệu mà không cần bất kì một tri thức cơ sở nào. Giống như cách tiếp cận học máy, phân cụm dữ liệu được hiểu như là phương pháp “học không có thầy” (unsupervised learning). Không giống như phân lớp 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 lớp dữ liệu là học bằng ví dụ (learning by example). Trong phương pháp này 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, cần có một chuyên gia để đánh giá các cụm thu được. Phân cụm dữ liệu được sử dụng nhiều trong các ứng 7 dụng về phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web… 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. 1.5.3.Phân lớp dữ liệu và hồi quy Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu. Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng mô hình và sử dụng mô hình: - Bước 1: một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn có. Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là thuộc tính lớp. Các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện (training data set). Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có thầy (supervised learning) khác với phân cụm dữ liệu là học không có thầy (unsupervised learning). - Bước 2: sử dụng mô hình để phân lớp dữ liệu. Trước hết phải tính độ chính xác của mô hình. Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai. Phương pháp hồi qui khác với phân lớp dữ liệu ở chỗ, hồi qui dùng để dự đoán về các giá trị liên tục còn phân lớp dữ liệu thì chỉ dùng để dự đoán về các giá trị rời rạc. 1.5.4.Luật kết hợp Đây là sự kết hợp một hoặc nhiều thuộc tính đối với một hoặc nhiều thuộc tính khác. Khái niệm về luật kết hợp được biểu diễn như sau: một luật có dạng X→Y (c%) với X và Y là tập các thuộc tính với độ tin cậy là c% được coi là luật kết hợp nếu có ít nhất c% đối tượng trong cơ sở dữ liệu đang xét thoả mãn: nếu điều kiện X được thoả mãn thì điều kiện Y cũng thoả mãn. Ví dụ: Xét luật kết hợp: is(x, tã giấy và sữa) → close(x,bia) (66%). Luật trên thể hiện: 66% khách hàng mua tã giấy và sữa thì có khả năng mua bia. Do đó có rất nhiều thuộc tính có thể tạo thành những luật kết hợp khiến cho số luật kết hợp tìm được vượt quá nhu cầu. Để hạn chế số luật kết hợp tìm được, người ta sử dụng khái niệm hỗ trợ tối thiểu (min support) và độ tin cậy tối thiểu (min confidence). Hai tham số này giúp loại bớt các luật tìm thấy và để lại các luật thật sự có ích cho người sử dụng. 8 Hỗ trợ tối thiểu: Độ hỗ trợ (Support) của luật kết hợp X →Y là tần suất của giao dịch chứa tất cả các items trong cả hai tập X và Y. Ví dụ, support của luật X →Y là 5% có nghĩa là 5% các giao dịch X và Y được mua cùng nhau. Công thức để tính support của luật X →Y như sau: Trong đó: N là tổng số giao dịch. Trong CSDL lớn, có rất nhiều luật kết hợp giữa các dội tượng nhưng phần lớn các luật đó chỉ áp dụng cho một số nhỏ các đối tượng. Chính vì thế mà phần lớn các luật không có ích với người sử dụng. Ví dụ: Người ta sẽ không quan tâm nhiều đến mối quan hệ giữa sữa và bia nếu luật đó chỉ áp dụng cho 5% số trường hợp trong khi người ta chỉ quan tâm đến các luật có độ áp dụng trên 60%. Do đó ta có thể bỏ những luật kết hợp mà chỉ áp dụng cho x% đối tượng. Độ tin cậy tối thiểu: Độ tin cậy (Confidence) của luật kết hợp X →Y là xác suất xảy ra Y khi đã biết X. Ví dụ độ tin cậy của luật kết hợp {Táo} → Chuối} là 80% có nghĩa là 80% khách hàng mua Táo cũng mua Chuối. Công thức để tính độ tin cậy của luật kết hợp X → Y là xác suất có điều kiện Y khi đã biết X như sau : Trong đó: n(X) là số giao dịch chứa X Nếu một luật được đưa ra với mức độ tin cậy (độ tin cậy là tỉ lệ số đối tượng dữ liệu thoả mãn X và thoả mãn Y so với tổng số các đối tượng thoả mãn X) thấp thì cũng không có ý nghĩa ứng dụng. Ví dụ như luật: số người bị bệnh tim do ăn cá biển chỉ đúng 1% thì gần như không có ý nghĩa trong y học khi chuẩn đoán nguyên nhân bị bệnh tim của một bệnh nhân. Do đó, chúng ta sẽ loại bỏ những luật có độ tin cậy thấp mà chỉ giữ lại luật có độ tin cậy cao tỷ lệ đúng tối thiểu c%. 1.5.5.Phân tích theo thứ tự thời gian Tương tự như khai thác dữ liệu bằng luật kết hợp nhưng có thêm tính thứ tự và tình thời gian. Xét luật X → Y phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện biến cố Y. 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 bởi chúng có tính dự báo cao. 9 1.5.6.Khai phá dữ liệu bằng mạng Neural -Mạng Neural là một phương pháp khai phá dữ liệu phát triển dựa trên cấu trúc toán học với khả năng học trên mô hình hệ thần kinh con người. -Mạng Neural có thể đưa ra ý nghĩa các dữ liệu phức tạp hoặc không chính xác và có thể được sử dụng để chiết suất các mẫu và phát hiện xu hướng quá phức tạp mà con người cũng như các kỹ thuật máy tính khác không thể phát hiện được. -Một trong những ưu điểm của mạng Neural là khả năng tạo ra các mô hình dự đoán do độ chính xác cao, có thể áp dụng cho nhiều các bài toán khác nhau, đáp ứng được các nhiệm vụ đặt ra của khai phá dữ liệu như: phân lớp, phân nhóm, mô hình hoá, dự báo… -Mẫu chiết suất bằng mạng Neural được thể hiện bằng một trong những nút đầu của mạng. Mạng Neural sử dụng các hàm số chứ không sử dụng các hàm biểu tượng để tính mức tích cực của các nút đầu ra và cập nhật các trọng số của nó. -Đặc điểm của mạng Neural là không cần gia công dữ liệu nhiều, trước khi bắt đầu quá trình học như các kỹ thuật khác. Tuy nhiên, để có thể sử dụng mạng Neural có hiệu quả cần phải xác định các yếu tố khi thiết kế mạng như: • Mô hình mạng là gì ? • Mạng cần bao nhiêu nút ? • Số lớp ẩn sử dụng cho mạng là như thế nào ? • Khi nào thì việc học dừng ? Ngoài ra còn có nhiều bước quan trọng cần phải làm để tiền xử lý dữ liệu trước khi đưa vào mạng Neural để mạng có thể hiểu được. Mạng Neural được đóng gói với những thông tin trợ giúp của các chuyên gia đáng tin cậy và được họ đảm bảo các mô hình này làm việt tốt. Sau khi học, mạng có thể được coi là một chuyên gia trong lĩnh vực thông tin mà nó vừa được học. 1.5.7.Khai phá dữ liệu bằng giải thuật di truyền Đây là phương pháp không chỉ thực hiện phát hiện tri thức mà còn phục vụ rất nhiều bài toán khác. Tư tưởng của thuật toán là áp dụng quy luật của sự chọn lọc tự nhiên. Người ta mô phỏng tập dữ liệu ban đầu bằng ký tự nhị phân và gọi là những quần thể xuất phát. Bằng các thao tác lai ghép, đột biến nhằm biến đổi quần thể gene ban đầu và loại đi một số gene, làm cho số lượng gene trong quần thể là không thay đổi. Một hàm thích nghi được xây dựng để xác định mức độ thích nghi ngày càng cao. Về mặt lý thuyết giải thuật di truyền cho lời giải tối ưu toàn cục (khác với phương pháp mạng Neural). Tuy nhiên, người ta cũng hạn chế lời giải với một mức độ thích nghi nào đó để hạn chế số lượng các bước xây dựng quần thể. 10 [...]... vào Do các giá trị đầu vào thường ảnh hưởng rất lớn đến thuật toán phân cụm và rất phức tạp để xác định các giá trị vào thích hợp đối với các CSDL lớn -Thuật toán phải thực hiện với mọi thứ tự đầu vào dữ liệu Nói cách khác kết quả của thuật toán nên độc lập với dữ liệu đầu vào (Cùng một tập dữ liệu, khi đưa vào xử lý cho thuật toán PCDL với các thứ tự vào của các đối tượng dữ liệu ở các lần thực hiện... hưởng lớn đến kết quả phân cụm ) -Thuật toán không đòi hỏi những tri thức về cơ sở dữ liệu từ người dùng -Thuật toán phải làm việc được với cơ sở dữ liệu chứa nhiều lớp đối tượng dữ liệu phức tạp và có tính chất khác nhau -Thuật toán phải thích nghi với dữ liệu đa chiều: Thuật toán có khả năng áp dụng hiệu quả cho dữ liệu có số khác chiều nhau -Thuật toán phải dễ hiểu, dễ cài đặt và khả thi: Người sử... hiểm: : Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ tài chính, dự đoán xu hướng của khách hàng, phát hiện gian lận tài chính -WWW: Phân loại tài liệu (document classification), phân loại người dùng web (clustering weblog) 1.4 Các yêu cầu về thuật toán phân cụm dữ liệu -Thuật toán phải hiệu quả và thời gian chạy phải là tăng tuyến tính theo kích thước của dữ liệu -Thuật toán phải xử lý và áp... đó có kỹ thuật mạng Neural Sự kết hợp của nó với các giải thuật khai phá dữ liệu ở chỗ tối ưu hoá là cần thiết để xác định các giá trị tham số nào tạo ra các luật tốt nhất 1.5.8 .Khai thác dữ liệu bằng cây quyết định Phân lớp khai phá dữ liệu luật là cách tiếp cận quan trọng trong quá trình khai phá dữ liệu, với mục tiêu nhằm tạo ra một tập luật tương đối nhỏ có độ đúng đắn cao từ cơ sở dữ liệu lớn... cứu các thuật toán hiệu quả, có thể xử lý khối liệu dữ liệu lớn với độ phức tạp tính toán thấp là một hướng nghiên cứu đầy tiềm năng Nhiều công nghệ mới ra đời hỗ trợ cho việc KTDL như tính toán song song, máy tính lượng tử, công nghệ nano… 1.7.Ứng dụng của khai thác dữ liệu Khai thác dữ liệu được ứng dụng trong rất nhiều lĩnh vực: o Thông tin thương mại:  Phân tích dữ liệu tiếp thị và bán hàng và thị... những kết quả phân cụm dễ hiểu, dễ lý giải và dễ sử dụng Nghĩa là, sự phân cụm có thể cần được giải thích ý nghĩa và ứng dụng rõ ràng Việc nghiên cứu cách để một ứng dụng đạt được mục tiêu rất quan trọng có thể gây ảnh hưởng tới sự lựa trọn các phương pháp phân cụm 1.5 Thuật toán K-Means 1.5.1 Khái niệm Thuật toán phân cụm phân hoạch k-means được J MacQueen giới thiệu vào năm 1967 và phát triển dựa... 1.5.4 Đánh giá thuật toán Ưu điểm: -Độ phức tạp: O(k.n.l ) với 21 k: số cụm n: số đối tượng l: số lần lặp -Có khả năng mở rộng, có thể dễ dàng sửa đổi với những dữ liệu mới -Bảo đảm hội tụ sau 1 số bước lặp hữu hạn -Luôn có K cụm dữ liệu -Luôn có ít nhất 1 điểm dữ liệu trong 1 cụm dữ liệu -Các cụm không phân cấp và không bị chồng chéo dữ liệu lên nhau Mọi thành viên của 1 cụm là gần với chính cụm đó hơn... Phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu thỏa mãn: -Các đối tượng trong cùng một cụm thì tương tự nhau -Các đối tượng khác cụm thì không tương tự nhau Phân cụm không cần những thông tin được xác định trước Nói cách khác, phân cụm là phương pháp học từ quan sát hay còn gọi là học không thầy trong trí tuệ nhân tạo Phân cụm đặc biệt hiệu quả khi không biết về. .. nhiễu và các phần tử ngoại lai trong dữ liệu -Không phải lúc nào mỗi đối tượng cũng chỉ thuộc về 1 cụm, chỉ phù hợp với đường biên giữa các cụm rõ CHƯƠNG 1 : Chương trình minh họa KTDL bằng thuật toán KMeans 2.2.Mục đích Cài đặt chương trình minh họa việc phân cụm dữ liệu bằng thuật toán K-Means 2.3.Bài toán Giả sử ta có 4 đối tượng A1,A2,A3,A4 Mỗi đối tượng được biểu diễn bởi 2 đặc trưng X và Y Hãy... định dựa trên phụ thuộc hàm 11 1.6.Thách thức, khó khăn trong khai thác dữ liệu Khai thác dữ liệu cần làm việc với lượng dữ liệu rất lớn nên có nhiều khó khăn như: -Mức độ nhiễu cao hoặc dữ liệu bị thiếu - Số chiều lớn - Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp - Quan hệ giữa các trường phức tạp Vấn đề tốc độ xử lý rất cần được quan tâm Để giải quyết vấn đề này . nhìn tổng quát về vấn đề khai thác dữ liệu • Chương 2: Phân cụm dữ liệu : Giới thiệu các thông tin xung quanh vấn đề “ Phân cụm các dữ liệu và hướng dẫn các bước phân cụm dữ liệu bằng thuật toán. MẠNG ________________ BÁO CÁO THU HOẠCH MÔN HỌC KHAI THÁC DỮ LIỆU VÀ ỨNG DỤNG Đề tài: Tổng quan về khai thác dữ liệu và phân cụm dữ liệu bằng thuật toán K-Means Giảng viên : PGS.TS. Đỗ Phúc . kỹ khai thác dữ liệu dã ra đời. Bài viết này nhằm giới thiệu một cách nhìn tổng quát về vấn đề khai thác dữ liệu và giới thiệu thuật toán K-Means, một trong những thuật toán thường dùng để phân

Ngày đăng: 10/04/2015, 00:25

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1 : Tổng quan về khai thác dữ liệu

    • 1.1. Giới thiệu

    • 1.2. Khai thác dữ liệu là gì ?

    • 1.3. Các nhiệm vụ chính của khai thác dữ liệu

    • 1.4. Quá trình khai thác dữ liệu

    • 1.5. Một số kỹ thuật áp dụng trong khai thác dữ liệu

      • 1.5.1. Phân lớp và dự đoán

      • 1.5.2. Phân cụm dữ liệu

      • 1.5.3. Phân lớp dữ liệu và hồi quy

      • 1.5.4. Luật kết hợp

      • 1.5.5. Phân tích theo thứ tự thời gian

      • 1.5.6. Khai phá dữ liệu bằng mạng Neural

      • 1.5.7. Khai phá dữ liệu bằng giải thuật di truyền

      • 1.5.8. Khai thác dữ liệu bằng cây quyết định

      • 1.6. Thách thức, khó khăn trong khai thác dữ liệu

      • 1.7. Ứng dụng của khai thác dữ liệu

      • CHƯƠNG 2 : Phân cụm dữ liệu

        • 2.1. Phân cụm là gì ?

        • 1.1. Một số độ đo trong phân cụm

        • 1.2. Mục đích của phân cụm

        • 1.3. Các ứng dụng của phân cụm dữ liệu

        • 1.4. Các yêu cầu về thuật toán phân cụm dữ liệu

        • 1.5. Thuật toán K-Means

          • 1.5.1. Khái niệm

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

Tài liệu liên quan