Đồ án: Phân tích dữ liệu K-Means với R/Python cho Phân khúc Khách hàng

Đồ án phân tích dữ liệu với RPython: Thuật toán K-Means, phân cụm khách hàng. Ứng dụng thực tế, code mẫu & hướng dẫn chi tiết. Tối ưu hóa chiến lược kinh doanh.

Chuyên ngành

Phân tích dữ liệu với R/Python

Người đăng

Ẩn danh

Thể loại

Báo cáo đồ án quá trình

2022

42
11
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

MỤC LỤC

1. Chương 1: Thuật toán phân cụm K-Means (K-Means Clustering)

1.1. Định nghĩa thuật ngữ học không giám sát (Unsupervised Learning)

1.2. Định nghĩa phân cụm K-Means

1.3. Các trường hợp sử dụng thuật toán

1.4. Nội dung của thuật toán

1.5. Một số khái niệm dùng trong thuật toán

1.6. Các phương pháp xác định K (số lượng cụm)

1.7. Đặc điểm của thuật toán

1.8. Nhược điểm

1.9. Các biến thể của thuật toán

1.10. Thuật toán K-Medoids

1.11. Thuật toán Fuzzy C-Means

1.12. Một số yếu tố ảnh hưởng đến thuật toán

1.13. Ảnh hưởng của outlier

1.14. Ảnh hưởng của việc khởi tạo trung tâm

2. Chương 2: Bài toán phân khúc khách hàng (Customer Segment)

2.1. Giới thiệu bài toán

2.2. Dữ liệu bài toán

2.3. Giải bài toán bằng ngôn ngữ R

2.4. Kết luận bài toán

Tài liệu tham khảo

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

Tóm tắt

I. Tổng Quan K Means Clustering Khái Niệm Ứng Dụng Ưu Nhược Điểm

Trong kỷ nguyên số, phân tích dữ liệu đóng vai trò then chốt trong việc ra quyết định. K-Means Clustering là một thuật toán Machine Learning phổ biến thuộc nhóm Unsupervised Learning, giúp khám phá các cấu trúc ẩn trong dữ liệu không gắn nhãn. Theo [1], thuật toán này đặc biệt hữu ích khi cần phân loại một tập dữ liệu thành các cụm (cluster) dựa trên sự tương đồng. Mục tiêu của K-Means Clustering là chia dữ liệu thành k cụm, sao cho mỗi điểm dữ liệu thuộc về cụm có khoảng cách gần nhất đến trung tâm (centroid) của cụm đó. Thuật toán này lặp đi lặp lại hai bước chính: gán điểm dữ liệu vào cụm gần nhất và cập nhật vị trí của trung tâm cụm. K-Means được ứng dụng rộng rãi trong nhiều lĩnh vực như phân khúc khách hàng, y học, tài chính, và xử lý ảnh. Phân khúc khách hàng sử dụng K-Means để chia khách hàng thành các nhóm dựa trên hành vi, sở thích, và đặc điểm nhân khẩu học, từ đó giúp doanh nghiệp triển khai các chiến dịch marketing hiệu quả hơn. Tuy nhiên, K-Means cũng có những hạn chế nhất định. Việc lựa chọn số lượng cụm (k) phù hợp là một thách thức. Thuật toán nhạy cảm với các điểm ngoại lệ (outliers) và có thể không hiệu quả với các cụm có hình dạng phức tạp. Do đó, việc tiền xử lý dữ liệu cho K-Means là vô cùng quan trọng. Các phương pháp như chuẩn hóa dữ liệu và loại bỏ outliers có thể cải thiện đáng kể hiệu suất của thuật toán.

1.1. Định Nghĩa và Bản Chất của Thuật Toán K Means Clustering

K-Means Clustering là một thuật toán học máy không giám sát, nhằm mục đích phân chia một tập dữ liệu thành k cụm, sao cho mỗi điểm dữ liệu thuộc về cụm có khoảng cách gần nhất đến trung tâm cụm (centroid). Theo [3], thuật toán này dựa trên nguyên tắc tối thiểu hóa tổng bình phương khoảng cách từ mỗi điểm dữ liệu đến trung tâm cụm mà nó thuộc về (WSS - Within-Cluster Sum of Squares). Quá trình lặp đi lặp lại hai bước chính: gán mỗi điểm dữ liệu vào cụm có trung tâm gần nhất, sau đó cập nhật vị trí của các trung tâm cụm dựa trên trung bình cộng của các điểm dữ liệu trong cụm đó. Thuật toán dừng lại khi các trung tâm cụm không còn thay đổi đáng kể, hoặc khi đạt đến một số lần lặp tối đa định trước. Ưu điểm của K-Means là đơn giản, dễ hiểu và có khả năng mở rộng cho các tập dữ liệu lớn. Tuy nhiên, thuật toán cũng có những hạn chế nhất định, bao gồm sự nhạy cảm với việc khởi tạo trung tâm cụm ban đầu, yêu cầu xác định trước số lượng cụm (k), và khả năng hoạt động kém hiệu quả với các cụm có hình dạng không lồi.

1.2. Ưu Điểm và Nhược Điểm Của Phân Cụm K Means So Với Thuật Toán Khác

