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

Tiểu luận môn học trí tuệ nhân tạo thuật toán gom cụm phân cấp

32 0 0
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

Định dạng
Số trang 32
Dung lượng 2,7 MB

Nội dung

đó, thuật toán gom cụm phân cấp Hierarchical Clustering đóng vaitrò nổi bật, đặc biệt khi yêu cầu x\ lý dữ liệu mà không biRt trước s^lư[ng cụm hoặc mu^n phân tích cấu trúc phân cấp của

Trang 1

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HCM

KHOA CÔNG NGHỆ THÔNG TIN

-TIỂU LUẬN MÔN HỌC

TRÍ TUỆ NHÂN TẠO

THUẬT TOÁN GOM CỤM PHÂN CẤP

NHÓM: 3TH

TP HỒ CHÍ MINH, tháng 10 năm 2024

Trang 2

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HCM KHOA CÔNG NGHỆ THÔNG TIN

Trang 3

BẢNG PHÂN CÔNG THÀNH VIÊN

Họ tên MSSV Công việc Hoàn

thànhNgô Phước

Thuận (NT)

2033225044

- Tổng quan thuật toán

- Ma trận khoảng cách tính toán

- Giới thiệu thuật toán

- Quy trình thực hiện thuật toán

- Giới thiệu thuật toán

- Thước đo khoảng cách giữa hai điểm

- Các loại thuật toán gom cụm

- Demo

100%

Trang 4

LỜI CAM ĐOAN

Chúng em xin cam đoan đề tài tiểu luận: THUẬT TOÁN GOMCỤM PHÂN CẤP do nhóm 3TH nghiên cNu và thực hiện

Chúng em đã kiểm tra dữ liệu theo quy định hiện hành KRt quả bài làm của đề tài THUẬT TOÁN GOM CỤM PHÂN CẤP làtrung thực và không sao chép từ bất kỳ bài tập của nhóm khác Các tài liệu đư[c s\ dụng trong tiểu luận có ngu]n g^c, xuất xNr` ràng

(Ký và ghi r` họ tên)

3TH

Trang 5

MỤC LỤC

MỤC LỤC 1

DANH MỤC HÌNH ẢNH 3

DANH MỤC PHƯƠNG TRÌNH 4

DANH MỤC BẢNG BIỂU 5

MỞ ĐẦU 6

PHẦN I TỔNG QUAN 7

1.1 Giới thiệu 7

1.2 Mục tiêu và phạm vi đề tài 7

1.3 Khảo sát hệ th^ng 7

PHẦN II GIỚI THIỆU VỀ THUẬT TOÁN GOM CỤM PHÂN CẤP 8

2.1 Khái niệm về thuật toán gom cụm phân cấp (Hierarchical Clustering) 8

2.2 Tầm quan trọng của gom cụm trong phân tích dữ liệu 8

PHẦN III CƠ SỞ LÝ THUYẾT VỀ THUẬT TOÁN GOM CỤM PHÂN CẤP 10 3.1 Thước đo khoảng cách giữa hai điểm 10

3.1.1 Khoảng cách Euclidean 10

3.1.2 Khoảng cách Manhattan 10

3.1.3 Khoảng cách Cosine: 10

3.1.4 Khoảng cách Levenshtein (cho chuỗi) 10

3.2 Ma trận khoảng cách tính toán 11

3.2.1 Liên kRt đơn (Single Linkable) 11

3.2.2 Liên kRt đầy đủ (Complete Linkable) 11

3.2.3 Liên kRt trung bình (Average Linkable) 12

3

Trang 6

3.3 Tiêu chí dừng của thuật toán 13

PHẦN IV CÁC LOẠI THUẬT TOÁN GOM CỤM PHÂN CẤP 15

