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

TÌM HIỂU GOM CỤM DỮ LIỆU ỨNG DỤNG CÀI ĐẶT K-MEANS

24 488 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 0,98 MB

Nội dung

Khai phá dữ liệu là tiến trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính khái quát, quy luật hỗ trợ tích cực cho các tiến trình ra quyết định, hay dự đoán,

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Thành phố Hồ Chí Minh Tháng 11/2012

Trang 2

LỜI MỞ ĐẦU

Trong bối cảnh thông tin đang bùng nổ như hiện nay Khai thác và ứng dụng thông tin sao cho có hiểu quả là là điều rất cần thiết Các cơ quan, tổ chức đều mong muốn có được càng nhiều thông tin về lĩnh vực mình hoạt động càng tốt: các khách hàng tiềm năng, hoạt động của công ty cạnh tranh, biến động của thị trường…

Tuy nhiên, thông tin cũng sẽ không giúp ích được nhiều nếu như người nắm giữ thông tin không biết khai thác nó Bản thân thông tin mang những hiện tượng và xu hướng phổ biến Nếu nắm được các hiện tượng, xu hướng phổ biến này, chúng sẽ hoạt động hiệu quả nhất, bởi vì “Biết người biết ta trăm trận trăm thắng” Có thể nói, trong tất cả các lĩnh vực như kinh tế, xã hội, chính trị…, ai có được thông tin và khai thác thông tin hiệu quả sẽ là người có thể điều khiển được đại cuộc, là những người thành công

Thông qua bài luận của môn học khai phá dữ liệu, sau phần khái quát về khai phá

dữ liệu, đi sâu hơn về khai phá dữ liệu Đồng thời giới thiệu và cài đặt thuật toán means để mô tả cho ứng dụng của kỹ thuật gom cụm dữ liệu trong khai phá dữ liệu Em xin chân thành cảm ơn thầy Phúc đã hướng dẫn, giúp em tiếp cận và làm quen với những vấn đề rất nổi bật trong thế giới thông tin vô tận để tổng hợp thành bài báo cáo chuyên đề này Tuy nhiên, với kiến thức còn hạn chế và thời gian có hạn nên bài báo cáo và ứng dụng demo khó tránh khỏi các thiếu sót Em mong thầy cho em các ý kiến

K-để em có thể hoàn thiện bài báo cáo hơn đồng thời cũng có thể đút kết cho mình những kinh nghiệm để làm tốt hơn những chuyên đề khác

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Trang 4

NỘI DUNG

1 CƠ SỞ LÝ THUYẾT 7

1.1 Tổng quan về khai phá dữ liệu 7

1.1.1 Ý nghĩa của việc khai phá dữ liệu: 7

1.1.2 Các bước khám phá tri thức: 8

1.1.3 Tổng quan các kỹ thuật khai phá dữ liệu: 9

1.2 Cluster (gom cụm) là gì: 10

1.2.1 Phương pháp phân hoạch: 11

1.2.2 Phương pháp phân cấp (hierarchical clustering): 12

1.2.3 Phương pháp dựa trên mật độ: 13

1.2.4 Phương pháp dựa trên mô hình: 15

1.2.5 Phương pháp dựa trên lưới: 15

1.3 K-Means 15

1.3.1 Giới thiệu 15

1.3.2 Thuật toán 15

1.3.3 Ưu điểm 19

1.3.4 Hạn chế 20

1.3.5 Các thuật toán cải tiến K-Means 20

2 Chương trình Demo thuật toán K-MEANS 21

2.1 Giao diện chính của chương trình: 21

2.2 Hướng dẫn sử dụng: 22

3 KẾT LUẬN 22

3.1 Kết quả đạt được 22

Trang 5

3.2 Hạn chế 23 3.3 Hướng phát triển 23

4 TÀI LIỆU THAM KHẢO 23

Trang 6

DANH SÁCH HÌNH

Hình 1: Gom cụm K-means 12

Hình 2: Một đồ thị cây phân cấp 13

Hình 3: Ví dụ gom cụm DBSCAN 14

Hình 4: Ví dụ gom cụm OPTICS 14

Hình 5: K-Means với 2 cụm 17

Hình 6: Giao diện chính của chương trình demo 21