So với các thuật toán phân cụm khác, K-Means nổi bật với tốc độ xử lý nhanh và khả năng mở rộng tốt, đặc biệt hiệu quả với các tập dữ liệu lớn [9]. Tuy nhiên, K-Means có một số nhược điểm cần lưu ý. Thứ nhất, thuật toán yêu cầu xác định trước số lượng cụm (k), điều này có thể là một thách thức trong nhiều tình huống thực tế. Thứ hai, K-Means nhạy cảm với việc khởi tạo trung tâm cụm ban đầu; các trung tâm khởi tạo khác nhau có thể dẫn đến các kết quả phân cụm khác nhau. Để khắc phục, người ta thường chạy thuật toán nhiều lần với các khởi tạo khác nhau và chọn kết quả tốt nhất. Thứ ba, K-Means có xu hướng tạo ra các cụm có kích thước và mật độ tương tự nhau, và có thể không hiệu quả với các cụm có hình dạng phức tạp hoặc không lồi. Cuối cùng, thuật toán nhạy cảm với các điểm ngoại lệ (outliers), có thể làm sai lệch vị trí của trung tâm cụm. Các thuật toán thay thế như K-Medoids hoặc Fuzzy C-Means có thể ít nhạy cảm hơn với outliers và có thể xử lý các cụm có hình dạng phức tạp tốt hơn.

II. Các Phương Pháp Xác Định Số Cụm K Tối Ưu Trong K Means

Một trong những thách thức lớn nhất khi sử dụng K-Means Clustering là xác định số lượng cụm (k) tối ưu. Việc chọn k không phù hợp có thể dẫn đến kết quả phân cụm không chính xác, ảnh hưởng đến các quyết định dựa trên phân tích dữ liệu. Có nhiều phương pháp khác nhau để ước lượng k, mỗi phương pháp có ưu và nhược điểm riêng. Elbow Method là một phương pháp phổ biến, dựa trên việc vẽ đồ thị tổng bình phương khoảng cách trong cụm (WSS) theo số lượng cụm. Điểm “khuỷu tay” trên đồ thị, nơi mà WSS giảm chậm lại đáng kể, được coi là số lượng cụm tối ưu. Silhouette Score là một thước đo khác, đánh giá mức độ tương đồng của một điểm dữ liệu với cụm của nó so với các cụm khác. Giá trị Silhouette Score dao động từ -1 đến 1, với giá trị cao hơn cho thấy phân cụm tốt hơn. Gap Statistic so sánh tổng biến thể trong cụm đối với các giá trị khác nhau của k với giá trị dự kiến của chúng trong phân phối tham chiếu rỗng của dữ liệu [5]. Việc lựa chọn phương pháp phù hợp phụ thuộc vào đặc điểm của dữ liệu và mục tiêu phân tích. Thường thì, việc kết hợp nhiều phương pháp và so sánh kết quả có thể giúp đưa ra quyết định tốt nhất.

2.1. Phương Pháp Elbow Hướng Dẫn Chi Tiết và Ví Dụ Minh Họa

Phương pháp Elbow Method là một trong những phương pháp đơn giản và trực quan nhất để xác định số lượng cụm (k) tối ưu trong K-Means Clustering. Ý tưởng cơ bản của phương pháp này là quan sát sự thay đổi của tổng bình phương khoảng cách trong cụm (WSS) khi tăng số lượng cụm. Ban đầu, khi số lượng cụm còn nhỏ, việc tăng thêm một cụm sẽ làm giảm đáng kể WSS. Tuy nhiên, đến một điểm nhất định, việc tăng thêm cụm sẽ không còn làm giảm WSS nhiều nữa, tạo ra một điểm “khuỷu tay” trên đồ thị. Điểm “khuỷu tay” này được coi là số lượng cụm tối ưu. Để thực hiện Elbow Method, cần tính WSS cho các giá trị k khác nhau (ví dụ, từ 1 đến 10) và vẽ đồ thị WSS theo k. Sau đó, quan sát đồ thị và xác định điểm “khuỷu tay”. Ví dụ, nếu đồ thị có điểm “khuỷu tay” tại k=3, thì 3 là số lượng cụm tối ưu. Trong báo cáo gốc có đề cập phương pháp Elbow (Hình 2.2) để tìm k tối ưu. Cần lưu ý rằng Elbow Method có thể không luôn cho kết quả rõ ràng, đặc biệt là với các tập dữ liệu phức tạp. Trong những trường hợp như vậy, có thể cần kết hợp với các phương pháp khác để đưa ra quyết định.

2.2. Đánh Giá Bằng Silhouette Score Giải Thích Ý Nghĩa và Cách Sử Dụng

