Tải bản đầy đủ - 0 (trang)
GIẢI THUẬT GOM CỤM VÀ LUẬT KẾT HỢP

GIẢI THUẬT GOM CỤM VÀ LUẬT KẾT HỢP

Tải bản đầy đủ - 0trang

40



3.1. Giải thuật gom cụm kMean

3.1.1. Bài tốn gom nhóm dữ liệu

Phân cụm là kỹ thuật thuộc lớp các phương pháp học khơng giám sát. Mục đích

của phân cụm dữ liệu là tìm ra bản chất bên trong các nhóm của dữ liệu. Trong thực tế,

dữ liệu thường khơng có nhiều thơng tin sẵn có (được gán nhãn) mà chúng ta cần phải

xây dựng mơ hình gom cụm dữ liệu.

Giả sử cho tập dữ liệu X={x1, x2,…, xm} gồm m phần tử. Mục đích của bài tốn

gom nhóm dữ liệu là gom các phần tử lại với nhau để tạo thành các nhóm sao cho các

phần tử tương tự nhau sẽ nằm chung một nhóm, các phần tử khác nhau sẽ nằm ở các

nhóm khác nhau.

Kỹ thuật phân cụm dữ liệu có thể ứng dụng trong nhiều lĩnh vực thực tế như:

-



Marketing: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách hàng giá



-



trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sản phẩm hay dịch vụ của

cơng ty để giúp cơng ty có chiến lược kinh doanh hiệu quả hơn

Biology: Phận nhóm động vật và thực vật dựa vào các thuộc tính của chúng

Libraries: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…

Insurance, Finance: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ tài



-



chính, dự đốn xu hướng (trend) của khách hàng, phát hiện gian lận tài chính

(identifying frauds)

WWW: Phân loại tài liệu (document classification); phân loại người dùng web

(clustering weblog); …



3.1.2. Giải thuật gom cụm kMeans

a. Mục đích của thuật tốn

Với tập dữ liệu X và số nhóm k cho trước, giải thuật kMeans tìm cách phân m

phần tử dữ liệu vào k nhóm (mỗi phần tử chỉ thuộc một nhóm) sao cho tổng khoảng

cách của các phần tử đến tâm của nhóm mà nó thuộc về là nhỏ nhất.

b. Trình bày thuật tốn

Các bước chính của giải thuật được thực hiện như sau:

B1. Khởi động ngẫu nhiên k tâm của k nhóm

B2. Mỗi phần tử được gán cho tâm gần nhất với nó dựa vào khoảng cách

B3. Cập nhật lại các tâm của k nhóm, mỗi tâm là giá trị trung bình của các phần tử

trong nhóm của nó

B4. Lặp lại bước B2, B3 cho đến khi khơng còn sự thay đổi nhóm nào của các phần tử

c. Bài tốn và lời giải

Giả sử ta có bảng dữ liệu gồm 2 thuộc tính như bảng 3.1



41

Bảng 3.1 – Bảng dữ liệu minh họa thuật toán kMeans

STT

1

2

3

4

5

6

7

8

9

10



A1

5.40

7.90

5.80

6.20

4.40

5.80

6.10

4.30

6.70

6.20



A2

3.40

3.80

2.70

2.90

2.90

4.00

2.80

3.00

3.00

3.40



So sánh K-NN và K-Means?



Áp dụng giải thuật k-Means lên tập dữ liệu này với k=3

Tâm khởi động ngẫu nhiên là:

C1 (6.20, 3.40); C2 (5.80, 2.70)

Lần lặp 1: Gán nhóm cho các phần tử bằng cách tính khoảng cách từ phần tử đến các

tâm và chọn nhóm có tâm gần nhất



i



1



A1



5.4



A2



3.4



Nhóm

gần

nhất



0.64



0.65



1



42



2

3

4

5

6

7

8

9

10

C

1

C

2



0

0

7.9 3.80

0

5.80 2.70

6.20 2.9

0

4.4 2.9

0

0

5.80 4.0

0

6.10 2.80

4.3 3.0

0

0

6.70 3.0

0

6.20 3.4

0

6.4 3.5

0

2

5.3 2.8

6

6



3.05



5.62



1



0.65

0.25



0

0.2



2

2



3.49



2



2



0.52