Hình 7: Kết quả của chạy một chương trình 22

Trang 7

1 CƠ SỞ LÝ THUYẾT

1.1 Tổng quan về khai phá dữ liệu

Sự phát triển nhanh chóng của khoa học kỹ thuật, công nghệ đồng thời ứng dụng của công nghệ thông tin vào nhiều lĩnh vực trong cuộc sống xã hội, kinh tế, chính trị, khoa học kỹ thuật, du lịch, … đã tạo ra nhiều cơ sở dữ liệu khổng lồ Do đó, để sử dụng hiệu quả nguồn dữ liệu thì đòi hỏi chúng ta cần có các công cụ hỗ trợ ra quyết định bên cạnh các phương pháp khai thác thông tin đã có

Khai phá dữ liệu – data mining là tiến trình khám phá tri thức tiềm ẩn trong các

cơ sở dữ liệu Đó là các quá trình trích lọc, tìm ra các tri thức hay các mẫu tiềm ẩn, chưa biết nhưng có ích từ các cơ sở dữ liệu lớn

Khai phá dữ liệu là tiến trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính khái quát, quy luật hỗ trợ tích cực cho các tiến trình ra quyết định, hay dự đoán, dự báo giá trị cho các đối tượng nhắm vào phục vụ lợi ích của con người

Có thể chia khai phá dữ liệu thành hai dạng chính:

 Khai phá dữ liệu theo hướng kiểm tra: là việc người ta dùng các đề xuất giả thiết, hệ thống kiểm tra tính đúng đắn của giả thiết Nó bao gồm: truy vấn, báo cáo, phân tích đa chiều, phân tích thông kê …

 Khai phá dữ liệu theo hướng khám phá: là việc tìm kiếm các tri thức tiềm

ẩn trong cơ sở dữ liệu thông qua việc tiến hành xem xét tất cả các giả thiết

có khả năng hiện thực

1.1.1 Ý nghĩa của việc khai phá dữ liệu:

Tri thức được rút ra từ khai phá dữ liệu được dùng để:

Trang 8

 Giải thích dữ liệu: sẽ cung cấp sự hiểu biết sâu sắc và hữu ích về hành vi của các đối tượng, giúp người quản lý hiểu rõ hơn về các đối tượng mà họ đang quản lý

 Dự báo: dự báo các giá trị của các đối tượng mới:

o Khuynh hướng mua hàng của khách hàng

o Xác định rủi ro tín dụng với một khách hàng

o Định hướng tập trung nguồn lực doanh nghiệp

 Cung cấp cơ chế hỗ trợ ra quyết định

 Làm giàu dữ liệu: bổ sung thêm nhiều loại dữ thông tin có liên quan đến cơ sở dữ liệu gốc

 Mã hóa dữ liệu: mục đích là chuyển đổi kiểu dữ liệu về những dạng thuận tiện để tiến hành các thuật toán khám phá dữ liệu

b) Khai thác dữ liệu: là quá trình “điều chỉnh đúng” các mô hình dữ liệu c) Tường trình, báo cáo kết quả: giải thích và hiển thị trực quan các kết quả của quá trình khai phá dữ liệu để hỗ trợ việc đánh giá chất lượng dữ liệu, đánh giá mô hình dữ liệu đã lựa chọn có phù hợp hay không

Trang 9

1.1.3 Tổng quan các kỹ thuật khai phá dữ liệu:

Nội dung chính của phần này sẽ giới thiệu các kỹ thuật khai phá dữ liệu phổ biến a) Khai thác tập phổ biến và luật kết hợp

Là quá trình khám phá các tập giá trị thuộc tính xuất hiện phổ biến trong các đối tượng dữ liệu Từ đó có thể tạo ra các luật kết hợp giữa các giá trị thuộc tính nhằm phản ánh khả năng xuất hiện đồng thời các giá trị thuộc tính trong các tập đối tượng

b) Khai thác mẫu tuần tự:

Là quá trình khám phá các mẫu tuần tự phổ biến phản án mối quan hệ giữa các biến cố trong các cơ sở dữ liệu hướng thời gian Một luật mô tả mẫu tuần tự có dạng X

 Y phản ánh sự xuất hiện của của biến cố X sẽ dẫn đến việc xuất hiện kế tiếp biến cố