Silhouette Score là một thước đo hiệu quả để đánh giá chất lượng phân cụm trong K-Means Clustering. Chỉ số này đo lường mức độ tương đồng của một điểm dữ liệu với cụm của nó so với các cụm khác. Silhouette Score của một điểm dữ liệu được tính như sau: (b - a) / max(a, b), trong đó a là khoảng cách trung bình từ điểm đó đến các điểm khác trong cùng cụm, và b là khoảng cách trung bình từ điểm đó đến các điểm trong cụm gần nhất. Silhouette Score dao động từ -1 đến 1. Giá trị gần 1 cho thấy điểm dữ liệu được gán đúng vào cụm của nó, trong khi giá trị gần -1 cho thấy điểm dữ liệu có thể thuộc về một cụm khác. Giá trị gần 0 cho thấy điểm dữ liệu nằm gần ranh giới giữa hai cụm. Để đánh giá chất lượng phân cụm tổng thể, người ta thường tính Silhouette Score trung bình cho tất cả các điểm dữ liệu. Số lượng cụm (k) cho Silhouette Score trung bình cao nhất thường được coi là số lượng cụm tối ưu. Silhouette Score cung cấp một cách tiếp cận định lượng để so sánh các kết quả phân cụm khác nhau và lựa chọn cấu hình tốt nhất [7].

2.3. Sử Dụng Gap Statistic Để Tối Ưu Số Lượng Cụm Trong Phân Tích

Phương pháp Gap Statistic là một phương pháp thống kê để xác định số lượng cụm tối ưu trong K-Means Clustering, đặc biệt hữu ích khi các phương pháp khác như Elbow Method hoặc Silhouette Score không cho kết quả rõ ràng. Gap Statistic so sánh tổng biến thể trong cụm đối với các giá trị khác nhau của k với giá trị dự kiến của chúng trong phân phối tham chiếu rỗng của dữ liệu (tức là phân phối không có phân nhóm rõ ràng). Ý tưởng cơ bản là nếu cấu trúc phân cụm trong dữ liệu thực tế tốt hơn so với cấu trúc phân cụm ngẫu nhiên, thì sẽ có một “khoảng trống” (gap) giữa hai cấu trúc này. Số lượng cụm tối ưu là giá trị k mà khoảng trống này lớn nhất. Để tính Gap Statistic, cần tạo ra một tập dữ liệu tham chiếu bằng cách sử dụng mô phỏng Monte Carlo, sau đó phân cụm cả dữ liệu thực tế và dữ liệu tham chiếu với các giá trị k khác nhau. Gap Statistic được tính bằng công thức: Gap(k) = E(log(Wk)) - log(Wk), trong đó E(log(Wk)) là giá trị kỳ vọng của log(Wk) trên tập dữ liệu tham chiếu, và Wk là tổng biến thể trong cụm trên dữ liệu thực tế. Số lượng cụm tối ưu là giá trị k mà Gap(k) lớn nhất. Mặc dù phức tạp hơn các phương pháp khác, Gap Statistic cung cấp một cách tiếp cận khách quan hơn để lựa chọn số lượng cụm [10].

III. Tiền Xử Lý Dữ Liệu Cho K Means Chuẩn Hóa Xử Lý Ngoại Lệ Giá Trị Thiếu

Để đạt được kết quả phân cụm tốt nhất với K-Means Clustering, việc tiền xử lý dữ liệu cho K-Means là vô cùng quan trọng. Dữ liệu thô thường chứa nhiều vấn đề như các giá trị thiếu, các điểm ngoại lệ (outliers), và các biến có thang đo khác nhau, tất cả đều có thể ảnh hưởng tiêu cực đến hiệu suất của thuật toán. Chuẩn hóa dữ liệu là một bước quan trọng, giúp đưa các biến về cùng một thang đo, ngăn chặn các biến có giá trị lớn hơn chi phối kết quả phân cụm. Các phương pháp chuẩn hóa phổ biến bao gồm Min-Max ScalingStandardization. Xử lý outliers là một bước quan trọng khác, vì K-Means rất nhạy cảm với các điểm ngoại lệ. Các phương pháp xử lý outliers bao gồm loại bỏ outliers, thay thế outliers bằng các giá trị hợp lý hơn, hoặc sử dụng các thuật toán phân cụm ít nhạy cảm hơn với outliers như K-Medoids. Xử lý giá trị thiếu cũng là một bước cần thiết. Các phương pháp xử lý giá trị thiếu bao gồm loại bỏ các hàng chứa giá trị thiếu, thay thế giá trị thiếu bằng giá trị trung bình hoặc trung vị, hoặc sử dụng các thuật toán học máy để dự đoán giá trị thiếu. Theo trường đại học kinh tế luật - Khoa hệ thống thông tin, việc tiền xử lý dữ liệu có thể cải thiện đáng kể độ chính xác và độ tin cậy của kết quả phân cụm.

3.1. Tầm Quan Trọng của Chuẩn Hóa Dữ Liệu Các Phương Pháp và Ví Dụ

Chuẩn hóa dữ liệu đóng vai trò then chốt trong quá trình tiền xử lý dữ liệu cho K-Means, giúp đảm bảo rằng tất cả các biến đều có đóng góp tương đương vào kết quả phân cụm. Nếu không chuẩn hóa, các biến có giá trị lớn hơn có thể chi phối quá trình phân cụm, dẫn đến kết quả không chính xác. Có hai phương pháp chuẩn hóa phổ biến: Min-Max ScalingStandardization. Min-Max Scaling chuyển đổi các giá trị về một phạm vi từ 0 đến 1, sử dụng công thức: (x - min) / (max - min). Phương pháp này hữu ích khi các giá trị có phạm vi giới hạn. Standardization chuyển đổi các giá trị về phân phối chuẩn với trung bình 0 và độ lệch chuẩn 1, sử dụng công thức: (x - mean) / std. Phương pháp này hữu ích khi dữ liệu có phân phối gần chuẩn. Ví dụ, nếu có hai biến: thu nhập (dao động từ 10 triệu đến 100 triệu) và tuổi (dao động từ 20 đến 60), việc chuẩn hóa sẽ đưa cả hai biến về cùng một thang đo, đảm bảo rằng cả hai đều có ảnh hưởng tương đương đến kết quả phân cụm. Theo bảng 1 trong tài liệu, việc dữ liệu chưa được chuẩn hóa sẽ ảnh hưởng trực tiếp đến bài toán phân khúc khách hàng đi vay.

