Phân cụm dữ liệu bằng thuật toán K-means

26 1.2K 1
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 Công Nghệ Thông Tin Đại Học Quốc Gia Thành Phố Hồ Chí Minh TP. HCM 11/2012 Đề tài Phân cụm dữ liệu bằng thuật toán K-means GVHD: PGS.TS.Đỗ Phúc Học viên: Trương Lê Hưng MS: CH1101089 Lớp: Cao Học khóa 6 Môn học: Khai phá dữ liệu và kho dữ liệu Môn học: Khai phá dữ liệu và kho dữ liệu Trang 2 Lời cảm ơn Lời đầu tiên em xin chân thành cảm ơn thầy Đỗ Phúc đã truyền đạt cho em những bài học thật bổ ích với những câu truyện đầy tính sáng tạo và lý thú. Cảm ơn nhà trường đã tạo điều kiện cho em cùng các bạn trong lớp có thể học tập và tiếp thu những kiến thức mới. Em cũng chân thành cảm ơn các bạn trong lớp đã chia sẻ cho nhau những tài liệu và hiểu biết về môn học để cùng hoàn thành tốt môn học này. Trong thời gian vừa qua mặc dù em đã cố gắng rất nhiều để hoàn thành tốt đề tài của mình, song chắc chắn kết quả không tránh khỏi những thiếu sót. Em kính mong được sự cảm thông và tận tình chỉ bảo của thầy. TP.Hồ Chí Minh Tháng 11/2012 Học viên thực hiện Trương Lê Hưng Lớp Cao Học khóa 6 Môn học: Khai phá dữ liệu và kho dữ liệu Trang 3 Nhận xét Môn học: Khai phá dữ liệu và kho dữ liệu Trang 4 Lời mở đầu Sự phát triển nhanh chóng của thông tin số trong nhiều lĩnh vực của đời sống, kinh tế xã hội đã làm cho hệ thống cơ sở dữ liệu tích lũy được càng ngày càng lớn. Tuy nhiên một phần lớn dữ liệu thu thập được không được tận dụng đúng cách để dẫn đến rất nhiều cơ sở dữ liệu trở nên vô nghĩa. Chính những điều đó đã đặt ra vấn đề làm sao để có những kỹ thuật và công cụ để chuyển đổi những nguồn dữ liệu đó thành tri thức có ích cho con người sử dụng. Từ đó, các kỹ thuật về khai mỏ dữ liệu và kho dữ liệu được chú ý nhiều hơn. Khai phá dữ liệu đang được áp dụng rộng rãi trong nhiều lĩnh vực trong cuộc sống. Trong nội dung bài tiểu luận này em xin được trình bày khái quát cơ sở lý thuyết về khai phá dữ liệu và kho dữ liệu, cũng như tập trung tìm hiểu về phân cụm dữ liệu sử dụng thuật toán K-means. Nội dung bài tiểu luận bao gồm: Phần 1 : Cơ sở lý thuyết về khai phá dữ liệu và kho dữ liệu Phần 2 : Phân cụm dữ liệu và các thuật toán trong phân cụm dữ liệu Phần 3 : Thuật toán K-means Phần 4 : Demo. Môn học: Khai phá dữ liệu và kho dữ liệu Trang 5 Mục lục Môn học: Khai phá dữ liệu và kho dữ liệu Trang 6 Phần I . Cơ sở lý thuyết về khai phá dữ liệu và nhà kho dữ liệu 1. Giới thiệu về 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 Một ví dụ hay được sử dụng là là việc khai thác vàng từ đá và cát, Dataming được ví như công việc "Đãi cát tìm vàng" trong một tập hợp lớn các dữ liệu cho trước. Thuật ngữ Dataming ám chỉ việc tìm kiếm một tập hợp nhỏ có giá trị từ một số lượng lớn các dữ liệu thô. Có nhiều thuật ngữ hiện được dùng cũng có nghĩa tương tự với từ Datamining như Knowledge Mining (khai phá tri thức), knowledge extraction(chắt lọc tri thức), data/patern analysis(phân tích dữ liệu/mẫu), data archaeoloogy (khảo cổ dữ liệu), datadredging(nạo vét dữ liệu), 2. Quá trình khám phá trí thức và khai phá dữ liệu Các bước chính thường sử dụng trong khai phá dữ liệu: Môn học: Khai phá dữ liệu và kho dữ liệu Trang 7  Gom dữ liệu: thu thập dữ liệu là bước đầu tiên trong việc khai phá dữ liệu. Dữ liệu có thể lấy từ nhiều nguồn, từ các website trên mạng v.v…  Trích lọc dữ liệu: Trích chọn dữ liệu từ kho dữ liệu và phân chia theo các tiêu chuẩn để dễ cho việc khai thác nguồn dữ liệu này.  Làm sạch, tiền xử lý dữ liệu: Loại bỏ dữ liệu nhiễu, dữ liệu dư thừa hay các dữ liệu không đủ tính chặt chẽ, logic…  Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý.  Khai phá dữ liệu: Là một bước quan trọng nhất, trong đó sử dụng các thuật toán thông minh để trích ra các mẫu dữ liệu.  Đánh giá các luật và biểu diễn tri thức: là quá trình đánh giá các kết quả tìm được, sau đó sử dụng các kỹ thuật để biểu diễn cho người dùng. 3. Các chức năng chính của khai phá dữ liệu Data Mining được chia thành một số hướng chính như sau:  Mô tả khái niệm (concept description): 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.  Luật kết hợp (association rules): là dạng luật biểu diễn tri thứ ở dạng khá đơn giản. Ví dụ: “60% nam giới vào siêu thị nếu mua bia thì có tới 80% trong số họ sẽ mua thêm thịt bò khô”. Luật kết hợp được ứng dụng nhiều trong lĩnh vực kính doanh, y học, tài chính & thị trường chứng khoán, .v.v.  Phân lớp và dự đoán (classification & 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 vùng địa lý theo dữ liệu thời tiết. Hướng tiếp cận này thường sử dụng một số kỹ thuật của machine learning như cây quyết định (decision tree), mạng nơ ron nhân tạo (neural network), .v.v. Người ta còn gọi phân lớp là học có giám sát.  Phân cụm (clustering): xếp các đối tượng theo từng cụm (số lượng cũng như tên của cụm chưa được biết trước. Người ta còn gọi phân cụm là học không giám sát.  Khai phá chuỗi (sequential/temporal patterns): tương tự như khai phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian. Hướng tiếp cận Môn học: Khai phá dữ liệu và kho dữ liệu Trang 8 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. 4. Các ứng dụng khai phá dữ liệu Data mining có một số ứng dụng điển hình vào các lĩnh vực như:  Thông tin thương mại: Phân tích dữ liệu bán hàng, tiếp thị. Phân tích vốn đầu tư, chấp thuận cho vay v.v…  Thông tin sản xuất: Điều khiển và lập lịch, quản lý v.v…  Thông tin khoa học: phân tích phát hiện các dấu hiệu thời tiết bất thường, động đất v.v… Môn học: Khai phá dữ liệu và kho dữ liệu Trang 9 Phần II. Phân cụm dữ liệu và các thuật toán phân cụm dữ liệu 1. Phân cụm dữ liệu a. Định nghĩa Phân cụm dữ liệu(Data Clustering) hay phân cụm, cũng có thể gọi là phân tích cụm, phân tích phân đoạn, phân tích phân loại, là quá trình nhóm một tập các đối tượng thực thể hay trừu tượng thành lớp các đối tượng tương tự. Một cụm là một tập hợp các đối tượng dữ liệu mà các phần tử của nó tương tự nhau cùng trong một cụm và phi tương tự với các đối tượng trong các cụm khác. Một cụm các đối tượng dữ liệu có thể xem như là một nhóm trong nhiều ứng dụng. Phân cụm dữ liệu là một môn khoa học trẻ đang phát triển mạnh mẽ. Có một số lượng lớn các bài báo nghiên cứu trong nhiều hội nghị, hầu hết trong các lĩnh vực của khai phá dữ liệu: thống kê, học máy, cơ sở dữ liệu không gian, sinh vật học, kinh doanh, v.v với tầm quan trọng và các kỹ thuật khác nhau. Do số lượng lớn các dữ liệu đã thu thập trong cơ sở dữ liệu nên phép phân tích cụm gần đây trở thành một chủ đề tích cực cao trong nghiên cứu khai phá dữ liệu. b. Mục tiêu của phân cụm dữ liệu Mục tiêu của phân cụm là xác định được bản chất nhóm trong tập dữ liệu chưa có nhãn. Nhưng để có thể quyết định được cái gì tạo thành một cụm tốt. Nó có thể được chỉ ra rằng không có tiêu chuẩn tuyệt đối “tốt” mà có thể không phụ thuộc vào kết quả phân cụm. Vì vậy, nó đòi hỏi người sử dụng phải cung cấp tiêu chuẩn này, theo cách mà kết quả phân cụm sẽ đáp ứng yêu cầu. Theo các nghiên cứu cho thấy thì hiện nay chưa có một phương pháp phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc cụm dữ liễu. Hơn nữa, các phương pháp phân cụm cần có cách thức biểu diễn cấu trúc của các cụm dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng một thuật toán phân cụm phù hợp. Vì vậy phân cụm dữ liệu vẫn đang là một vấn đề khó và mở, vì phải giải quyết nhiều vấn đề cơ bản một cách trọn Môn học: Khai phá dữ liệu và kho dữ liệu Trang 10 [...]... nơron 4 Một số thuật toán trong phân cụm dữ liệu Môn học: Khai phá dữ liệu và kho dữ liệu Trang 13 a Thuật toán phân cụm phân cấp Thuật toán CURE: Trong khi hầu hết các thuật toán thực hiện phân cụm với các cụm hình cầu và kích thước tương tự, như vậy là không hiệu quả khi xuất hiện các phần tử ngoại lai Thuật toán CURE khắc phục được vấn đề này và tốt hơn với các phần tử ngoại lai Thuật toán này định... phá dữ liệu và kho dữ liệu Trang 16 được, tất cả ranh giới của các cụm có các biên ngang và dọc, theo biên của các ô và không có đường biên chéo được phát hiện ra Ngoài ra còn có thuật toán CLIQUE Môn học: Khai phá dữ liệu và kho dữ liệu Trang 17 Phần III Thuật toán phân cụm dữ liệu K-means 1 Thuật toán K-means K-Means 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 (hay điểm dữ liệu) thứ i Thuật toán k-means gom cụm toàn bộ các điểm dữ liệu trong U thành k cụm C = {C1, C2, … Ck} sao cho mỗi điểm dữ liệu xi nằm trong một cụm duy nhất Để biết điểm dữ liệu thuộc cụm nào người ta gán cho nó một mã cụm Các điểm có cùng mã cụm thì ở cùng cụm, trong khi các điểm khác mã cụm thì ở trong các cụm khác nhau Một cụm có thể biểu thị bằng vec-tơ liên thuộc cụm v có độ dài... động rất lớn đến kết quả phân cụm Phương pháp phân cụm dựa trên lưới: Kỹ thuật phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, dựa trên cấu trúc dữ liệu lưới để phân cụm, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Mục tiêu của phương pháp này là lượng hóa dữ liệu thành các ô tạo thành cấu trúc dữ liệu lưới Sau đó, các thao tác phân cụm chỉ cần làm việc với các đối... phân cụm phân cấp Trong đó, hai cụm được hòa nhập nêu giữa hai cụm có liên quan mật thiết tới quan hệ kết và gần nhau của các đối tượng trong các cụm Quá trình hòa nhập dễ dàng khám phá các cụm tự nhiên và đồng nhất, ứng dụng cho tất cả các kiểu dữ liệu miễn là hàm tương tự được xác định Ngoài ra còn có các thuật toán như BIRCH, ROCK v.v… b Thuật toán phân cụm phân hoạch Thuật toán K-means : Thuật toán. .. một thuật toán phân hoạch đồ thị để phân cụm dữ liệu với số lớn của các cụm con Tiếp theo, Chameleon thực hiện tích tụ phân cụm phân cấp, như AGNES, bằng hòa nhập các cụm con nhỏ theo hai phép đo, mối quan hệ liên thông và mối quan hệ gần nhau của các nhóm con Do đó, thuật toán không phụ thuộc vào người sử dụng các tham số như K-means và có thể thích nghi Thuật toán này khảo sát mô hình động trong phân. .. tâm, nó có thể bao gồm việc kết hợp một số cụm có mật độ liên lạc Quá trình kết thúc khi không tìm được điểm mới nào có thể thêm vào bất cứ cụm nào Ngoài ra còn có các thuật toán OPTICS, thuật toán DENCLUE v.v… d Thuật toán phân cụm dựa trên lưới Thuật toán STING: STING là kỹ thuật phân cụm đa phân giải dựa trên lưới, trong đó vùng không gian dữ liệu được phân rã thành số hữu hạn các ô chữ nhật, điều... 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 bất cứ 1 cụm nào khác b) Nhược điểm  Không có khả năng tìm ra các cụm không lồi hoặc các cụm có hình dạng phức tạp  Khó khăn... của các cụm khám phá được và tốc độ thực hiện của thuật toán Hiện nay, các kỹ thuật phân cụm có thể phân loại theo các cách tiếp cận chính sau : Phương pháp phân cụm phân hoạch: Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k nhóm cho đến khi xác định số các cụm được thiết lập Số các cụm được thiết lập là các đặc trưng được lựa chọn trước Phương pháp này là tốt cho việc tìm các cụm hình... tượng Quá trình lặp này dừng khi các trung tâm hội tụ c Ngoài ra còn có thuật toán PAM, thuật toán CLARA … Thuật toán phân cụm dựa trên mật độ Thuật toán DBSCAN: Thuật toán DBSCAN thích nghi với mật độ dầy để phân cụm và khám phá ra các cụm có hình dạng bất kỳ trong không gian CSDL có nhiễu Trên thực tế DBSCAN tìm kiếm cho các cụm bằng cách kiểm tra các đối tượng mà có số đối tượng láng giềng nhỏ hơn . học: Khai phá dữ liệu và kho dữ liệu Trang 9 Phần II. Phân cụm dữ liệu và các thuật toán phân cụm dữ liệu 1. Phân cụm dữ liệu a. Định nghĩa Phân cụm dữ liệu( Data Clustering) hay phân cụm, cũng có. Một số thuật toán trong phân cụm dữ liệu Môn học: Khai phá dữ liệu và kho dữ liệu Trang 13 a. Thuật toán phân cụm phân cấp Thuật toán CURE: Trong khi hầu hết các thuật toán thực hiện phân cụm với. phá dữ liệu và kho dữ liệu Trang 17 Phần III Thuật toán phân cụm dữ liệu K-means 1. Thuật toán K-means K-Means 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.

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

Từ khóa liên quan

Mục lục

  • Phần I . Cơ sở lý thuyết về khai phá dữ liệu và nhà kho dữ liệu

  • Phần II. Phân cụm dữ liệu và các thuật toán phân cụm dữ liệu

  • Phần III Thuật toán phân cụm dữ liệu K-means

  • Phần IV Demo

  • Tài liệu tham khảo

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

Tài liệu liên quan