Y Do đó có thể khám phá được các xu thế phát triển của đối tượng

c) Phân lớp dữ liệu:

Là quá trình khám phá các luật phân loại hay đặc trưng cho các tập dữ liệu đã được xếp lớp Tập dữ liệu học bao gồm tập đối tượng đã được xác định sẽ được dùng để tạo mô hình phân lớp dựa trên đặc trưng của đối tượng trong tập dữ liệu học Các luật phân lớp được sử dụng để xây dựng các bộ phân lớp dữ liệu Phân lớp dữ liệu có vai trò quan trọng trong việc dự báo các khuynh hướng, quy luật phát triển Phân lớp dữ liệu là hình thức học có giám sát (supervised learning)

d) Gom cụm dữ liệu:

Là quá trình nhận diện các cụm tiềm ẩn trong tập các đối tượng chưa được xếp lớp Tiến hành khai thác cụm dựa trên mức độ tương tự với nhau giữa các đối tượng 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 cụm là cực đại, và mức độ tương tự giữa các đối tượng trong cụm khác là cực tiểu Các đối tượng trong cùng một cùng có cùng một tính chất đặc trưng Do đó khảo sát gom cụm sẽ giúp khái quát, tổng kết nhanh chóng nội dung của khối dữ liệu lớn

Trang 10

1.2 Cluster (gom cụm) là gì:

Gom cụm dữ liệu là hình thức học không giám sát (unsupervised learning) trong

đó các mẫu dùng trong quá trình học chưa được gán nhãn Mục đích của gom cụm dữ liệu là tìm những mẫu đại diện hoặc gom dữ liệu tương tự nhau (theo một chuẩn đánh giá nào đó) thành những cụm Một số ứng dụng tiêu biểu của gom cụm như:

 Phân loại nhà theo vị trí, giá trị …

 Phân loại khách hàng để có chính sách hỗ trợ khách hàng phù hợp

 Phân loại bệnh nhân

 Xem xét phân bố dữ liệu

 Phân loại đất theo công năng hay thực tế sử dụng để có chính sách quy hoạch hợp lý

 …

Một phương pháp gom cụm tốt nếu đạt được các tính chất sau:

 Có độ tương tự cao trong cùng cụm

 Có độ tương thự thấp giữa các cụm

 Có khả năng phát hiện các mẫu tiềm ẩn

 Có khả năng làm việc hiệu quả cao với các cơ sở dữ liệu với lượng dữ liệu lớn

 Có khả năng làm việc với nhiều loại dữ liệu khác nhau

 Có khả năng khám phá ra các cụm có phân bố theo các dạng khác nhau

 Có khả năng làm việc với nhiễu và mẫu cá biệt

 Không bị ảnh hưởng bởi thứ tự nhập dữ liệu

 Làm việc tốt trên cơ sở dữ liệu có số chiều cao

 Chấp nhận các ràng buộc do người dùng chỉ định

 Có thể hiểu và sử dụng được kết quả gom cụm

Các phương pháp gom cụm phổ biến:

Trang 11

 Các phương pháp phân hoạch

 Các phương pháp phân cấp

 Các phương pháp dựa trên mô hình

 Các phương pháp dựa trên mật dộ

 Các phương pháp dựa trên lưới

1.2.1 Phương pháp phân hoạch:

Đây là phương pháp tạo phân hoạch cho cơ sở dữ liệu DB có n đối tượng thành k cụm sao cho:

i Mỗi cụm chứa ít nhất một đối tượng

ii Mỗi đối tượng thuộc về một cụm duy nhất

iii k là số cụm đã được cho trước

Hiện nay có một số phương pháp phân hoạch dưa trên tập mờ, thì tiêu chuẩn (ii) không còn quan trọng, thay vào đó là mức độ phụ thuộc của đối tượng vào mỗi cụm, giá trị nằm trong đoạn [0;1]

Các phương pháp tiếp cận phân hoạch:

 Tối ưu toàn cục bằng cách vét cạn

Các phương pháp heuristic:

 K-Means (MacQueen 67): mỗi cụm được đại diện bằng trọng tâm của cụm K-means sẽ được trình bày chi tiết trong phần sau

Trang 12

