1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

24 1,1K 10
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Thuật toán phân cụm dữ liệu mờ
Chuyên ngành Khai phá dữ liệu
Định dạng
Số trang 24
Dung lượng 756,92 KB

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

Nội dung

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

Trang 1

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 i= 1 ,k 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

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 xi, 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

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:

9 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

9 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

/ 1

x

q

, trong đó q là số tự nhiên dương

1

2

) (

) ,

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

1

|

| ) ,

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

9 Khoảng cách cực đại : ( , ) Max 1|xi yi|

n i

y x

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

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 :

τ

δ

α +

= ) ,

α

+ +

= ) ,

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 :

1

1

) ) (

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á

Trang 5

tính dữ liệu đã được gán trọng số tương ứng w i( 1 ≤ik), độ tương đồng dữ liệu được xác định như sau :

y x d

1

2

) (

) ,

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ụ:

9 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ị

9 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

9 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ị

9 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

9 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,…

9 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

9 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 Thí dụ

Trang 6

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,…

9 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

đó 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

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 9

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 U R2) (x, y) = min {R1(x, y), R2 (x, y)}

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

µR1oR2(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 :

µR1oR2(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

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) (i= 1 ,n), 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:

OutPut : Các cụm Ci (i= 1 ,k) 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}kj=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ừng

Lặ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

Trang 11

9 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 { }N

i i

n

i m

i m

x1, , , +1, , ) là phần tử của quan hệ r trên lược đồ quan hệ R = {A1, , An} và i

j

x Dom(Aj) với mỗi j ≤ m là các giá trị thực còn với m+1 ≤ jn 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), ∀ ≤j 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 Aj 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ộctính số nếu DOM(Aj) là tập số thực

Trang 12

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(Aj) = { 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)= xy (1)

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

j

j a

a1 , , với

k j j

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

1 ) (

; 0 )

j j j

1

1 ) (

f i j

y x khi

: 1

: 0

(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:

Trang 13

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

Đị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:

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ố uik 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

Begin

Chọn các trọng số ρj, các hàm fj, xác định k

Chọn k phần tử ban đầu { }k

j j

z =1 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 z j ← mode(C j);

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

Ngày đăng: 23/10/2013, 14:15

HÌNH ẢNH LIÊN QUAN

Hình 3.3. Thuật toán FCM - Thuật toán phân cụm dữ liệu mờ
Hình 3.3. Thuật toán FCM (Trang 15)
Hình 4.1. Giao diện chính của chương trình - 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 (Trang 20)
Hình 4.2. Giao diện cập nhật triệu chứng bệnh - Thuật toán phân cụm dữ liệu mờ
Hình 4.2. Giao diện cập nhật triệu chứng bệnh (Trang 21)
Hình 4.3. Giao diện cập nhật bệnh án Giao diện xử lý dữ liệu - 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 (Trang 21)
Hình 4.5. Giao diện kết quả - Thuật toán phân cụm dữ liệu mờ
Hình 4.5. Giao diện kết quả (Trang 22)

TỪ KHÓA LIÊN QUAN

w