đó, 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 1BỘ 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 2BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HCM KHOA CÔNG NGHỆ THÔNG TIN
Trang 3BẢ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 4LỜ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 5MỤ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 63.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 7DANH MỤC HÌNH ẢNH
Hnh II.1.Biểu đồ phân nhánh 6
Hnh III.1 Mô phỏng các phương pháp 10
Hnh IV.1 Phân cấp theo cách kết hợp 14
Hnh IV.2 Phân cấp theo cách chia tách 16
5
Trang 8DANH MỤC PHƯƠNG TRÌNH
Phương trnh III.1 Euclidean 9
Phương trnh III.2 Manhattan 9
Phương trnh III.3 Công thức độ đo sự khác biệt 10
Phương trnh III.4 Công thức tính khoảng cách 10
Phương trnh III.5 Công thức tính độ đo khoảng cách trung bnh 11
Trang 9DANH 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 11PHẦ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 12Cá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 13PHẦ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 14phâ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 15PHẦ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 trnh III.1 Euclidean
14
Trang 163.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 173.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 trnh 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 trnh III.5 Công thức tính độ đo khoảng cách trung bnh
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
Hnh 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 20PHẦ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 21Hnh 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 22Bướ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 23Hnh 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