Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

36
Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ MỤC LỤC MỤC LỤC............................................1 CHƯƠNG 1. TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU............2 1.1. Khái niệm chung............................2 1.2. Các kiểu dữ liệu và độ đo tương tự.........2 1.3. Một số ứng dụng của phân cụm dữ liệu.......6 1.4. Một số kỹ thuật tiếp cận trong phân cụm dữ liệu............................................ 6 CHƯƠNG 2. LÝ THUYẾT TẬP MỜ.........................8 2.1. Tập mờ..................................... 8 2.2. Số mờ...................................... 8 2.3. Quan hệ mờ................................10 CHƯƠNG 3. MỘT SỐ THUẬT TOÁN PHÂN CỤM DỮ LIỆU - PHÂN CỤM DỮ LIỆU MỜ....................................11 3.1. Thuật toán k-means........................11 3.2. Thuật toán k–tâm..........................12 3.2.1. Các khái niệm và thuật toán cơ sở cho thuật toán K-tâm.......................................12 3.2.2. Thuật toán K-tâm:.........................13 3.3. Thuật toán phân cụm dữ liệu mờ FCM (Fuzzy C-means)....................................... 14 3.3.1. Xây dựng hàm tiêu chuẩn...................14 3.3.2. Thuật toán................................16 3.3.3. Đánh giá..................................17 CHƯƠNG 4: BÀI TOÁN ỨNG DỤNG.......................18 4.1. Bài toán.................................. 18 4.2. Chương trình ứng dụng.....................21 Giao diện chương trình :.......................21 KẾT LUẬN..........................................24 TÀI LIỆU THAM KHẢO................................25 Trang 1

description

x

Transcript of Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Page 1: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

MỤC LỤCMỤC LỤC.........................................................................................................1

CHƯƠNG 1. TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU.............................2

1.1. Khái niệm chung.................................................................................21.2. Các kiểu dữ liệu và độ đo tương tự.....................................................21.3. Một số ứng dụng của phân cụm dữ liệu..............................................61.4. Một số kỹ thuật tiếp cận trong phân cụm dữ liệu................................6

CHƯƠNG 2. LÝ THUYẾT TẬP MỜ............................................................8

2.1. Tập mờ.................................................................................................82.2. Số mờ...................................................................................................82.3. Quan hệ mờ.......................................................................................10

CHƯƠNG 3. MỘT SỐ THUẬT TOÁN PHÂN CỤM DỮ LIỆU - PHÂN CỤM DỮ LIỆU MỜ......................................................................................11

3.1. Thuật toán k-means...........................................................................113.2. Thuật toán k–tâm...............................................................................12

3.2.1. Các khái niệm và thuật toán cơ sở cho thuật toán K-tâm....................123.2.2. Thuật toán K-tâm:................................................................................13

3.3. Thuật toán phân cụm dữ liệu mờ FCM (Fuzzy C-means)................143.3.1. Xây dựng hàm tiêu chuẩn....................................................................143.3.2. Thuật toán............................................................................................163.3.3. Đánh giá...............................................................................................17

CHƯƠNG 4: BÀI TOÁN ỨNG DỤNG.......................................................18

4.1. Bài toán..............................................................................................184.2. Chương trình ứng dụng.....................................................................21Giao diện chương trình :...........................................................................21

KẾT LUẬN.....................................................................................................24

TÀI LIỆU THAM KHẢO...............................................................................25

Trang 1

Page 2: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

CHƯƠNG 1. TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU

1.1. Khái niệm chung

Khai phá dữ liệu (Datamining) là quá trình trích xuất các thông tin có giá

trị tiềm ẩn bên trong tập dữ liệu lớn được lưu trữ trong các cơ sở dữ liệu, kho dữ

liệu... Người ta định nghĩa:

"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, quan tâm trong tập dữ liệu

lớn, từ đó cung cấp thông tin, tri thức hữu ích cho việc ra quyết định"

Như vậy , PCDL là quá trình phân chia một tập dữ liệu ban đầu thành các

cụm dữ liệu sao cho các phần tử trong một cụm "tương tự" (Similar) với nhau

và các phần tử trong các cụm khác nhau sẽ "phi tương tự" (Dissimilar) với nhau.

Số các cụm dữ liệu được phân ở đây có thể được xác định trước theo kinh

nghiệm hoặc có thể được tự động xác định.

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

a. Phân loại các kiểu dữ liệu

Cho một CSDL D chứa n đối tượng trong không gian k chiều trong đó x,y,z

là các đối tượng thuộc D : x = (x1,x2,..,xk ); y = (y1,y2,..,yk ); z = (z1,z2,..,zk ), trong

đó xi, yi, zi với là các đặc trưng hoặc thuộc tính tương ứng của các đối

tượng x,y,z.

Sau đây là các kiểu dữ liệu:

Phân loại các kiểu dữ liệu dựa trên kích thước miền

Thuộc tính liên tục (Continuous Attribute) : nếu miền giá trị của nó là vô

hạn không đếm được

Thuộc tính rời rạc (DiscretteAttribute) : Nếu miền giá trị của nó là tập