3.2. Cách Xử Lý Hiệu Quả Các Điểm Ngoại Lệ Outliers Trong K Means

Outliers (điểm ngoại lệ) có thể gây ra những ảnh hưởng tiêu cực đến kết quả phân cụm trong K-Means Clustering, do thuật toán này nhạy cảm với các điểm dữ liệu có giá trị khác biệt đáng kể so với phần còn lại của tập dữ liệu [6]. Có nhiều phương pháp để xử lý outliers, bao gồm: (1) Loại bỏ outliers: Phương pháp này đơn giản, nhưng có thể dẫn đến mất mát thông tin quan trọng. (2) Thay thế outliers: Thay thế outliers bằng các giá trị hợp lý hơn, ví dụ như giá trị trung bình hoặc trung vị. (3) Sử dụng các thuật toán phân cụm ít nhạy cảm hơn với outliers: Các thuật toán như K-Medoids sử dụng điểm trung vị thay vì trung bình, giúp giảm thiểu ảnh hưởng của outliers. (4) Biến đổi dữ liệu: Sử dụng các phép biến đổi toán học để làm giảm sự khác biệt giữa outliers và các điểm dữ liệu khác. Ví dụ, có thể sử dụng phép biến đổi logarit hoặc căn bậc hai. Lựa chọn phương pháp phù hợp phụ thuộc vào đặc điểm của dữ liệu và mục tiêu phân tích. Trong các bài toán phân khúc khách hàng, loại bỏ outliers có thể dẫn đến loại bỏ những khách hàng có giá trị cao, do đó cần cân nhắc kỹ lưỡng.

3.3. Giải Quyết Vấn Đề Giá Trị Thiếu Phương Pháp và Lưu Ý Quan Trọng

Giá trị thiếu là một vấn đề phổ biến trong các tập dữ liệu thực tế, và có thể ảnh hưởng đến kết quả phân cụm trong K-Means Clustering. Có nhiều phương pháp để xử lý giá trị thiếu, bao gồm: (1) Loại bỏ các hàng chứa giá trị thiếu: Phương pháp này đơn giản, nhưng có thể dẫn đến mất mát một lượng lớn dữ liệu, đặc biệt là khi có nhiều hàng chứa giá trị thiếu. (2) Thay thế giá trị thiếu bằng giá trị trung bình hoặc trung vị: Phương pháp này đơn giản và dễ thực hiện, nhưng có thể làm sai lệch phân phối của dữ liệu. (3) Sử dụng các thuật toán học máy để dự đoán giá trị thiếu: Các thuật toán như k-Nearest Neighbors (k-NN) có thể được sử dụng để dự đoán giá trị thiếu dựa trên các điểm dữ liệu lân cận. (4) Sử dụng các thuật toán phân cụm có khả năng xử lý giá trị thiếu: Một số thuật toán phân cụm có khả năng xử lý giá trị thiếu trực tiếp, mà không cần phải thay thế hoặc loại bỏ chúng. Lựa chọn phương pháp phù hợp phụ thuộc vào tỷ lệ giá trị thiếu và đặc điểm của dữ liệu. Trong nhiều trường hợp, việc kết hợp nhiều phương pháp có thể mang lại kết quả tốt nhất [11].

IV. Ứng Dụng Thực Tế K Means Trong Phân Khúc Khách Hàng Hướng Dẫn Chi Tiết

Phân khúc khách hàng là một ứng dụng quan trọng của K-Means Clustering trong lĩnh vực marketing và kinh doanh. Bằng cách phân chia khách hàng thành các nhóm dựa trên các đặc điểm chung, doanh nghiệp có thể triển khai các chiến dịch marketing hiệu quả hơn, cải thiện trải nghiệm khách hàng, và tăng doanh thu. Để thực hiện phân khúc khách hàng bằng K-Means Clustering, cần thu thập dữ liệu về khách hàng, tiền xử lý dữ liệu, lựa chọn các biến phù hợp, xác định số lượng cụm (k) tối ưu, và diễn giải kết quả phân cụm. Các biến thường được sử dụng trong phân khúc khách hàng bao gồm: nhân khẩu học (tuổi, giới tính, địa điểm), hành vi mua hàng (tần suất mua, giá trị đơn hàng, sản phẩm đã mua), và thái độ (sự hài lòng, lòng trung thành). Kết quả phân cụm có thể được sử dụng để tạo ra các hồ sơ khách hàng (customer profiles), mô tả đặc điểm của từng nhóm khách hàng. Các hồ sơ này có thể được sử dụng để tùy chỉnh các thông điệp marketing, phát triển sản phẩm mới, và cải thiện dịch vụ khách hàng. Ví dụ, một doanh nghiệp có thể sử dụng K-Means Clustering để phân chia khách hàng thành ba nhóm: khách hàng có giá trị cao, khách hàng tiềm năng, và khách hàng có nguy cơ rời bỏ. Doanh nghiệp có thể tập trung nỗ lực giữ chân khách hàng có giá trị cao, thu hút khách hàng tiềm năng, và cải thiện trải nghiệm của khách hàng có nguy cơ rời bỏ. Phân tích RFM (Recency, Frequency, Monetary) là một kỹ thuật phổ biến kết hợp với K-Means để phân khúc khách hàng dựa trên hành vi mua hàng gần đây, tần suất mua hàng và giá trị đơn hàng.

