Máy học là cách trích xuất kiến thức từ dữ liệu, là một lĩnh vực tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán, nghiên cứu ở giao điểm của Thống kê, Trí tuệ
Trang 1BỘ KẾ HOẠCH VÀ ĐẦU TƯ HỌC VIỆN CHÍNH SÁCH VÀ PHÁT TRIỂN
- -
KHÓA LUẬN TỐT NGHIỆP
ĐỀ TÀI:
ỨNG DỤNG HỌC MÁY TRONG PHÂN KHÚC KHÁCH HÀNG
Sinh viên thực hiện: Vũ Trường Nam
Lớp: KTDL10
Msv: 7103101333
Giáo viên hướng dẫn: TS Nguyễn Hữu Xuân Trường
Trang 2LỜI CAM ĐOAN Tôi xin cam đoan Khóa luận với đề tài “Ứng dụng học máy trong phân khúc khách hàng” là do tự bản thân thực hiện, có sự hỗ trợ của giáo viên hướng dẫn và
không sao chép các công trình nghiên cứu của người khác Các số liệu trong Khóa luận được sử dụng trung thực và trích dẫn rõ ràng
Nếu sai tôi xin hoàn toàn chịu trách nhiệm
Hà Nội, tháng 4 năm 2023
Sinh viên
Vũ Trường Nam
Trang 3Trong quá trình thu thập thông tin và các số liệu liên quan, tôi đã nhận được
sự chỉ dẫn giúp đỡ, hỗ trợ tận tình giảng viên được sự giúp đỡ của TS Nguyễn Hữu Xuân Trường và những giảng viên khác trong khoa Kinh Tế Số - Học viện Chính sách và Phát triển
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế, trong quá trình hoàn thiện bài Khóa luận, tôi không thể tránh khỏi những sai sót, rất mong nhận được sự chỉ bảo, đóng góp ý kiến từ quý ngân hàng và quý thầy cô, để đề tài này có thể hoàn thiện hơn
Tôi xin chân thành cảm ơn!
Hà Nội, tháng 4 năm 2023
Sinh viên
Vũ Trường Nam
Trang 4MỤC LỤC
LỜI CAM ĐOAN 2
LỜI CẢM ƠN 3
DANH MỤC CÁC VIẾT TẮT 6
DANH MỤC HÌNH - BIỂU ĐỒ 7
DANH MỤC BẢNG SỬ DỤNG 8
MỞ ĐẦU 1
1 Tính cấp thiết của đề tài 1
2 Mục đích nghiên cứu 2
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 2
5 Kết cấu khóa luận 2
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT PHÂN CỤM DỮ LIỆU 4
1.1 Tổng quan học máy 4
1.1.1 Khái niệm học máy 4
1.1.2 Các kĩ thuật trong Học máy 4
1.2 Tổng quan phân cụm dữ liệu 7
1.2.1 Khái niệm kỹ thuật phân cụm dữ liệu 7
1.2.2 Phân cụm cứng và phân cụm mờ 8
1.2.3 Quy trình thực hiện kỹ thuật phân cụm dữ liệu 10
1.3 Các thuật toán phân cụm dữ liệu 11
1.3.1 Thuật toán Kmean 11
1.3.2 Thuật toán GMM (Gaussian Mixture Model) 17
1.4 Phương pháp chọn số cụm tối ưu 20
1.4.1 Phương pháp Elbow 20
1.4.2 Phương pháp BIC 21
1.5 Đánh giá kết quả phân cụm 22
Trang 51.5.1 Chỉ số Calinski-Harabasz 23
1.5.2 Chỉ số Silhouette 23
1.5.3 Chỉ số Davies-Bouldin 24
CHƯƠNG 2: PHÂN KHÚC KHÁCH HÀNG VỚI HỌC MÁY 27
2.1 Phân khúc khách hàng 27
2.1.1 Khái niệm phân khúc khách hàng 27
2.1.2 Tầm quan trọng của phân khách hàng 27
2.1.3 Các phương pháp phân khúc khách hàng 28
2.1.4 Phân khúc khách hàng dựa trên phương pháp phân tích RFM 29
2.1.5 Quy trình xây dựng mô hình phân khúc khách hàng với học máy 31
2.2 Dữ liệu nghiên cứu 32
2.4 Quy trình phân cụm 35
2.5 Chuẩn bị dữ liệu và lựa chọn biến mục tiêu 36
2.6 Chọn số cụm tối ưu 37
2.7 Phân khúc khách hàng với Kmeans và GMM 39
KẾT LUẬN CHƯƠNG 2 43
CHƯƠNG 3: GIẢI PHÁP ĐỀ XUẤT NÂNG CAO KHẢ NĂNG TIẾP CẬN VỚI TỪNG NHÓM KHÁCH HÀNG 44
KẾT LUẬN CHƯƠNG 3 51
KẾT LUẬN 52
TÀI LIỆU THAM KHẢO 53
Trang 6DANH MỤC CÁC VIẾT TẮT
STT Chữ cái viết tắt Tên đầy đủ tiếng anh Tên đầy đủ tiếng
việt
2 BIC Bayesian Information Criterion
3 RFM Recency - Frequency - Monetary
Trang 7DANH MỤC HÌNH - BIỂU ĐỒ
Hình 1.1 Bài toán hồi quy: dự đoán một giá trị dựa trên đặc trưng đầu vào
Hình 1.2 Bài toán Phân loại khách hàng
Hình 1.3 Học bán giám sát với hai lớp (hình tam giác và hình vuông) và các
mẫu chưa gán nhãn (hình tròn)
Hình 1.4 Minh họa phân cụm dữ liệu
Hình 1.5 Giải thuật cụ thể của K-means
Hình 1.6 Ví dụ thuật toán GMM
Hình 1.7 Phương pháp Elbow
Hình 1.8 Phương pháp BIC
Hình 2.1 Các nhóm khách hàng dựa theo phương pháp phân tích RFM
Hình 2.2 Hệ số tương quan các trường dữ liệu
Hình 2.3 Quy trình phân cụm trong khóa luận
Hình 2.4 Chọn số k cụm với phương pháp Eblow
Hình 2.5 Chọn số k cụm với phương pháp BIC
Hình 2.6 Số lượng khách hàng phân cụm với Kmean
Hình 2.7 Số lượng khách hàng phân cụm với GMM
Trang 8DANH MỤC BẢNG SỬ DỤNG
Bảng 2.1 Mô tả bộ dữ liệu “Orders - Analysis Task.csv”
Bảng 2.2 Thể hiện các kết quả thống kê của dữ liệu
Bảng 2.3 Dữ liệu tiến hành phân cụm (đã chuẩn hóa)
Bảng 2.4 Số lượng khách hàng phân cụm với Kmean
Bảng 2.5 Số lượng khách hàng phân cụm với GMM
Bảng 2.6 Chỉ số đánh giá mô hình phân cụm
Bảng 3.1 Thông số cụm số 0
Bảng 3.2 Thông số cụm số 1
Bảng 3.3 Thông số cụm số 2
Trang 10MỞ ĐẦU
1 Tính cấp thiết của đề tài
Trong thời đại số hóa hiện nay, khai thác dữ liệu và phân tích khách hàng là một trong những lĩnh vực được quan tâm đặc biệt trong nhiều lĩnh vực kinh doanh Với sự phát triển của công nghệ, việc thu thập, lưu trữ và xử lý dữ liệu trở nên dễ dàng hơn bao giờ hết, điều này đã tạo ra một cơ hội để ứng dụng Học máy vào phân khúc khách hàng Khái niệm khách hàng đã trở thành một trong những yếu tố cực
kỳ quan trọng đối với các doanh nghiệp Khách hàng không chỉ đơn thuần là những người tiêu dùng sản phẩm, mà còn là nguồn tài nguyên quan trọng để giúp doanh nghiệp tăng trưởng và phát triển Chính vì thế, việc nắm bắt thông tin về khách hàng
để phục vụ cho các chiến lược kinh doanh là điều cực kỳ cần thiết
Trong thực tế, doanh nghiệp đang sử dụng rất nhiều các phương pháp khác nhau để nắm bắt thông tin về khách hàng Trong đó, phân khúc khách hàng (customer segmentation) được xem là một trong những phương pháp hiệu quả nhất Phân khúc khách hàng giúp cho doanh nghiệp có thể phân chia khách hàng thành các nhóm dựa trên các đặc điểm chung như tuổi tác, giới tính, sở thích, nhu cầu, thu nhập, v.v… Sau đó, từ đó có thể tìm ra những chiến lược kinh doanh phù hợp cho từng nhóm khách hàng Việc sử dụng học máy giúp cho quá trình phân khúc khách hàng được thực hiện nhanh chóng và hiệu quả hơn Hơn nữa, việc sử dụng học máy giúp cho doanh nghiệp có thể phát hiện ra những mẫu ẩn trong dữ liệu mà trước đây chưa được biết đến
Khóa luận "Ứng dụng Học máy trong phân khúc khách hàng" sẽ tập trung vào việc áp dụng các phương pháp Học máy để phân tích khách hàng Việc phân tích khách hàng là một bước quan trọng để giúp các doanh nghiệp hiểu rõ hơn về khách hàng của mình và cung cấp các sản phẩm và dịch vụ phù hợp với nhu cầu của họ
Trang 11Mục tiêu của khóa luận này là xây dựng một mô hình Học máy để phân loại khách hàng và xác định các nhóm khách hàng có đặc tính tương tự Bằng cách sử dụng các phương pháp Học máy như K-means Clustering, Gaussian Mixture Model, phân tích RFM, và tìm ra phương pháp phân chia khách hàng thành các nhóm khách hàng khác nhau
2 Mục đích nghiên cứu
Mục tiêu chung:
• Nghiên cứu tổng quan về học máy và kỹ thuật phân cụm dữ liệu
• Nghiên cứu về thuật toán phân cụm Kmean và thuật toán GMM
Mục tiêu cụ thể:
• Ứng dụng các công cụ phân tích dữ liệu triển để xây dựng mô hình phân cụm Kmeans và mô hình GMM
3 Đối tượng và phạm vi nghiên cứu
• Đối tượng nghiên cứu: Học máy, phân cụm dữ liệu, Kmeans, GMM
• Phạm vi nghiên cứu: 11 năm 2018 đến tháng 4 năm 2019
4 Phương pháp nghiên cứu
• Phương pháp luận nghiên cứu khoa học
• Phương pháp thu thập dữ liệu: Thông tin được thu nhập từ giáo trình, bài giảng
• Phương pháp phân cụm
5 Kết cấu khóa luận
Ngoài phần mở đầu, kết luận và danh mục tài liệu tham khảo, nội dung khóa
Trang 12Chương 1: Cơ sở lý thuyết phân cụm dữ liệu
Chương 2: Phân khúc khách hàng với học máy
Chương 3: Giải pháp đề xuất nâng cao khả năng tiếp cận với từng nhóm khách hàng
Trang 13CHƯƠNG 1: CƠ SỞ LÝ THUYẾT PHÂN CỤM DỮ LIỆU
1.1 Tổng quan học máy
1.1.1 Khái niệm học máy
Học máy (tiếng anh: Machine Learning) là một lĩnh vực của Trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học"
tự động từ dữ liệu để giải quyết những vấn đề cụ thể
Máy học là cách trích xuất kiến thức từ dữ liệu, là một lĩnh vực tập trung vào
sự phức tạp của các giải thuật trong việc thực thi tính toán, nghiên cứu ở giao điểm
của Thống kê, Trí tuệ nhân tạo và Khoa học máy tính và còn được gọi là phân tích
dự đoán hoặc học thống kê
1.1.2 Các kĩ thuật trong Học máy
a Học có giám sát
Học có giám sát (Supervised Learning) là một kĩ thuật của ngành học máy để xây dựng một hàm (Function) từ dữ liệu huấn luyện Dữ liệu huấn luyện bao gồm các cặp gồm đối tượng đầu vào (thường dạng Vectơ), và đầu ra mong muốn Đầu ra của một hàm có thể là một giá trị liên tục (Hồi quy), hay có thể là dự đoán một nhãn phân loại cho một đối tượng đầu vào (Phân loại)
Nhiệm vụ của chương trình học có giám sát là dự đoán giá trị của hàm cho một đối tượng bất kì là đầu vào hợp lệ, sau khi đã xem xét một số ví dụ huấn luyện (nghĩa là, các cặp đầu vào và đầu ra tương ứng)
• Xác định cấu trúc của hàm chức năng cần tìm và giải thuật học tương ứng
• Hoàn thành thiết kế
Trang 14Ưu diểm: Học có giám sát cho phép thu thập dữ liệu và tạo ra dữ liệu đầu ra từ
những kinh nghiệm trước đó Giúp tối ưu hóa các tiêu chí hiệu suất với sự trợ giúp của kinh nghiệm và giúp giải quyết nhiều vấn đề trong thực tế
Nhược điểm: Việc đào tạo các mô hình giải quyết bài toàn cho học có giám sát
cần rất nguồn lực và thời gian để có thể tính toán việc này đòi hỏi rất nhiều thời gian
Hình 1.1 Bài toán hồi quy: dự đoán một giá trị dựa trên đặc trưng đầu vào
Nguồn: Tác giả biên tập từ [1]
b Học không giám sát
Học không giám sát (Unsupervised Learning) là một phương pháp của ngành học máy nhằm tìm ra một mô hình mà phù hợp với các quan sát Nó khác biệt với học có giám sát ở chỗ là đầu ra đúng tương ứng cho mỗi đầu vào là không biết trước Trong học không có giám sát, một tập dữ liệu đầu vào được thu thập Học không có giám sát thường đối xử với các đối tượng đầu vào như là một tập các biến ngẫu nhiên Sau đó, một mô hình mật độ kết hợp sẽ được xây dựng cho tập dữ liệu đó
Trang 15Học không có giám sát có thể được dùng kết hợp với suy luận Bayes để cho
ra xác suất có điều kiện (nghĩa là học có giám sát) cho bất kì biến ngẫu nhiên nào khi biết trước các biến khác
Học không có giám sát cũng hữu ích cho việc nén dữ liệu: về cơ bản, mọi giải thuật nén dữ liệu hoặc là dựa vào một phân bố xác suất trên một tập đầu vào một cách tường minh hay không tường minh Một dạng khác của học không có giám sát
là phân nhóm dữ liệu, nó đôi khi không mang tính xác suất Các thuật toán của Học không giám sát:
• K-mean
• Mô hình hỗn hợp Gaussian
• Phân cụm phân cấp
• PCA / T-SNE
Hình 1.2 Bài toán Phân loại khách hàng
Nguồn: Tác giả biên tập từ [1]
Trang 16c Học bán giám sát
Học bán giám sát (Semi-supervised learning) là phương pháp học máy mà dữ liệu được dùng để huấn luyện bao gồm dữ liệu gán nhãn và chưa gán nhãn Học bán giám sát được áp dụng nhiều vào phân lớp và phân cụm
Nhiệm vụ của học bán giám sát: là huấn luyện tập phân lớp tốt hơn Học có
giám sát từ dữ liệu gán nhãn và chưa gán nhãn
Hình 1.3 Học bán giám sát với hai lớp (hình tam giác và hình vuông) và các mẫu chưa
gán nhãn (hình tròn)
Nguồn: Tác giả biên tập từ [1]
1.2 Tổng quan phân cụm dữ liệu
1.2.1 Khái niệm kỹ thuật phân cụm dữ liệu
Phân cụm (clustering) là một kỹ thuật rất quan trọng trong học không giám sát (unsupervised learning), kỹ thuật này giúp phân nhóm các mẫu dữ liệu vào các nhóm khác nhau (clusters) dựa trên các đặc tính (features) Mục tiêu của phân cụm
dữ liệu là tìm ra các nhóm có tính chất tương tự nhau và khác với các nhóm khác
Trang 17Do vậy, phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các dụm dữ liệu sao cho các đối tượng trong một cụm thì sẽ có sự “tương tự (Similar)” với nhau và các đối tượng trong các cụm khác nhau thì “phi tương tự (Dissimilar)” với nhau [ppp]
Trong kỹ thuật phân cụm dữ dữ liệu tùy vào cách thứ phân chia mẫu dữ liệu vào các nhóm mà được chia thành 2 nhóm là “Phân cụm cứng” và “Phân cụm mềm”
Hình 1.4 Minh họa phân cụm dữ liệu
Nguồn: Sưu tập 1.2.2 Phân cụm cứng và phân cụm mờ
a Phân cụm cứng
Phân cụm cứng (hard clustering) là một phương pháp trong học không giám sát (unsupervised learning) giúp phân loại các mẫu dữ liệu vào các nhóm (clusters) dựa trên các đặc trưng (features) của chúng Các mẫu dữ liệu được chia thành các nhóm không trùng lặp và mỗi mẫu dữ liệu chỉ thuộc vào một nhóm
Trang 18Phân cụm cứng thực hiện việc gán các mẫu dữ liệu vào các nhóm bằng cách tính toán khoảng cách giữa mỗi mẫu dữ liệu và các trung tâm của các nhóm đã được xác định trước Một mẫu dữ liệu sẽ được gán vào nhóm có trung tâm gần nhất với
nó Kết quả phân cụm cứng là một tập hợp các nhóm, trong đó mỗi nhóm chứa các mẫu dữ liệu có tính chất tương tự nhau Các phương pháp phân cụm cứng phổ biến bao gồm K-means và Hierarchical Clustering
Phân cụm cứng thường được sử dụng trong các bài toán mà dữ liệu được phân biệt rõ ràng giữa các nhóm Ví dụ, trong phân tích khách hàng, các khách hàng được phân loại vào các nhóm dựa trên các đặc trưng như tuổi, giới tính, thu nhập và sở thích mua hàng
b Phân cụm mềm
Phân cụm mềm (soft clustering) là một phương pháp trong học không giám sát (unsupervised learning) giúp phân loại các mẫu dữ liệu vào các nhóm (clusters) dựa trên các đặc trưng (features) của chúng, nhưng khác với phân cụm cứng (hard clustering) thì mỗi mẫu dữ liệu có thể thuộc vào nhiều nhóm với một mức độ xác suất khác nhau thay vì chỉ thuộc về duy nhất một nhóm như phân cụm cứng
Kết quả phân cụm mềm được biểu diễn bằng một ma trận có kích thước là số mẫu dữ liệu x số nhóm, trong đó mỗi phần tử trong ma trận thể hiện mức độ xác suất
mà một mẫu dữ liệu thuộc về một nhóm cụ thể Các phần tử này được gọi là các giá trị ẩn (hidden values) hoặc các đại lượng latents
Phân cụm mềm thường được sử dụng trong các bài toán mà dữ liệu không phân biệt rõ ràng giữa các nhóm, hoặc các mẫu dữ liệu có thể thuộc vào nhiều nhóm khác nhau với một mức độ xác suất khác nhau Ví dụ, trong phân tích hình ảnh, một vật thể có thể được xem là thuộc vào nhiều lớp khác nhau, tùy thuộc vào các đặc
Trang 19trưng của nó Các phương pháp phân cụm mềm phổ biến bao gồm Fuzzy C-means
và GMM (Gaussian Mixture Model)
c Khác biệt giữa phân cụm cứng và phân cụm mờ
Sự khác biệt giữa phân cụm cứng và phân cụm mềm là cách thức phân chia các mẫu dữ liệu vào các nhóm
• Phân cụm cứng: Mỗi mẫu dữ liệu chỉ thuộc về một nhóm duy nhất Khi thực hiện phân cụm cứng, mỗi mẫu dữ liệu được gán vào nhóm có trung tâm gần nhất Ví dụ, trong phân cụm K-means, mỗi mẫu dữ liệu chỉ được phân vào một nhóm duy nhất
• Phân cụm mềm: Mỗi mẫu dữ liệu có thể thuộc về nhiều nhóm với mức độ khả năng (degree of membership) khác nhau Khi thực hiện phân cụm mờ, mỗi mẫu dữ liệu được đại diện bởi một vector mà mỗi phần tử của vector là một giá trị từ 0 đến 1 biểu thị mức độ thuộc về từng nhóm Ví dụ, trong phân cụm Fuzzy C-means, mỗi mẫu dữ liệu được biểu diễn bởi một vector mà tổng các phần tử của vector bằng 1
Cả phân cụm cứng và phân cụm mờ đều có ưu điểm và nhược điểm riêng, và
sự lựa chọn giữa hai phương pháp này phụ thuộc vào bài toán và đặc tính của dữ liệu Phân cụm cứng thường đơn giản và dễ hiểu, tuy nhiên, nó có thể bị ảnh hưởng bởi các nhiễu (outliers) trong dữ liệu Phân cụm mờ thường cho kết quả phân cụm chính xác hơn và có khả năng giúp phân chia các mẫu dữ liệu "lõi" (core) của các nhóm tốt hơn, tuy nhiên, việc giải thích kết quả phân cụm mờ thường khó hơn
1.2.3 Quy trình thực hiện kỹ thuật phân cụm dữ liệu
Các bước thực hiện phân cụm dữ liệu bao gồm:
Trang 20• Chuẩn bị dữ liệu: Lựa chọn các đặc trưng (features) của dữ liệu và tiền xử lý
dữ liệu (nếu cần)
• Chọn thuật toán phân cụm: Lựa chọn thuật toán phân cụm phù hợp với dữ
liệu và mục tiêu của bài toán
• Xác định số cụm (clusters): Xác định số lượng cụm cần phân chia, có thể sử
dụng các phương pháp như Elbow method hoặc Silhouette method để đưa ra quyết định này
• Thực hiện phân cụm: Áp dụng thuật toán phân cụm để phân chia các điểm
dữ liệu thành các cụm
1.3 Các thuật toán phân cụm dữ liệu
1.3.1 Thuật toán Kmean
a Giới thiệu thuật toán Kmean
Thuật toán phân cụm dữ liệu K-means (K-means Clustring) thuộc phương pháp phân cụm Phân hoạch do James MacQueen đề xuất trong lĩnh vữc thống kê vào năm 1967 K-means là thuật toán rất quan trọng và được sử dụng phổ biến trong
kỹ thuật phân cụm
Thuật toán dựa trên độ đo khoảng cách của các đối tượng dữ liệu đến phần tử
là trung tâm của cụm chứa dữ liệu đó Thuật toán K-means lấy tham số đầu vào là
K (với K là số cụm được xác định từ trước, K nguyên dương) và phân chia một tập
n đối tượng (objects) từ một cơ sở dữ liệu D vào trong K cụm để cho kết quả độ tương đồng trong cụm là cao trong khi độ tương đồng ngoài cụm là thấp
b Phân tích toán học
• Input (Đầu vào): Các điểm dữ liệu và số cụm cần xác định
Trang 21• Output (Đầu ra): Tâm cụm của mỗi cụm và phân các điểm dữ liệu vào nhóm tương ứng
• Điều kiện: Mỗi một điểm dữ liệu chỉ thuộc về một cụm duy nhất
Điều đầu tiên cần phải chú ý trong bài toán phân cụm K-means là các điểm
dữ liệu ban đầu trong tập dữ liệu không có nhãn cụ thể
Giả sử bài toán ban đầu có N điểm dữ liệu trong tập dữ liệu ghép lại thành ma trận X = [𝑥1, 𝑥2 , 𝑥3 , … , 𝑥𝑛 ] ∈ 𝑅𝑑∗ 𝑁 (số chiều dữ liệu) và có K < N là số cụm được xác định trước Việc cần tìm ở đây là các tâm cụm 𝑚1, 𝑚2, 𝑚3 , … , 𝑚𝑘 và nhãn của mỗi điểm dữ liệu Ở đây mỗi cụm được đại diện nởi một nhãn, được xác định bởi một số tự nhiên từ 1 đến K
Mỗi điểm dữ liệu 𝑥𝑖 sẽ tìm được nhãn 𝑦𝑖 = [ 𝑦𝑖1, 𝑦𝑖2, … , 𝑦𝑖𝐾 ] Điều kiện nếu
𝑥𝑖 được phân vào cụm k thì 𝑦𝑖𝑘 = 1 và 𝑦𝑖𝑗 = 0, ∀𝑗 ≠ 𝑘 Điều này có nghĩa là có đúng một phần tử của 𝑦𝑖 là bằng 1 (tương ứng với cụm 𝑥𝑖 được phân vào), các phần
tử còn lại bằng 0 Ràng buộc của 𝑦𝑖 được biết dưới dạng như sau:
bình phương khoảng cách Eucild” ||xi − mk ||
2
2
Khoảng cách Eucild
Trang 22Có hai vector A (𝑥1, 𝑥2 ) và B (𝑦1, 𝑦2 ) trong không gian 2 chiều 𝑂𝑥𝑦 thì khoảng cách giữa chúng là || x – y || có giá trị độ lớn: 𝑑𝐴𝐵 = √(𝑥1− 𝑥2 )2+ (𝑦1− 𝑦2 )2 Khoảng cách này được gọi là khoảng cách Euclid :
𝑗=1 𝑁
𝑖=1
Trang 23Trong đó Y = [ 𝑦1, 𝑦2, … , 𝑦𝑛], M = [𝑚1, 𝑚2, … , 𝑚𝑛] lần lượt là các ma tận được tạo bởi label vector của mỗi điểm dữ liệu và tâm của mỗi cụm Hàm rằng buộc:
➢ Bài toán khó tìm điểm tối ưu vì có thêm điều kiện thỏa mãn
Để giải được bài toán sẽ sử dụng một kỹ thuật đơn giản và phổ biến là giải xen kẽ Y và M khi một biến được cố định Lần lượt giải quyết hai bài toán sau:
o Cố định M và tìm Y:
Giả sử đã tìm được các tâm cụm tiến hành tìm nhãn cho các điểm dữ liệu để hàm mất mát đạt giá trị nhỏ nhất Bài toán tìm các cụm cho mỗi điểm dữ liệu 𝑥𝑖 được tóm tắt như sau:
Trang 24o Cố định Y và tìm M:
Giả sử đã phân các diểm dữ liệu vào từng cụm và tiến hành tìm tâm cụm mới của mỗi cụm để hàm mất mát đạt giá trị nhỏ nhất Bài toán tìm tâm cụm cho mỗi cụm tóm tắt như sau:
∑𝑁𝑖=1 𝑦𝑖𝑗
Và 𝑚𝑗 chính là trung bình cộng của các điểm trong cụm j
c Ý tưởng thuật toán Kmeans
Input: Các điểm dữ liệu X và số cụm K
Output: Các tâm cụm M và nhãn cho từng điểm dữ liệu Y
Giải thuật cụ thể của K-means:
Trang 25• Bước 1: Chọn K điểm ngẫu nhiên trong tập dữ liệu ban đầu làm các centroid
ban đầu
• Bước 2: Gán mỗi điểm dữ liệu vào nhóm của centroid gần nó nhất
• Bước 3: Tính toán lại các centroid bằng cách lấy trung bình cộng của tất cả
các điểm dữ liệu trong cùng một nhóm
• Bước 4: Lặp lại bước 2 và 3 cho đến khi các centroid không thay đổi nữa hoặc
số lần lặp vượt quá một ngưỡng được định trước
• Bước 5: Kết quả là tập hợp các centroid cuối cùng và nhóm mà mỗi điểm dữ
liệu thuộc về
Hình 1.5 Giải thuật cụ thể của K-means
Nguồn: Sưu tập
Trang 261.3.2 Thuật toán GMM (Gaussian Mixture Model)
Thuật toán Gaussian Mixture Model (GMM) là một thuật toán phân cụm mềm, nghĩa là mỗi điểm dữ liệu có thể thuộc về nhiều nhóm khác nhau với một xác suất nhất định Thuật toán này dựa trên giả định rằng tập dữ liệu được phân phối theo phân phối Gaussian hoặc hỗn hợp của các phân phối Gaussian
Thuật toán GMM là một phương pháp phân cụm linh hoạt và mạnh mẽ, cho phép phát hiện các cụm có hình dạng phức tạp và kích thước khác nhau trong dữ liệu Nó được sử dụng rộng rãi trong các lĩnh vực như xử lý ảnh, nhận dạng giọng nói, phân tích tín hiệu, v.v
GMM sử dụng phân phối Gaussian (hay còn gọi là phân phối chuẩn) để mô tả mỗi cụm trong dữ liệu Để xác định số lượng cụm trong dữ liệu, ta có thể sử dụng các phương pháp như phương pháp Elbow hoặc phương pháp BIC Ý tưởng cốt lõi của mô hình là dữ liệu được mô hình hóa với một số hỗn hợp của các phân phối Gaussian Hàm mật độ xác suất một thứ nguyên của Phân phối Gauss như sau:
𝑦 = 1𝜎√2𝜋𝑒
−(𝑥−𝜇)22𝜎 2
• 𝜇 – Giá trị trung bình
• 𝜎 – Độ lệnh chuẩn
• 𝜋 ≈ 3.14159…
• 𝑒 ≈ 2.71828…
Trong GMM có hai loại tham số quan trọng cần được học từ dữ liệu:
1 Trọng số thành phần (component weights): xác định tỉ lệ đóng góp của mỗi phân phối Gaussian trong mô hình Đây là giá trị dương và tổng trọng số của tất cả các thành phần bằng 1
Trang 27α𝑘 = 𝑁𝑘
𝑁,
• 𝛼𝑘 là trọng số của thành phần thứ 𝑘,
• 𝑁𝑘 là số lượng điểm dữ liệu được gán cho thành phần thứ 𝑘,
• 𝑁 là tổng số lượng điểm dữ liệu
2 Phương sai / hiệp phương sai (covariance): đo lường sự biến thiên của dữ liệu trong từng phân phối Gaussian Trong trường hợp đơn giản, phương sai được
sử dụng để đo lường sự biến thiên của mỗi biến độc lập trong mô hình Trong trường hợp phức tạp hơn, hiệp phương sai được sử dụng để đo lường sự tương quan giữa các biến độc lập
Σ𝑘 = ∑𝑁 𝑟𝑖𝑘(𝑥𝑖 − μ𝑘)(𝑥𝑖 − μ𝑘)𝑇
𝑖=1
Trong đó:
• Σ𝑘 là ma trận phương sai / hiệp phương sai của thành phần thứ 𝑘
• 𝑟𝑖𝑘 là xác suất mà điểm dữ liệu thứ 𝑖 được gán cho thành phần thứ 𝑘
• 𝑥𝑖 là vector đặc trưng của điểm dữ liệu thứ 𝑖
• 𝜇𝑘 là vector trung bình (mean) của thành phần thứ 𝑘,
• 𝑁𝑘 là tổng trọng số của thành phần thứ 𝑘, được tính bằng cách cộng tổng xác suất của tất cả các điểm dữ liệu được gán cho thành phần đó Trong trường hợp các thành phần Gaussian có hiệp phương sai (tức là ma trận hiệp phương sai khác 0), ta cần sử dụng công thức tính hiệp phương sai đặc biệt:
Σ𝑘 = ∑𝑁 𝑟𝑖𝑘(𝑥𝑖 − μ𝑘)(𝑥𝑖 − μ𝑘)𝑇
𝑖=1
Trong đó:
Trang 28số này
Hình 1.6 Ví dụ thuật toán GMM
Nguồn: Tác giả biên tập từ [9]
Giải thuật cụ thể của GMM:
• Bước 1: Chọn K phân phối Gaussian ngẫu nhiên làm các centroid ban đầu
• Bước 2: Tính toán xác suất mỗi điểm dữ liệu thuộc về từng phân phối
Gaussian
• Bước 3: Cập nhật lại trọng số, trung bình và ma trận hiệp phương sai của các
Trang 29• Bước 4: Lặp lại bước 2 và 3 cho đến khi giá trị hàm log hợp lý của dữ liệu
không thay đổi nhiều hoặc cho đến khi đạt đến một số lần lặp tối đa được định trước
• Bước 5: Kết quả là tập hợp các phân phối Gaussian cuối cùng và xác suất mà
mỗi điểm
1.4 Phương pháp chọn số cụm tối ưu
1.4.1 Phương pháp Elbow
Phương pháp Elbow (Cùi chỏ) là một phương pháp được sử dụng để xác định
số lượng cụm (clusters) tối ưu cho một mô hình gom nhóm dữ liệu (clustering) Phương pháp Elbow được gọi là "cùi chỏ" bởi vì đường cong biểu diễn sự biến đổi của số lượng cụm theo độ chính xác của mô hình giống như hình dáng của một cùi chỏ Các bước để sử dụng phương pháp Elbow để xác định số lượng cụm tối ưu như sau:
1 Thực hiện gom nhóm dữ liệu với các số lượng cụm khác nhau, từ nhỏ đến lớn
2 Đối với mỗi số lượng cụm, tính giá trị của hàm mục tiêu (sum of squared distances) hoặc chỉ số đo lường sự tương đồng của các điểm trong cùng một cụm
3 Vẽ biểu đồ đường cong biểu diễn giá trị hàm mục tiêu theo số lượng cụm
4 Chọn số lượng cụm tối ưu là điểm gập (elbow point) trên đường cong, nghĩa
là điểm mà sau đó giảm độ dốc của đường cong trở nên chậm hơn
Việc chọn số lượng cụm tối ưu là quan trọng để giúp đạt được hiệu quả cao nhất cho các tác vụ gom nhóm dữ liệu Tuy nhiên, phương pháp Elbow cũng có một
số hạn chế
Trang 30Ngoài ra, phương pháp này cũng không phải là phương pháp duy nhất để xác định số lượng cụm tối ưu
Phương pháp BIC dựa trên định lý Bayes và sử dụng log-likelihood và số lượng mẫu để đo lường mức độ phù hợp của một mô hình Đối với bài toán phân cụm, phương pháp BIC giúp ta tìm ra số lượng phân cụm tối ưu bằng cách tìm giá
trị nhỏ nhất của BIC Công thức tính BIC cho một mô hình phân cụm với k cụm là:
𝐵𝐼𝐶 = 𝑙𝑜𝑔(𝑛) ∗ 𝑘 − 2 ∗ 𝑙𝑜𝑔(𝐿̂)
Trang 31Trong đó:
• 𝑛 là số lượng mẫu trong tập dữ liệu
• 𝑘 là số lượng cụm
• 𝐿̂ là giá trị của hàm log-likelihood của mô hình trên tập dữ liệu
Số lượng phân cụm tối ưu là giá trị k mà cho giá trị BIC nhỏ nhất Phương pháp BIC thường được sử dụng cùng với phương pháp Elbow để đánh giá số lượng phân cụm tối ưu cho một tập dữ liệu
Hình 1.8 Phương pháp BIC
Nguồn: Tác giả biên tập từ [8]
1.5 Đánh giá kết quả phân cụm