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

Thuật toán Phân cụm dữ liệu nửa giám sát

26 600 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 26
Dung lượng 1,02 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thuật toán Phân cụm dữ liệu nửa giám sát

Trang 1

Em xin trân trọng cảm ơn thầy Trần Hữu Nghị - Hiệu trưởng trường Đại Học

Dân Lập Hải Phòng đã ủng hộ, động viên, và tạo mọi điều kiện tốt nhất để em có thể hoàn thành khoá học tại trường

Cuối cùng em xin gửi lời cảm ơn tới tất cả người thân cùng bạn bè đã động viên, giúp đỡ và đóng góp nhiều ý kiến quý báu cho em trong quá trình học tập cũng như khi làm tốt nghiệp

Hải Phòng, tháng7 năm 2007

Sinh viên

Lưu Tuấn Lâm

Trang 2

GIỚI THIỆ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 Bên cạnh đó 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 Cơ sở dữ liệu đã được sử dụng trong các hoạt động sản xuất, kinh doanh, quản lí , trong đó có nhiều Cơ sở dữ liệu cực lớn cỡ Gigabyte, thậm chí là Terabyte Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những kĩ thuật

và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức có ích Từ đó, các kĩ thuật Khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền Công nghệ thông tin thế giới hiện nay Một vấn đề được đặt ra là phải làm sao trích chọn được những thông tin có ý nghĩa từ tập dữ liệu lớn để từ đó có thể giải quyết được các yêu cầu của thực tế như trợ giúp ra quyết định, dự đoán,… và Khai phá dữ liệu (Data mining) đã

ra đời nhằm giải quyết các yêu cầu đó Khai phá dữ liệu được định nghĩa 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 Cơ sở dữ liệu, kho dữ liệu… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: khai phá tri thức từ Cơ sở dữ liệu (knowlegde mining from databases), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệu/mẫu (data/pattern analysis), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredging) Nhiều người coi khai phá dữ liệu và một thuật ngữ thông dụng khác

là khám phá tri thức trong Cơ sở dữ liệu(Knowlegde Discovery in Databases – KDD) là như nhau Tuy nhiên trên thực tế, khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình Khám phá tri thức trong Cơ sở dữ liệu

Ngay từ những ngày đầu khi xuất hiện, Data mining đã trở thành một trong những

xu hướng nghiên cứu phổ biến trong lĩnh vực học máy và công nghệ tri thức Nhiều thành tựu nghiên cứu của Data mining đã được áp dụng trong thực tế Data mining có nhiều hướng quan trọng và một trong các hướng đó là phân cụm dữ liệu (Data Clustering) Phân cụm dữ liệu là quá trính tìm kiếm để phân ra các cụm dữ liệu, các mẫu

dữ liệu từ tập Cơ sở dữ liệu lớn Phân cụm dữ liệu là một phương pháp học không giám sát

Trong những năm trở lại đây, do phương pháp phân cụm dữ liệu không giám sát còn nhiều nhược điểm vì vậy dựa trên học không giám sát và học có giám sát đã ra đời

Trang 3

sát Phương pháp phân cụm nửa giám sát không phải là một phương pháp phân cụm hoàn thiện nhưng nó đã phần nào khắc phục được những hạn chế và phát huy ưu điểm của phương pháp phân cụm không giám sát.

Do những ưu điểm, tầm quan trọng cũng như xu hướng phát triển của khám phá tri thức trong Cơ sở dữ liệu(Knowlegde Discovery in Databases – KDD) Và đây còn là một lĩnh vực mới lạ đồi với em, vì vậy em đã chọn đề tài Phân cụm dữ liệu nửa giám sát làm đề tài tốt nghiệp của mình Em mong muốn có thể học hỏi và tìm hiểu sâu hơn về kỹ thuật khai phá dữ liệu, từ đó tạo cho bản thân những kiến thức cơ bản để sau này có thể

đi sâu nghiên cứu và tìm hiểu về lĩnh vực KDD