1.69



1



0.37

3.77



0.1

2.34



2

2



0.41



0.9



1



0



0.65



1



Tính lại tâm cho các nhóm:



Lần lặp 2:

C1 (6.4, 3.52); C2 (5.36, 2.86)

i



A1



1

2

3

4

5

6

7

8

9

10



5.40

7.90

5.80

6.20

4.40

5.80

6.10

4.30

6.70

6.20



A2



Tính lại tâm cho các nhóm:



3.40

3.80

2.70

2.90

2.90

4.00

2.80

3.00

3.00

3.40



Nhóm gần nhất

1.0144

2.3284

1.0324

0.4244

4.3844

0.5904

0.6084

4.6804

0.3604

0.0544



0.2932

7.3916

0.2192

0.7072

0.9232

1.4932

0.5512

1.1432

1.8152

0.9972



2

1

2

1

2

1

2

2

1

1



43



Lần lặp 3: C1 (6.56, 3.42); C2 (5.2, 2.9

i



A1



A2



1

2

3

4

5

6

7

8

9

10



5.40

7.90

5.80

6.20

4.40

5.80

6.10

4.30

6.70

6.20



Nhóm gần nhất



3.40

3.80

2.70

2.90

2.90

4.00

2.80

3.00

3.00

3.40



1.346

1.94

1.096

0.4

4.936

0.914

0.596

5.284

0.196

0.13



0.2336

7.9956

0.4276

1.0036

0.6436

1.4416

0.8356

0.8116

2.2516

1.1936



2

1

2

1

2

1

1

2

1

1



Tính lại tâm cho các nhóm



Lần lặp thứ 4: C1 (6.48, 3.32); C2 (4.975, 3)

i



A1



A2



1

2

3

4

5

6

7

8

9

10



5.40

7.90

5.80

6.20

4.40

5.80

6.10

4.30

6.70

6.20



3.40

3.80

2.70

2.90

2.90

4.00

2.80

3.00

3.00

3.40



Tính lại tâm cho các nhóm:



1.1728

2.2468

0.8468

0.2548

4.5028

0.9248

0.4148

4.8548

0.1508

0.0848



0.340625

9.195625

0.770625

1.510625

0.340625

1.680625

1.305625

0.455625

2.975625

1.660625



Nhóm

gần nhất

2

1

2

1

2

1

1

2

1

1



44



Tâm không thay đổi nên giải thuật kết thúc.

3.1.3. Cài đặt thuật tốn với ngơn ngữ R

a. Cài đặt thuật tốn với dữ liệu cho trước

Giả sử ta có 1 file dữ liệu excel cho trước có tên là kmean_data.csv như trong bảng

3.2:

Bảng 3.2 – File dữ liệu minh họa thuật toán kMeans



a1

5.4

7.9

5.8

6.2

4.4

5.8

6.1

4.3

6.7

6.2



a2

3.4

3.8

2.7

2.9

2.9

4

2.8

3

3

3.4



a1

7

7.2

6.3

5.8

4.8

1.7

6.4

5.1

4.3

1.4



a2

3.2

3.2

2.9

2.8

3.1

0.2

2

1.9

1.3

0.2



Ta tiến hành giải thuật gom cụm kmeans trong R như sau:



Kết quả ta thu được hình vẽ như hình 3.1:



a1

1.2

4

1.1

5.2

5.4

4.7

6

5.6

5.1

1.6



a2

0.2

1.3

0.1

2.3

2.3

1.4

1.8

1.8

2.4

0.2



45



Hình 3.1 – Đồ thị phân cụm k-means với tập dữ liệu cho trước

b. Cài đặt thuật toán với bộ dữ liệu chuẩn Iris

 Cài đặt giải thuật kMeans sử dụng hàm cclust() nằm trong gói thư viện cclust

Hàm cclust() có các tham số như sau:

cclust (x, center, iter.max=100, verbose=FALSE, dist=”euclidean”,

method=”kmeans”,…)

Giải thích các tham số:

+ x là tập dữ liệu (ma trận) không chứa nhãn phân loại

+ centers là số nhóm

+ iter.max là số bước lặp tối đa

+ verbose cho phép hiển thị thơng tin trong q trình xây dựng mơ hình

+ dist là độ đo khoảng cách euclidean hoặc manhattan

+ method là phương pháp gom nhóm có thể là kmeans, hardcl hay neuralgas

…: các tham số còn lại có thể dùng đến



46

Kết quả trả về của hàm là đối tượng có chứa các trường như:

+ center: số lượng nhóm

+ initcenters: tâm khởi tạo ngẫu nhiên

+ cluster: vector chỉ số nhóm của dữ liệu

+ size: kích thước của các nhóm

+ iter: số lần lặp để có kết quả

Chương trình được viết như sau:



Kết quả phân cụm được hiển thị trên ma trận scatterplot 2 chiều như hình 3.2



47



Hình 3.2 – Hiển thị trên ma trận scatterplot 2 chiều kết quả gom cụm của kMean sử

dụng hàm cclust



3.1.4. Kết luận

Giải thuật gom cụm kMeans có một số ưu điểm và nhược điểm như sau:

Ưu điểm:

-



Đơn giản

Cho kết quả dễ hiểu



Nhược điểm:

-



Số nhóm k ln phải được xác định trước

Kết quả phụ thuộc vào tham số k

Khả năng chịu đựng nhiễu không tốt (do ảnh hưởng của các phần tử cá biệt)

Việc khởi tạo phần tử trung tâm của nhóm ban đầu ảnh hưởng tới sự phân chia



-



đối tượng vào nhóm trong trường hợp dữ liệu không lớn

Không xác định được rõ ràng vùng của nhóm, cùng 1 đối tượng, nó có thể được



-



đưa vào nhóm này hoặc nhóm khác khi dung lượng dữ liệu thay đổi.

Điều kiện khởi tạo có ảnh hưởng lớn đến kết quả. Điều kiện khởi tạo khác nhau

có thể cho ra kết quả phân vùng nhóm khác nhau.



48

-



Không xác định được mức độ ảnh hưởng của thuộc tính đến q trình tạo

nhóm.



Mặc dù có những khuyết điểm trên nhưng trong thực tế giải thuật gom cụm kMeans

được sử dụng rất phổ biến do tính đơn giản và dễ hiểu của nó.

Hướng khắc phục:

-



Với dữ liệu nhỏ, thuật tốn có thể có những hạn chế. Vì vậy, để khắc phục được



-



những hạn chế trên, nên sử dụng thuật toán kMeans trong trường hợp dữ liệu

lớn

Với những hạn chế về việc phân nhóm, ta có thể dùng phương pháp xác định

trung tuyến thay vì xác định mean



Hướng phát triển:

-



Phát triển giải thuật trong trường hợp các kiểu dữ liệu phức tạp

Làm tăng tốc độ xử lí

Xử lí vấn đề các tham số đầu vào của giải thuật

Diễn dịch kết quả sinh ra

Phương pháp kiểm chứng chất lượng mô hình



3.2. Giải thuật luật kết hợp

3.2.1. Luật kết hợp trong khai phá dữ liệu

a. Mục đích

Mục đích của luật kết hợp là tìm ra các mối quan hệ giữa các đối tượng trong

khối lượng lớn dữ liệu, tìm ra sự kết hợp hay tương quan giữa các items

b. Nội dung cơ bản của luật kết hợp

Cho cơ sở dữ liệu gồm các giao dịch T là tập các giao dịch t1, t2, …, tn.

T = {t1, t2, …, tn}. T gọi là cơ sở dữ liệu giao dịch (Transaction Database)

Mỗi giao dịch ti bao gồm tập các đối tượng I (gọi là itemset)

I = {i1, i2, …, im}. Một itemset gồm k items gọi là k-itemset

Luật kết hợp R có dạng: itemset1 => itemset2

Trong đó itemset1, itemset2 khơng giao nhau và itemset2 không rỗng

Ý nghĩa của luật R là nếu giao dịch có chứa itemset1 thì nó cũng chứa itemset2

Ví dụ, nếu X ={Apple, Banana} và Y= Cherry, Durian} và ta có luật kết hợp X=>Y thì