Hình 1: Gom cụm K-means

 K-Medoids(Kaufman & Rouseau 87): còn được gọi là PAM ( partition around medoids) mỗi cụm được đại diện bằng một đối tượng thuộc cụm

đó

1.2.2 Phương pháp phân cấp (hierarchical clustering):

Là phương pháp tạo phân cấp cụm, không phải là phương pháp phân hoạch các đối tượng Phương pháp này không cần phải xác định số cụm ngay từ ban đầu Số cụm được quyết định bởi khoảng cách giữa các cụm hay điều kiện dừng Phân cấp cụm thường được biễu diễn dưới dạng đồ thị cây các cụm Lá biểu diễn các đối tượng riêng

lẻ, còn nút biễu diễn các cụm

Trang 13

Hình 2: Một đồ thị cây phân cấp

1.2.3 Phương pháp dựa trên mật độ:

Trong phương pháp gom cụm dựa trên mật độ, các cụm được định nghĩa là những vùng có mật độ cao hơn các phần còn lại của tập dữ liệu Các đối tượng trong những vùng rời rạc – vùng này dùng trong gom cụm dữ liệu – thường được xem như là các dữ liệu dư thừa và các vùng biên của cụm dữ liệu

Phương pháp phổ biến của gom cụm theo mật độ:

 DBSCAN(Density Based Spatial Clustering of Applications with Noise):

là một phương pháp phân cụm dựa trên mật độ, nó tìm một số cụm bắt đầu từ việc ước lượng phân phối mật độ của các nút tương ứng DBSCAN đòi hỏi hai tham số bán kính tìm kiếm (epsilon) và số điểm nhỏ nhất cần thiết phải để xây dựng một cụm (minPts) Nó bắt đầu từ một điểm tùy ý

mà chưa duyệt Điểm lân cận của được truy xuất, và nếu nó bao gồm nhiều điểm phù hợp, một cụm mới được tạo nên Ngược lại, điểm này được xem như là điểm dư thừa Chú ý rằng điểm này có thể được tìm thấy

Trang 14

sau đó trong một độ lớn môi trường phù hợp của một điểm khác, và do

đó nó tạo nên một phần của một cụm nào đó

Hình 3: Ví dụ gom cụm DBSCAN

 OPTICS (Ordering Points To Identify the Clustering Structure): có thể xem như là một phương pháp DBSCAN tổng quát trên nhiều khoảng khác nhau, thay thế tham số epsilon bằng khoảng cách cực đại

Hình 4: Ví dụ gom cụm OPTICS

 DENCLUE (DENsity CLUstEring): đây là thuật toán ước lượng mật độ cục bộ của dữ liệu đầu vào theo một cách tương tự như ước lượng hàm mật độ xác suất hạt nhân Hạt nhân, gọi là hàm tác động, được sao chép vào mỗi hàm mật độ dữ liệu vị trí Cực đại của hàm mật độ gọi là mật độ các điểm hấp dẫn

Trang 15

 Ngoài ra còn có nhiều thuật toán khác như: Fuzzy DBSCAN, DBCLASD, Recursive DBC

1.2.4 Phương pháp dựa trên mô hình:

Phương pháp dựa trên sự phù hợp giữa dữ liệu và các mô hình toán học Dựa trên dữ liệu phát sinh từ một sự kết hợp nào đó của phân phối xác suất ẩn Có hai phương pháp tiếp cận chính:

 Tiếp cân thống kê: COBWEB, CLASSIT, AutoClass

 Tiếp cận mạng noron: SOM (Self-Organizing Feature Map)

1.2.5 Phương pháp dựa trên lưới:

Dùng các cấu trúc dữ liệu dạng lưới với nhiều cấp dộ phân giải Những ô lưới có mật độ cao sẽ tạo thành những cụm Một số thuật toán phổ biến như: STING (statistical information grid), WaveCluster, CLIQUE (CLustering in QUEst)

1.3 K-Means

1.3.1 Giới thiệu

Là một phương pháp gom cụm theo cách tiếp cận phân hoạch, bằng cách cho trước số cụm k cần, sau đó xếp từng đối tượng dữ liệu vào trong mỗi cụ sao cho độ phân biệt trong các cụm là thấp nhất