Nội dung bài đồ án tốt nghiệp ngoài phần giới thiệu, kết luận, và tìa liệu than khảo gồm có 5 chương :

Chương 1 : Giới thiệu tổng quan về Datamining

Chương 2 : Giời thiệu về phân cụm dữ liệu và các kỹ thuật tiếp cận trong phân cụm

dữ liệu

Chương 3 : Trình bày về một số phương pháp và thuật toán Phân cụm dữ liệu không

giám sát

Chương 4 : Trình bày một số thuật toán phân cụm dữ liệu nửa giám sát

Chương 5 : Bài toán ứng dụng

Trang 4

MỤC LỤC

LỜI CẢM ƠN 1

GIỚI THIỆU 2

Chương 1 : TỔNG QUAN VỀ DATA MINING 5

1.1 Giới thiệu về khám phá tri thức 5

1.2 Khai phá dữ liệu và các khái niệm liên quan 6

1.2.1 Khái niệm khai phá dữ liệu 6

1.2.2 Các kỹ thuật tiếp cận trong khai phá cữ liệu 6

Chương 2 : PHÂN CỤM DỮ LIỆU VÀ CÁC KỸ THUẬT TIẾP CẬN 7

2.1 Khái quát về phân cụm dữ liệu 7

2.2 Các kiểu dữ liệu và độ đo tương tự 7

2.3 Những kỹ thuật tiếp cận trong phân cụm dữ liệu 10

2.3.1 Phân cụm phân hoạch .10

2.3.2 Phân cụm dữ liệu phân cấp 10

2.3.3 Phân cụm dữ liệu dựa trên mật độ 11

2.3.4 Phân cụm dữ liệu dựa trên lưới 11

2.3.5 Phân cụm dữ liệu dựa trên mô hình 11

2.3.6 Phân cụm dữ liệu có ràng buộc 11

Chương 3 : PHÂN CỤM DỮ LIỆU KHÔNG GIÁM SÁT 12

3.1 Phương pháp phân hoạch 12

3.1.1 Thuật toán K-Means 12

3.1.2 Thuật toán K-Prototypes 13

3.1.3 Thuật toán k-tâm 14

Chương 4 : PHÂN CỤM DỮ LIỆU NỬA GIÁM SÁT 17

4.1 Thuật toán Seeded-KMeans 17

4.2 Thuật toán Constrained-KMeans 18

Chương 5 : BÀI TOÁN ỨNG DỤNG 19

5.1 Bài toán 19

5.2 Giao diện chương trình 21

KẾT LUẬN 24

TÀI LIỆU THAM KHẢO 25

Trang 5

Chương 1 : TỔNG QUAN VỀ DATA MINING

Kỹ thuật khám phá tri thức trong cơ sở dữ liệu (Knowledge Discovery in Databases- KDD) có thể chia thành các bước thực hiện như sau [1]:

Bước 1: Trích chọn dữ liệu: Ở bước này các dữ liệu liên quan trực tiếp đến

nhiệm vụ của quá trình KDD sẽ được thu thập từ các nguồn dữ liệu ban đầu

Bước 2: Tiền xử lý dữ liệu: có nhiệm vụ làm sạch, loại bỏ nhiễu, rút gọn và rời

rạc hóa dữ liệu

Bước 3: Biến đổi dữ liệu: nhằm chuẩn hóa và làm mịn dữ liệu để chuyển dữ liệu

về dạng thuận lợi nhất phục vụ cho việc khai phá

Bước 4: Data mining: dùng các kỹ thuật phân tích để khai thác dữ liệu, trích

chọn các mẫu thông tin cần thiết,… Công đoạn này được xem là mất thời gian nhất và cũng là quan trọng nhất trong quá trình KDD

Bước 5: Đánh giá và biểu diễn tri thức: Các thông tin và mối liên hệ giữa chúng

vừa khám phá trong công đoạn trước được biểu diễn dưới các dạng trực quan đồng thời được đánh giá theo những tiêu chí nhất định