4.1. Lựa Chọn Biến Phù Hợp Cho Phân Khúc Khách Hàng Tiêu Chí và Ví Dụ

Việc lựa chọn các biến phù hợp là một bước quan trọng trong quá trình phân khúc khách hàng bằng K-Means Clustering. Các biến được chọn phải có khả năng phân biệt rõ ràng giữa các nhóm khách hàng khác nhau và phải liên quan đến mục tiêu kinh doanh của doanh nghiệp. Các tiêu chí để lựa chọn biến bao gồm: (1) Tính liên quan: Các biến phải liên quan đến hành vi, sở thích, hoặc nhu cầu của khách hàng. (2) Tính khả dụng: Dữ liệu về các biến phải dễ dàng thu thập và cập nhật. (3) Tính đo lường được: Các biến phải có thể đo lường được một cách khách quan và chính xác. (4) Tính phân biệt: Các biến phải có khả năng phân biệt rõ ràng giữa các nhóm khách hàng khác nhau. Ví dụ, trong bài toán phân khúc khách hàng đi vay (Chương 2), dữ liệu bao gồm các yếu tố như Tuổi, Trình độ học vấn, Số năm làm việc, Thu nhập, Nợ thẻ, Nợ khác, Tỷ lệ nợ trên thu nhập. Các yếu tố này giúp phân biệt các nhóm khách hàng khác nhau dựa trên khả năng tài chính và rủi ro tín dụng. Các biến nhân khẩu học (tuổi, giới tính, địa điểm) thường được sử dụng để phân khúc khách hàng dựa trên các đặc điểm cơ bản. Các biến hành vi (tần suất mua, giá trị đơn hàng, sản phẩm đã mua) thường được sử dụng để phân khúc khách hàng dựa trên hành vi mua hàng. Các biến thái độ (sự hài lòng, lòng trung thành) thường được sử dụng để phân khúc khách hàng dựa trên thái độ và cảm xúc của họ.

4.2. Diễn Giải Kết Quả Phân Cụm Tạo Hồ Sơ Khách Hàng và Chiến Lược

Sau khi thực hiện K-Means Clustering và phân chia khách hàng thành các nhóm, bước tiếp theo là diễn giải kết quả phân cụm và tạo ra các hồ sơ khách hàng (customer profiles) mô tả đặc điểm của từng nhóm. Hồ sơ khách hàng nên bao gồm các thông tin quan trọng như: đặc điểm nhân khẩu học, hành vi mua hàng, thái độ, nhu cầu, và động cơ. Để tạo hồ sơ khách hàng, có thể sử dụng các kỹ thuật phân tích dữ liệu mô tả, như tính trung bình, trung vị, và tần suất cho từng biến trong mỗi cụm. Ví dụ, một cụm có thể bao gồm các khách hàng trẻ tuổi, có thu nhập trung bình, thích mua sắm trực tuyến, và quan tâm đến các sản phẩm thân thiện với môi trường. Một cụm khác có thể bao gồm các khách hàng lớn tuổi, có thu nhập cao, thích mua sắm tại cửa hàng, và quan tâm đến các sản phẩm sang trọng. Dựa trên hồ sơ khách hàng, doanh nghiệp có thể phát triển các chiến lược marketing, bán hàng, và dịch vụ khách hàng phù hợp với từng nhóm khách hàng. Ví dụ, doanh nghiệp có thể tùy chỉnh các thông điệp marketing, phát triển sản phẩm mới, hoặc cải thiện dịch vụ khách hàng cho từng nhóm khách hàng. Theo chương 2, kết quả phân khúc khách hàng có thể giúp doanh nghiệp xác định các nhóm khách hàng có rủi ro tín dụng khác nhau, từ đó đưa ra các chính sách cho vay phù hợp.

V. So Sánh K Means Với Các Thuật Toán Phân Cụm Khác Ưu Nhược Ứng Dụng