hữu hạn, đếm được

Lớp các thuộc tính nhị phân: là trường hợp đặc biệt của thuộc tính rời rạc

mà miền giá trị của nó chỉ có 2 phần tử được diễn tả như : Yes / No hoặc

Nam/Nữ, False/true,…

Trang 2

Page 3: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

Phân loại các kiểu dữ liệu dựa trên hệ đo

Giả sử rằng chúng ta có hai đối tượng x, y và các thuộc tính x i, yi tương

ứng với thuộc tính thứ i của chúng. Chúng ta có các lớp kiểu dữ liệu như sau :

Thuộc tính định danh (nominal Scale): đây là dạng thuộc tính khái quát

hoá của thuộc tính nhị phân, trong đó miền giá trị là rời rạc không phân

biệt thứ tự và có nhiều hơn hai phần tử - nghĩa là nếu x và y là hai đối

tượng thuộc tính thì chỉ có thể xác định là x y hoặc x = y.

Thuộc tính có thứ tự (Ordinal Scale) : là thuộc tính định danh có thêm

tính thứ tự, nhưng chúng không được định lượng. Nếu x và y là hai thuộc

tính thứ tự thì ta có thể xác định là x y hoặc x = y hoặc x > y hoặc x

<y.

Thuộc tính khoảng (Interval Scale) : Với thuộc tính khoảng, chúng ta có

thể xác định một thuộc tính là đứng trước hoặc đứng sau thuộc tính khác

với một khoảng là bao nhiêu. Nếu xi > yi thì ta nói x cách y một khoảng xi

– yi tương ứng với thuộc tính thứ i.

Thuộc tính tỉ lệ (Ratio Scale) : 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, thí dụ như thuộc tính chiều cao hoặc

cân nặng lấy điểm 0 làm mốc.

Trong các thuộc tính dữ liệu trình bày ở trên, thuộc tính định danh và

thuộc tính có thứ tự gọi chung là thuộc tính hạng mục (Categorical), thuộc tính

khoảng và thuộc tính tỉ lệ được gọi là thuộc tính số (Numeric).

b. Độ đo tương tự và phi tương tự

Để phân cụm, người ta phải đi tìm cách thích hợp để xác định "khoảng

cách" giữa các đối tượng, hay là phép đo tương tự dữ liệu. Đây là các hàm để đo

sự giống nhau giữa các cặp đối tượng dữ liệu, thông thường các hàm này hoặc là

để tính độ tương tự (Similar) hoặc là tính độ phi tương tự (Dissimilar) giữa các

đối tượng dữ liệu

Tất cả các độ đo dưới đây được xác định trong không đo gian metric. Một

không gian metric là một tập trong đó có xác định các "khoảng cách" giữa từng

cặp phần tử, với những tính chất thông thường của khoảng cách hình học. Nghĩa

là, một tập X (các phần tử của nó có thể là những đối tượng bất kỳ) các đối

Trang 3

Page 4: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

tượng dữ liệu trong CSDL D như đã đề cập ở trên được gọi là một không gian

metric nếu:

Với mỗi cặp phần tử x,y thuộc X đều có xác định, theo một quy tắc nào đó,

một số thực δ(x,y), được gọi là khoảng cách giữa x và y.

Quy tắc nói trên thoả mãn hệ tính chất sau : (i) δ(x,y) > 0 nếu x ≠ y ; (ii) δ(x,

y)=0 nếu x =y; (iii) δ(x,y) = δ(y,x) với mọi x,y; (iv) δ(x,y) ≤ δ(x,z)+δ(z,y).

Hàm δ(x,y) được gọi là một metric của không gian. Các phần tử của X được

gọi là các điểm của không gian này.

Thuộc tính khoảng :

Sau khi chuẩn hoá, độ đo phi tương tự của hai đối tượng dữ liệu x, y được

xác định bằng các metric khoảng cách như sau :

Khoảng cách Minskowski : , trong đó q là

số tự nhiên dương.

Khoảng cách Euclide : , đây là trường hợp đặc biệt

của khoảng cách Minskowski trong trường hợp q=2.

Khoảng cách Manhattan : , đây là trường hợp đặc biệt

của khoảng cách Minskowski trong trường hợp q=1.

Khoảng cách cực đại : , đây là trường hợp của

khoảng cách Minskowski trong trường hợp q-> .

Thuộc tính nhị phân :

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

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

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

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

Trang 4

Page 5: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

= +++

Các phép đo độ tương tương đồng đối với dữ liệu thuộc tính nhị phân

được định nghĩa như sau :

Hệ số đối sánh đơn giản : , ở đây cả hai đối tượng x và y có vai trò

như nhau, nghĩa là chúng đối xứng và có cùng trọng số.

Hệ số Jacard : , (bỏ qua số các đối sánh giữa 0-0). Công thức

tính này được sử dụng trong trường hợp mà trọng số của các thuộc tính có giá trị

1 của đối tượng dữ liệu có cao hơn nhiều so với các thuộc tính có giá trị 0, như