4.1 Phân cấp theo cách kRt h[p (Agglomerative) 15

4.2 Phân cấp theo cách chia tách (Divisive) 17

4.3 Quy trình thực hiện thuật toán 18

PHẦN V ỨNG DỤNG 20

5.1 Ứng dụng minh họa 20

5.2 Ứng dụng thực tiễn 20

PHẦN VI ĐÁNH GIÁ THUẬT TOÁN 22

6.1 Ưu điểm 22

6.2 Như[c điểm 22

6.3 So sánh hai phương pháp gom cụm kRt h[p và gom cụm phân tách 22

KẾT LUẬN 24

TÀI LIỆU THAM KHẢO 25

Trang 7

DANH MỤC HÌNH ẢNH

Hnh II.1.Biểu đồ phân nhánh 6

Hnh III.1 Mô phỏng các phương pháp 10

Hnh IV.1 Phân cấp theo cách kết hợp 14

Hnh IV.2 Phân cấp theo cách chia tách 16

5

Trang 8

DANH MỤC PHƯƠNG TRÌNH

Phương trnh III.1 Euclidean 9

Phương trnh III.2 Manhattan 9

Phương trnh III.3 Công thức độ đo sự khác biệt 10

Phương trnh III.4 Công thức tính khoảng cách 10

Phương trnh III.5 Công thức tính độ đo khoảng cách trung bnh 11

Trang 9

DANH MỤC BẢNG BIỂU

Bảng VI.1 So sánh phương pháp gom cụm kết hợp và gom cụm phân tách 23

7

Trang 10

đó, thuật toán gom cụm phân cấp (Hierarchical Clustering) đóng vaitrò nổi bật, đặc biệt khi yêu cầu x\ lý dữ liệu mà không biRt trước s^lư[ng cụm hoặc mu^n phân tích cấu trúc phân cấp của dữ liệu.Thuật toán gom cụm phân cấp mang lại nhiều l[i ích, không chỉ ởkhả năng tạo ra các nhóm dữ liệu với độ chính xác cao mà còn thểhiện m^i quan hệ giữa các nhóm thông qua biểu đ] cây(dendrogram) Điều này giúp người s\ dụng dễ dàng nhận diện cấutrúc tiềm ẩn của dữ liệu và đưa ra các quyRt định phân tích phù h[p.Với khả năng Nng dụng đa dạng trong các lĩnh vực như sinh học, x\

lý hình ảnh, thương mại điện t\, và x\ lý ngôn ngữ tự nhiên, thuậttoán này ngày càng chNng minh đư[c vai trò quan trọng trong phântích dữ liệu hiện đại

Trong bài tiểu luận này, chúng ta sẽ đi sâu tìm hiểu về cơ sở lýthuyRt, các bước thực hiện, và Nng dụng thực tiễn của thuật toángom cụm phân cấp Đ]ng thời, cũng sẽ phân tích các ưu điểm vànhư[c điểm của thuật toán này, từ đó đánh giá sự hiệu quả của nótrong việc phân tích và khai thác dữ liệu

Trang 11

PHẦN I TỔNG QUAN1.1 Giới thiệu

Cụm phân cấp là một trong những kỹ thuật phân tích dữ liệu quantrọng trong lĩnh vực học máy và khai thác dữ liệu Phương pháp nàycho phép nhóm các đ^i tư[ng lại với nhau dựa trên độ tương đ]ngcủa chúng, giúp phát hiện cấu trúc tiềm ẩn trong tập dữ liệu Bằngcách xây dựng một cây phân cấp (dendrogram), cụm phân cấpkhông chỉ giúp trực quan hóa m^i quan hệ giữa các nhóm mà còncung cấp thông tin về cách các nhóm này có thể đư[c h[p nhất hoặctách biệt Từ những Nng dụng trong nhận diện mẫu, phân loại sinhhọc cho đRn marketing, cụm phân cấp đã chNng minh đư[c tính linhhoạt và khả năng áp dụng trong nhiều lĩnh vực khác nhau

1.2 Mục tiêu và phạm vi đề tài

Mục tiêu của đề tài này là nghiên cNu và trình bày về các phươngpháp cụm phân cấp, từ nguyên lý hoạt động đRn các Nng dụng thựctiễn Đề tài sẽ bao g]m việc tìm hiểu các thuật toán cụm phân cấpphổ biRn, như thuật toán liên kRt đơn, liên kRt hoàn chỉnh và trungbình Ngoài ra, việc khảo sát và so sánh hiệu quả của các phươngpháp khác nhau cũng sẽ đư[c thực hiện Phạm vi nghiên cNu sẽ tậptrung vào việc Nng dụng cụm phân cấp trong phân tích dữ liệu lớn vàviệc đánh giá hiệu quả của nó trong các tình hu^ng thực tR

1.3 Khảo sát hệ thống

Trong b^i cảnh phát triển nhanh chóng của công nghệ thông tin vànhu cầu phân tích dữ liệu ngày càng tăng, cụm phân cấp đã trởthành một công cụ không thể thiRu cho các nhà phân tích dữ liệu vànghiên cNu viên Nhiều phần mềm và thư viện lập trình hiện đại, như

R và Python, đã tích h[p các thuật toán cụm phân cấp, giúp ngườidùng dễ dàng áp dụng phương pháp này vào công việc của mình

10

Trang 12

Các nghiên cNu trước đây cũng đã chỉ ra rằng cụm phân cấp khôngchỉ có độ chính xác cao trong việc phân nhóm mà còn giúp cung cấpthông tin sâu sắc về các đặc điểm của tập dữ liệu.

Trang 13

PHẦN II GIỚI THIỆU VỀ THUẬT TOÁN GOM CỤM

PHÂN CẤP2.1 Khái niệm về thuật toán gom cụm phân cấp (Hierarchical Clustering)

Gom cụm phân cấp là một mô hình phân cụm dựa trên việc kRtn^i các nhóm điểm dữ liệu gần nhau lại với nhau, đư[c gọi làdendrograms, dựa trên thước đo mNc độ tương đ]ng hoặc khoảngcách Giả định của thuật toán là các điểm dữ liệu gần nhau thì có sựtương đ]ng hoặc liên quan hơn so với các điểm dữ liệu xa nhau.Một biểu đ] phân nhánh (dendrogram) là hình dạng gi^ng câyđư[c tạo ra từ phân cụm phân cấp, mô tả các m^i quan hệ phân cấpgiữa các nhóm Các điểm dữ liệu riêng lẻ nằm ở dưới cùng của biểuđ] phân nhánh chNa một quan sát, trong khi các cụm lớn xnhất, baog]m tất cả các điểm dữ liệu, nằm ở trên cùng Để tạo ra s^ lư[ngcụm khác nhau, biểu đ] phân nhánh có thể đư[c cắt ở nhiều độ caokhác nhau

12

Trang 14

phân cụm đóng vai trò quan trọng trong việc tìm ra các nhóm kháchhàng, phân loại tài liệu, phát hiện gian lận, và t^i ưu hóa quy trìnhkinh doanh.

Phân cụm phân cấp (Hierarchical Clustering) là một trong nhữngthuật toán mạnh mẽ và phổ biRn nhất, đặc biệt là trong các bài toán

mà cấu trúc phân cấp của dữ liệu là quan trọng Thuật toán nàykhông yêu cầu xác định s^ lư[ng cụm trước, điều này rất hữu íchtrong các bài toán chưa biRt trước s^ lư[ng phân cụm t^i ưu Phươngpháp này cũng cung cấp một cái nhìn toàn diện về cách các điểm dữliệu đư[c gom lại với nhau, từ những điểm nhỏ nhất đRn toàn bộ tập

dữ liệu

Trang 15

PHẦN III CƠ SỞ LÝ THUYẾT VỀ THUẬT TOÁN GOM

CỤM PHÂN CẤP3.1 Thước đo khoảng cách giữa hai điểm

Để thực hiện phân cụm phân cấp, trước tiên cần tính ma trận khoảngcách chNa khoảng cách giữa mỗi cặp điểm dữ liệu bằng cách s\dụng một s^ liệu khoảng cách cụ thể

3.1.1 Khoảng cách Euclidean

Đư[c s\ dụng khi dữ liệu không có biRn dạng hoặc thang đo quantrọng Đây là phương pháp tính khoảng cách phổ biRn nhất, đokhoảng cách giữa hai điểm trong không gian n chiều

√ ∑

k=1

d (x ik −x jk)2

Phương trnh III.1 Euclidean

14

Trang 16

3.1.4 Khoảng cách Levenshtein (cho chuỗi)

Đo s^ lần thay đổi (s\a, thêm, xóa) cần thiRt để chuyển một chuỗithành chuỗi khác Phương pháp này thường đư[c áp dụng trong cácbài toán x\ lý ngôn ngữ tự nhiên

 Ví dụ về khoảng cách giữa hai điểm: Để xây dựng hệ th^ng g[i ýphim hoặc nhạc, một bộ phim hay bài hát thường đư[c phân vàonhóm các thể loại khác nhau

 Bài hát “1” đư[c xRp vào thể loại “Pop”, “Dance”, “Electronic”,với s^ liệu là: (1, 1, 0, 0, 1, 0, 0, 0)

 Bài hát “2” đư[c xRp vào thể loại “Pop”, “R&B”, “Soul”, với s^liệu là: (1, 0, 0, 1, 0, 1, 0, 0)

Khoảng cách Euclidean giữa hai quan sát này đư[c tính như sau:

và h[p nhất cặp có khoảng cách nhỏ nhất hoặc tương đ]ng nhất

3.2.1 Liên kết đơn (Single Linkable)

Phương pháp này tìm khoảng cách ngắn nhất giữa hai điểm bất

kỳ từ hai cụm khác nhau Công thNc tính độ đo sự khác biệt đư[c viRtnhư sau:

d (A , B )= min

a ∈ A , b ∈ B d (a , b)

Trang 17

3.2.2 Liên kết đầy đủ (Complete Linkable)

Ngư[c lại với liên kRt đơn, liên kRt đầy đủ tìm khoảng cách xanhất giữa hai điểm bất kỳ từ hai cụm khác nhau Công thNc tínhkhoảng cách như sau:

d (A , B ) = max

a ∈ A , b ∈ B d (a , b)

Phương trnh III.4 Công thức tính khoảng cách

Phương pháp này thường nhạy cảm hơn đ^i với những cụm có

sự phân tán lớn

3.2.3 Liên kết trung bình (Average Linkable)

Phương pháp liên kRt trung bình tìm khoảng cách trung bình giữatất cả các cặp điểm thuộc hai cụm Công thNc tính độ đo khoảngcách trung bình như sau:

Phương trnh III.5 Công thức tính độ đo khoảng cách trung bnh

Trong đó, và lần lư[t là s^ lư[ng điểm trong cụm A và B, và∣A∣ ∣B∣tổng cộng có ∣A∣⋅∣B∣ cặp điểm

 Ví dụ về các phương pháp: NRu chúng ta nhóm một tập dữ liệunhất định bằng các phương pháp liên kRt khác nhau, kRt quả thuđư[c sẽ khác nhau tùy thuộc vào cách tính khoảng cách giữa cáccụm

Hnh III.2 Mô phỏng các phương pháp

16

Trang 18

 Phương pháp liên kRt đơn thường dễ bị ảnh hưởng bởi nhữngđiểm dữ liệu ngoại lai (outliers) Hai cụm rất cách xa nhau,nhưng nRu có một điểm ngoại lai gần nhau, khoảng cách đođư[c sẽ rất nhỏ.

 Phương pháp liên kRt đầy đủ, ngư[c lại, dễ bị ảnh hưởng bởiđiểm ngoại lai có khoảng cách rất lớn Trong trường h[p haicụm gần nhau nhưng có hai điểm ngoại lai cách xa, khoảngcách đo đư[c sẽ rất lớn

 Liên kRt trung bình ít bị ảnh hưởng bởi các điểm ngoại lai hơn,

vì nó tính dựa trên trung bình của tất cả các cặp điểm giữa haicụm, thay vì chỉ dựa trên khoảng cách nhỏ nhất hoặc lớn nhất.Các phương pháp liên kRt khác nhau đều tạo ra các thước đo về

sự không tương đ]ng giữa các cụm Khi các cụm có sự tách biệt r`ràng trong phân ph^i dữ liệu, kRt quả của d(A,B) sẽ lớn Ngư[c lại,nRu các cụm không có sự phân biệt r` ràng, kRt quả trả về sẽ nhỏhơn Tuy nhiên, phương pháp liên kRt trung bình thường phản ánhchính xác hơn về khoảng cách giữa các cụm, đặc biệt trong trườngh[p có dữ liệu ngoại lai

3.3 Tiêu chí dừng của thuật toán

Quá trình phân cụm theo cả hai chiRn lư[c phân chia và h[p nhấtđều thu đư[c một đ] thị dendrogram dạng cây nhị phân Mỗi nodetrong cây nhị phân xác định một cụm dữ liệu Để xác định thời điểmngừng phân chia hoặc h[p nhất đ^i với một node và tạo thành kRtquả phân cụm khái quát, dưới đây là một s^ phương pháp chính giúpxác định tiêu chí dừng:

 Xác định trước s^ lư[ng k cụm: Ta có thể xác định trước s^

Trang 19

 Độ gắn kRt (Cohesion): Thuật toán sẽ dừng nRu việc gộp cụmtạo thành những cụm có độ gắn kRt thấp hơn Độ gắn kRt làtiêu chuẩn để đo chất lư[ng cụm Thông thường, chúng ta đo

độ gắn kRt dựa trên hai chỉ s^:

 Đường kính (Diameter): Tính bằng khoảng cách lớn nhấtgiữa hai điểm trong cụm sau khi gộp

 Bán kính (Radius): Là khoảng cách lớn nhất từ một điểmđRn centroid hoặc clustroid của cụm

Tuy nhiên, cả hai phương pháp này thường nhạy cảm với outliers Cụthể, một cụm có thể có chất lư[ng t^t khi các điểm dữ liệu cô đặcxung quanh tâm, nhưng nRu có outliers, điều này có thể làm sai lệchđường kính hoặc bán kính và khiRn cho cụm bị coi là không t^t

 Cách tiRp cận mật độ (Density-based): Một phương pháp khác

là tính tỷ s^ giữa s^ lư[ng điểm nằm trong cụm chia cho lũythừa bậc hai hoặc bậc ba của đường kính hoặc bán kính củacụm Phương pháp này thường giúp xác định đư[c cụm phânchia tổng quát hơn và giảm thiểu ảnh hưởng của outliers

18

Trang 20

PHẦN IV CÁC LOẠI THUẬT TOÁN GOM CỤM PHÂN

CẤP4.1 Phân cấp theo cách kết hợp (Agglomerative)

Phương pháp phân cấp này còn đư[c gọi là phương pháp tiRp cận

từ dưới lên (bottom-up) Đây là phương pháp phổ biRn hơn trong thực

tR và không yêu cầu xác định trước s^ lư[ng cụm Phương pháp nàyxây dựng một cấu trúc thông tin đầy đủ hơn so với phân cụm phẳng,bắt đầu bằng việc coi mỗi điểm dữ liệu như một cụm riêng lẻ, sau đótừng bước h[p nhất hai cụm gần nhau nhất cho đRn khi tất cả dữ liệuđư[c gom lại thành một cụm duy nhất

Các bước chính của phương pháp kRt h[p bao g]m:

1 Bắt đầu với mỗi điểm dữ liệu là một cụm riêng NRu có N điểm,thuật toán sẽ thực hiện N−1 bước để h[p nhất các cụm

2 Tính toán khoảng cách giữa các cụm theo một thước đo khoảngcách như liên kRt đơn, liên kRt đầy đủ, hoặc liên kRt trung bình

3 Cập nhật ma trận khoảng cách để phản ánh sự h[p nhất của cáccụm

4 Lặp lại quá trình cho đRn khi chỉ còn lại một cụm duy nhất chNatất cả các điểm dữ liệu

Trang 21

Hnh IV.3 Phân cấp theo cách kết hợp

Ví dụ về quá trình gom cụm:

Bước 1: Dựa trên khoảng cách gần nhất giữa các điểm, chúng ta

sẽ gom 2 điểm {A, B} lại thành một cụm Tâm của cụm {A, B} sẽ làtrung bình cộng tọa độ của hai điểm này, đư[c ký hiệu bằng dấu ⊗nằm giữa A và B

Bước 2: Chọn ngẫu nhiên một điểm chưa thuộc cụm nào, ví dụđiểm D Sau đó, đo khoảng cách từ điểm D tới các điểm còn lại và tớitâm cụm {A, B} Ta thấy khoảng cách giữa D và E là nhỏ nhất, do đóđiểm D và E sẽ đư[c gom thành một cụm {D, E}

Bước 3: TiRp theo, bắt đầu từ điểm C Đo khoảng cách từ C đRncác cụm hiện có, bao g]m {A, B} và {D, E}, cùng với điểm F Khoảngcách nhỏ nhất là giữa C và cụm {A, B}, nên C sẽ đư[c thêm vào cụmnày, tạo thành cụm {A, B, C}

20

Trang 22

Bước 4: Từ điểm F, ta đo khoảng cách tới các cụm {A, B, C} và{D, E} F gần cụm {D, E} hơn, do đó điểm F sẽ đư[c thêm vào, tạothành cụm {D, E, F}.

Bước 5: Cu^i cùng, ta sẽ gộp hai cụm {A, B, C} và {D, E, F} lại vớinhau để tạo thành cụm cu^i cùng bao trùm toàn bộ dữ liệu, hoànthành quá trình phân cụm

4.2 Phân cấp theo cách chia tách (Divisive)

Đây là phương pháp tiRp cận từ trên xu^ng (top-down) Thuật toánnày bắt đầu với một cụm lớn chNa tất cả các điểm dữ liệu và chiatách cụm đó dần dần theo cách đệ quy cho đRn khi đạt đư[c cáccụm nhỏ nhất Phương pháp này cũng không yêu cầu chỉ định trướcs^ lư[ng cụm

1 Khởi tạo: Bắt đầu với toàn bộ dữ liệu nằm trong một cụm lớn duynhất

2 Chọn điểm đầu tiên: Từ cụm dữ liệu S, chọn một điểm sao chođiểm này có trung bình khoảng cách nhỏ nhất đRn tất cả các điểmkhác Điểm này sẽ đư[c chuyển vào một cụm mới S1

3 Phân chia: Tập còn lại g]m N – 1 điểm sẽ tạo thành cụm S2 Lầnlư[t chọn từng điểm từ S2 để chuyển sang S1 Điểm đư[c chọnphải thoả mãn hai điều kiện:

 Trung bình khoảng cách từ điểm đó đRn các điểm trong S1 lànhỏ nhất Điều đó có nghĩa là i là điểm tách biệt nhất so vớiphần còn lại của S1

Trang 23

Hnh IV.4 Phân cấp theo cách chia tách

Bước 1: Chọn điểm CCC là điểm đầu tiên thuộc cụm mới, vì nó cókhoảng cách xa nhất so với các điểm còn lại Sau bước này, ta có haicụm: S1 = {C} và S2 = {A, B, D, E, F}

Bước 2: Trong s^ các điểm thuộc S2, ta chọn điểm A do điểm này

có khoảng cách xa nhất so với các điểm còn lại và gần với C hơn sovới các điểm khác trong S2 Di chuyển điểm A từ S2 sang S1 Lúcnày, S1 = {C, A} và S2 = {B, D, E, F}

Bước 3: TiRp tục quá trình tương tự, chọn điểm B, di chuyển từ S2sang S1 KRt quả thu đư[c sau bước này là S1 = {C, A, B} và S2 ={D, E, F}

22

Ngày đăng: 04/12/2024, 17:45

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

TÀI LIỆU LIÊN QUAN