K-Means Clustering là một thuật toán phân cụm phổ biến, nhưng không phải là lựa chọn duy nhất. Có nhiều thuật toán phân cụm khác, mỗi thuật toán có ưu và nhược điểm riêng, và phù hợp với các loại dữ liệu và mục tiêu phân tích khác nhau. Hierarchical Clustering xây dựng một hệ thống phân cấp các cụm, từ các cụm nhỏ nhất (mỗi điểm dữ liệu là một cụm) đến một cụm duy nhất bao gồm tất cả các điểm dữ liệu. DBSCAN (Density-Based Spatial Clustering of Applications with Noise) xác định các cụm dựa trên mật độ điểm dữ liệu, và có thể phát hiện các cụm có hình dạng phức tạp. K-Medoids sử dụng điểm trung vị thay vì trung bình, giúp giảm thiểu ảnh hưởng của outliers. Fuzzy C-Means cho phép một điểm dữ liệu thuộc về nhiều cụm với các mức độ khác nhau. Lựa chọn thuật toán phù hợp phụ thuộc vào đặc điểm của dữ liệu (ví dụ, kích thước, hình dạng, phân phối), mục tiêu phân tích (ví dụ, tìm các cụm có hình dạng cụ thể, loại bỏ outliers), và yêu cầu về hiệu suất (ví dụ, tốc độ xử lý, khả năng mở rộng). Trong một số trường hợp, việc kết hợp nhiều thuật toán có thể mang lại kết quả tốt nhất. Để có cái nhìn tổng quan, bảng 2 cung cấp so sánh thời gian thực thi của các phương pháp. Cần lưu ý rằng so sánh về mặt tốc độ này có thể thay đổi tùy thuộc vào kích thước và đặc điểm của tập dữ liệu, cũng như cấu hình phần cứng và phần mềm.

VI. Kết Luận Tương Lai của K Means Xu Hướng Nghiên Cứu Phát Triển

K-Means Clustering là một thuật toán phân cụm mạnh mẽ và linh hoạt, được ứng dụng rộng rãi trong nhiều lĩnh vực. Tuy nhiên, thuật toán cũng có những hạn chế nhất định, như sự nhạy cảm với việc khởi tạo trung tâm cụm ban đầu, yêu cầu xác định trước số lượng cụm (k), và khả năng hoạt động kém hiệu quả với các cụm có hình dạng không lồi. Các nghiên cứu hiện tại tập trung vào việc khắc phục những hạn chế này, ví dụ như phát triển các phương pháp tự động lựa chọn số lượng cụm (k), cải thiện khả năng xử lý outliers, và mở rộng thuật toán cho các loại dữ liệu phức tạp hơn. Các xu hướng phát triển bao gồm: (1) Tích hợp K-Means với các thuật toán học sâu để trích xuất đặc trưng tự động từ dữ liệu. (2) Sử dụng K-Means trong các ứng dụng thời gian thực, như phân tích luồng dữ liệu và phát hiện bất thường. (3) Phát triển các phiên bản song song của K-Means để xử lý các tập dữ liệu lớn. Tương lai của K-Means hứa hẹn nhiều tiềm năng, với khả năng ứng dụng ngày càng rộng rãi và hiệu quả trong nhiều lĩnh vực.

15/09/2025

Trích đoạn nội dung tài liệu

Chương 1: Thuật toán phân cụm K-Means (K-Means Clustering) 1. Định nghĩa thuật ngữ học không giám sát (Unsupervised Learning) Học không giám sát là một nhóm thuật toán hay phương pháp kỹ thuật cho phép máy tự học hỏi và tìm ra một mô hình hay cấu trúc nào đó ẩn trong một bộ dữ liệu không được gắn nhãn trước. Điều này đồng nghĩa với việc chúng ta chỉ có bộ dữ liệu đầu vào và hoàn toàn không biết kết quả đầu ra là gì.1: Sự khác nhau giữa máy học có giám sát và máy học không giám sát 1. Định nghĩa phân cụm K-Means Phân cụm K-Means là một thuật toán học không giám sát đơn giản được sử dụng để giải quyết các vấn đề phân cụm.

Nó tuân theo một thủ tục đơn giản là phân loại một tập dữ liệu nhất định thành một số cụm, được xác định bằng ký tự "k", được cố định trước. Sau đó, các cụm được định vị dưới dạng điểm và tất cả các điểm quan sát hoặc điểm dữ liệu được liên kết với cụm gần nhất, được tính toán, điều chỉnh và sau đó quá trình bắt đầu lại bằng cách sử dụng các điều chỉnh mới cho đến khi đạt được kết quả mong muốn. Các trường hợp sử dụng thuật toán Ví dụ phổ biến cho thuật toán này đó là việc phân loại khách hàng. Các khách hàng có những đặc điểm tương đồng về mặt thông tin hoặc dựa trên lịch sử mua hàng, hành vi mua hàng có thể phân thành các loại khách hàng khác nhau.

Nói cách khác mỗi loại khách hàng sẽ có những đặc điểm chung giống nhau, và những đặc điểm đó được phát hiện thông qua thuật toán phân cụm Ngoài ra có một ví dụ khác mà chúng ta cũng hay bắt gặp, đó là các mạng xã hội luôn tìm cách phân cụm những người có cùng sở thích, thói quen để đưa ra những gợi ý kết bạn hay tham gia một nhóm nào đó. Nội dung của thuật toán 1. Một số khái niệm dùng trong thuật toán Hình 1.2: Mô tả khái niệm dùng trong thuật toán - Cluster (cụm): là một nhóm các điểm dữ liệu tương tự nhau. - k: là số lượng của các cụm.

