Quyển báo cáo này giới thiệu về đề tài Phân loại tự động khách hàng bằng thuật toán Kmeans. Đề tài này mô tả một nghiên cứu về cách áp dụng thuật toán Kmeans để phân loại khách hàng một cách tự động. Chúng ta sống trong thời đại số hóa, và việc hiểu và phân loại khách hàng dựa trên hành vi và dữ liệu của họ là một yếu tố quan trọng để nâng cao hiệu suất kinh doanh và cung cấp dịch vụ cá nhân hóa. Trong thực tế, việc phân loại khách hàng có thể giúp doanh nghiệp xác định nhu cầu của họ, tạo ra chiến dịch tiếp thị hiệu quả hơn và cung cấp dịch vụ tốt hơn. Với nhận thức về những lợi ích này, nghiên cứu và áp dụng thuật toán K means cho bài toán phân loại tự động khách hàng trở thành một giải pháp tiềm năng và mang tính ứng dụng cao. Để thực hiện nghiên cứu này, chúng tôi đã tiếp thu kiến thức và kỹ năng liên quan đến thuật toán Kmeans, xử lý dữ liệu và phân tích kết quả. Đồng thời, chúng tôi cũng đã nắm vững các công cụ và ngôn ngữ lập trình để triển khai thuật toán và tạo ra một hệ thống đáng tin cậy và dễ sử dụng cho phân loại khách hàng.
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - BÁO CÁO HỌC PHẦN KHAI THÁC DỮ LIỆU PHÂN LOẠI TỰ ĐỘNG KHÁCH HÀNG SỬ DỤNG THUẬT TOÁN K-MEANS Hà Nội ─ Năm 2023 2 MỤC LỤC DANH MỤC HÌNH ẢNH 4 LỜI CẢM ƠN 5 LỜI NÓI ĐẦU 6 CHƯƠNG 1 BÀI TOÁN PHÂN LOẠI TỰ ĐỘNG KHÁCH HÀNG 8 1.1 Tổng quan về khai thác dữ liệu và bài toán phân loại 8 1.1.1 Khai thác dữ liệu 8 1.1.2 Bài toán phân nhóm dữ liệu 9 1.2 Thuật toán K-means và bài toán phân loại tự động khách hàng 10 1.2.1 Giới thiệu bài toán 10 1.2.2 Các khó khăn thách thức của bài toán 11 1.2.3 Đầu vào và đầu ra của bài toán 12 1.2.4 Ứng dụng của bài toán 13 1.3 Cơ sở lý thuyết 14 CHƯƠNG 2 MỘT SỐ THUẬT TOÁN SỬ DỤNG ĐỂ PHÂN CỤM 15 2.1 Thuật toán K-means 15 2.1.1 Khái niệm 15 2.1.2 Cách hoạt động 15 2.1.3 Phương pháp chọn số cụm tối ưu Elbow Method 23 2.1.4 Đánh giá thuật toán K-means 24 2.2 DBSCAN (Density-Based Spatial Clustering of Applications with Noise) 25 2.2.1 Khái niệm 25 2.2.2 Cách hoạt động 26 2.2.3 Đánh giá 27 3 2.3 Hierarchical Clustering (Phân cụm phân cấp) 28 2.3.1 Khái niệm 28 2.3.2 Cách hoạt động 28 2.3.3 Biểu đồ Dendrogram trong phân cụm theo cấp bậc 31 2.3.4 Đánh giá 32 2.4 Thuật toán Mean-shift 33 2.4.1 Khái niệm 33 2.4.2 Cách hoạt động 33 2.4.3 Đánh giá 34 TÀI LIỆU THAM KHẢO 36 4 DANH MỤC HÌNH ẢNH LỜI NÓI ĐẦU Quyển báo cáo này giới thiệu về đề tài "Phân loại tự động khách hàng bằng thuật toán K-means" Đề tài này mô tả một nghiên cứu về cách áp dụng thuật toán K-means để phân loại khách hàng một cách tự động Chúng ta sống trong thời đại số hóa, và việc hiểu và phân loại khách hàng dựa trên hành vi và dữ liệu của họ là một yếu tố quan trọng để nâng cao hiệu suất kinh doanh và cung cấp dịch vụ cá nhân hóa Trong thực tế, việc phân loại khách hàng có thể giúp doanh nghiệp xác định nhu cầu của họ, tạo ra chiến dịch tiếp thị hiệu quả hơn và cung cấp dịch vụ tốt hơn Với nhận thức về những lợi ích này, nghiên cứu và áp dụng thuật toán K means cho bài toán phân loại tự động khách hàng trở thành một giải pháp tiềm năng và mang tính ứng dụng cao Để thực hiện nghiên cứu này, chúng tôi đã tiếp thu kiến thức và kỹ năng liên quan đến thuật toán K-means, xử lý dữ liệu và phân tích kết quả Đồng thời, chúng tôi cũng đã nắm vững các công cụ và ngôn ngữ lập trình để triển khai thuật toán và tạo ra một hệ thống đáng tin cậy và dễ sử dụng cho phân loại khách hàng Trong lời nói đầu này, chúng tôi sẽ trình bày một cái nhìn tổng quan về nội dung và cấu trúc của báo cáo Trước hết, chúng em sẽ trình bày cấu trúc của báo cáo, bao gồm các chương chính và nội dung của từng chương Các chương bao gồm: - Chương 1: Bài toán phân loại tự động khách hàng - Chương 2: Các thuật toán có thể sử dụng trong phân loại tự động khách hàng - Chương 3: Sử dụng thuật toán K-means áp dụng vào bài toán phân loại tự động khách hàng, kết quả thử nghiệm Trước hết, chúng tôi sẽ giới thiệu lý do lựa chọn đề tài và mục tiêu của nghiên cứu Chúng tôi cũng sẽ tôn trọng tầm quan trọng của việc phân loại khách 7 hàng và làm rõ lợi ích của việc áp dụng thuật toán K-means trong việc thực hiện nhiệm vụ này Tiếp theo, chúng tôi sẽ trình bày về thuật toán K-means và cách nó có thể được áp dụng để phân loại khách hàng Chúng tôi cũng sẽ trình bày về quy trình thực hiện nghiên cứu và phân tích kết quả Chúng tôi xin gửi lời cảm ơn chân thành đến quý thầy/cô đã dành thời gian và quan tâm để đọc báo cáo về đề tài của chúng tôi Chúng tôi mong nhận được sự đóng góp và phản hồi từ quý vị để tiếp tục phát triển và nâng cao khả năng phân loại tự động khách hàng bằng thuật toán K-means Xin trân trọng cảm ơn! 8 CHƯƠNG 1 BÀI TOÁN PHÂN LOẠI TỰ ĐỘNG KHÁCH HÀNG 1.1 Tổng quan về khai thác dữ liệu và bài toán phân loại 1.1.1 Khai thác dữ liệu Khai thác dữ liệu là quá trình xác định các mẫu tiềm ẩn có tính hợp lệ, mới lạ, có ích và có thể hiểu được trong một khối dữ liệu rất lớn Khai thác dữ liệu là một phần quan trọng đối với sự thành công của bất kỳ sáng kiến phân tích nào Các doanh nghiệp có thể sử dụng quy trình khai phá kiến thức để tăng niềm tin của khách hàng, tìm kiếm nguồn doanh thu mới và thu hút khách hàng quay lại Quy trình khai thác dữ liệu hiệu quả hỗ trợ trong nhiều khía cạnh khác nhau của việc lập kế hoạch kinh doanh và quản lý hoạt động Một số ứng dụng thực tiễn của khai thác dữ liệu: - Ngân hàng và bảo hiểm: Các dịch vụ tài chính có thể sử dụng ứng dụng khai thác dữ liệu để giải quyết những vấn đề phức tạp liên quan đến gian lận, tuân thủ, quản lý rủi ro và tỷ lệ khách hàng rời bỏ dịch vụ Ví dụ: các công ty bảo hiểm có thể phát hiện mức định giá sản phẩm tối ưu bằng cách so sánh hiệu suất của sản phẩm trong quá khứ với mức định giá của đối thủ cạnh tranh 9 - Giáo dục: Các nhà cung cấp dịch vụ giáo dục có thể sử dụng thuật toán khai thác dữ liệu để kiểm tra người học, tùy chỉnh bài học và biến quá trình học tập thành một trò chơi Nhờ có nhiều chế độ xem thống nhất, định hướng theo dữ liệu về tiến độ của người học, các nhà giáo dục có thể nhận biết nhu cầu của người học và hỗ trợ họ tốt hơn - Sản xuất: Các dịch vụ sản xuất có thể sử dụng kỹ thuật khai thác dữ liệu để cung cấp phân tích mang tính dự đoán và theo thời gian thực về hiệu suất thiết bị tổng thể, mức độ dịch vụ, chất lượng sản phẩm và hiệu quả của chuỗi cung ứng Ví dụ: các nhà sản xuất có thể sử dụng dữ liệu trước đây để dự đoán sự hao mòn của máy móc sản xuất và dự liệu công tác bảo trì Nhờ đó, họ có thể tối ưu hóa lịch trình sản xuất và giảm thời gian ngừng hoạt động - Bán lẻ: Các công ty bán lẻ có cơ sở dữ liệu khách hàng lớn với dữ liệu thô về hành vi mua hàng của khách hàng Quy trình khai thác dữ liệu có thể xử lý dữ liệu này để thu về thông tin chuyên sâu liên quan cho các chiến dịch tiếp thị và dự báo doanh số bán hàng Thông qua các mô hình dữ liệu chính xác hơn, công ty bán lẻ có thể tối ưu hóa hoạt động bán hàng và kho vận để gia tăng sự hài lòng của khách hàng Ví dụ: quy trình khai thác dữ liệu có thể cho biết các sản phẩm theo mùa phổ biến mà nhà bán lẻ có thể dự trữ trước để tránh tình trạng thiếu hụt hàng vào phút cuối 1.1.2 Bài toán phân nhóm dữ liệu Bài toán phân nhóm dữ liệu (phân cụm, gom nhóm) là cách phân bổ các đối tượng dữ liệu vào các nhóm/ cụm sao cho: Các đối tượng trong một cụm thì giống nhau hơn các phần tử khác cụm Bài toán phân nhóm trong khoa học dữ liệu là quá trình tìm kiếm các phân hoạch của tập dữ liệu Mục tiêu là chia dữ liệu thành các nhóm có tính chất tương tự nhau bên trong mỗi nhóm và khác biệt so với các nhóm khác 10 Cách tiếp cận phổ biến trong phân nhóm là xác định các phân hoạch dữ liệu sao cho tổng sự tương đồng giữa các điểm dữ liệu bên trong cùng một nhóm là lớn nhất có thể, trong khi sự tương đồng giữa các nhóm lại là nhỏ nhất có thể Cho một bộ dữ liệu gồm n điểm, có rất nhiều phân hoạch có thể có Mục tiêu của bài toán phân nhóm là tìm ra một phân hoạch “tốt” 1.2 Thuật toán K-means và bài toán phân loại tự động khách hàng 1.2.1 Giới thiệu bài toán Bài toán phân loại tự động khách hàng là một trong những ứng dụng quan trọng của khoa học dữ liệu trong lĩnh vực tiếp thị và kinh doanh Bài toán này tập trung vào việc phân loại các khách hàng vào các nhóm dựa trên các đặc điểm và hành vi của họ Mục tiêu của phân loại tự động khách hàng là hiểu rõ hơn về nhóm khách hàng khác nhau trong cơ sở khách hàng Qua đó, doanh nghiệp có thể tối ưu hóa chiến lược tiếp thị, tăng cường tương tác và cung cấp giá trị tốt hơn cho từng nhóm khách hàng Quy trình phân loại tự động khách hàng thường gồm các bước sau: - Thu thập dữ liệu: Bắt đầu bằng việc thu thập dữ liệu về khách hàng từ nhiều nguồn khác nhau như hành vi mua sắm, thông tin cá nhân, tương tác trực tuyến 11 - Tiền xử lý dữ liệu: Dữ liệu thường đa dạng và không hoàn hảo, vì vậy việc tiền xử lý như là xử lý dữ liệu thiếu, chuẩn hóa dữ liệu là cần thiết - Chọn số lượng nhóm (k): Xác định số lượng nhóm mà bạn muốn chia khách hàng thành Số lượng này có thể dựa trên kiến thức chuyên môn hoặc được xác định bằng cách sử dụng các phương pháp đánh giá - Áp dụng K-means: Sử dụng thuật toán K-means để chia khách hàng thành K nhóm K-means sẽ cố gắng tìm ra K nhóm sao cho các khách hàng trong cùng một nhóm có hành vi mua hàng tương tự nhau, trong khi các nhóm khác nhau có hành vi khác biệt - Phân tích kết quả: Sau khi hoàn thành quá trình chia nhóm, phân tích kết quả để hiểu các đặc điểm chung của từng nhóm khách hàng Điều này có thể giúp bạn tùy chỉnh chiến lược marketing, cải thiện dịch vụ, tối ưu hóa chiến lược bán hàng, và nắm bắt nhu cầu cụ thể của từng nhóm khách hàng 1.2.2 Các khó khăn thách thức của bài toán Đối với bài toán phân loại khách hàng nói riêng và bài toán phân nhóm nói chung, chúng ta đều phải đối mặt với một số thách thức sau: - Số lượng nhóm (K) cần chọn: việc xác định số lượng nhóm phù hợp để phân loại khách hàng là một thách thức Số lượng nhóm không chỉ ảnh hưởng đến kết quả phân loại mà còn ảnh hưởng đến việc hiểu sâu hơn về hành vi của khách hàng Chọn sai số lượng nhóm có thể dẫn đến việc gộp nhóm quá chung chung hoặc chia nhỏ nhóm một cách không cần thiết - Tính chất đa dạng của dữ liệu khách hàng: Dữ liệu về khách hàng thường rất đa dạng từ thông tin cá nhân đến hành vi mua hàng, và việc kết hợp tất cả các đặc trưng này để tạo thành nhóm có thể là một thách thức Một số đặc trưng có thể không quan trọng hoặc không phản ánh 12 đúng hành vi mua hàng, và việc xử lý các đặc trưng này đòi hỏi sự hiểu biết sâu rộng về lĩnh vực và dữ liệu - Định nghĩa đặc điểm chung của từng nhóm: Đôi khi, việc hiểu rõ và định nghĩa được các đặc điểm chung của từng nhóm khách hàng sau khi đã phân loại cũng là một thách thức Có thể có sự mờ nhạt giữa các nhóm, và việc xác định các đặc điểm cụ thể có thể đòi hỏi sự phân tích kỹ lưỡng và sâu sắc - Độ chính xác của thuật toán: Mặc dù K-means là một công cụ phân loại mạnh mẽ, nhưng nó cũng có nhược điểm, ví dụ như việc dựa vào việc chọn điểm khởi tạo ban đầu có thể ảnh hưởng đến kết quả cuối cùng Nó cũng không hoạt động tốt trên các dữ liệu có hình dạng và kích thước không đồng đều - Phân nhóm chéo lẫn nhau: Đôi khi, khách hàng có thể có nhiều đặc điểm chung, điều này có thể dẫn đến việc chúng có thể được phân vào nhiều nhóm khác nhau Việc này có thể làm mờ đi ranh giới giữa các nhóm và làm giảm sự chính xác của phân loại 1.2.3 Đầu vào và đầu ra của bài toán Bài toán phân loại tự động khách hàng thường sử dụng các đặc trưng từ dữ liệu khách hàng làm đầu vào và đưa ra các nhóm hoặc các cụm khách hàng tương ứng là kết quả đầu ra Đầu vào: dữ liệu tập hợp thông tin về khách hàng, bao gồm thông tin cá nhân (như tuổi, giới tính, địa chỉ), thông tin giao dịch mua hàng (số lần mua, số lượng sản phẩm mua, giá trị đơn hàng), thời gian mua hàng, lịch sử giao dịch, phản hồi từ khách hàng (nếu có), và bất kỳ thông tin nào khác mô tả hành vi mua hàng hoặc tương tác với sản phẩm/dịch vụ Đầu ra: Kết quả của bài toán với việc phân loại khách hàng thành các nhóm tương tự nhau dựa trên các dữ liệu đầu vào Mỗi nhóm này đại diện cho một loại hành vi mua hàng hay một nhóm khách hàng cụ thể 13 1.2.4 Ứng dụng của bài toán Bài toán phân loại tự động khách hàng mang lại rất nhiều lợi ích đến cho các doanh nghiệp và tổ chức Họ có thể sử dụng thông tin từ việc phân loại khách hàng để cải thiện dịch vụ và tối ưu hóa chiến lược kinh doanh Một số ứng dụng cụ thể: - Tối ưu hóa chiến lược tiếp thị và quảng cáo: Phân loại khách hàng giúp xác định nhóm đối tượng mục tiêu cho các chiến dịch tiếp thị và quảng cáo Các thông điệp có thể được tùy chỉnh để phù hợp với nhu cầu, sở thích và hành vi mua hàng cụ thể của từng nhóm khách hàng - Cải thiện trải nghiệm khách hàng: Hiểu rõ hơn về các nhóm khách hàng giúp cải thiện trải nghiệm của họ Các sản phẩm và dịch vụ có thể được tùy chỉnh để đáp ứng nhu cầu đặc biệt của từng nhóm, từ việc cải thiện giao diện người dùng đến việc cung cấp sản phẩm hoặc dịch vụ phù hợp hơn - Dự đoán hành vi mua hàng: Phân loại khách hàng cung cấp thông tin về xu hướng mua hàng trong tương lai Dự đoán hành vi mua hàng có thể giúp dự báo nhu cầu của khách hàng, từ đó tối ưu hóa quản lý hàng tồn kho và chiến lược cung ứng - Tăng cường tìm kiếm khách hàng: Điều này bao gồm việc tìm kiếm khách hàng tiềm năng và tối ưu hóa chiến lược để giữ chân khách hàng hiện tại Các chương trình khuyến mãi, ưu đãi đặc biệt hoặc dịch vụ chăm sóc khách hàng có thể được tạo ra dựa trên thông tin từ phân loại khách hàng - Quản lý chuỗi cung ứng: Hiểu biết về hành vi mua hàng của các nhóm khách hàng cũng hỗ trợ trong việc quản lý và tối ưu chuỗi cung ứng Dự đoán nhu cầu sản phẩm và dịch vụ cụ thể có thể giúp tăng cường quản lý hàng tồn kho và kế hoạch sản xuất 14 1.3 Cơ sở lý thuyết Để thực hiện chủ đề nghiên cứu này, chúng em đã sử dụng kiến thức và kỹ năng trong học phần “Học máy” , “Khai thác dữ liệu và ứng dụng”và một số học phần liên quan Các kiến thức này có thể gồm những phần sau đây: - Phân cụm dữ liệu: + Định nghĩa và mục đích của phân cụm dữ liệu + Các phương pháp và thuật toán phân cụm dữ liệu thông dụng + Các độ đo và phương pháp đánh giá hiệu quả của phân cụm - Thuật toán K-means: + Nguyên lý hoạt động của thuật toán K-means + Các bước thực hiện thuật toán K-means, bao gồm: khởi tạo điểm trung tâm, gán các điểm dữ liệu vào các cụm, cập nhật lại các điểm trung tâm và lặp lại quá trình cho đến khi hội tụ + Các phương pháp khởi tạo điểm trung tâm ban đầu và các phương pháp cập nhật điểm trung tâm trong thuật toán K-means - Tiêu chí đánh giá hiệu quả của thuật toán K-means: + Các độ đo phân tán trong cụm, bao gồm SSE (Sum of Squared Errors), SSB (Sum of Squared Between), và silhouette coefficient + Các phương pháp đánh giá số lượng cụm tối ưu, bao gồm Elbow Method và Silhouette Method - Tiền xử lý dữ liệu cho bài toán phân loại tự động khách hàng: + Thu thập dữ liệu khách hàng từ các nguồn khác nhau + Chuẩn hóa và biểu diễn trực quan dữ liệu Cơ sở lý thuyết này cung cấp những kiến thức cần thiết để hiểu và áp dụng thuật toán K-means vào bài toán phân loại tự động khách hàng Nó giúp xác định các phương pháp đánh giá và tối ưu hóa hiệu suất của thuật toán, cũng như cung cấp cách tiền xử lý dữ liệu và ứng dụng trong lĩnh vực kinh doanh 15 Hình 2 7 Tìm trọng tâm hoặc điểm K mới 20 Chúng ta có thể thấy trong hình trên; không có điểm dữ liệu nào khác nhau ở hai bên của đường thẳng, điều đó có nghĩa là mô hình của chúng tôi đã được hình thành Hình 2 8 Minh họa kết quả phân cụm ⮚ Bài toán tối ưu Nếu ta coi center mk là center (hoặc representative) của mỗi cluster và ước lượng tất cả các điểm được phân vào cluster này bởi mk, thì một điểm dữ liệu ���� được phân vào cluster k sẽ bị sai số là (����−mk) Chúng ta mong muốn sai số này có trị tuyệt đối nhỏ nhất nên ta sẽ tìm cách để đại lượng sau đây đạt giá trị nhỏ nhất: ‖���� − ����‖22 Hơn nữa, vì ���� được phân vào cluster k nên yik = 1, yij = 0, ∀j ≠ k Khi đó, biểu thức bên trên sẽ được viết lại là: yik‖���� − ����‖22 = ∑yij �� ��=1 Sai số cho toàn bộ dữ liệu sẽ là: ‖���� − ����‖22 21 Trong đó Y=[y1;y2;…;yN], M=[m1,m2,…mK] lần lượt là các ma trận được tạo bởi label vector của mỗi điểm dữ liệu và center của mỗi cluster Hàm số mất mát trong bài toán K-means clustering của chúng ta là hàm L(Y, M) với ràng buộc như được nêu trong phương trình (1) Tóm lại, chúng ta cần tối ưu bài toán sau: (subject to nghĩa là thỏa mãn điều kiện) Bài toán (2) là một bài toán khó tìm điểm tối ưu vì nó có thêm các điều kiện ràng buộc Bài toán này thuộc loại mix-integer programming (điều kiện biến là số nguyên) - là loại rất khó tìm nghiệm tối ưu toàn cục (global optimal point, tức nghiệm làm cho hàm mất mát đạt giá trị nhỏ nhất có thể) Tuy nhiên, trong một số trường hợp chúng ta vẫn có thể tìm được phương pháp để tìm được nghiệm gần đúng hoặc điểm cực tiểu (điểm cực tiểu chưa chắc đã phải là điểm làm cho hàm số đạt giá trị nhỏ nhất) Một cách đơn giản để giải bài toán (2) là xen kẽ giải Y và M khi biến còn lại được cố định Đây là một thuật toán lặp, cũng là kỹ thuật phổ biến khi giải bài toán tối ưu Chúng ta sẽ lần lượt giải quyết hai bài toán sau đây: Cố định M, tìm Y Giả sử đã tìm được các centers, hãy tìm các label vector để hàm mất mát đạt giá trị nhỏ nhất Điều này tương đương với việc tìm cluster cho mỗi điểm dữ liệu Khi các centers là cố định, bài toán tìm label vector cho toàn bộ dữ liệu có thể được chia nhỏ thành bài toán tìm label vector cho từng điểm dữ liệu ���� như sau: 22 Vì chỉ có một phần tử của label vector yi bằng 11 nên bài toán (3) có thể tiếp tục được viết dưới dạng đơn giản hơn: Vì ‖���� − ����‖22chính là bình phương khoảng cách tính từ điểm xi tới center mj, ta có thể kết luận rằng mỗi điểm xi thuộc vào cluster có center gần nó nhất! Từ đó ta có thể dễ dàng suy ra label vector của từng điểm dữ liệu Cố định Y, tìm M Giả sử đã tìm được cluster cho từng điểm, hãy tìm center mới cho mỗi cluster để hàm mất mát đạt giá trị nhỏ nhất Một khi chúng ta đã xác định được label vector cho từng điểm dữ liệu, bài toán tìm center cho mỗi cluster được rút gọn thành: Tới đây, ta có thể tìm nghiệm bằng phương pháp giải đạo hàm bằng 0, vì hàm cần tối ưu là một hàm liên tục và có đạo hàm xác định tại mọi điểm Và quan trọng hơn, hàm này là hàm convex (lồi) theo mj nên chúng ta sẽ tìm được giá trị nhỏ nhất và điểm tối ưu tương ứng Đặt l(mj) là hàm bên trong dấu argmin, ta có đạo hàm: Giải phương trình đạo hàm bằng 0 ta có: 23 Nếu để ý một chút, chúng ta sẽ thấy rằng mẫu số chính là phép đếm số lượng các điểm dữ liệu trong cluster j Còn tử số chính là tổng các điểm dữ liệu trong cluster j Hay nói một cách đơn giản hơn nhiều: mj là trung bình cộng của các điểm trong cluster j Tên gọi K-means clustering cũng xuất phát từ đây 2.1.3 Phương pháp chọn số cụm tối ưu Elbow Method Phương pháp Elbow là một trong những cách phổ biến nhất để tìm số cụm tối ưu Phương pháp này sử dụng khái niệm giá trị WCSS WCSS là viết tắt của Within Cluster Sum of Squares , xác định tổng số biến thể trong một cụm Công thức tính giá trị của WCSS (cho 3 cụm) được đưa ra dưới đây: WCSS= ∑Pi in Cluster1 distance(Pi C1)2 +∑Pi in Cluster2distance(Pi C2)2+∑Pi in CLuster3 distance(Pi C3)2 ∑Pi in Cluster1 distance(Pi C1)2: Đó là tổng bình phương khoảng cách giữa mỗi điểm dữ liệu và trọng tâm của nó trong một cluster1 và tương tự cho hai thuật ngữ còn lại Để đo khoảng cách giữa các điểm dữ liệu và trọng tâm, chúng ta có thể sử dụng bất kỳ phương pháp nào như khoảng cách Euclide hoặc khoảng cách Manhattan Để tìm giá trị tối ưu của các cụm, phương pháp Elbow (khuỷu tay) thực hiện theo các bước sau: - Nó thực thi phân cụm K-means trên một tập dữ liệu nhất định cho các giá trị K khác nhau (trong khoảng từ 1-10) - Đối với mỗi giá trị của K, tính toán giá trị WCSS - Vẽ một đường cong giữa các giá trị WCSS được tính toán và số cụm K - Điểm uốn cong hay một điểm của đồ thị trông giống như một cánh tay thì điểm đó được coi là giá trị tốt nhất của K Vì biểu đồ cho thấy một khúc cua gấp, trông giống như một khuỷu tay, do đó nó được gọi là phương pháp khuỷu tay(Elbow Method) 24 Hình 2 9 Minh họa biểu đồ Elbow Method 2.1.4 Đánh giá thuật toán K-means - Ưu điểm + Đơn giản và dễ hiểu: K-means là một thuật toán đơn giản và dễ hiểu, dễ dàng triển khai và hiểu cách hoạt động Nó là một trong những phương pháp phân cụm đầu tiên được học và sử dụng phổ biến + Tốc độ thực thi nhanh: K-means là một thuật toán hiệu quả và có tốc độ tính toán nhanh, đặc biệt là khi được áp dụng trên tập dữ liệu lớn Do đó, nó là lựa chọn tốt cho các bài toán có quy mô lớn + Hiệu quả trong việc phân cụm dữ liệu có hình dạng cầu: K-means hoạt động tốt khi các nhóm dữ liệu có hình dạng cầu hoặc gần như cầu Vì nó sử dụng khoảng cách Euclid, nó thích hợp cho các tập dữ liệu có phân phối đồng đều và tương tự hình cầu + Dễ dàng mở rộng và áp dụng cho các bài toán phân cụm đơn giản: Với K- means, bạn có thể dễ dàng mở rộng và thích ứng cho các bài toán phân cụm đơn giản mà không cần nhiều tham số cấu hình - Nhược điểm + Phụ thuộc vào sự khởi tạo ban đầu: Kết quả của thuật toán có thể bị ảnh hưởng mạnh bởi sự khởi tạo ban đầu của các điểm trung tâm Nếu không may, việc khởi tạo sai có thể dẫn đến kết quả phân cụm không tốt 25 + Cần xác định số lượng nhóm K trước: Khi sử dụng K-means, bạn phải xác định số lượng nhóm K trước Việc chọn K thích hợp có thể khá khó và đòi hỏi kiến thức về dữ liệu hoặc phân tích trước + Không thể xử lý các dạng phân phối không cầu: K-means giả định rằng các nhóm có hình dạng cầu và đồng đều, điều này không luôn đúng cho tất cả các tập dữ liệu Nó không hiệu quả đối với các nhóm dữ liệu có hình dạng không cầu, phân phối không đồng đều hoặc dạng cụm phức tạp + Dễ bị mắc kẹt vào các cụm tối thiểu cục bộ: K-means có thể bị mắc kẹt vào các cụm tối thiểu cục bộ, trong đó kết quả phân cụm không phản ánh được cấu trúc tổng thể của dữ liệu + Tóm lại, K-means là một thuật toán đơn giản và hiệu quả, nhưng cần cân nhắc các điểm yếu của nó khi áp dụng cho các bài toán phân cụm phức tạp 2.2 DBSCAN (Density-Based Spatial Clustering of Applications with Noise) 2.2.1 Khái niệm DBSCAN (Density-Based Spatial Clustering of Applications with Noise) là một thuật toán phân cụm dựa trên mật độ Nó có khả năng xác định các cụm dữ liệu có mật độ cao và xác định các điểm nhiễu không thuộc vào bất kỳ cụm nào DBSCAN không yêu cầu số lượng cụm trước và có thể xử lý dữ liệu có hình dạng và kích thước khác nhau 26