Dữ liệu

Dữ liệutiền xử lý

Mẫu

Trang 6

1.2 Khai phá dữ liệu và các khái niệm liên quan

1.2.1 Khái niệm khai phá dữ liệu

Data mining là một quá trình tìm kiếm, chắt lọc các chi thức mới, tiềm ẩn, hữu dụng trong tập dữ liệu lớn

1.2.2 Các kỹ thuật tiếp cận trong khai phá cữ liệu

Theo quan điểm của học máy, các kỹ thuật trong Data mining gồm:

Học có giám sát (Supervised learning).

Học không giám sát (Unsupervised learning).

Học nửa giám sát (Semi-Supervised learning).

Theo các lớp bài toán cần giải quyết, các kỹ thuật trong Data mining gồm:

Phân lớp và dự đoán (Classification and Prediction).

• Luật kết hợp (Association rules)

• Phân tích chuỗi theo thời gian

Phân cụm (Clustering).

• Mô tả khái niệm

Trang 7

Chương 2 : PHÂN CỤM DỮ LIỆU VÀ CÁC KỸ THUẬT TIẾP CẬN

Phân cụm dữ liệu là một kỹ thuật trong Data mining nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ đó

cung cấp thông tin, tri thức cho việc ra quyết định.

Các bước của một bài toán phân cụm dữ liệu gồm:

• Xây dựng hàm tính độ tương tự

• Xây dựng các tiêu chuẩn phân cụm

• Xây dựng mô hình cho cấu trúc dữ liệu

• Xây dựng thuật toán phân cụm và xác lập các điều kiện khởi tạo

• Xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm

Kiểu thuộc tính nhị phân:

Thuộc tính nhị phân chỉ có hai giá trị là 0 va 1 Trong đó 0 có nghĩa là sai và 1 có nghĩa là đúng

Trang 8

Nếu ta đặt ξ = α+γ+δ+θ Với x, y là đối tượng có tất cả thuộc tính đều ở dạng nhị phân.Trong đó α,γ,δ,θ được hiểu như sau:

α là tổng số các thuộc tính có giá trị là 1 trong cả hai đối tượng x, y

γ là tổng số các thuộc tính có giá trị 1 trong x và 0 trong y

δ là tổng số các thuộc tính có giá trị 0 trong x và 1 trong y

θ là tổng số các thuộc tính có giá trị là 0 trong cả hai đối tượng x, yKhi đó độ tương tự được cho như sau:

1 Hệ số đối sánh đơn giản: d x y( , ) α θ

ξ

+

= , Ở đây x và y có vai trò như nhau, tức là chúng đối xứng và cùng trọng số

2 Hệ số Jacard: d x y( , ) α

α γ δ

=+ + , công thức này được áp dụng trong trường hợp mà trọng số của các thuộc tính có giá trị 1 lớn hơn rất nhiều các thuộc tính có giá trị 0, như vậy các thuộc tính nhị phân ở đây không đối xứng

α+δ γ+θ

Trang 9

Kiểu thuộc tính khoảng (Interval)

Dùng để đo các giá trị theo xấp xỉ tuyến tính Độ đo phi tương tự của x

và y được tính bằng các metric khoảng cách sau

Kiểu thuộc tính định danh (Nominal)

Độ đo phi tương tự giữa hai đối tượng x và y được xác định qua công thức sau:

Kiểu thuộc tính thứ tự (Ordinal)

Độ đo phi tương tự được tính thông qua các bước sau:

1 Gọi f là một thuộc tính, giá trị của f ứng với đối tượng thứ i là xif Giả

sử f có Mf trạng thái có thứ tự: 1,2,…,Mf Ta thay thế mỗi xif bởi giá trị tương ứng rif ∈ [1,Mf]

2 Vì mỗi thuộc tính f có thứ tự có số lượng các trạng thái khác nhau nên

ta cần làm cho rif thuộc khoảng [0.0,1.0] để mỗi thuộc tính đều có cùng trọng số Do đó rif được thay thế bởi if if