- Centroid: là trung tâm của 1 cụm dữ liệu. - Khoảng cách Euclidean: là độ dài của đoạn thẳng nối hai điểm trong không gian Euclide.3: Khoảng cách Euclidean Với hai điểm bất kỳ có tọa độ Descartes cho trước trong không gian Euclide n chiều, khoảng cách giữa chúng là: 𝑑 (𝑝, 𝑞) = √(𝑝1 − 𝑞1 )2 + (𝑝2 − 𝑞2 )2 + ⋯ + (𝑝𝑖 − 𝑞𝑖 )2 + ⋯ + (𝑝𝑛 − 𝑞𝑛 )2 1. Các phương pháp xác định K (số lượng cụm) 1. Phương pháp Elbow Phương pháp Elbow là phương pháp dùng để xác định số lượng cụm tối ưu nhất cho tập dữ liệu.

Mô hình Elbow thực hiện để xác định giá trị k trong K-Means như sau: 1. Khởi tạo giá trị ban đầu cho k. Tăng giá trị của k. Tính tổng bình phương khoảng cách giữa mỗi điểm và tâm trong một cụm (WCSS - Within-Cluster Sum of Square) từ mỗi giá trị của k.

k WCSS =   d(x, mi ) 2 i =1 xCi Trong đó: • Ci: là cụm thứ i. • mi: là centroid của cụm Ci. Vẽ biểu đồ từ WCSS và giá trị k, phân tích tổng các kết quả WCSS từ giá trị k đã giảm mạnh. Xác định vị trí mà WCSS giảm mạnh sau đó đồ thị bắt đầu di chuyển gần như song song với trục x và đặt điểm k.

Phương pháp Average Silhouette Hệ số Silhouette là thước đo mức độ tương tự của một điểm dữ liệu trong cụm (liên kết) so với các cụm khác. Để vẽ biểu đồ Silhouette ta cần 2 bước: - Chọn một đoạn giá trị của k (giả sử từ 1 đến 10). - Vẽ đồ thị thể hệ số Silhouette ứng với mỗi giá trị k, để vẽ đồ thị ta cần hệ số Silhouette tại một điểm dữ liệu và trung bình silhouette cho mỗi k. Phương trình trình tính toán hệ số Silhouette tại một điểm dữ liệu cụ thể như sau: 𝑏(𝑖) − 𝑎(𝑖) 𝑆 (𝑖 ) = max⁡{𝑎(𝑖), 𝑏(𝑖)} Trong đó: • S(i) là hệ số hình bóng của điểm dữ liệu i.

• a(i) là khoảng cách trung bình giữa i và tất cả các điểm dữ liệu khác trong cụm mà i thuộc về. • b(i) là khoảng cách trung bình từ i đến tất cả các điểm dữ liệu khác trong những cụm mà i không thuộc về.5: Minh họa a(i) Hình 1.6: Minh họa b(i) Sau đó, ta sẽ tính toán trung bình silhouette cho mỗi k. 𝐴𝑣𝑒𝑟𝑎𝑔𝑒𝑆𝑖𝑙ℎ𝑜𝑢𝑒𝑡𝑡𝑒 = 𝑚𝑒𝑎𝑛{𝑆(𝑖)} Cuối cùng, ta biểu đồ giữa trung bình silhouette và k. Chọn k cụm tại giá trị của k sao cho trung bình silhouette lớn nhất.

Phương pháp Gap Statistic Phương pháp này có thể được áp dụng cho bất kỳ phương pháp phân cụm nào (K-means clustering, hierarchical clustering). Gap Statisstic so sánh tổng biến thể trong cụm đối với các giá trị khác nhau của k với giá trị dự kiến của chúng trong phân phối tham chiếu rỗng của dữ liệu (tức là phân phối không có phân nhóm rõ ràng). Tập dữ liệu tham chiếu được tạo bằng cách sử dụng mô phỏng Monte Carlo của quá trình lấy mẫu. Đó là, cho mỗi biến (xi) trong tập dữ liệu, chúng tôi tính toán phạm vi của nó [min(xi), max(xi)] và tạo ra các giá trị cho n điểm một cách đồng nhất trong khoảng thời gian từ min đến max.

Đối với dữ liệu quan sát và dữ liệu tham chiếu, tổng biến thể nội bộ được tính bằng cách sử dụng các giá trị khác nhau của k. Thống kê khoảng cách cho k cho trước được định nghĩa như sau: 𝐺𝑎𝑝𝑛 (𝑘 ) = 𝐸𝑛∗ log(𝑊𝑘 ) − log⁡(𝑊𝑘 ) Trong đó, 𝐸𝑛∗ biểu thị kỳ vọng dưới cỡ mẫu n từ phân phối tham chiếu. 𝐸𝑛∗ được xác định thông qua bootstrapping (B) bằng cách tạo B bản sao của bộ dữ liệu tham chiếu và bằng cách tính toán giá trị trung bình log(𝑊𝑛∗ ). Gap statistic đo lường độ lệch của quan sát được giá trị Wk từ giá trị kỳ vọng của nó theo giả thuyết.

Ước tính của các cụm tối ưu (k) sẽ là giá trị tối đa hóa Gapn(k). Điều này có nghĩa là cấu trúc phân cụm nằm xa sự phân bố đồng đều của các điểm. Thuật toán bao gồm các bước sau: 1. Cụm dữ liệu quan sát, thay đổi số lượng cụm từ k=1, …, k=max và tính toán tương ứng Wk 2.