vậy các thuộc tính nhị phân ở đây là không đối xứng.

Thuộc tính định danh :

Độ đo phi tương tự giữa hai đối tượng x và y được định nghĩa như sau:

, trong đó m là số thuộc tính đối sánh tương ứng trùng nhau, và p

là tổng số các thuộc tính.

Thuộc tính có thứ tự :

Giả sử i là thuộc tính thứ tự có Mi giá trị (Mi kích thước miền giá trị) :

Các trạng thái Mi được sắp thứ tự như sau : [1…Mi], chúng ta có thể thay thế

mỗi giá trị của thuộc tính bằng giá trị cùng loại ri, với ri {1…Mi}.

Mỗi một thuộc tính có thứ tự có các miền giá trị khác nhau, vì vậy chúng ta

chuyển đổi chúng về cùng miền giá trị [0,1] bằng cách thực hiện phép biến đổi

sau cho mỗi thuộc tính :

Sử dụng công thức tính độ phi tương tự của thuộc tính khoảng đối với các giá

trị , đây cũng chính là độ phi tương tự của thuộc tính có thứ tự.

Thuộc tính tỉ lệ :

Có nhiều cách khác nhau để tính độ tương tự giữa các thuộc tính tỉ lệ. Một

trong những số đó là sử dụng công thức tính logarit cho mỗi thuộc tính. Hoặc

loại bỏ đơn vị đo của các thuộc tính dữ liệu bằng cách chuẩn hoá chúng, hoặc

Trang 5

Page 6: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

gán trọng số cho mỗi thuộc tính giá trị trung bình, độ lệch chuẩn.Với mỗi thuộc

tính dữ liệu đã được gán trọng số tương ứng , độ tương đồng dữ liệu

được xác định như sau :

.

1.3. Một số ứng dụng của phân cụm dữ liệu

Phân cụm dữ liệu có rất nhiều ứng dụng trong nhiều lĩnh vực khác nhau. Ví dụ:

Thương mại : Giúp các thương nhân khám phá ra các nhóm khách hàng

quan trọng để đưa ra các mục tiêu tiếp thị.

Sinh học : Xác định các loại sinh vật, phân loại các Gen với chức năng

tương đồng và thu được các cấu trúc trong các mẫu.

Lập quy hoạch đô thị : Nhận dạng các nhóm nhà theo kiểu và vị trí địa lý,

…nhằm cung cấp thông tin cho quy hoạch đô thị.

Nghiên cứu trái đất : Theo dõi các tâm động đất nhằm cung cấp thông tin

cho nhận dạng các vùng nguy hiểm...

1.4. Một số kỹ thuật tiếp cận trong phân cụm dữ liệu

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. Một

số thuật toán phân cụm phân hoạch điển hình: k-means, PAM, CLARA,

CLARANS,…

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.

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,

Trang 6

Page 7: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian. Thí dụ

như dữ liệu được biểu diễn dưới dạng cấu trúc hình học của đối tượng trong

không gian cùng với các quan hệ, các thuộc tính, các hoạt động của chúng. Một

số thuật toán PCDL dựa trên cấu trúc lưới điển hình là: STING, WAVECluster,

CLIQUE,…

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 đó. Trong cách tiếp cận này, khi một cụm dữ liệu đã xác định

thì nó tiếp tục được phát triển thêm các đối tượng dữ liệu mới miễn là số các đối

tượng lân cận của các đối tượng này phải lớn hơn một ngưỡng đã được xác định

trước. Phương pháp phân cụm dựa vào mật độ của các đối tượng để xác định các

cụm dữ liệu có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ. Tuy vậy,

việc xác định các tham số mật độ của thuật toán rất khó khăn, trong khi các tham

số này lại có tác động rất lớn đến kết quả phân cụm dữ liệu.

Trang 7

Page 8: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

CHƯƠNG 2. LÝ THUYẾT TẬP MỜ

2.1. Tập mờ.

Định nghĩa:

Tập mờ là một tập hợp mà mỗi phần tử cơ bản của nó được gán thêm một

giá trị thực µ(x) Є [0,1] để chỉ độ phụ thuộc của nó vào tập đã cho. Độ phụ thuộc

càng lớn thì phần tử thuộc về tập càng lớn. Khi độ phụ thuộc bằng 0 thì phần tử

đó sẽ không hoàn toàn thuộc về tập đã cho. Ngược lại với độ phụ thuộc bằng 1

phần tử cơ bản sẽ thuộc tập hợp với xác suất 100%.

A là tập mờ trên không gian nền X nếu A được xác định bởi hàm:

µA : X → [0,1]

µA là hàm thuộc và µA(x) là độ thuộc của x vào tập mờ A

Ví dụ: T là tập những người có tuổi dưới 20. Mỗi người chỉ có hai khả

năng: hoặc là thuộc T hoặc không. Tuy nhiên khi xét A là tập những người trẻ.

Trong trường hợp này không có ranh giới rõ ràng để khẳng định một người có

thuộc A hay không. Ranh giới của nó là mờ. Ta chỉ có thể nói một người sẽ