1z

1

f

r M

=

Trang 10

3 Cuối cùng ta sử dụng công thức tính độ phi tương tự của thuộc tính khoảng với zif đại diện cho giá trị thuộc tính f của đối tượng thứ i

Kiểu thuộc tính tỷ lệ (Ratio)

Đây là thuộc tính khoảng nhưng được xác định một cách tương đối so với điểm mốc

Có nhiều cách để tính độ tương tự giữa các thuộc tính tỉ lệ Một trong số đó là việc sử dụng công thức tính logarit để chuyển mỗi thuộc tính

tỉ lệ xi về dạng thuộc tính khoảng ψi = log(xi)

Các kỹ phân cụm dữ liệu có thể phân loại theo các cách tiếp cận chính sau :

2.3.1 Phân cụm phân hoạch

Phương pháp phân cụm phân hoạch nhằm phân một tập dữ liệu có n phần tử cho trước thành k nhóm dữ liệu sao cho : mỗi phần tử dữ liệu chỉ thuộc về một nhóm dữ liệu

và mỗi nhóm dữ liệu có tối thiểu ít nhất một phần tử dữ liệu Các thuật toán phân hoạch

dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề PCDL Chính vì vậy, trên thực tế người ta thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của các cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu

2.3.2 Phân cụm dữ liệu phân cấp

Phân cụm phân cấp sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng

hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy Cây phân cụm có thể

được xây dựng theo hai phương pháp tổng quát :

Phương pháp “dưới lên” (Bottom up)

Phương pháp “trên xuống” (Top Down)

Trang 11

2.3.3 Phân cụm dữ liệu dựa trên mật độ

Phương pháp này nhóm các đối tượng theo hàm mật độ xác định Mật độ được định nghĩa như là số các đối tượng lân cận của một đối tượng dữ liệu theo một ngưỡng nào đó

2.3.4 Phân cụm dữ liệu dựa trên lưới

Kỹ thuật phân cụm dựa trên mật độ không thích hợp với dữ liệu nhiều chiều, để giải quyết cho đòi hỏi này, người ta đã dử dụng phương pháp phân cụm dựa trên lưới Đây là phương pháp dựa trên cấu trúc dữ liệu lưới để PCDL, 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ột thí dụ về cấu trúc dữ liệu lưới chứa các cell trong không gian :

2.3.5 Phân cụm dữ liệu dựa trên mô hình

Phương pháp này cố gắng khám phá các phép xấp xỉ tốt của các tham số mô hình sao cho khớp với dữ liệu một cách tốt nhất Chúng có thể sử dụng chiến lược phân cụm phân hoạch hoặc chiến lược phân cụm phân cấp, dựa trên cấu trúc hoặc mô hình mà chúng giả định về tập dữ liệu và cách mà chúng tinh chỉnh các mô hình này để nhận dạng

ra các phân hoạch

2.3.6 Phân cụm dữ liệu có ràng buộc

Sự phát triển của phân cụm dữ liệu không gian trên CSDL lớn đã cung cấp nhiều công cụ tiện lợi cho việc phân tích thông tin địa lý, tuy nhiên hầu hết các thuật toán này cung cấp rất ít cách thức cho người dùng để xác định các ràng buộc trong thế giới thực cần phải được thoả mãn trong quá trình PCDL

Trang 12

Chương 3 : PHÂN CỤM DỮ LIỆU KHÔNG GIÁM SÁT

3.1.1 Thuật toán K-Means

K-Means lặp lại nhiều lần quá trình bố trí lại vị trí của đối tượng dữ liệu để phân hoạch một tập dữ liệu thành K cụm và cực tiểu địa phương giá trị bình phương trung bình khoảng cách giữa các các đối tượng tới tâm cụm của nó Cụ thể hơn, với tập dữ liệu

Thuật toán: K-Means.

Input: - Tập các đối tượng dữ liệu { 1, , }, d

2 Lặp cho tới khi hội tụ