Tạo tập dữ liệu tham chiếu B và phân cụm từng nhóm với số lượng cụm khác nhau k=1, …, k=max. Tính toán Gapn(k) ước tính: 𝐺𝑎𝑝𝑛 (𝑘 ) = 𝐸𝑛∗ log(𝑊𝑘 ) − log⁡(𝑊𝑘 ) 3. Chọn số cụm là k nhỏ nhất sao cho 6 𝐺𝑎𝑝(𝑘 ) ≥ 𝐺𝑎𝑝(𝑘 + 1) − 𝑠𝑘+1 Hình 1.8: Biểu đồ Gap Statistic 1. Tóm tắt các bước của thuật toán Hình 1.9: Sơ đồ thuật toán K-Means Đầu vào: N điểm dữ liệu X = [x1, x2, x3, .xN] chưa có nhãn vector và số lượng cụm cần tìm k.

7 Đầu ra: Các trung tâm K = [m1, m2, m3, .mK] và nhãn vector cho từng điểm dữ liệu. Chú thích: x, mi là các ký hiệu vector của các điểm dữ liệu và điểm trung tâm Ci là cụm thứ i, mi là trung tâm của cụm Ci. Các bước thực hiện thuật toán: 1. Chọn số k cụm và chọn ngẫu nhiên k điểm làm trung tâm.

Sử dụng các phương pháp để tìm được số k tối ưu nhất. Gán mỗi điểm dữ liệu về cụm có trung tâm cụm gần nhất. Ta xác định nhãn cho từng điểm dữ liệu bằng cách tính toán khoảng cách của từng điểm dữ liệu tới tâm cụm của nó, thực hiện bằng phương pháp tính khoảng cách Euclidean. Một điểm dữ liệu x được phân vào một cụm Ci có trung tâm là mi (trung tâm được chọn ở bước 1) 𝑑 = 𝑎𝑔𝑟𝑚𝑖𝑛𝑖 ||𝑥 − 𝑚𝑖 ||2 Trong đó: • x là một điểm dữ liệu được phân vào một cụm Ci.

• mi là trung tâm của Ci. • agrmini là tìm giá trị nhỏ nhất của biến số để hàm số đó đạt giá trị nhỏ nhất. sau đó chọn khoảng cách ngắn nhất và gán x1 cho trung tâm mi tương ứng. Tương tự ta tính khoảng cách và gán các điểm x2, x3, …, xn cho các trung tâm tương ứng.

Tính toán lại vị trí trung tâm cho từng cụm. Sau khi các cụm được hình thành có tâm và các điểm dữ liệu được gán cho nó. Ta xác định lại vị trí trung tâm mới cho các cụm đó bằng cách tính trung bình cộng của các điểm dữ liệu trong cụm, trung bình cộng đó sẽ là trung tâm mới của cụm. 1 𝑚𝑖 = ∑𝑥 |𝑐𝑖 | 𝑥∈𝐶𝑖 Trong đó: • x là một điểm dữ liệu được phân vào một cụm Ci.

• |Ci| là kích thước của cụm Ci. 8 • mi là trung tâm của cụm Ci. Lặp lại bước 2 và 3 tới khi vị trí các trung tâm cụm không đổi. Đặc điểm của thuật toán K-Means là một thuật toán dựa trên centroid, hoặc một thuật toán dựa trên khoảng cách, tính toán khoảng cách để gán một điểm cho một cụm.

Trong K-Means, mỗi cụm được liên kết với một trung tâm. Chất lượng của thuật toán K-Means phụ thuộc nhiều vào các tham số đầu vào như: số cụm k, và k vector trọng tâm khởi tạo ban đầu. Trong trường hợp các vector trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của K-Means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm trong thực tế. Trên thực tế, chưa có một giải pháp nào để chọn tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất.

Ví dụ Ví dụ 1: Ngân hàng muốn phân khúc khách hàng dựa trên thu nhập và số nợ của họ: Hình 1.10: Biểu đồ thể hiện khách hàng dựa trên thu nhập và số nợ Chúng ta có thể phân tách thành 2 cụm: Khách hàng có thu nhập thấp thuộc 1 cụm và khách hàng có thu nhập cao thuộc cụm thứ 2.11: Phân tách khách hàng thành 2 cụm Chúng ta cũng có thể phân tách thành 4 cụm: - Thu nhập thấp, nợ ít. - Thu nhập thấp, nợ nhiều. - Thu nhập cao, nợ ít. - Thu nhập cao, nợ nhiều.12: Phân tách khách hàng thành 4 cụm Ví dụ 2: Biểu đồ, trong đó trục x là số lượng các cụm (Clusters), trục y là số liệu đánh giá (Inertia: là một độ đo về mức độ gắn kết nội bộ trong một cụm) 10 Hình 1.13: Biểu đồ với trục x là Clusters, trục y là Inertia Giả sử ban đầu, Clusters là 2 và Inertia là 1000.14:Biểu đồ với Cluster là 2 và Inertia là 1000 Sau đó, tăng Clusters lên.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