thuộc tập A theo một mức độ nào đó. Chẳng hạn ta có thể cho rằng một người 35

tuổi thuộc về tập A với độ thuộc là 60 % hay 0.6. Còn một người 50 tuổi thuộc

về A với độ thuộc là 30% hay 0.3. Như vậy A là tập mờ và µ trẻ : X → [0,1] là

hàm thuộc của A.

Có thể ký hiệu A = {( µA(x), x ): x Є X}

Việc µA(x) có giá trị bất kỳ trong khoảng [0,1] là điều khác biệt cơ bản giữa

tập rõ và tập mờ. Ở tập rõ hàm thuộc chỉ có hai giá trị :

+µA(x) = 1 nếu x Є A

+µA(x) ≠ 0 nếu x A

2.2. Số mờ

Tập mờ M trên tập số thực R1 là một số thực mờ nếu :

1) M chuẩn hóa tức có điểm x’ sao cho µM (x’) = 1

2) Ứng với mỗi α Є R1 tập mức {x: µM (x) ≥ α} là đoạn đóng trên R1.

Trang 8

Page 9: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

Có 3 dạng số mờ cơ bản:

Số mờ hình Singleton:

Hình 2.1a. Số mờ Singleton

Số mờ hình tam giác: M(a, b, c)

0 nếu x ≤ a

µM (x) = x –a / x - b nếu a ≤ x ≤ b

c – x / c –b nếu b ≤ x ≤ c

0 nếu c ≤ x

Hình 2.1b. Số mờ tam giác

Số mờ hình thang: M(a, b, c, d)

0 nếu x ≤ a

µM (x) = x –a / x - b nếu a ≤ x ≤ b

1 nếu b ≤ x ≤ c

0 nếu d ≤ x

Hình 2.1c. Số mờ hình thang

Trang 9

0 a b c x

µM (x)

µM (x)

1

x

0

0 a b c d x

µM (x)

1

Page 10: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

2.3. Quan hệ mờ

Khái niệm quan hệ mờ

Định nghĩa 1: Cho hai không gian nền X,Y. R là một quan hệ mờ trên X x Y nếu

R là một tập mờ trên X x Y tức là có một hàm thuộc:

µR : X x Y → [0,1] ở đây µR ( x,y ) = R(x,y) là độ thuộc (membership degree) của x,

y vào quan hệ

Định nghĩa 2: Quan hệ mờ trên những tập mờ:

Cho tập mờ A với µA(x) trên X. Tập mờ B với µB(x) trên Y. Quan hệ mờ

trên các tập mờ A và B là quan hệ mờ R trên X x Y thỏa mãn điều kiện:

µR (x,y) ≤ µA(x), y Є Y

µR (x,y) ≤ µB (x), x Є X

Các phép toán:

(R1 ∩ R2) (x, y) = max {R1(x, y), R2 (x, y)}

(R1 R2) (x, y) = min {R1(x, y), R2 (x, y)}

R -1 (x, y) = R (y, x)

Rc (x, y) = 1 R (x, y)

Phép hợp thành (composition )

Cho R1 là quan hệ mờ trên X x Y và R2 là quan hệ mờ trên Y x Z. Hợp

thành R1o R2 của R1, R2 là quan hệ mờ trên X x Z

a) Hợp thành max-min được xác định bởi:

µR1 R2(x, z) = maxy {min (µR1 (x, y), µR2 (y, z)}, (x, z) Є X x Z

b) Hợp thành max-prod cho bởi :

µR1 R2(x, z) = maxy {µR1 (x, y) .µR2 (y, z)} với mọi (x, z) Є X x Z

c) Hợp thành max-* được cho bởi toán tử : [0,1] 2 → [0,1]

µR1o R2 (x, z) = maxy {µR (x,y) µR2 (y,z)} (x, z) Є X x Z

Trang 10

Page 11: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

CHƯƠNG 3. MỘT SỐ THUẬT TOÁN PHÂN CỤM DỮ LIỆU- PHÂN CỤM DỮ LIỆU MỜ

3.1. Thuật toán k-means

Thuật toán phân hoạch K-means do MacQeen đề xuất trong lĩnh vực

thống kê năm 1967, mục đích của thuật toán k-means là sinh ra k cụm dữ liệu

{C1, C2, …,Ck} từ một tập dữ liệu chứa n đối tượng trong không gian d chiều Xi

= (xi1, xi2, …, xid) ( ), sao cho hàm tiêu chuẩn :

đạt giá trị tối thiểu. Trong đó : mi là trọng tâm của cụm Ci, D là khoảng cách

giữa hai đối tượng ( khoảng cách Euclide)

Trọng tâm của một cụm là một véc tơ, trong đó giá trị của mỗi phần tử

của nó là trung bình cộng của các thành phần tương ứng của các đối tượng vectơ

dữ liệu trong cụm đang xét.

Tham số đầu vào của thuật toán là số cụm k, và tham số đầu ra của thuật

toán là các trọng tâm của các cụm dữ liệu.

