1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu thuật toán gom cụm K-Means

31 695 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 2,45 MB

Nội dung

Mục Lục Mục Lục 1 MỞ ĐẦU 2 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 4 1.1. Tổng quan về khám phá tri thức trong cơ sở dữ liệu 1.2. Khái niệm khai phá dữ liệu (Data mining) 1.3. Các phương pháp khai phá dữ liệu Chương 2: THUẬT TOÁN KMEAN 9 1.Thuật toán: 2.Khoảng cách giữa các đối tượng 3.Ví dụ minh họa: 4. Đánh giá thuật toán: Chương 3: XÂY DỰNG ỨNG DỤNG 16 3.1.1. Cấu trúc một đề án (Project) 3.1.2. Một số điều khiển 3.1.3. Thuộc tính, phương thức và sự kiện 3.1.4. Mô hình truy cập cơ sở dữ liệu bằng ADO 3.1.5. Hệ quản trị Cơ sở dữ liệu ACCESS 3.2.2. Bài toán 3.2.3. Cài đặt thuật toán gom cụm nửa giám sát với dữ liệu hỗn hợp KẾT LUẬN 30 Trang 1 MỞ ĐẦU Trong vài thập niên gần đây, cùng với sự thay đổi và phát triển không ngừng của ngành Công nghệ thông tin nói chung và trong các ngành công nghệ phần cứng, phần mềm, truyền thông và hệ thống các dữ liệu phục vụ trong các lĩnh vực kinh tế - xã hội nói riêng thì việc thu thập thông tin cũng như nhu cầu lưu trữ thông tin càng ngày càng lớn. 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. Trong tình hình đó một khuynh hướng kỹ thuật mới ra đời đó là kỹ thuật khai phá dữ liệu và kỹ thuật Data mining (Khai phá dữ liệu). Trong đó các phương pháp khai phá dữ liệu có phương pháp gọi là Clustering (gom cụm) được ứng dụng rất nhiều trong đời sống. Gom cụm dữ liệu là quá trình tìm kiếm 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 gom cụm dữ liệu phần lớn được kế thừa từ lĩnh vực thống kê, học máy, nhân dạng, lượng hóa. Đến nay đã có nhiều ứng dụng gom cụm dữ liệu cho việc giải quyết các vấn đề trong lĩnh vực như tài chính, bảo hiểm, thông tin địa lý, sinh học … Do đó em chọn đề tài “Tìm hiểu thuật toán gom cụm K-Means” với mục đích vận dụng kiến thức học được để áp dụng vào thực tế trong việc gom cụm dữ liệu. Em xin chân thành cảm ơn thầy giáo PGS.TS Đỗ Phúc và các thầy cô trong khoa công nghệ thông tin đã tận tình giúp đỡ em hoàn thành bài thu hoạch này. Học viên Lê Xuân Tùng Trang 2 DANH SÁCH CÁC CỤM TỪ VIẾT TẮT STT Viết tắt Cụm từ tiếng Anh Cụm từ tiếng Việt 1 CNTT Information Technology Công nghệ thông tin 2 CSDL Database Cơ sở dữ liệu 3 KDD Knowledge Discovery in Database Khám phá tri thức trong cơ sở dữ liệu 4 KPDL Data mining Khai phá dữ liệu 5 PCDL Data Clustering Phân cụm dữ liệu 6 MTĐT Electronic Computer Máy tính điện tử Trang 3 Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1. Tổng quan về khám phá tri thức trong cơ sở dữ liệu Các yêu cầu về thông tin trong các loại hoạt động như công tác quản lý, hoạt động kinh doanh, phát triển sản xuất và dịch vụ, đặc biệt là trong việc ra quyết định giải quyết một vấn đề ngày càng đòi hỏi chất lượng cao hơn. Người làm 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. Để giải quyết vấn đề đó thì kỹ thuật khám phá tri thức trong cơ sở dữ liệu (Knowledge Discovery in Databases- KDD) đã ra đời. Khám phá tri thức trong cơ sở dữ liệu là lĩnh vực liên quan đến các ngành như: xác suất thống kê, học máy, trực quan hóa dữ liệu, tính toán song song,… Quá trình KDD có thể chia thành 5 bước thực hiện như sau: 1. Trích chọn dữ liệu: Xác định mục đích của quy trình khai phá dữ liệu dựa trên quan điểm của người dùng, thu thập và chuẩn bị dữ liệu để khai phá. 2. Tiền xử lý dữ liệu: Nhằm mục đích loại bỏ sự trùng lặp dữ liệu, cắt tỉa những thông tin có thể gây nhiễu, tập hợp những thông tin cần thiết cho mô hình hoá, chọn các phương pháp xử lý những thông tin bị khiếm khuyết. 3. Chuyển đổi dữ liệu: Thực hiện thu gọn dữ liệu, phép ánh xạ dữ liệu, tìm những đặc trưng phù hợp để mô tả và khai phá dữ liệu. 4. Khai phá dữ liệu: Chọn nhiệm vụ khai phá dữ liệu như phân lớp, gom cụm, hồi qui, kết hợp… Từ nhiệm vụ đã chọn, sử dụng các thuật toán và các phương pháp đã biết để tìm kiếm các mẫu trong dữ liệu, chọn ra các mẫu hữu ích. Trang 4 5. Trình bày và đánh giá: Từ các mẫu khai phá được tiến hành đánh giá hoặc phiên dịch thành những tri thức hiểu được. Trang 5 Trích chọn DL Tiền xử lý dữ liệu Trình bày, đánh giá Chuyển đổi Khai phá DL đã chọn DL qua tiền xử lý DL đã chuyển đổi Các mẫu Tri thức Hình 1: Quá trình khám phá tri thức trong CSDL 1.2. Khái niệm khai phá dữ liệu (Data mining) Data mining là một công đoạn, cũng là một khâu quan trọng nhất trong quá trình KDD. Do sự phát triển mạnh mẽ của Data mining về phạm vi các lĩnh vực ứng dụng trong thực tế và các phương pháp tìm kiếm nên có rất nhiều khái niệm khác nhau về Data mining. Ở đây em xin nêu ra một định nghĩa gắn gọn và dễ hiểu về Data mining như sau: Data mining là một quá trình tìm kiếm, chắt lọc các tri thức mới, tiềm ẩn, hữu dụng trong tập dữ liệu lớn. 1.3. Các phương pháp khai phá dữ liệu 1.3.1. Các nhiệm vụ của khai phá dữ liệu Một số nhiệm vụ của khai phá dữ liệu: • Phân lớp và dự đoán: Xếp đối tượng vào một trong các lớp đã biết trước, dự báo giá trị có thể đúng của những dữ liệu bị thiếu hoặc sự phân bố của thuộc tính nào đó trong dữ liệu. Phân lớp còn được gọi là học có giám sát. • Luật thuộc tính: Tóm tắt những thuộc tính chung của tập dữ liệu nào đó trong cơ sở dữ liệu. • Luật kết hợp: Là dạng luật biểu diễn tri thức ở dạng tương đối đơn giản. Giả sử có hai tập thuộc tính {A 1 , A 2 ,…A n } và {B 1 , B 2 ,…B m } thì luật kết hợp có dạng (A 1 ∧ A 2 ∧…∧A n )  (B 1 ∧ B 2 ∧…∧B m ) • Khai thác mẫu tuần tự: Tương tự như khai thác luật kết hợp nhưng có thêm tính thứ tự và tính thời gian. Một luật mô tả mẫu tuần tự có dạng tiêu biểu 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 kế tiếp biến cố Y. Hướng tiếp cận này có tính dự báo cáo. Trang 6 • Phân cụm: Sắp xếp các đối tượng theo từng cụm (số lượng và tên của cụm chưa được biết trước). Các đối tượng được gom cụm sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các cụm khác nhau là nhỏ nhất. Phân cụm còn được gọi là học không có giám sát. 1.3.2. Phân loại Data mining được phân loại theo hai quan điểm sau: a. Theo quan điểm của học máy • Học có giám sát: Là quá trình gán nhãn lớp cho các đối tượng trong tập dữ liệu dựa trên một bộ các đối tượng huấn luyện và các thông tin về nhãn lớp đã biết. • Học không giám sát: Là quá trình phân chia một tập dữ liệu thành các lớp hay cụm dữ liệu tương tự nhau mà chưa biết trước các thông tin về nhãn lớp. • Học nửa giám sát: Là quá trình chia một tập dữ liệu thành các lớp con dựa trên một số thông tin bổ trợ cho trước. b. Theo các lớp bài toán cần giải quyết • Phân lớp và dự đoán: Đưa mỗi đối tượng vào một trong các lớp đã biết trước. Phân lớp và dự đoán còn được gọi là học có giám sát. • Luật kết hợp: Là dạng luật biểu diễn tri thức ở dạng khá đơn giản. Một luật kết hợp được mô tả như sau: Nếu a thì b với xác suất p • Phân tích chuỗi theo thời gian: Giống như khai phá luật kết hợp nhưng có thêm tính thứ tự và thời gian. Trang 7 • Phân cụm (Clustering): Nhóm các đối tượng thành từng cụm dữ liệu. Đây là phương pháp học không giám sát. • Mô tả khái niệm: Mô tả, tổng hợp và tóm tắt khái niệm. Ví dụ như tóm tắt văn bản. 1.4. Ứng dụng của khai phá dữ liệu • Bảo hiểm, tài chính và thị trường chứng khoán: Phân tích tình hình tài chính và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán. Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận. • Điều trị y học và chăm sóc y tế: Phân tích mối liên hệ giữa triệu chứng bệnh, chẩn đoán và phương pháp điều trị (chế độ dinh dưỡng, thuốc). • Sản xuất và chế biến: Qui trình, phương pháp chế biến và xử lý sự cố. • Text mining & Web mining: Phân lớp văn bản và các trang web, tóm tắt văn bản. • Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một số bệnh di truyền. • Lĩnh vực viễn thông: Các ứng dụng Data mining được phát triển trong ngành viễn thông được chia thành 3 nhóm ứng dụng khác nhau là phát hiện gian lận, các ứng dụng hỗ trợ tiếp thị và quản lý khách hàng, cuối cùng là các ứng dụng về phát hiện và xử lý lỗi hệ thống mạng. • Lĩnh vực khác: Môi trường, thể thao, âm nhạc,… Trang 8 Chương 2: THUẬT TOÁN KMEAN K-Means là thuật toán lặp đơn giản để chia Cơ Sở Dữ Liệu thành k nhóm (k do người dùng chỉ định ). Được phát triển bời nhiều nhà nghiêm cứu khác nhau, điển hình là Lloyd (1957,1982), Forgrey (1965), Friedman và Rubin (1967), McQueen (1967). 1. Thuật toán: Thuật toán thao tác trên một tập các vecto d-chiều ,D={x i | i=1…N} trong đó x i € R d là điểm dữ liệu thứ I. Thuật toán bắt đầu bằng cách chọn k điểm làm trọng tâm. Kỹ thuật để chọn các điểm hạt giống này là chọn “ngẫu nhiên”. Sau đó thuật toán gọi hai bước sau cho đến khi hội tụ (không còn thay đổi nữa ) o Bước 1: Gán dữ liệu: Mỗi điểm dữ liệu được gán vào nhóm nào gần nhất. Đây là việc phân chia dữ liệu. o Bước 2: Tính lại trọng tâm: đại diện của mỗi nhóm được tính lại bằng với trung bình (mean) của các điểm dữ liệu thuộc nhóm. Nếu các điểm dữ liệu được tính bởi xác suất (probability measure/weights) thì đại diện được tính bằng giá trị kỳ vọng (expectation) của dữ liệu. Trang 9 Ví dụ minh họa -Vấn đề tối ưu cục bộ Việc chọn giá trị khởi đầu cho các trọng tâm của K-Means sẽ quyết định đến việc hội tụ “cục bộ” hay “toàn cục” của dữ liệu Trang 10 [...]... 57 năm 3.2.3 hợp Cài đặt thuật toán gom cụm nửa giám sát với dữ liệu hỗn Nếu nói Thuật toán K-Tâm là cải tiến của thuật toán K-Means áp dụng với kiểu dữ liệu hỗn hợp và thuật toán phân cụm dữ liệu nửa giám sát SeededKmeans và Constrained-Kmeans là cải tiến của thuật toán K-Means với việc khởi tạo K cụm ban đầu từ tập giống Thì bằng cách phân cụm dữ liệu áp dụng thuật toán phân cụm dữ liệu nửa giám sát... chính cụm đó hơn bất cứ 1 cụm nào khác Nhược điểm: 1 K-Means 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 2 Khó để chọn ra được số lượng cụm tối ưu ngay từ đầu, mà phải qua nhiều lần thử để tìm ra được số lượng cụm tối ưu 3 Rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu 4 Không phải lúc nào mỗi đối tượng cũng chỉ thuộc về 1 cụm 5 K-Means không khắc phục... thuật toán tại đây 4 Đánh giá thuật toán: o Ưu Điểm 1 Độ phức tạp: O(K,N,1) với l: số lần lặp 2 Có khả năng mở rộng, có thể dễ dàng sửa đổi với những dữ liệu mới 3 Bảo đảm hội tụ sau 1 số bước lặp hữu hạn 4 Luôn có K cụm dữ liệu 5 Luôn có ít nhất 1 điểm dữ liệu trong 1 cụm dữ liệu 6 Các cụm không phân cấp và không bị chồng chéo dữ liệu lên nhau Trang 14 7 Mọi thành viên của 1 cụm là gần với chính cụm. .. thức quan trọng trong Data Mining có nhiều ý nghĩa trong khoa học cũng như thực tiễn Trong đó, gom cụm dữ liệu Kmean là một trong những hướng nghiên cứu mới được nhiều nhà khoa học quan tâm Bài thu hoạch đã nêu được một cách khái quát về Data mining và trình bày thuật toán điển hình của gom cụm dữ liệu là thuật toán Kmean Trang 30 TÀI LIỆU THAM KHẢO [1] PSG.TS Đỗ phúc Giáo trình khai thác dữ liệu, Nhà... phân cụm dữ liệu áp dụng thuật toán phân cụm dữ liệu nửa giám sát cho kiểu dữ liệu hỗn hợp có nghĩa là ta đã kết hợp thuật toán K-Tâm và thuật toán phân cụm dữ liệu nửa giám sát Về cơ bản khi tiến hành phân cụm dữ liệu nửa giám sát cho kiểu dữ liệu hỗn hợp không khác gì mấy so với việc phân cụm dữ liệu nửa giám sát với kiểu dữ liệu số Chỉ có một điểm khác nhau cơ bản ở đây là việc tính khoảng cách giữa... việc đọc, nghiên cứu và phát triển phương pháp gom cụm dữ liệu đóng một vai trò rất quan trọng trong hoạt động của khoa học công nghệ máy tính, cũng như trong hoạt động thực tiễn Trong bài thu hoạch này em đã nêu lên những nét đặc trưng nhất trong lĩnh vực Data Mining bao gồm các vấn đề cần khám phá tri thức, các hướng tiếp cận nghiên cứu tiêu biểu Gom cụm dữ liệu là một phương pháp khám phá tri thức... định các thông tin nào là quan trọng và các thông tin nào là kém quan trọng hơn trong qua trình phân cụm Giá trị của các trọng số sẽ góp phần quan trọng trong kết quả phân cụm thu được Trang 26 3.2.4 Giao diện chương trình  Một số giao diện cập nhập Trang 27  Phân cụm dữ liệu  Trang 28 •  Kết quả phân cụm Trang 29 KẾT LUẬN Data mining là một trong những lĩnh vực nghiên cứu mới, nhưng đồng thời nó cũng... Quang Thụy (2009), Giáo trình khai phá dữ liệu Web, Nhà xuất bản giáo dục Việt Nam [3] Kỹ sư Nguyễn Anh Trung - Trung tâm Công nghệ Thông tin, Ứng dụng các kỹ thuật khai phá dữ liệu vào lĩnh vực viễn thông [4] Hoàng Hải Xanh, Một số kỹ thuật phân cụm dữ liệu trong Data Mining, Luận văn thạc sĩ, Trường Đại học Công nghệ (ĐHQGHN), Hà Nội [6] Nguyễn Thị Ngọc Mai, Microsoft Visual Basic 6.0 và Lập Trình Cơ... giao diện (Visual Programming) - Viết lệnh (Code Programming) 3.1.1 Cấu trúc một đề án (Project) Một đề án bao gồm: • Các form (.frm): Dùng để cập nhật dữ liệu cho cơ sở dữ liệu (nhập, sửa, xoá tìm kiếm, xử lý tính toán dữ liệu) • Các Report (.dsr): Dùng để in ấn các báo cáo • Các Module (.bas): Dùng để chứa các hàm, các thủ tục Khi đó trong tất cả mọi nơi của chương trình cho phép sử dụng các hàm thủ... New ADODB.Connection cn.Open “Tên kết nối ODBC” Set rs = cn.excute(“tên bảng | Nội dung của câu lệnh Select”) 3.1.5 Hệ quản trị Cơ sở dữ liệu ACCESS Access là một hệ thống quản trị CSDL, nó lưu trữ và tìm kiếm dữ liệu, biểu diễn thông tin và tự động làm nhiều nhiệm vụ khác Với việc sử dụng Access, chúng ta có thể phát triển ứng dụng một cách nhanh chóng trên môi trường Windows của Microsoft Trang 19 . có nhiều ứng dụng gom cụm dữ liệu cho việc giải quyết các vấn đề trong lĩnh vực như tài chính, bảo hiểm, thông tin địa lý, sinh học … Do đó em chọn đề tài Tìm hiểu thuật toán gom cụm K-Means với. nhiều trong đời sống. Gom cụm dữ liệu là quá trình tìm kiếm 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 gom cụm dữ liệu phần lớn. (1967). 1. Thuật toán: Thuật toán thao tác trên một tập các vecto d-chiều ,D={x i | i=1…N} trong đó x i € R d là điểm dữ liệu thứ I. Thuật toán bắt đầu bằng cách chọn k điểm làm trọng tâm. Kỹ thuật

Ngày đăng: 09/04/2015, 21:34

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w