Chúng ta sẽ khám phá cách thuật toán này được thực hiện, cách xâydựng cây phân cấp, và cách lựa chọn số lượng cụm phù hợp.. Phân cụm: Phân cụm dữ liệu là bài toán gom nhóm các đối tượng
Trang 1TRƯỜNG ĐẠI HỌC CÔNG THUƯƠNG TP.HCM KHOA CÔNG NGHỆ THÔNG TIN
TÊN ĐỀ TÀI:THUẬT TOÁN QUINLAN TIỂU LUẬN MÔN: TRÍ TUỆ NHÂN TẠO
TP.HỒ CHÍ MINH, Tháng 11/2023 TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP.HCM
Trang 2TRƯỜNG ĐẠI HỌC CÔNG THUƯƠNG TP.HCM KHOA CÔNG NGHỆ THÔNG TIN
Trang 3LỜI CẢM ƠN
Chúng em xin gửi lời cảm ơn chân thành đến giảng viên Trần Đình Toàn đối với nhữngkiến thức và kinh nghiệm quý báu mà thầy đã chia sẻ trong khóa học Trí tuệ nhân tạo.Khóa học này đã mang lại cho chúng em nhiều điều quý giá và khám phá thú vị về lĩnhvực quan trọng này Chúng em rất trân trọng việc thầy đã khuyến khích sự sáng tạo và
tư duy phản biện trong quá trình học tập Những dự án và bài tập mà chúng em đã hoànthành dưới sự hướng dẫn của thầy đã giúp chúng em phát triển kỹ năng thực tiễn vàgiải quyết vấn đề trong lĩnh vực này Môn học này đã mở ra một cửa sổ mới về tiềmnăng của Trí tuệ nhân tạo trong cuộc sống và sự nghiệp của chúng em Chúng em cảm
ơn thầy Toàn đã truyền đạt kiến thức và động viên chúng em đối với một tương lai đầytriển vọng trong lĩnh vực này Cuối cùng, chúng em muốn bày tỏ lòng biết ơn chânthành đến thầy Trần Đình Toàn vì sự cam kết, kiên nhẫn và sự hỗ trợ thúc đẩy sự thànhcông của chúng em trong môn học này Chúng em luôn giữ trong lòng những kiến thức
và lời khuyên mà thầy đã truyền đạt và sẽ cố gắng ứng dụng chúng trong tương lai
Chúng em xin trân trọng cảm ơn!
Nhóm thực hiện đề tài Nhóm 16
Trang 4Tên Sinh Viên MSSV Phân công Đánh Giá
Trang 5MỤC LỤC
LỜI CẢM ƠN i
GIỚI THIỆU iv
Chương I: NỘI DUNG 1
1 Khái niệm: 1
1.1 Phân cụm: 1
1.2 Mục tiêu của gom cụm: 1
2 Độ đo khoảng cách: 1
2.1 Tính chất của độ đo khoảng cách: 1
2.2 Độ đo Euclid: 1
2.3 Độ đo Cosine: 2
3 Các phương pháp tính khoảng cách: 2
4 Phân tích ý tưởng: 3
Chương II: THUẬT TOÁN AGGLOMERATIVE CLUSTERING 5
1 Trình bày: 5
2 Mô tả các bước thực hiện: 5
3 Ưu điểm – Nhược điểm: 6
3.1 Ưu điểm: 6
3.2 Nhược điểm: 6
Chương III: CÂY PHÂN CẤP (DENDROGRAM) 7
1 Trình bày: 7
2 Mô tả: 7
Chương IV: VÍ DỤ 8
1 Bài tập 1: Khoảng cách Euclidean giữa 2 điểm: 8
2 Bài tập 2: Khoảng cách Euclidean giữa 1 điểm: 14
TÀI LIỆU THAM KHẢO 18
Trang 6GIỚI THIỆU
Trong thế kỷ 21, dữ liệu đã trở thành một nguồn tài nguyên quý báu và gom cụm làmột trong những công cụ quan trọng giúp chúng ta hiểu và tận dụng dữ liệu này Phâncụm không chỉ giúp chúng ta nhận biết cấu trúc bên trong dữ liệu mà còn hỗ trợ trongviệc đưa ra quyết định và dự đoán tương lai dựa trên dữ liệu đã được phân loại Mụctiêu của tiểu luận này là tìm hiểu chi tiết về thuật toán gom cụm phân cấp, từ cơ bảnđến nâng cao Chúng ta sẽ khám phá cách thuật toán này được thực hiện, cách xâydựng cây phân cấp, và cách lựa chọn số lượng cụm phù hợp
Tiểu luận này sẽ được tổ chức thành các phần sau:
o Phần 2 sẽ giới thiệu các khái niệm cơ bản về phân cụm và gom cụm phân cấp
o Phần 3 thuật toán Agglomerative Clustering
o Phần 4 sẽ trình bày cách xây dựng cây phân cấp
o Phần 5 sẽ cung cấp ví dụ thực tế về việc áp dụng thuật toán này
Tiểu luận này nhằm giúp bạn hiểu rõ hơn về thuật toán gom cụm phân cấp và cách nó
có thể được áp dụng trong thực tế
Trang 7Chương I:NỘI DUNG
1 Khái niệm:
1.1. Phân cụm:
Phân cụm dữ liệu là bài toán gom nhóm các đối tượng dữ liệu vào thành từngcụm (cluster) sao cho các đối tượng trong cùng một cụm có sự tương đồng theo mộttiêu chí nào đó Các cụm được thể hiện trực quan dưới dạng cây phân cấp gọi
là dendrogram
1.2. Mục tiêu của gom cụm:
Nhằm hệ thống lại dữ liệu làm cho chúng không bị rời rạc trong một cơ sở dữliệu lớn
2.1. Tính chất của độ đo khoảng cách:
Tính không âm (non - negative): d ( x , y) ≥0 và d ( x , y)=0 khi và chỉ khi x, y trùngnhau
Tính đối xứng (symmetic): d ( x , y)=d ( y , x )
Tính tam giác (traingle inequality): d ( x , y)+d ( y , z)≥ d( x , z)
2.2. Độ đo Euclid:
Cho hai điểm x = (x , x , , x ) và y = (y , y , , y )1 2 m 1 2 m
Độ đo Euclid được xác định theo công thức
Trang 82.3. Độ đo Cosine:
Cho hai véc-tơ x = (x , x , , x ) và y = (y , y , , y )1 2 m 1 2 m
Độ đo Cosine được tính như sau
d ( x , y)= x y
‖x‖.‖y‖Trong đó:
x y là tích vô hướng giữa hai véc-tơ x và y
‖x‖.‖y‖ là độ dài của các véc-tơ x và y tương ứng
Trong không gian dương:
o Thoả mãn cả 3 tính chất
o Giá trị nằm trong khoảng [0, 1]
3 Các phương pháp tính khoảng cách:
Centroid-linkage: Sát nhập hai cụm có khoảng cách giữa
hai tâm của hai cụm này là nhỏ nhất
Single-linkage: khoảng cách giữa hai điểm gần nhau nhất
thuộc hai cụm Sát nhập hai cụm có khoảng cách này nhỏ nhất
L (r , s)=min ( D(xri , x sj))
Trang 9 Average-linkage: trung bình các khoảng cách giữa hai cặp
điểm bất kì thuộc hai cụm Sát nhập hai cụm có khoảng cách này nhỏ nhất
Complete-linkage: khoảng cách giữa hai điểm xa nhau nhất
của hai cụm, sát nhập hai cụm có khoảng cách này là nhỏ nhất
L (r , s)=max(D(x ri , x sj))
Radius ( r ): bán kính của một cụm là khoảng cách từ tâm
tới điểm xa nhất của cụm, sát nhập hai cụm nếu hai cụm tạo
ra một cụm có bán kính nhỏ nhất
Diameter ( D ): đường kính của một cụm là khoảng cách
của hai điểm xa nhau nhất trong cụm, sát nhập hai cụm nếu chúng tạo nên một cụm có đường kính nhỏ nhất
4 Phân tích ý tưởng:
Thuật toán gom cụm phân cấp là một trong những phương pháp phân cụm dữ liệu phổbiến trong lĩnh vực học máy và khám phá dữ liệu Ý tưởng chính của thuật toán gomcụm phân cấp là xây dựng một cây phân cấp (dendrogram) Ban đầu mỗi điểm (đốitượng) là một cụm riêng biệt Thuật toán phân cụm phân cấp sẽ tạo ra các cụm lớn hơnbằng các sát nhập các cụm nhỏ hơn gần nhau nhất tại mỗi vòng lặp dựa trên độ tươngđồng (hoặc khoảng cách) giữa chúng
Trang 10Chương II: THUẬT TOÁN AGGLOMERATIVE
2 Mô tả các bước thực hiện:
Thuật toán Agglomerative Clustering thực hiện các bước sau:
Bước 1: Khởi tạo mỗi điểm dữ liệu là một cluster riêng biệt
Bước 2: Tìm cặp cluster gần nhất dựa trên một phép đo tương tự (ví dụ: khoảngcách Euclidean)
Công thức tính khoảng cách Euclidean:
d(p,q) = √( p−q)2
Công thức tính khoảng cách Euclidean giữa 2 điểm:
d(p,q) = √(q1− p1) +(2 )
q2− p2Bước 3: Gộp cặp cluster gần nhất thành một cluster mới
Bước 4: Lặp lại bước b và c cho đến khi chỉ còn lại một cluster duy nhất hoặc sốlượng cluster mong muốn
Thuật toán Agglomerative Hierarchical Clustering (gọi tắt là AHC) được mô tả như sau:
Trang 113 Ưu điểm – Nhược điểm:
3.1. Ưu điểm:
- Dễ hiểu và triển khai
- Không cần xác định số lượng cluster trước
- Thích hợp cho các tập dữ liệu lớn và không phụ thuộc vào hình dạng củacluster
3.2. Nhược điểm:
- Độ phức tạp tính toán cao, đặc biệt khi số lượng điểm dữ liệu lớn
- Có thể tạo ra các cluster không mong muốn nếu không chọn đúng phép đotương tự
Trang 12Chương III: CÂY PHÂN CẤP (DENDROGRAM)
1 Trình bày:
Cây phân cấp (Dendrogram) là một biểu đồ thể hiện quá trình hình thành các clustertrong thuật toán Agglomerative Clustering Dendrogram được sử dụng để hiển thị sựliên kết giữa các cluster và giúp cho việc lựa chọn số lượng cluster phù hợp
2 Mô tả:
Dendrogram thường có dạng một biểu đồ cây, trong đó các node biểu thị các cluster vàcác cành biểu thị sự kết hợp giữa các cluster Các node ở mức trên cùng của cây thểhiện các điểm dữ liệu ban đầu, và các node ở mức dưới thể hiện các cluster lớn hơnđược tạo ra thông qua việc gộp các cluster nhỏ hơn Chiều cao của các cành trên câythể hiện mức độ tương tự giữa các cluster
Trang 13Chương IV: VÍ DỤ
1 Bài tập 1: Khoảng cách Euclidean giữa 2 điểm:
Giả sử ta có 6 đối tượng (objects) cần phân nhóm (tên của các đối tượng là
A,B,C,D,E,F), mỗi đối tượng có 2 thuộc tính X1 và X2 như sau:
Chuyển sang ma trận khoảng cách (From Object Features to Distance Matrix)
Khoảng cách giữa các đối tượng được biểu diễn bởi ma trận khoảng cách Dist Khoảngcách Euclidean thường được dung để tính khoảng cách giữ 2 đối tượng như sau:
d ij=( ∑
k (x ik −x jk)2
)1Chẳn hạn, khoảng cách giữa 2 đối tượng A(1, 1) và B(1.5, 1.5) được tính như sau
Trang 14Sau khi tính khoảng cách của tất cả các đối tượng ta có ma trận khoảng cách như sau
Chú ý: Dist là ma trận đối xứng qua đường chéo chính (vì khoảng cách từ A đến
B bằng khoảng cách từ B đến A) nên chúng ta chỉ quan tâm đến phần bên trên hoặcbên dưới đường chéo chính Trong ma trận khoảng cách, các phần tử trên đường chéochính bằng 0 (khoảng cách đến chính nó)
Một cách tổng quát, nếu ta có m đối tượng, số khoảng cách giữa các đối tượng (bêntrên hoặc bên dưới đường chéo chính) là 12m (m−1) Trong ví dụ này, ta có 6 đối tượngnên số khoảng cách sẽ là 12m( m−1)=1
khoảng cách nhỏ nhất (0.50)
Trong mỗi bước lặp, chúng ta tìm 2 clusters gần nhau nhất (sử dụng Single Linkage)
để gộp thành 1 cluster Trong ví dụ này, ta có cluster D và F là gần nhau nhất
(khoảng cách là 0.50) vì vậy ta nhóm D và F vào 1 cluster (D,F) Sau đó tính lại matrận khoảng cách Dist Chú ý là khoảng cách giữa các cluster không được nhóm(A,B,C,E) không thay đổi vấn đề là làm sao để tỉnh khoảng cách từ cluster mới (D,F)đến các clusters khác?
Bước này chúng ta phải tính lại khoảng cách từ cluster(D,F) đến các cluster khác
Khoảng cách từ cluster(D,F) và cluster A
Trang 15Tính lại khoảng cách giữa các clusters
Khoảng cách giữa cluster C và cluster (D,F):
Trang 16Cập nhật ma trận khoảng cách
Ta nhóm 2 clusters E và (D,F) thành 1 cluster ((D, F), E ) vì khoảng cách giữa 2
clusters này là nhỏ nhất (1.0)
Cập nhật ma trận khoảng cách như sau
Khoảng cách giữa cluster ((D,F),E) và cluster (A,B):
d ( ( D , F ), E)→(A , B) =min(d DA , d DB ,d FA , d FB , d EA , d EB)=min(3.61,2.92,3 20,2 50,4 24,3.54 )=2.50
Khoảng cách giữa cluster ((D,F),E) và cluster C lad nhỏ nhất (1.41) được tính như sau:
d ( ( D , F ), E )→C =min(d DC , d FC , d EC)=min(2.24,2.50,1 41)=1.41
Ta nhóm 2 clusters ((D,F),E) và cluster C vào 1 cluster (((D,F),E),C)
Cập nhật ma trận khoảng cách như sau
Trang 17Bây giờ ta nhóm 2 clusters còn lại (A,B) và (((D,F),E),C), ta được 1 cluster duy nhất gồm
bộ đối tượng và kết thúc thuật toán AHC
Có thể tổng kết quả các bước tính toán của thuật toán AHC trong ví dụ trên như sau:
1 Bắt đầu, ta có 6 clusters : A, B, C, D, E và F
2 Gộp 2 clusters D và F thành cluster (D, F) với khoảng cách nhỏ nhất là 0.50
3 Gộp 2 clusters A và cluster B thành (A, B) với khoảng cách nhỏ nhất là 0.71
4 Gộp 2 clusters E và (D, F) thành ((D, F), E) với khoảng cách nhỏ nhất là 1.00
5 Gộp 2 clusters ((D, F), E) và C thành (((D, F), E), C) với khoảng cách nhỏ nhất
là 1.41
6 Gộp 2 clusters (((D, F), E), C) và (A, B) thành ((((D, F), E), C), (A, B)) với
khoảng cách nhỏ nhất là 2.50
7 Cluster cuối cùng bao gồm tất cả 6 đối tượng ban đầu, thuật toán dừng
Quá trình phân cụm theo thuật toán AHC trong ví dụ trên được minh họa như hình sau:
Trang 18Thứ tự phân cụm như sau (((D, F), E),C), (A,B).
Trang 192 Bài tập 2: Khoảng cách Euclidean giữa 1 điểm:
6 Italian cities
- Trộn MI và TO.
- Tính lại khoảng cách nhỏ nhất từ cụm MI/TO đến tất cả các cụm khác
Trang 20Trộn BA và NA/RM
-Trộn NA và RM.
Trang 21Trộn FI và BA/NA/RM
Trang 22Và xuất ra cây phân cấp:
Trang 23TÀI LIỆU THAM KHẢO
1 maGK7q2elj2#_cac-tieu-chi-chon-hai-cum-de-sat-nhap-6
https://viblo.asia/p/hierarchical-clustering-phan-cum-du-lieu-2 http://bis.net.vn/forums/t/571.aspx