Thuật toán k-means bao gồm các bước cơ bản như trong hình sau:

Nhận xét:

Hình 3.1. Các bước thực hiện thuật toán k-means

Nhận xét:

Độ phức tạp của thuật toán là với T là số lần lặp, n số đối tượng

của tập dữ liệu đưa vào.

Trang 11

InPut : Số cụm k và các trọng tâm cụm {mj}kj=1 ;

OutPut : Các cụm Ci ( ) và hàm tiêu chuẩn E đạt giá trị tối thiểu;Bước 1: Khởi tạo :Chọn k trọng tâm {mj}k

j=1 ban đầu trong không gian Rd (d là số chiều của dữ liệu) . Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm.

Bước 2 : Tính toán khoảng cách :Đối với mỗi điểm Xi (1<=i<=n), tính toán khoảng cách của nó tới mỗi trọng

tâm mj j=1,k. Và sau đó tìm trọng tâm gần nhất đối với mỗi điểm.Bước 3 : Cập nhật lại trọng tâm :Đối với mỗi j=1,k , cập nhật trọng tâm cụm mj bằng các xác định trung bình

cộng của các vectơ đối tượng dữ liệu.Bước 4 : Điều kiện dừngLặp các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay đối.

Page 12: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

k-means phân tích phân cụm đơn giản nên có thể áp dụng đối với tập dữ

liệu lớn. Tuy nhiên, nhược điểm của k-means là chỉ áp dụng với dữ liệu

có thuộc tính số và khám ra các cụm có dạng hình cầu, chỉ áp dụng với

dữ liệu số.

3.2. Thuật toán k-tâm

3.2.1. Các khái niệm và thuật toán cơ sở cho thuật toán K-tâm

Thuật toán K-tâm là một mở rộng thực sự của thuật toán K-mean cho dữ

liệu hỗn hợp. Trong đó sử dụng khái niệm Mode của dữ liệu hỗn hợp

Ta xét D là tập N đối tượng trong đó xi = ( ) là

phần tử của quan hệ r trên lược đồ quan hệ R = {A1,..., An} và Dom(Aj) với

mỗi j m là các giá trị thực còn với là các giá trị định danh.

a. Mode của tập dữ liệu hỗn hợp.

Định nghĩa. Giả sử C là tập con của tập dữ liệu hỗn hợp D.

i) Với mọi j n, j-mode của C ( kí kiệu là j-mode(C)) là giá trị có tần xuất nhiều

nhất trong thuộc tính Aj của C nếu A là thuộc tính định danh và là trung bình

cộng của các giá trị thuộc tính Aj của C khi Aj là thuộc tính số. Nếu Aj là thuộc

tính định danh và có nhiều giá trị có tần xuất như nhau trong C thì j-mode(C) có

thể không duy nhất và ta chọn giá trị nào cũng được.

ii) Mode của tập hợp C ký hiệu là mode(C) là phần tử z = (z1,..., zn) trong đó

zj = j-mode(C), n

b. Mêtric trên dữ liệu hỗn hợp.

Trong lược đồ quan hệ R, miền giá trị của các thuộc tính A j có thể là tập số thực,

định danh hay là tập có thứ tự.

Định nghĩa 1. Giả sử DOM(Aj) là miền giá trị của thuộc tính Aj. Ta có các khái

niệm sau.

i) Thuộc tính định 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.

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

Trang 12

Page 13: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

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

Aj được gọi là thuộc tính có thứ tự (chẳng hạn: DOM(A j) = { không đau, hơi

đau, đau và rất đau}..

Trên miền giá trị DOM(Aj) của một thuộc tính Aj ta xác định các khoảng cách

như sau.

Định nghĩa 2. x,y DOM(Aj) hàm dj(x,y) xác định bởi :

i) Nếu Aj là thuộc tính số thì dj(x,y)= (1)

ii) ii) Nếu Aj là thuộc tính thứ tự và DOM(Aj) = với

, ta lấy một hàm đơn điệu fj: DOM(Aj)→ [0,1] sao cho

(Hàm này có thể là : ). Khi đó dj(x,y)=

│fj(x)-fj(y) │. (2)

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

Định nghĩa khoảng cách giữa hai đối tượng dữ liệu hỗn hợp

Định nghĩa 3. Giả sử x = (x1,..., xn) và y = (y1,..., yn) là hai đối tượng dữ liệu hỗn

hợp trên D, khoảng cách d(x, y) được tính bởi công thức:

trong đó các dj (xj, yj) được tính theo các công thức (1 -3) và là các trọng số

dương cho bởi các chuyên gia.

Ta xem các thuộc tính thứ tự có miền giá trị là đoạn [0,1] (các giá trị trên thuộc

tính này của D là tập con) và nó cũng được xem là thuộc tính. Ta có định lý sau.

3.2.2. Thuật toán K-tâm:

Trang 13

Page 14: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

BeginChọn các trọng số , các hàm fj, xác định k.

Chọn k phần tử ban đầu của D làm tâm các cụm