Vấn đề đặt ra là với không gian dữ liệu với số chiều và số lượng phần tử lớn thì thời gian thực hiện tăng nhanh theo luật bùng nổ tổ hợp Với k cho trước có thể có (kn-(k-1)n-…-1) khả năng phân hoạch khác nhau Nếu n quá lớn thì hầu như không thể thực hiện được Vì vậy gom cụm phân hoạch phải có các thuật toán nhanh và có sử dụng heuristic để có giải pháp gom cụm đủ tốt, K-means là một trong những thuật toán như vậy

1.3.2 Thuật toán

Cho k là số cụm sau khi phân hoạch (1 <= k <= n, n là số đối tượng (điểm) trong không gian dữ liệu)

Trang 16

Thuật toán k-means gồm 4 bước:

1 Chọn ngẫu nhiên k đối tượng làm trọng tâm ban đầu của k cụm

2 Gán (gán lại) từng đối tượng vào cụm có trọng tâm gần đối tượng đang xét nhất

Nếu không có phép gán lại nào thì dừng Vì không có phép gán lại nào có nghĩa là cụm đã ổn định, thuật toán không thể cải thiện làm giảm độ phân biệt giữa các đối tượng của cụm hơn được nữa

3 Tính trọng tâm cho từng cụm

4 Quay lại bước 2

Khoảng cách Euclidean được dùng làm hàm đo độ tương tự trong K-Means:

d(i,j)=√| | | | | |

Trong đó i, j là các điểm trong không gian p chiều

Trang 17

Dùng k-means để gom cụm với k = 2

Bước 1 : Khởi tạo ma trận phân hoạch U có 4 cột ứng với 4 điểm và 2 dòng ứng với 2 cụm,

0 1 2 3 4 5 6 7 8 9 10

Trang 18

Cho n= 0 (số lần lặp), tạo U0

Bước 3: Tính vector trọng tâm:

Do có hai cụm C1, C2 nên có hai vector trọng tâm v1, v2

Các tính vector trọng tâm:

Với vector v1 cho cụm 1:

14131211

41

*1431

*1321

*1211

*

11

11

m m m m

x m x m x m x

3

*03.105.101

42

* 14 32

* 13 22

* 12 12

*

11

12

m m m m

x m x m x m x

1 0 8 2

* 0 2 3

* 0 3

41

*2431

*2321

*2211

*

21

21

m m m m

x m x m x m x

1 1 0

3

* 1 3 1

* 1 5 1

42

*2432

*2322

*2212

*

21

22

m m m m

x m x m x m x

71

11

0

1

*18.2

*12

Trang 19

Vậy v1 = (1.93, 2.33)

Gom các đối tượng vào cụm

Tính khoảng cách Euclide từ từng điểm đến cụm c1, c2 chọn cụm có khoảng cách gần nhất để đưa đối tượng vào cụm

2 2

)1212()1111()1,

1

d     = (11)2 (33)2 0

2 2

) 22 12 ( ) 21 11 ( ) 2 ,

Trang 20

 Tốc độ tương đối nhanh Độ phức tạp là O(tkn), trong đó:

o n: số đối tượng trong không gian dữ liệu

 Khó xác định số cụm thực sự mà không gian dữ liệu có Do đó có thể phải thử với các giá trị k khác nhau

 Khó phát hiện các loại cụm có hình dạng phức tạp và nhất là các dạng cụm không lồi

 Không hề xử lý nhiễu và các mẫu cá biệt

 Chỉ có thể áp dụng khi tính được trọng tâm

 Không có sự khác biệt về mức độ ảnh hưởng của mỗi thuộc tính vào việc gom cụm, chúng ta xem tất cả thuộc tính đều cùng mức độ ảnh hưởng

1.3.5 Các thuật toán cải tiến K-Means

 Thuật toán K-medoids:

o Tương tự thuật toán K-means

o Mỗi cụm được đại diện bởi một trong các đối tượng của cụm

o Chọn đối tượng ở gần tâm cụm nhất làm đại diện cho cụm đó

o K-medoid khắc phục được nhiễu, nhưng độ phức tạp lớn hơn ) )

 n: là số đối tượng trong không gian dữ liệu

 k: số cụm cần gom nhóm

 t: số lần lặp, t khá nhỏ so với n

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w