chúng ta có thể nói rằng những người mua Apple và Banana thì cũng thường mua

Cherry và Durian.



49

Theo quan điểm thống kê, X được xem là biến độc lập (Independent Variable)

còn Y được xem là biến phụ thuộc (Dependent Variable)

Những khái niệm cơ bản được sử dụng trong giải thuật luật kết hợp:

-



Item: cặp thuộc tính = giá trị

Itemset I: tập các item

Transaction: giao dịch

Support của itemset I: độ hỗ trợ sup(I) là số lượng các giao dịch chứa I

Frequent itemset I: tập itemset thường xuyên là tập có độ hỗ trợ lớn hơn

hoặc bằng độ hỗ trợ tối thiểu minsup, sup(I)



-



minsup



Tính chất tập con (subset): mọi tập con của 1 itemset thường xuyên cũng

phải thường xuyên



-



Support của luật kết hợp R: I



J: sup(R) độ hỗ trợ của luật R là tần



suất của giao dịch chứa tất cả các items trong cả hai tập I và J. Luật kết

hợp là luật mạnh nếu độ hỗ trợ của nó lớn hơn bằng ngưỡng giá trị nào đó

-



Độ tin cậy (Confidence) của luật kết hợp R: I



J: conf(R): là xác suất



xảy ra J khi đã biết I. Độ tin cậy của luật R được tính bằng độ hỗ trợ của