Xếp mỗi x D vào cụm Cj mà nó gần tâm nhất; For j=1,...,k do ; Repeat Phân bố lại cụm theo tâm mới// như k-mean; Cập nhật lại tâm cho các cụm // nhờ tính mode

Until các cụm không đổi;Xác định các cụm

End

Định lý . Thuật toán trên hội tụ sau một số hữu hạn bước lặp tới điểm cực tiểu

địa phương của hàm E:

Nhận xét:

i) Khi thuật toán kết thúc, các đối tượng tâm có thể không thuộc tập D. Để tìm

phần tử đại diện cho mỗi cụm, ta lấy phần tử thuộc cụm gần với tâm của nó nhất.

ii) Như đã nói ở định lý trên, thuật toán chỉ hội tụ tới điểm cực tiểu địa phương

của E. Để tăng hiệu quả của thuật toán ta có thể kết hợp với thuật toán di truyền

hoặc khởi tạo tâm ban đầu bằng phương pháp chuyên gia (theo cách nửa giám

sát).

3.3. Thuật toán phân cụm dữ liệu mờ FCM (Fuzzy C-means)

Thuật toán phân cụm dữ liệu mờ FCM giống như k-means đều sử dụng

chung một chiến lược phân cụm dữ liệu. FCM chia phân tập dữ liệu ban đầu

thành c cụm mờ, trong đó mỗi đối tượng dữ liệu thuộc về các cụm được xác định

bởi một hệ số là độ phụ thuộc uik Є [0, 1]. (k là chỉ số của cụm và i biểu thị số

thứ tự của đối tượng dữ liệu trong tập dữ liệu ban đầu), hệ số u ik này để chỉ quan

hệ giữa các đối tượng với cụm dữ liệu trong quá trình tính toán, hay còn gọi là

mức độ phụ thuộc của đối tượng dữ liệu thứ i vào trung tâm của cụm thứ k.

3.3.1. Xây dựng hàm tiêu chuẩn

Trang 14

Page 15: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

Trong phân cụm mờ, tổng tất cả các phân hoạch mờ có c cụm dữ liệu của

tập dữ liệu có N đối tượng trong không gian D chiều được xác định như sau

(1)

Trong đó : là không gian của tất cả các ma trận thực cấp c*N, uik là các phần

tử của ma trận U.

Hàm tiêu chuẩn của thuật toán FCM được định nghĩa như sau :

(2)

Trong đó : , V=[v1, v2, …, vc] là ma trận mẫu biểu diễn các giá trị

đối tượng tâm của cụm, m là trọng số mũ trong [1, ). Hơn nữa, được xác

định như sau :

(3)

Trong đó : A là ma trận hữu hạn dương .

Họ các hàm tiêu chuẩn xác định trong công thức (2) với tham số mũ m

được đề xuất bởi Bezdek (1982). Sau đây là các điều kiện cần thiết nhằm

tối thiểu hàm tiêu chuẩn Jm(U,V).

Ta có định lý đã được các nhà khoa học chứng minh:

Định lý 1:

Nếu m và c là các tham số cố định, và Ik là một tập được định nghĩa như sau :

(4)

thì hàm tiêu chuẩn đạt giá trị tối thiểu khi và chỉ khi :

Trang 15

Page 16: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

(5)

và (6)

Để có một phân hoạch tối ưu, thì hàm tiêu chuẩn đạt giá trị tối thiểu, hay

(5) và (6) phải thoả mãn. Từ đó, thuật toán phân cụm mờ FCM được xây dựng

như sau:

3.3.2. Thuật toán

Hình 3.3. Thuật toán FCM

Trong đó: và tham số được cho trước.

Việc chọn các tham số cụm rất ảnh hưởng đến kết quả phân cụm, tham số

này thường được chọn theo phép ngẫu nhiên hoặc theo kinh nghiệm.

Chưa có quy tắc nào nhằm lựa chọn tham số m đảm bảo việc phân cụm

hiệu quả, thông thường người ta chọn m = 2.

Trang 16

Input : Số cụm c và tham số mũ m cho hàm tiêu chuẩn JOutPut : c cụm dữ liệu sao cho hàm tiêu chuẩn trong (2) đạt giá trị tối thiểu.

1. Nhập giá trị cho hai tham số c (1<c<N), m và khởi tạo ma

trận mẫu

2. Repeat2.1 j = j + 1;2.2 Tính ma trận phân hoạch mờ Uj theo công thức (5)2.3 Cập nhật các trọng tâm V(j) = [v1

(j), v2(j), …, vc

(j) ] dựa vào (6) và ma trận Uj;3. Untill (|| U(j+1) – U(j) ||F );4. Trình diễn các cụm kết quả.End.

Page 17: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

3.3.3. Đánh giá

Thuật toán c-means mờ FCM đã được áp dụng thành công trong giải

quyết một số lớn các bài toán PCDL như trong nhận dạng mẫu, xử lý ảnh, y học,

Tuy nhiên, nhược điểm lớn nhất của thuật toán FCM là nhạy cảm với

