Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
1,33 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TIỂU LUẬN MÔN KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU Đề tài: Tìm hiểu clustering trong data mining và ứng dụng K-mean trong xử lý ảnh Giảng viên hướng dẫn: PGS.TS Đỗ Phúc Học viên thực hiện: Trịnh Thị Trúc Chi MSHV: CH1101006 Lớp: CH6 TP. HỒ CHÍ MINH, THÁNG 11/2012 Lời nói đầu Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tích luỹ nhiều lên. Tuy nhiên, theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết sẽ phải làm gì hoặc có thể làm gì với chúng nhưng họ vẫn tiếp tục thu thập rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã bị bỏ qua sau này có lúc cần đến nó. Một vấn đề đặt ra là làm thế nào để tổ chức, khai thác những khối lượng dữ liệu khổng lồ và đa dạng đó được? Bộ môn Khai phá dữ liệu và kho dữ liệu sẽ giúp giải quyết các vấn đề nan giải này. Trong phạm vi của bài báo cáo này, em xin trình bày một khía cạnh của nội dung Khai phá dữ liệu và kho dữ liệu để hiểu rõ hơn về thuyết cũng như các ứng dụng thực tế. Nội dung báo cáo giới thiệu sơ lược về kiến thức khai thác dữ liệu và kho dữ liệu, phân tích bài toán gom nhóm dữ liệu, phân tích một thuật giải cơ bản của bài toán này là thuật giải K-mean với hai ứng dụng: ứng dụng demo chạy thuật toán K-mean và ứng dụng thuật giải để giải quyết một vấn đề trong lĩnh vưc phát triển công nghệ thông tin: Ứng dụng K-mean để giảm không gian màu trong hình ảnh (Image segmentation). Qua đây em cũng xin gửi lời cảm ơn đến Phó Giáo sư, Tiến sĩ Đỗ Phúc đã tận tình truyền đạt những kiến thức nền tảng cơ bản cho chúng em trong bộ môn “Khai phá dữ liệu và kho dữ liệu”. 1 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC: KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU Mục lục I. Giới thiệu 3 I.1. Giới thiệu “Data mining”: 3 I.2. Các phương pháp khai phá dữ liệu: 4 I.2.1. Phân loại (classification): 4 I.2.2. Hồi quy (regression): 4 I.2.3. Gom nhóm (clustering): 4 I.2.4. Tổng hợp (summarization): 4 I.2.5. Mô hình ràng buộc (dependency modeling): 5 I.2.6. Dò tìm biến đổi và độ lệch (change and deviation dectection): 5 I.3. Các ứng dụng của khai phá dữ liệu: 5 I.4. Các bước của quá trình khai phá dữ liệu: 6 II. Bài toán gom nhóm dữ liệu (clustering) 7 II.1. Giới thiệu: 7 II.2. Mục đích gom nhóm: 8 II.2.1. Một số phương pháp gom nhóm điển hình 8 II.3. Phát biểu thuật toán K-mean: 9 II.3.1. Phát biểu bài toán: 9 II.3.2. Khái quát về thuật toán: 9 II.3.3. Các bước của thuật toán: 10 II.3.4. Ví dụ minh họa 11 II.3.5. Đánh giá thuật toán 15 2 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC: KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU II.3.6. Các biến thể 16 II.3.7. Ứng dụng của thuật toán 16 III. Ứng dụng 17 III.1. Demo giải bài toán K-mean: 17 III.2. Giới thiệu ứng dụng K-mean 18 III.3. Thực hiện 19 III.4. Kết quả demo 21 III.5. Thực hiện demo 22 3 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC: KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU I. Giới thiệu Khai phá dữ liệu và khám phá tri thức có vai trò hết sức quan trọng trong công tác tìm kiếm các tri thức tiềm năng từ kho cơ sở dữ liệu hiện có. Trong bài thu hoạch này em xin giới thiệu sơ lược về kiến thức khai phá dữ liệu, phân tích bài toán gom nhóm dữ liệu, phân tích một thuật giải cơ bản của bài toán này là thuật giải K-mean và ứng dụng thuật giải để giải quyết một vấn đề trong lĩnh vưc phát triển công nghệ thông tin: Ứng dụng K- mean để giảm không gian màu trong hình ảnh (Image segmentation). I.1. Giới thiệu “Data mining”: Khai phá dữ liệu là quá trình khám phá các tri thức mới và các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có. Khai phá dữ liệu làm giảm chi phí về thời gian so với phương pháp truyền thống trước kia (ví dụ như phương pháp thống kê). Khai phá dữ liệu là một bước của quá trình khai thác tri thức (Knowledge Discovery Process), bao gồm: - Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề (Problem understanding and data understanding). - Chuẩn bị dữ liệu (Data preparation), bao gồm các quá trình làm sạch dữ liệu (data cleaning), tích hợp dữ liệu (data integration), chọn dữ liệu (data selection), biến đổi dữ liệu (data transformation). - Khai thác dữ liệu (Data mining): xác định nhiệm vụ khai phá dữ liệu và lựa chọn kỹ thuật khai phá dữ liệu. Kết quả cho ta một nguồn tri thức thô. - Đánh giá (Evaluation): dựa trên một số tiêu chí tiến hành kiểm tra và lọc nguồn tri thức thu được. - Triển khai (Deployment). Quá trình khai thác tri thức không chỉ là một quá trình tuần tự từ bước đầu tiên đến bước cuối cùng mà là một quá trình lặp và có quay trở lại các bước đã qua. 4 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC: KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU I.2. Các phương pháp khai phá dữ liệu: I.2.1. Phân loại (classification): Là việc xác định một hàm ánh xạ từ một mẫu dữ liệu vào một trong số các lớp đã được biết trước đó. Mục tiêu của thuật toán phân lớp là tìm ra mối quan hệ nào đó giữa thuộc tính dự báo và thuộc tính phân lớp. Như thế quá trình phân lớp có thể sử dụng mối quan hệ này để dự báo cho các mục mới. I.2.2. Hồi quy (regression): Là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán có giá trị thực. Nhiệm vụ của hồi quy tương tự như phân lớp, điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứ không phải rời rạc. Việc dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điển, chẳng hạn như hồi quy tuyến tính. Tuy nhiên, phương pháp mô hình hoá cũng được sử dụng, ví dụ: cây quyết định. I.2.3. Gom nhóm (clustering): Là việc mô tả chung để tìm ra các tập hay các nhóm, loại mô tả dữ liệu. Các nhóm có thể tách nhau hoặc phân cấp hay gối lên nhau. Có nghĩa là dữ liệu có thể vừa thuộc nhóm này lại vừa thuộc nhóm khác. Các ứng dụng khai phá dữ liệu có nhiệm vụ gom nhóm như phát hiện tập các khách hàng có phản ứng giống nhau trong CSDL tiếp thị; xác định các quang phổ từ các phương pháp đo tia hồng ngoại. I.2.4. Tổng hợp (summarization): Kỹ thuật tổng hợp thường áp dụng trong việc phân tích dữ liệu có tính thăm dò và báo cáo tự động. Nhiệm vụ chính là sản sinh ra các mô tả đặc trưng cho một lớp. Mô tả loại này là một kiểu tổng hợp, tóm tắt các đặc tính chung của tất cả hay hầu hết các mục của một lớp. Các mô tả đặc trưng thể hiện theo luật có dạng sau: “Nếu một mục thuộc về lớp đã chỉ trong tiền đề thì mục đó có tất cả các thuộc tính đã nêu trong kết luận”. Lưu ý rằng luật dạng này có các khác biệt so với luật phân lớp. Luật phát hiện đặc trưng cho lớp chỉ sản sinh khi các mục đã thuộc về lớp đó. 5 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC: KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU I.2.5. Mô hình ràng buộc (dependency modeling): Là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa các biến, thuộc tính theo hai mức: - Mức cấu trúc của mô hình mô tả (thường dưới dạng đồ thị). Trong đó, các biến phụ thuộc bộ phận vào các biến khác. - Mức định lượng mô hình mô tả mức độ phụ thuộc. Những phụ thuộc này thường được biểu thị dưới dạng theo luật “nếu - thì” (nếu tiền đề là đúng thì kết luận đúng). I.2.6. Dò tìm biến đổi và độ lệch (change and deviation dectection): Nhiệm vụ này tập trung vào khám phá hầu hết sự thay đổi có nghĩa dưới dạng độ đo đã biết trước hoặc giá trị chuẩn, phát hiện độ lệch đáng kể giữa nội dung của tập con dữ liệu thực và nội dung mong đợi. Hai mô hình độ lệch hay dùng là lệch theo thời gian hay lệch theo nhóm. Độ lệch theo thời gian là sự thay đổi có ý nghĩa của dữ liệu theo thời gian. Độ lệch theo nhóm là sự khác nhau của giữa dữ liệu trong hai tập con dữ liệu. I.3. Các ứng dụng của khai phá dữ liệu: Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực: thống kê, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán, tính toán song song và tốc độ cao, thu thập tri thức cho các hệ chuyên gia, quan sát dữ liệu Đặc biệt phát hiện tri thức và khai phá dữ liệu rất gần gũi với lĩnh vực thống kê, sử dụng các phương pháp thống kê để mô hình dữ liệu và phát hiện các mẫu, luật Ngân hàng dữ liệu (Data Warehousing) và các công cụ phân tích trực tuyến (OLAP- On Line Analytical Processing) cũng liên quan rất chặt chẽ với phát hiện tri thức và khai phá dữ liệu. Các ứng dụng của khai phá dữ liệu trong thực tế: - 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, 6 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC: KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU - Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định. - Điều trị y học và chăm sóc y tế: một số thông tin về chuẩn đoán bệnh lưu trong các hệ thống quản lý bệnh viện. Phân tích mối liên hệ giữa các triệu chứng bệnh, chuẩ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: Quy trình, phương pháp chế biến và xử lý sự cố. - Text mining và 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, - Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thống giám sát lỗi, sự cố, chất lượng dịch vụ, I.4. Các bước của quá trình khai phá dữ liệu: Hình thành, xác định và định nghĩa bài toán: tìm hiểu lĩnh vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phải hoàn thành Thu thập và tiền xử lý dữ liệu: thu thập và xử lý thô nhằm loại bỏ nhiễu (làm sạch dữ liệu), xử lý việc thiếu dữ liệu (làm giàu dữ liệu), biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ qui trình phát hiện tri thức. Khai phá dữ liệu, rút ra các tri thức: trích ra các mẫu hoặc/và các mô hình ẩn dưới các dữ liệu. Giai đoạn này rất quan trọng, bao gồm các công đoạn như: chức năng, nhiệm vụ và mục đích của khai phá dữ liệu, dùng phương pháp khai phá nào. Sử dụng các tri thức phát hiện được: hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán. Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện. Do các kết quả có thể là các dự đoán hoặc các mô tả nên chúng có thể được đưa vào các hệ thống hỗ trợ ra quyết định nhằm tự động hoá quá trình này. 7 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC: KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU II. Bài toán gom nhóm dữ liệu (clustering) II.1. Giới thiệu: Gom nhóm dữ liệu là gom những đối tượng dữ liệu tương tự vào 1 nhóm thỏa điều kiện: - Các đối tượng trong 1 nhóm tương tự nhau - Các đối tượng khác nhóm thì không tương tự nhau Gom nhóm dữ liệu giúp giải quyết vấn đề tìm kiếm, phát hiện các cụm, các mẫu dữ liệu trong một tập hợp ban đầu các dữ liệu không có nhãn. Hình 1: Mô hình gom nhóm dữ liệu Với: X : 1 tập các điểm dữ liệu : cụm thứ i 8 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG MÔN HỌC: KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU Một số độ đo trong gom nhóm: - Minkowski - Manhattan - Euclidean - Độ đo tương tự (gần nhau): cosin 2 vector II.2. Mục đích gom nhóm: Xác định được bản chất của việc nhóm các đối tượng trong một tập dữ liệu không có nhãn. Gom nhóm không dựa trên một tiêu chuẩn chung nào, mà dựa vào tiêu chí mà người dùng cung cấp trong từng trường hợp. II.2.1. Một số phương pháp gom nhóm điển hình - Gom nhóm phân hoạch - Gom nhóm phân cấp - Gom nhóm dựa trên mật độ - Gom nhóm dựa trên lưới - Gom nhóm dựa trên mô hình [...]... Giới thiệu ứng dụng K-mean Ý tưởng ứng dụng thuật toán K-mean phân đoạn ảnh để giảm không gian màu (color quantization) Ý nghĩa thực tế, trong nhiều trường hợp thực tế, để giảm không gian lưu trữ ảnh, giải pháp thường được áp dụng là chuyển các ảnh 24-bits vào về ảnh index color (256, 128, 64, 32, 16, 8, 4, 2) Thường thấy nhất là trong các ứng dụng mobile vốn dĩ có bộ nhớ nhỏ, băng thông nhỏ và dung lượng... thuật clustering cơ bản nhất là K-mean III.3 Thực hiện Bước 1: Duyệt ảnh, tìm các màu được sử dụng trong ảnh Số màu được sử dụng cũng chính là số samples dùng cho clustering Ví dụ dữ liệu đầu vào: Các màu được tìm thấy: Màu Mã màu Blue 0000FF Red FF0000 white FFFFFF black 000000 Green 00FF00 Yellow FFFF00 Pink FF00FF Aqua 00FFFF grey 333333 Bảng 1: Danh sách các màu samples Bước 2: Áp dụng thuật toán K-mean, ... tượng chỉ thuộc về 1 nhóm - Mỗi nhóm có tối thiểu 1 đối tượng Một số thuật toán điển hình: K-mean, PAM, CLARA … Nội dung đề tài sẽ đi vào thuật toán K-mean, ứng dụng trong phân đoản ảnh II.3 Phát biểu thuật toán K-mean: II.3.1 Phát biểu bài toán: Đầu vào: tập các đối tượng X : { | } Số nhóm: K Đầu ra: Các nhóm ( ) tách rời và hàm tiêu chuẩn E đạt giá trị tối thiểu II.3.2 Khái quát về thuật toán: Thuật... động vật và thực vật dựa vào các thuộc tính của chúng - Quản lý thư viện: theo dõi độc giả, sách, dự đoán nhu cầu độc giả - Tài chính, bảo hiểm: gom nhóm các đối tượng sử dụng bảo hiểm 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 - Gom nhóm tài liệu web o Tìm kiếm và trích rút dữ liệu o Tiền xử lý tài liệu: quá trình tách từ và vector hóa tài liệu o Áp dụng K-mean - Phân... tách từ và vector hóa tài liệu o Áp dụng K-mean - Phân vùng ảnh MÔN HỌC: KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU 17 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG III Ứng dụng III.1 Demo giải bài toán K-mean: Nhập số điểm và số cụm, chọn tọa độ trọng tâm từ các điểm cho trước ban đầu, chọn “Bắt đầu” và “Bước tiếp theo” để chạy và xem kết quả bài toán MÔN HỌC: KHAI PHÁ DỮ LIỆU & KHO DỮ... thúc nhóm các đối tượng vào các nhóm II.3.4 Ví dụ minh họa Đối tượng Thuộc tính 1 (X) Thuộc tính 2 (Y) A 1 1 B 2 1 C 4 3 D 5 4 MÔN HỌC: KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU 12 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG Hình 2: Dữ liệu đầu vào K-mean Bước 1: khởi tạo Chọn 2 trọng tâm ban đầu (1,1) và (2,1) , thuộc 2 nhóm 1 và 2 Hình 3: Chọn A(1, 1) và B(2, 1) làm trọng tâm... thuật 3D -clustering (dựa trên khoảng cách Euclidean ba kênh màu red, green, blue) MÔN HỌC: KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU 19 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG ) √( ( ) ( ) Các thuật toán được sử dụng phổ biến là population algorithm, median cut - Paul Heckbert hoặc clustering sử dụng octrees Trong phạm vi đề tài, bài toán được giải quyết bằng cách sử dụng giải... Tương tự thuật toán K-mean Một nhóm được đại diện bởi 1 trong các đối tượng của nhóm Chọn đối tượng nằm gần tâm nhóm nhất làm đại diện cho nhóm đó K-medoid khắc phục được nhiễu nhưng độ phức tạp lớn hơn Thuật toán Fuzzy c-mean (FCM) Chung chiến lược gom nhóm với K-mean Nếu K-mean là gom nhóm dữ liệu cứng thì FCM là gom nhóm dữ liệu mờ II.3.7 Ứng dụng của thuật toán - Nghiên cứu thị trường: xác định các... toán phụ thuộc vào việc khởi tạo các vector trung tâm nhóm o Khó để chọn ra được số lượng nhóm tối ưu ngay từ đầu, mà phải qua nhiều lần chọn để tìm ra số nhóm tối ưu o Rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu o Không phải lúc nào mỗi đối tượng cũng thuộc về 1 nhóm, chỉ phù hợp với đường biên giữa các nhóm rõ II.3.6 Các biến thể Thuật toán K-medoid Tương tự thuật toán K-mean Một nhóm... màu trong mỗi đoạn là tập k-centroid đầu tiên Trong ví dụ trên, với k = 3, Màu Mã màu centroid black 000000 111166 grey 333333 Blue 0000FF Red FF0000 Green 00FF00 Yellow FFFF00 Aqua 00FFFF Pink FF00FF white FFFFFF AAAAFF AAAA00 Bảng 2: Danh sách samples sau khi sắp xếp và k-centroid đầu tiên Ba màu được chọn làm centroid là 111166, AAAAFF và AAAA00 Bước 2.2: Hiệu chỉnh các centroid theo thuật toán k-mean . LUẬN MÔN KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU Đề tài: Tìm hiểu clustering trong data mining và ứng dụng K-mean trong xử lý ảnh Giảng viên hướng dẫn: PGS.TS Đỗ Phúc Học viên thực. thuật giải K-mean với hai ứng dụng: ứng dụng demo chạy thuật toán K-mean và ứng dụng thuật giải để giải quyết một vấn đề trong lĩnh vưc phát triển công nghệ thông tin: Ứng dụng K-mean để giảm. thành, xác định và định nghĩa bài toán: tìm hiểu lĩnh vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phải hoàn thành Thu thập và tiền xử lý dữ liệu: thu thập và xử lý thô nhằm