luật R chia cho độ hỗ trợ của vế trái I của luật R:

conf(R) = sup(R)/sup(I)

3.2.2. Giải thuật luật kết hợp Apriori

Giải thuật Apriori khám phá luật kết hợp bao gồm 2 bước chính:

-



Tìm các tập itemset thường xun (phổ biến)

Sinh luật



Tư tưởng chính của thuật tốn Apriori là:

-



Tìm tất cả frequent itemsets: k-itemset (itemsets gồm k items) được dùng

để tìm (k+1)- itemset.



-



Đầu tiên tìm 1-itemset (ký hiệu L1). L1 được dùng để tìm L2 (2-itemsets).

L2 được dùng để tìm L3 (3-itemset) và tiếp tục cho đến khi khơng có kitemset được tìm thấy



-



Từ frequent itemsets sinh ra các luật kết hợp mạnh (các luật kết hợp thỏa

mãn 2 tham số min_sup và min_conf)



Các bước của thuật tốn Apriori:



50

1. Duyệt (Scan) tồn bộ transaction database để có được support S của 1-itemset, so

sánh S với min_sup, để có được 1-itemset (L1)

2. Sử dụng Lk-1 nối (join) Lk-1 để sinh ra candidate k-itemset. Loại bỏ các itemsets

không phải là frequent itemsets thu được k-itemset

3. Scan transaction database để có được support của mỗi candidate k-itemset, so sánh

S với min_sup để thu được frequent k –itemset (Lk)

4. Lặp lại từ bước 2 cho đến khi Candidate set (C) trống (khơng tìm thấy frequent

itemsets)

5. Với mỗi frequent itemset I, sinh tất cả các tập con s không rỗng của I

6. Với mỗi tập con S không rỗng của I, sinh ra các luật s => (I-s) nếu độ tin cậy

(Confidence) của nó > =min_conf

3.2.3. Minh họa thuật tốn

Ví dụ ta có có sở dữ liệu giao dịch bán hàng gồm 5 giao dịch như sau:

Bảng 3.3 – Bảng dữ liệu minh họa giải thuật luật kết hợp Apriori



Tid

1

2

3

4

5



Danh sách các items

Bia, tã lót, bột trẻ em, bánh mỳ, ơ

Tã lót, bột trẻ em

Bia, tã lót, sữa

Tã lót, bia, chất tẩy rửa

Bia, sữa, coca-cola



Bước 1: xác định tập 1-itemset có chứa 1 item, sau đó bỏ các tập itemset có độ hỗ trợ

nhỏ hơn 2/5 (40%) giữ lại 1-itemset thường xuyên như sau:

C1

1-itemset

Bia

Tã lót

Bột trẻ em

Bánh mỳ

ơ

Sữa

Chất tẩy rửa

Coca-cola



support

4/5

4/5

2/5

1/5

1/5

2/5

1/5

1/5



L1

1-itemset

Bia

Tã lót

Bột trẻ em

Sữa



support

4/5

4/5

2/5

2/5



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

GIẢI THUẬT GOM CỤM VÀ LUẬT KẾT HỢP

Tải bản đầy đủ ngay(0 tr)

×