các nhiễu và phần tử ngoại lai trong dữ liệu, nghĩa là các trung tâm cụm có thể

nằm xa so với trung tâm thực của cụm. Do đó các cụm dữ liệu được khám phá có

thể rất lệch so với các cụm trong thực tế.Việc khử nhiễu và phần tử ngoại lai là

một vấn đề cần phải được giải quyết .

Đã có nhiều các phương pháp đề xuất để cải tiến cho nhược điểm trên của

thuật toán FCM bao gồm : Phân cụm dựa trên xác suất (keller, 1993), phân cụm

nhiễu mờ (Dave, 1991), Phân cụm dựa trên toán tử LP Norm (Kersten, 1999).

Tóm lại, phân cụm mờ là một sự mở rộng của PCDL bằng cách thêm vào

yếu tố quan hệ giữa các phần tử và các cụm dữ liệu thông qua các trọng số

trong ma trận U. Bằng cách này, chúng ta có thể khám phá ra các cụm dữ liệu

phức tạp theo cách mềm dẻo từ một tập dữ liệu đã cho. Thuật toán phân cụm mờ

là một cách thức mở rộng cho các thuật toán PC rõ nhằm khám phá ra các cụm

dữ liệu chồng lên nhau.

Trang 17

Page 18: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

CHƯƠNG 4: BÀI TOÁN ỨNG DỤNG

4.1. Bài toán

Input: Có một tập dữ liệu các hồ sơ bệnh án của một loại bệnh. Mỗi bệnh án bao

gồm rất nhiều các triệu chứng.

Output: Đưa ra k nhóm bệnh án để hỗ trợ việc điều trị

Các triệu chứng của bệnh án được coi là tập các dữ liệu hỗn hợp, xây dựng trên

ba kiểu: Thuộc tính số, thuộc tính thứ tự, thuộc tính định danh.

Mỗi một triệu chứng được mô tả là các thông tin sau: Tên triệu chứng, Trọng số,

Kiểu triệu chứng, Giá trị.

Đối với mỗi triệu chứng, đều có trọng số của triệu chứng để đánh giá khoảng

cách trong khi phân cụm. Giá trị này được cập nhật thông qua kinh nghiệm của

các chuyên gia.

Trong ứng dụng này thực hiện phân tích số liệu trong CSDL bệnh án về bệnh xơ

gan được lưu trữ tại Bệnh viện Việt Tiệp Hải phòng, năm 2005. Bảng sau gồm

danh sách các triệu chứng thường thấy ở bệnh Xơ gan:

Số TT

Tên triệu chứng Trọng số KiểuCác giá trị có thê có

1.Hội chứng suy nhược cơ thể (mệt mỏi, ăn kém, ngủ kém..)

100 thứ tựBình thườngThể hiện ítThể hiện nhiều

2.Đau hạ sườn phải (hay đau vùng gan)

100 thứ tự

Không đauHơi đauĐauĐau nhiều

3.  Bụng chướng, 50 thứ tựKhông chướngChướng ítChướng nhiều

4.Hoàng đảm ( vàng da, vàng mắt)

50 thứ tựBình thườngThể hiện ítThể hiện nhiều

5. Bờ gan 100 thứ tự Bình thường

Trang 18

Page 19: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

Mấp môRất thô

6. Lách 50 thứ tựBình thườngHơi toRất to

7. Dịch ổ bụng 150 thứ tựKhông cóCó ítCó nhiều

8. Đường mật 20 thứ tựBình thườngGiãn ítGiãn nhiều

9. Biliburin nước tiểu 50 Thứ tự

-1+2+3+

10. Tĩnh mạch thực quản 50 Thứ tự

Bình thườngGiãn độ IGiãn độ IIGiãn độ III

11. Chảy máu tiêu hóa 50Định danh

KhôngCó

12. WBC 10 Số 3.8 – 5.5

13. RBC 10 Số 4.0 – 9.0

14. HGB 10 Số 110 – 450

15. HCT 10 Số 35.0 – 75.0

16. Bilirubin TP 3 Số 0-17

17. Bilirubin TT 3 Số 0-4.3

18. GOT 3 Số 0-37

19. GPT 3 Số 0-40

20. Protein dịch màng bụng 5 Số 0-500

Trang 19

Page 20: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

21. Xét nghiệm AlphFP 5 Số 0-484.84

22. Độ giãn TMC 10 Số 0 - 3

23. Phản ứng Rivalta 20dịnh danh

0/1

24. Sốt 1 số 36-42

25. Rối loạn tiêu hóa 100định danh

khôngcó

26. Chảy máu tiêu hóa 20định danh

khôngcó

27. Kích thước gan 150định danh

gan teogan togan bình thườnggan có ít khốigan có nhiều khối

28. Nhu mô gan 150định danh

tăng âm thôgiảm âm thôtăng âm đềugiảm âm đềutăng và giảmbình thườngthô

29. Túi mật 20Định danh

Dịch mật đềuDịch mật ítThành túi mật dàyBình thường

Bảng 1: Các triệu chứng với bệnh xơ gan

