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

Tìm hiểu clustering trong data mining và ứng dụng K-mean trong xử lý ảnh

24 506 1

Đ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 24
Dung lượng 1,28 MB

Nội dung

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 mỏ dữ liệu và khám phá tri thức để hiểu rõ hơn về thuyết cũng như các ứng dụng thực tế.. Nội dung báo

Trang 1

ĐẠ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 CÔNG NGHỆ TRI THỨC VÀ

TP HỒ CHÍ MINH, THÁNG 6/2012

Trang 2

Cùng với sự phát triển nhanh chóng, vượt bậc của ngành công nghiệp máy tính, nhu cầu của người dùng đối với máy tính ngày càng cao, không chỉ giải quyết các vấn đề lưu trữ, tính toán bình thường, người dùng còn mong đợi máy tính có khả năng thông minh hơn,

có thể giải quyết vấn đề như con người Do đó Công nghệ tri thức ra đời Công nghệ tri thức đóng vai trò hết sức quan trọng trong việc phát triển Công nghệ thông tin, nâng cao

sự hữu dụng của máy tính, giúp con người gần gũi với máy tính hơn, góp phần thúc đẩy các ngành khoa học khác phát triển 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 mỏ dữ liệu và khám phá tri thức để 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 mỏ 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) Qua đây em cũng xin gửi lời cảm ơn đến Giáo sư, Tiến sĩ khoa học Hoàng Văn Kiếm đã 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 “Công nghệ tri thức và ứng dụng”

Trang 3

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 mỏ 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 mỏ dữ liệu: 5

I.4 Các bước của quá trình khai mỏ 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

Trang 4

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 Giới thiệu 17

III.2 Thực hiện 17

III.3 Kết quả demo 20

III.4 Thực hiện demo 20

Trang 5

I Giới thiệu

Khai mỏ 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 mỏ 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 mỏ 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 mỏ 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 mỏ 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 mỏ dữ liệu và lựa chọn kỹ

thuật khai mỏ 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

Trang 6

I.2 Các phương pháp khai mỏ 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 đó

Trang 7

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 mỏ dữ liệu:

Phát hiện tri thức và khai mỏ 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 mỏ 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 mỏ dữ liệu

Các ứng dụng của khai mỏ 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,

Trang 8

- 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 mỏ 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 mỏ 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

Trang 9

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

Trang 10

Một số độ đo trong gom nhóm:

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

Trang 11

- Gom nhóm có ràng buộc

- Gom nhóm phân hoạch

Trong phạm vi giới hạn, đề tài đề cập chi tiết đến gom nhóm phân hoạch Gom nhóm phân hoạch dùng để phân 1 tập dữ liệu có n phần tử cho trước thành K dữ liệu (k<= n), mỗi tập con biểu diễn 1 gom nhóm Các nhóm hình thành trên cơ sở làm tối ưu giá trị hàm đo độ tương tự sao cho:

- Các đối tượng trong 1 nhóm là tương tự

- Các đối tượng trong các nhóm khác nhau là không tương tự

Đặc điểm:

- Mỗi đối 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 toán hoạt động trên 1 tập vector d chiều, tập dữ liệu X gồm N phần tử

{ | }K-mean lập lại nhiều lần quá trình:

- Gán dữ liệu

Trang 12

- Cập nhật lại quá trình trọng tâm

Quá trình lặp dừng lại khi trọng tâm hội tụ và mỗi đối tượng là 1 bộ phận của 1 nhóm Hàm đo độ tương tự sử dụng khoảng cách Euclidean

∑ ∑ (‖ ‖ )

trong đó là trọng tâm của nhóm

Hàm trên không âm, giảm khi có 1 sự thay đổi 1 trong 2 bước: gán dữ liệu và định lại vị trí tâm

II.3.3 Các bước của thuật toán:

Bước 1: khởi tạo, chọn K trọng tâm

{ } ( ) Bước 2: tính toán khoảng cách:

( )

{ ‖ ( )‖ ‖ ( )‖ }Bước 3: cập nhật lại trọng tâm:

Trang 13

s

II.3.4 Ví dụ minh họa

nhóm các đối tượng vào các nhóm

không có đối tượng

kết thúc True

False

Trang 14

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

Bước 2: tính toán khoảng cách

( ) ( ) ( )

Trang 17

Hình 6: Kết quả sau khi phân nhóm

II.3.5 Đánh giá thuật toán

Ưu điểm:

- Độ phức tạp: O(K.N.L) với L 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 một số lần 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 một nhóm dữ liệu

- Các nhóm không phân cấp và không bị chồng chéo dữ liệu lên nhau

- Các thành viên của 1 nhóm là gần với chính nhóm đó hơn bất cứ 1 nhóm nào khác

Nhược điểm:

- Không có khả năng tìm ra các nhóm không lồi hoặc các nhóm có hình dạng phức tạp

- Thời gian thực thi lớn khi K, N lớn

- Khó khăn trong việc xác định trọng tâm ban đầu:

o chọn ngẫu nhiên các trung tâm nhóm lúc khởi tạo

Trang 18

o Độ hội thụ của thuật 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 đượ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 nhóm khách hàng tiềm năng

- Sinh học: gom nhóm độ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 vùng ảnh

Trang 19

III Ứng dụng

III.1 Giới thiệu

Ý 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 giới hạn

Bài toán được giải quyết thông thường bằng các giải thuật 3D-clustering (dựa trên khoảng cách Euclidean ba kênh màu red, green, blue)

√( ) ( ) ( )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 thuật clustering cơ bản nhất là K-mean

III.2 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

Ngày đăng: 10/04/2015, 17:05

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w