Gán cụm: Gán mỗi đối tượng dữ liệu x vào cụm h* (tức là tập

{ * }

( 1)t K

X +

) với h* = argmin ||x−µ( )t ||2

Trang 13

3.1.2 Thuật toán K-Prototypes

Thuật toán k-prototypes mở rộng thuật toán k –means để làm việc với tập dữ liệu hỗn hợp giữa thuộc tính số và thuộc tính hạng mục Thuật toán k-prototypes sử dụng các đối tượng mẫu (prototype) để biểu diễn cho các cụm thay vì sử dụng các đối tượng trọng tâm như trong thuật toán k-means Các đối tượng dữ liệu lần lượt được phân phối cho các cụm dữ liệu sao cho chúng tương tự nhất với đối tượng mẫu tương ứng với cụm dữ liệu

mà chúng được phân phối, sự tương tự ở đây được xác định bằng độ đo tương tự cho dữ liệu hỗn hợp

 Thuật toán k- prototypes

Input : Tập dữ liệu ban đầu X và số cụm k,

Output : k đối tượng mẫu sao cho hàm tiêu chuẩn đạt giá trị tối thiểu

Begin

1 Khởi tạo k đối tượng mẫu ban đầu cho X, mỗi đối tượng mẫu đóng

vai trò là tâm đại diện của mỗi cụm

2 Phân phối mỗi đối tượng trong X cho mỗi cụm sao cho chúng gần

nhất với đối tượng mẫu trong cụm, đồng thời cập nhật lại đối tượng mẫu cho mỗi cụm

3 Sau khi tất cả các đối tượng đã được phân phối hết cho các cụm,

kiểm tra lại độ tương tự của các đối tượng trong mỗi cụm với các đối tượng mẫu, nếu có một đối mẫu tương tự nhất với nó mà khác với đối tượng mẫu của cụm hiện thời thì di chuyển đối tượng đang xét này sang cụm tương ứng với đối tượng mẫu mà nó gần nhất và đồng thời cập nhật các đối tượng mẫu cho hai cụm này

Trang 14

3.1.3 Thuật toán k-tâm

Thuật toán k-tâm mở rộng thuật toán k –means để làm việc với tập dữ liệu hỗn hợp gồm: thuộc tính số, thuộc tính định danh và thuộc tính có thứ tự

 Độ đo tương tự

Giả sử DOM(Aj) là miền giá trị của thuộc tính Aj ta có các khái niệm:

Thuộc tính đinh danh: Aj được gọi là thuộc tính định danh nếu DOM(Aj) là tập không có thứ tự tức là ∀a,b ∈ DOM(Aj) hoặc a=b hay a≠b

Thuộc tính số: Aj là thuộc tính số nếu DOM(Aj) là tập số thực

Thuộc tính có thứ tự: nếu DOM(Aj) là tập hữu hạn và có thứ tự hoàn toàn

 Công thức tính khoảng cách giữa hai đối tượng

Giả sử ta có x,y∈DOM(Aj), hàm dj(x,y) được xác định như sau:

• Nếu Aj là thuộc tính số thì dj được dj(x,y)=x-y (9)

• Nếu Aj là thuộc tính thứ tự và DOM(Aj) ={ k}

j j j

f i j

j ) Khi đó dj(x,y)= │fj(x)-fj(y) │.(10)

• Nếu Aj là dữ liệu định danh thì dj(x,y)=

y x khi

:1

:0

(11)Vậy khoảng cách d(x,y) giữa hai đối tượng x = (x1, ,xn) và y = (y1, ,yn) được tính bởi công thức:

Ngày đăng: 10/10/2015, 10:39

HÌNH ẢNH LIÊN QUAN

Bảng sau gồm các thuộc tính dùng để đánh giá các mức độ rủi ro: - Thuật toán Phân cụm dữ liệu nửa giám sát
Bảng sau gồm các thuộc tính dùng để đánh giá các mức độ rủi ro: (Trang 20)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w