Theo ý kiến của các chuyên gia đối với bệnh xơ gan có thể chia thành 4

nhóm bệnh điển hình .Ứng dụng sẽ thực hiện thuật toán phân cụm FCM kết hợp

với khái niệm mode, và metric trên dữ liệu hỗn hợp đã trình bày trong mục 3.2.1

để phân cụm các bệnh án theo 4 nhóm bệnh yêu cầu.

4.2. Chương trình ứng dụng.

Giao diện chương trình :

Trang 20

Page 21: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

Hình 4.1. Giao diện chính của chương trình

Hình 4.2. Giao diện cập nhật triệu chứng bệnh

Trang 21

Page 22: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

Hình 4.3. Giao diện cập nhật bệnh án

Giao diện xử lý dữ liệu

Giao diện khởi tạo dữ liệu: Hiển thị toàn bộ thông tin của dữ liệu

cần phân cụm và khởi tạo ban đầu tất cả đều thuộc cụm 0

Hình 4.4. Giao diện khởi tạo dữ liệu

Trang 22

Page 23: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

Hình 4.5. Giao diện kết quả

Kết quả thực hiện chương trình:

Chương trình đã thực hiện phân cụm với bộ dữ liệu 30 bệnh án, với số

cụm được người dùng đưa vào. Và tham số mũ m được chọn là m = 2. Khi thực

hiện khởi tạo 4 tâm cụm ban đầu và trọng số được chọn theo ý kiến của chuyên

gia, chương trình đã đưa ra được kết quả của 4 nhóm bệnh theo yêu cầu.

Trang 23

Page 24: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

KẾT LUẬN Phân cụm dữ liệu nhất là phân cụm dữ liệu mờ đang là một trong những

hướng phát triển rất quan trọng hiện nay. Trong đồ án này em đã trình bày các

khái niệm cơ bản về phân cụm dữ liệu bao gồm khái niệm về phân cụm, các ứng

dụng tiêu biểu, độ đo tương tự và một số kỹ thuật tiếp cận trong phân cụm dữ

liệu. Một số thuật toán phân cụm dữ liệu điển hình như k-means, các thuật toán

phân cụm cho dữ liệu hỗn hợp như k-prototypes, k- tâm. Em đã trình bày một số

kiến thức cơ bản của lý thuyết mờ, thuật toán phân cụm mờ điển hình là FCM và

cải tiến của nó: FCM. Cuối cùng xây dựng ứng dụng cho thuật toán phân cụm

mờ fuzzy-c means với dữ liệu hỗn hợp, áp dụng trong ngành y tế.

Hướng phát triển tiếp theo: em sẽ tiếp tục hoàn thiện cho ứng dụng và tìm

hiểu các cách tiếp cận phân cụm mờ để chương trình để có thể áp dụng vào thực tế.

Do thời gian nghiên cứu và trình độ có hạn, đồ án không tránh khỏi những

hạn chế và thiếu sót. Em xin được tiếp thu ý kiến đánh giá, chỉ bảo của các thầy

cô giáo và bạn bè ./.

Trang 24

Page 25: Doko.vn 162087 Thuat Toan Phan Cum Du Lieu Mo

Phạm Thị Thu Thuật toán phân cụm dữ liệu mờ

TÀI LIỆU THAM KHẢO

[1]. Hoàng Hải Xanh - Thuật toán phân cụm dữ liệu trong Data Mining, ĐHQGHN, luận văn thạc sỹ.

[2]. Hoàng Xuân Huấn, Nguyễn Thị Xuân Hương. Mở rộng thuật toán phân cụm k-mean cho dữ liệu hỗn hợp. Một số vấn đề chọn lọc của công nghệ thông tin, Hải phòng tháng 8 năm 2005.

[3]. Bùi Công Cường, Nguyễn Doãn Phước. Hệ mờ, mạng Nơron và ứng dụng - NXB Khoa học Kỹ thuật

[4]. Prentice-Hall, Englewood Cliffs,1998 R.C.Dubes Algorithms for clustering Data,

[5]. P.Andritsos , Data Clusting Techniques, Department of Computer Science, University Toronto. 2002, Preprint

[6]. J. Han and M. Kamber (2001), Data Mining : Concepts and Techniques, Morgan Kaufman Publishers.

[7]. [5]. M-S Chen,Wang, Fuzzy clustering analyis for optimizing fuzzy membership function,1999.

[8]. [6]. N.R.Pal, J.C. Bezdek, On cluster validity for the c-means mode, IEEE Trans.Fuzzy Systems 3 (1995) 370-379

[9]. [7]. X.L Xie-Ben, A validity measure for fuzzy clustering,IEEE Trans, Partarn Anal,1991.

[10]. Z. HUANG, Clustering Large Data Sets With Mixed Numeric and Categorical Values, Proc. 1st Conference of PAKDD, pp21-34, 1997.

[11]. Z. HUANG, Extensions to the k-means Algorithm for Clustering Large Data Sets With Categorical Values, Data Mining and Knowledge Discovery, 2 , pp 283-304, 1998.

Trang 25