Trong đó, phân cụm dữ liệu là một trong những kĩ thuật khai thác thôngtin phổ biến được triển khai đa dạng trong các lĩnh vực ngành nghề từ kinh tế,giáo dục cho đến bảo hiểm, kế hoạch đô
Trang 1TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
KHOA TOÁN KINH TẾ -o0o -
CHUYÊN
ĐỀ THỰC TẬP
Chuyên ngành Toán Tài chính
Đề tài:
KHAI PHÁ DỮ LIỆU BẰNG THUẬT TOÁN K MEANS VỚI
TÌNH HUỐNG PHÂN LOẠI NGƯỜI DÙNG WEBSITE
ANIME47.COM
Sinh viên thực hiện : Phạm Hà Anh
Mã sinh viên : 11160366
Lớp : Toán tài chính 58 Giảng viên hướng dẫn : ThS Phạm Thị Nga
Hà Nội, tháng 12 năm 2019
LỜI CẢM ƠN
Trang 2Lời đầu tiên cho phép em xin được gửi lời cảm ơn chân thành nhất đếnTrường Đại học Kinh Tế Quốc Dân, Khoa Toán Kinh tế đã luôn tạo điều kiện vàmôi trường tốt nhất để em học tập và rèn luyện cũng như tham gia các hoạt độngtrong suốt những năm học vừa qua.
Em xin chân thành cảm ơn sự hướng dẫn, chỉ dạy tận tình của cô Th SPhạm Thị Nga đã tạo điều kiện giúp em hoàn thành chuyên đề tốt nghiệp củamình
Trong quá trình nghiên cứu do bản thân còn có nhiều thiếu hụt về mặt kiếnthức và kinh nghiệm thực tế cũng như áp lực về mặt thời gian nên em không thểtránh khỏi những hạn chế, thiếu sót Vì vậy, em rất mong nhận được sự góp ý từquý thầy cô để em hoàn thiện hơn
MỤC LỤC
DANH MỤC BẢNG
Trang 3DANH MỤC HÌNH VẼ
MỞ ĐẦU 1
Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 4
1.1 MỘT SỐ KHÁI NIỆM 4
1.1.1 Khai phá dữ liệu 4
1.1.2 Quy trình tiến hành khai phá dữ liệu 4
1.1.3 Các phương pháp khai phá dữ liệu 5
1.2 CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU PHỔ BIẾN 6
1.2.1 Một số khái niệm 6
1.2.2 Các thuật toán phân cụm dữ liệu phổ biến 10
Chương 2 THUẬT TOÁN PHÂN CỤM DỮ LIỆU K-MEANS CLUSTERING 15
2.1 KHÁI QUÁT VỀ THUẬT TOÁN K-MEANS 15
2.1.1 Giới thiệu 15
2.1.2 Thuật toán 15
2.1.3 Ví dụ cụ thể 16
2.2 MỐI QUAN HỆ GIỮA K-MEANS VÀ THÀNH PHẦN CHÍNH PCA ……….18
2.2.1 Phân tích thành phần chính PCA 18
2.2.2 Mối quan hệ giữa K-means và thành phần chính PCA 18
Chương 3 ỨNG DỤNG THUẬT TOÁN K-MEANS TRONG VIỆC PHÂN NHÓM NGƯỜI DÙNG 21
3.1 BÀI TOÁN 21
3.2 ỨNG DỤNG PHÂN NHÓM NGƯỜI DÙNG WEBSITE PHIM ANIME47.COM 22
3.2.1 Thu thập dữ liệu 22
3.2.2 Tiền xử lí dữ liệu 23
3.2.3 Phân tích kết quả 27
3.2.4 Khuyến nghị 39
Trang 4KẾT LUẬN 41 TÀI LIỆU THAM KHẢO 42
DANH MỤC BẢNG
Bảng 1 1 Quy trình khai phá dữ liệu 4Bảng 1 2 Quy trình phân cụm dữ liệu 7Bảng 1 3 Giải thích các giá trị tham số 11
Trang 5Bảng 1 4 Ưu điểm và nhược điểm của thuật toán BIRCH 12
Bảng 3 1 Thông tin về các biến trong bộ số liệu 1 22
Bảng 3 2 Thông tin về các biến trong bộ số liệu 2 22
Bảng 3 3 Top 5 thể loại phim mà người dùng nhóm 1 yêu thích 34
Bảng 3 4 Top 5 thể loại phim mà người dùng nhóm 2 yêu thích 36
Bảng 3 5 Top 5 thể loại phim mà người dùng nhóm 3 yêu thích 37
Bảng 3 6 Top 5 thể loại phim mà người dùng nhóm 4 yêu thích 39
DANH MỤC HÌNH VẼ Hình 1 1 Phân cụm phân cấp theo phương pháp giảm dần 11
Hình 2 1 Thuật toán K means 16
Hình 2 2 Phân tích thành phần chính PCA 19
Hình 2 3 Phân tích thành phần chính PCA 19
Trang 6Hình 3 1 Minh họa bộ số liệu 1 22
Hình 3 2 Minh họa bộ số liệu 2 23
Hình 3 3 Đồ thị Elbow Method 29
Hình 3 4 Đồ thị Silhoutee Score 30
Hình 3 5 Đồ thị các cụm dữ liệu dưới không gian 3 chiều 32
Hình 3 6 Thể loại phim mà người dùng nhóm 1 yêu thích 34
Hình 3 7 Thể loại phim mà người dùng nhóm 2 yêu thích 36
Hình 3 8 Thể loại phim mà người dùng nhóm 3 yêu thích 37
Hình 3 9 Thể loại phim mà người dùng nhóm 4 yêu thích 39
Trang 7MỞ ĐẦU
1 Lí do lựa chọn đề tài
Thời đại 4.0 mở ra nhiều cơ hội cũng như thách thức bởi sự phát triển vàảnh hưởng của thông tin số đến mọi hoạt động trong cuộc sống, cũng đồng nghĩavới việc lượng dữ liệu thu thập và lưu trữ được là ngày càng lớn Sự bùng nổthông tin đã dẫn đến một yêu cầu thực tế hết sức cần thiết đó là cần mang đếnnhững công cụ giải thuật mới để có thể khám phá các tri thức một cách tối ưu vàhiệu quả nhất Và với các yêu cầu đó, kĩ thuật khai phá dữ liệu (Data mining)xuất hiện và ngày càng trở nên phổ biến
Trong đó, phân cụm dữ liệu là một trong những kĩ thuật khai thác thôngtin phổ biến được triển khai đa dạng trong các lĩnh vực ngành nghề từ kinh tế,giáo dục cho đến bảo hiểm, kế hoạch đô thị, v.v… Rõ ràng, mọi dữ liệu trongcuộc sống đều cần được phân loại để con người có thể tạo ra những quyết địnhhợp lí và chính xác nhất Cụ thể, đối với lĩnh vực phim ảnh, một ngành có lượng
dữ liệu khổng lồ, ta cần xử lý, phân loại để có quản lý và ứng dụng các kế hoạch
marketing phù hợp nhất Đó là lý do em lựa chọn đề tài “Khai phá dữ liệu bằng
thuật toán K means với tình huống phân loại người dùng website anime47.com.”
2 Tổng quan về nghiên cứu
Bức tranh nghiên cứu về thuật toán phân cụm K-means Clustering có thểđược nhìn qua hai góc độ trong nước và ngoài nước
Các tài liệu nghiên cứu khoa học nước ngoài có sự tìm hiểu và phát triểnkhá đa dạng về thuật toán phân cụm K means, từ các nghiên cứu học thuật về lýthuyết đến các nghiên cứu ứng dụng thuật toán vào đời sống Về khía cạnh lý
thuyết, bài nghiên cứu “Research on K-Value Selection Method of K-Means
Clustering Algorithm” của Chunhui Yuan and Haitao Yang trên Multidisciplinary
Scientific Journal đã khái quát hóa một bức tranh tổng quan về thuật toán K
means và cách xác định số cụm k Về ứng dụng thuật toán, có thể kể đến một số
nghiên cứu như: Bài viết “Application of K-Means Clustering algorithm for
prediction of Students’ Academic Performance” (International Journal of
Computer Science and Information Security, Vol 7, No 1, 2010) đã ứng dụng kỹthuật phân cụm K means trong dự đoán kết quả học tập của sinh viên và đưa racác giải pháp, khuyến nghị; H.W Shina và S.Y Sohnb phân loại thị trường chứng
khoán qua bài nghiên cứu “Segmentation of stock trading customers according
Trang 8to potential value”; hay bài toán phân nhóm khách hàng trong “Customer Segmentation using K-means Clustering”, University of Petroleum & Energy
Studies Nhìn chung, trong hầu hết các nghiên cứu, thuật toán K means đều chothấy hiệu quả ưu việt trong phân nhóm đối tượng, và có thể áp dụng trong nhiềulĩnh vực khác nhau
Ở Việt Nam, tính đến thời điểm hiện tại, thuật toán K- means Clusteringđược tìm hiểu và nghiên cứu khá nhiều, tuy nhiên phổ biến nhất là những ứngdụng mang đậm tính chuyên ngành công nghệ thông tin như phân vùng ảnh hayphân mức web Cùng với đó, việc áp dụng thuật toán K-means trong phân loạikhách hàng trở nên ngày càng phổ biến bởi tính đơn giản, dễ sử dụng và tốc độ
thực hiện nhanh Ví dụ tiêu biểu có thể kể đến bài nghiên cứu “Phân loại hành vi
khách hàng sử dụng dịch vụ di động dựa trên thuật toán K-means” của tác giả Lê
Minh Hải, thuộc Học viện Công nghệ bưu chính viễn thông Rõ ràng, việc tìm
hiểu về thuật toán phân cụm K means với hướng nghiên cứu phân nhóm ngườidùng là hoàn toàn cần thiết
3 Mục tiêu nghiên cứu
Mục tiêu của đề tài là phân nhóm người dùng website phimAnime47.com Từ đó nhận xét, kết luận về đặc điểm đối với từng nhóm kháchhàng, đưa ra những chiến lược marketing và quảng cáo phù hợp và hiệu quả
4 Đối tượng nghiên cứu
Đối tượng nghiên cứu của chuyên đề là thuật toán K means và ứng dụngtrong phân nhóm người dùng website anime47.com
5 Phương pháp nghiên cứu và số liệu
Chuyên đề sử dụng phương pháp định lượng trong nghiên cứu Cụ thể tácgiả sử dụng phần mềm Python nhằm phân tích, khai phá dữ liệu và phân nhómngười dùng website, từ đó đưa ra các đề xuất, khuyến nghị phù hợp với từngnhóm khách hàng
Bộ số liệu sử dụng bao gồm thông tin đánh giá điểm phim của 20 000người dùng website anime47.com, không bao gồm các thông tin cá nhân củakhách hàng như giới tính, độ tuổi, nghề nghiệp, …
6 Những đóng góp mới của chuyên đề
Trang 9Bài chuyên đề đã đạt được một số điểm mới đáng ghi nhận như: (1) Ứngdụng thuật toán K means vào một tình huống hữu dụng trên thực tế là phân nhómkhách hàng nhằm đưa ra các đề xuất, khuyến nghị phù hợp với từng nhóm đốitượng; (2) Tác giả đã ứng dụng được phần mềm Python trong nghiên cứu.
7 Kết cấu của chuyên đề
Bên cạnh phần mở đầu và kết luận, bài chuyên đề được kết cấu thành bachương chính, cụ thể như sau:
Chương 1 Tổng quan về khai phá dữ liệu
Chương 2 Thuật toán phân cụm dữ liệu K means Clustering
Chương 3 Ứng dụng thuật toán K means trong việc phân nhóm người dùng
Trang 10Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 MỘT SỐ KHÁI NIỆM
1.1.1 Khai phá dữ liệu
Vào năm 1989, lần đầu tiên Fayyad, Piatestsky-Shapiro và Smyth đã địnhnghĩa khái niệm phát hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery inDatabase) là quy trình tìm kiếm các thông tin hữu ích từ tập dữ liệu lớn Hay nóicách khác, khai phá dữ liệu là một bước quan trọng trong quá trình khám phá trithức Quy trình khai phá dữ liệu sử dụng các thuật toán có sẵn để tìm ra các mẫu(hay các mô hình) từ tập tữ liệu
Mục tiêu của việc khai phá dữ liệu là tìm kiếm các thông tin, tri thức tiềm
ẩn trong dữ liệu để từ đó, mang lại các tri thức thiết yếu cho đa dạng các lĩnh vựctrong cuộc sống Chính xác hơn, việc phân loại, sắp xếp các tập dữ liệu để xácđịnh các mẫu và thiết lập các mối liên hệ nhằm quyết định các nghiệp vụ nhờphân tích dữ liệu được gọi là “khai phá dữ liệu”
1.1.2 Quy trình tiến hành khai phá dữ liệu
Với một lượng thông tin lớn, sử dụng thông tin như thế nào rõ ràng có ảnhhưởng vô cùng quan trọng Từ các dữ liệu sẵn có, ta cần phải xác định những trithức tiềm ẩn có giá trị, tìm ra xu hướng và những yếu tố tác động đến dữ liệu đó.Đây chính là việc khai phá tri thức dữ liệu Cụ thể, quy trình khai phá dữ liệuđược thực hiện qua các bước sau:
Bảng 1 1 Quy trình khai phá dữ liệu Nội dung Mục tiêu
Bước 1 Thu thập dữ liệu Đây được coi là một trong những bước quan
trọng vì rõ ràng, để có thể khám phá tri thức thìcần phải có dữ liệu để khám phá Thu thập dữliệu bao gồm các quá trình lựa chọn lĩnh vựckhám phá, xây dựng các thuộc tính biểu diễn vàcác phương thức cập nhật thông tin
Bước 2 Tiền xử lí dữ liệu Là việc loại bỏ, giảm bớt độ nhiễu và các phần tử
ngoại lai trong bộ dữ liệu,Bước 3 Chuyển đổi dữ Là việc chuẩn hóa bộ số liệu để chuyển sang
Trang 11liệu dạng mà thích hợp với mô hình khám phá dữ liệu
ở các bước sau Các kĩ thuật chuyển đổi dữ liệuthường được sử dụng có thể kể đến như giảmkích thước của bộ số liệu, đưa dữ liệu sang một
hệ trục tọa độ mới, chuyển dạng dữ liệu, …Bước 4 Khai phá dữ liệu Là bước dùng các kĩ thuật phân tích để khai thác
các tri thức có được từ các bước trên Đây đượccoi là bước phức tạp và có ảnh hưởng nhất đếnquy trình khai phá tri thức Một số kĩ thuật khaiphá dữ liệu thường được áp dụng có thể kể đếnlà: rừng ngẫu nhiên, chuỗi thời gian, … Từ đó, ta
có thể lựa chọn (các) giải thuật khai phá dữ liệuphù hợp
(Nguồn: Tác giả tổng hợp)
1.1.3 Các phương pháp khai phá dữ liệu
Vì áp dụng nhiều kĩ thuật từ đa dạng các lĩnh vực như máy học (MarchineLearning) và trí tuệ nhân tạo, khai phá dữ liệu có thể được chia thành hai nhómphương pháp khác nhau như sau:
Các phương pháp khai phá dữ liệu theo quan điểm của máy học được chia thành các dạng sau:
o Supervised Learning – Học có giám sát: Là quy trình xây dựng và tối ưu
mô hình dự báo dựa vào tiêu chuẩn dữ liệu được xác định trước Ví dụ như phân chia số lượng học sinh trong một lớp học dựa theo giới tính
o Unsupervised Learning – Học không giám sát: Là quy trính phân chia vàđịnh danh dữ liệu bằng dữ liệu đầu vào không được xác định thông tintrước
o Semi-Supervised Learning – Học nửa giám sát: Là quy trình phân chia đốitượng dữ liệu thành các nhóm con dựa vào một số thông tin cho trước(thông tin về các nhóm không đầy đủ như phương pháp học có giám sát)
Trang 12o Reinforcement learning – Học củng cố: Là dạng bài toán giúp cho hệthống tự động xác định hành vi dựa trên hoàn cảnh sao cho lợi ích đạtđược là tối ưu nhất Những ứng dụng phổ biến của phương pháp học củng
cố có thể kể đến như Lí thuyết trò chơi (Game Theory) hay các thuật toáncần xác định bước đi tiếp theo để đạt được điểm số cao nhất
Các phương pháp khai phá dữ liệu theo các lớp bài toán cần giải quyết có thể được chia thành:
o Classfication and Prediciton – Phân lớp và dự báo: là quy trình phân lớpđối tượng đến một trong các lớp đã biết trước Các bài toán thuộc dạngphân lớp và dự báo cũng được coi là phương pháp học có giám sát
o Clustering – Phân cụm dữ liệu: Phân nhóm các đối tượng thành các cụm
dữ liệu Các bài toán thuộc dạng phân cụm dữ liệu cũng được coi là
phương pháp học không giám sát
o Association rules – Luật kết hợp: là phương pháp tìm các luật biểu diễn trithức ở dạng luật điều kiện dựa trên xác suất (độ phổ biến và độ tin cậy)của luật Ứng dụng của luật kết hợp thường trong việc đưa ra các chiếnlược kinh doanh, marketing sản phẩm,…
o Time series analyst - Phân tích chuỗi thời gian: là quá trình phân tích dữ liệu có thuộc tính biến đổi theo thời gian Bài toán phân tích chuỗi thời gian thường được áp dụng trong thị trường chứng khoán, kinh tế, sinh học
1.2 CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU PHỔ BIẾN
1.2.1 Một số khái niệm
1.2.1.1 Phân cụm dữ liệu
Một trong những hướng nghiên cứu chính của khai phá dữ liệu có thể kểđến đó là phân cụm dữ liệu Phân cụm là việc tìm kiếm, phát hiện các cụm, cácmẫu dữ liệu ẩn và quan trọng trong tập dữ liệu để từ đó mang đến các thông tin,tri thức có giá trị, từ đó ảnh hưởng đến việc ra quyết định Thực tế luôn xuất hiệnnhững như yêu cầu về một cơ sở dữ liệu mà ở đó, ta có thể phân loại để tạo ra cácquyết định nghiệp vụ chính xác và tối ưu nhất Một số lĩnh vực mà phân cụm dữliệu thường được áp dụng có thể kế đến như marketing, giáo dục, y tế,…
Cụ thể hơn, định nghĩa về phân cụm có thể diễn giải như sau Dựa trên độtương tự hay phi tương tự giữa các đối tượng, quy trình chia tách tập dữ liệu
Trang 13thành các cụm dữ liệu được gọi là phân cụm dữ liệu Quy trình phân cụm đốitượng dữ liệu được tiến hành sao cho mức độ tương tự giữa các đối tượng trongcùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng trong các cụmkhác nhau là nhỏ nhất Đặc điểm của mỗi cụm dựa vào đặc trưng chung của tất
cả đối tượng dữ liệu thuộc cụm đó
1.2.1.2 Quy trình phân cụm dữ liệu
Bài toán phân cụm dữ liệu gồm các bước chính có thể mô tả như sau:
Bảng 1 2 Quy trình phân cụm dữ liệu Nội dung Mục tiêu
Bước 1 Chọn lựa đặc trưng Các đặc trưng cần phải được xác định sao
cho hợp lí nhất để từ đó có thể “mã hóa”thông tin tối ưu nhất Mục tiêu chính củaviệc chọn lựa chính là để giảm tối đa sựlặp lại thông tin giữa các đặc trưng
Bước 2 Thiết lập hàm tính độ
tương tự
Là độ đo khoảng cách tương tự hay phitương tự giữa hai vector đặc trưng Tất cảcác vector đặc trưng cần phải được đảmbảo đóng góp tính toán như nhau trongviệc đo độ tương tự và không có đặctrưng nào lấn át đặc trưng nào
Bước 3 Thiết lập các tiêu
Bước 5 Lựa chọn thuật toán
phân cụm phù hợp
Để làm rõ cấu trúc của tập dữ liệu, ta cầnxác định được một thuật toán phân cụmriêng biệt và phù hợp với bộ dữ liệu nhất.Bước 6 Thiết lập các tiêu
chuẩn biểu diễn vàđánh giá kết quả phâncụm
Để có các kết luận chính xác và hợp lýnhất, ta cần kết hợp các kết quả phân loại
và bằng chứng thực nghiệm với nhau
Trang 14(Nguồn: Tác giả tổng hợp)
1.2.1.3 Cách thức đo lường dữ liệu
Trước khi tiến hành phân cụm, ta cần xác định “khoảng cách” giữa các đốitượng, hoặc nói cách khác, chính là đo lường dữ liệu Đây là các hàm để tính độtương tự hay phi tương tự giữa các đối tượng dữ liệu
o Không gian metric
Các độ đo tương tự hay phi tương tự được xác định trong không gian độ
đo metric Một không gian metric là một tập trong đó có xác định các “khoảngcách” giữa từng cặp đối tượng, dựa trên những tính chất cơ bản của khoảng cáchhình học Một tập dữ liệu Z được coi là không gian metric nếu:
Khoảng cách của i, j với mỗi cặp i,j thuộc Z là một số thực d(i,j) được xácđịnh theo một quy tắc nào đó
Khoảng cách đo bằng độ khác biệt giữa cá thể i và cá thể j là một số thựcd(i, j) sao cho thỏa mãn:
d(i, j) 0d(i, j) = 0 nếu i = j d(i, j) = d(j, i)
d(i, j) ≤ d(i, k) + d(k, j) với
o Một số mẫu dữ liệu thông dụng có thể kể đến như:
Mẫu dữ liệu thuộc tính giá trị số: Đây là mẫu dữ liệu có thuộc tính là
các giá trị cụ thể có thể áp dụng trực tiếp các công thức tính toán độ đo khoảngcách như:
o Khoảng cách Minkowski: d(x,y) =
o Khoảng cách Euclide: d(x, y) = , đây được coi là trườnghợp đặc biệt của khoảng cách Minkowski với q = 2
o Khoảng cách Manhwatan: d(x, y) = , đây được coi là trườnghợp đặc biệt của khoảng cách Minkowski với q =1
o Tương tự Cosine (Cosine Similiraty):
Trang 15Similiraty = = = Trong đó Ai, Bi lần lượt là các thuộc tính của đối tượng A và B Nếu Cosinesimilarity bằng 1 thì A và B giống nhau hoàn toàn, ngược lại bằng -1 khi khácnhau hoàn toàn.
Mẫu dữ liệu có thuộc tính nhị phân: Là dạng mẫu dữ liệu chỉ bao gồm 2
giá trị 1 và 0, với ới giá trị 1 được định nghĩa là đúng và giá trị 0 được định nghĩa
là sai Hệ số đo lường thông dụng thường được áp dụng cho thuộc tính nhị phân
là hệ số đo lường Jaccard:
Trong đó, A và B là hai đối tượng chứa các thuộc tính nhị phân
Mẫu dữ liệu có thuộc tính định danh: Với miền giá trị rời rạc không
phân chia thứ tự, mẫu dự liệu định danh được coi là dạng tổng quát hóa của mẫu
dữ liệu nhị phân Nếu x và y là hai đối tượng có dạng định danh, ta có thể xácđịnh theo dạng nhị phân như sau: i = j, và i ≠ j Độ đo phi tương tự giữa i và jđược định nghĩa là d(i, j) = , với p là tổng số thuộc tính và m là số thuộc tínhgiống nhau
1.2.1.4 Phân loại phân cụm dữ liệu
Thông thường các phương pháp phân cụm được chia thành 2 nhóm, có thểtóm tắt ngắn gọn như sau:
o Phân cụm phân cấp: Là phương pháp tạo nên một cây phân cụm trong đó
số cụm được giảm hoặc tăng dần mà kết quả phân chia k lớp nhận được từviệc ghép 2 lớp nào đó từ k+1 lớp
o Phân cụm phân hoạch: Là phương pháp xác định trước số cụm k Từ n cáthể cần tạo ra k nhóm sao cho các cá thể cùng nhóm khác biệt ít hơn các
cá thể khác nhóm
Trong thực tế, hai phương pháp phân cụm phân cấp và phân cụm phânhoạch thường được kết hợp cùng với nhau Kết quả của phân cụm phân hoạch làkết quả của mỗi bước phân cụm phân cấp Qua mỗi lớp của phân cụm phân cấp,
Trang 16các ràng buộc sẽ thay đổi để tiến hành ở các nhóm khác nhau của phân cụm phânhoạch.
1.2.2 Các thuật toán phân cụm dữ liệu phổ biến
1.2.2.1 Thuật toán BIRCH
Như đã trình bày ở phần trước, phương pháp phân chia tập dữ liệu thànhmột cấu trúc có dạng hình cây phân cụm được xác định theo phương pháp tăngdần (Bottom up) hoặc giảm dần (Top down) gọi là phân cụm phân cấp Một trongnhững thuật toán áp dụng phương pháp giảm dần là thuật toán phân cụm có tên làBalanced Iterative Reducing and Clustering Using Hierarchies, hay viết tắt làBIRCH
BIRCH được mô tả cụ thể như sau Cây phân cấp giảm dần được tạo xuấtphát từ cụm lớn nhất bao gồm tất cả các đối tượng Mỗi một cụm được chia thànhcác cụm nhỏ hơn sau mỗi một vòng lặp thành công Thuật toán kết thúc khi có ncụm thỏa mãn điều kiện dừng
(Nguồn: Tác giả minh họa)
Hình 1 1 Phân cụm phân cấp theo phương pháp giảm dần
Thuật toán BIRCH xuất phát với ý tưởng không cần giữ lại tất cả đốitượng dữ liệu của các cụm mà chỉ cần quan tâm đến các tham số thống kê Vớimỗi cụm dữ liệu, thuật toán chỉ giữ lại một bộ ba tham số (n, LS, SS) - được gọi
là đặc trưng của cụm (Cluster Features- CF) với:
Trang 17Bảng 1 3 Giải thích các giá trị tham số
n Số đối tượng dữ liệu quan sát với
o Branching Factor – Nhân tố nhánh: Nhân tố nhánh B có mục đích chọnlựa số lượng nút con tối đa của mỗi nút lớn
o Threshold – Ngưỡng: Ngưỡng T nhằm xác định khoảng cách tối đa giữabất kì một cặp đối tượng nào trong nút lá của cây CF, hay chính là đườngkính của các cụm con được giữ tại các nút lá
Như vậy, đầu vào của thuật toán BIRCH là tập dữ liệu có n điểm (n đối tượng) và các giá trị ngưỡng T, k còn đầu ra là k cụm dữ liệu chứa các đối tượng
Cụ thể, quy trình thực hiện thuật toán BIRCH như sau:
o Bước 1 Với tất cả các đối tượng dữ liệu sẵn có, đầu tiền ta thiết lập mộtcây CF bắt đầu Mỗi một đối tượng được phân vào nút lá gần nhất và sẽtạo thành một cụm con Nút lá được tách khi đường kính của cụm lớn hơnngưỡng T Khi một đối tượng được phân vào nút lá, các nút khác sẽ đượccập nhật lại thông tin
o Bước 2 Tiến hành thiết lập một cây CF nhỏ hơn nếu như cây CF hiện tạikhông có đủ bộ nhớ trong Kích thước của cây CF ảnh hưởng bởi tham số
T, vì vậy việc chọn một tham số T lớn hơn sẽ làm hoà nhập một số cáccụm con thành một cụm, điều này làm cho cây CF nhỏ hơn
o Bước 3 Tiến hành phân cụm: Cây CF lúc này sẽ bao gồm các nút lá lưutrữ các tham số thống kê (bộ ba) của các cụm con
o Bước 4 Sau khi phân cụm xong, ta tiến hành xác định các trung tâm củacụm để sắp xếp lại các đối tượng dữ liệu Mục đích của bước 4 là để nhóm
Trang 18lại dữ liệu ban đầu và loại bỏ các phần tử ngoại lai Lý thuyết cộng CFđược áp dụng khi triển khai ghép hai cụm vào làm một.
Các phép tính khoảng cách giữa các cụm thường được sử dụng trong thuậttoán BIRCH là khoảng cách Euclide, Manhatta, Ta có thể tóm tắt ưu điểm vànhược điểm của thuật toán BIRCH thông qua bảng sau:
Bảng 1 4 Ưu điểm và nhược điểm của thuật toán BIRCH
Ưu điểm o BIRCH có độ phức tạp là O(n), với n là số đối tượng
o BIRCH là thuật toán áp dụng tốt đối với tập dữ liệu có sốlượng lớn và đặc biệt phù hợp với tập dữ liệu tăng dần theothời gian
o BIRCH có tốc độ phân cụm nhanh nhờ sử dụng cây CF (vì chỉduyệt toàn bộ dữ liệu một lần)
1.2.2.2 Thuật toán K means
K-Means là thuật toán thuộc lớp bài toán phân cụm dữ liệu phân hoạch.Thuật toán K-Means được Macqueen đề xuất năm 1967 và từ đó cho đến nay vẫnđược phổ biến và áp dụng rộng rãi, bởi đây là một thuật toán cơ bản, đơn giảnnhưng hiệu quả trong việc phân cụm dữ liệu
Ý tưởng của thuật toán là sử dụng trung tâm của các cụm để tính khoảngcách giữa đối tượng và điểm trung tâm, với số cụm k được cho sẵn Các phéptính khoảng cách thường được dùng trong thuật toán phân cụm K-Means làkhoảng cách Minkowski và các biến thể của Minkowski là Euclide vàManhattan
o Ưu điểm:
Thuật toán K means có độ phức tạp là O(tkn), trong đó t là số lần lặp, k là
số cụm, n là số đối tượng Thông thường k<<n và t<<n thường kết thúc tại mộtđiểm tối ưu cục bộ
Trang 19Thuật toán K means được coi là thuật toán phân cụm đơn giản, áp dụng tốtđối với tập dữ liệu có số lượng lớn.
o Nhược điểm:
Do kết quả phân cụm phụ thuộc vào việc xác định số k bắt đầu, thuật toán
K means Clustering cho ra các kết quả khác nhau với mỗi cách chọn k cụm khácnhau, từ đó rõ ràng sẽ mang đến các đánh giá khác nhau Vì vậy, thuật toánkhông bảo đảm tối ưu đầu ra
Số cụm k cần phải được xác định trước Vì vậy, việc lựa chọn k nhỏ sẽ dẫnđến việc tạo nên các nhóm không rõ ràng, ngược lại nếu chọn k lớn sẽ ảnh hưởngđến tốc độ thực hiện cũng như chia nhỏ các cụm dữ liệu quá mức
Thuật toán khó áp dụng đối với các loại dữ liệu có cấu trúc phức tạp, ví dụnhư do việc phân cụm dựa trên khoảng cách giữa trung tâm và các điểm dữ liệunên thuật toán không xử lý được với các dạng cụm dữ liệu có hình dạng khônglồi
Do việc tính toán trực tiếp và sử dụng độ đo khoảng cách nên những phần
tử ngoại lai và nhiễu khó được xử lý trong thuật toán phân cụm K-Means
Tuy nhiên, do tính hiệu quả và đơn giản của thuật toán K-Means nên hiệnnay vẫn có nhiều nghiên cứu để khắc phục các nhược điểm của thuật toán K-Means và phát triển tiếp tục lên như thuật toán K-Median, K-Medoids, …
Trang 20Chương 2 THUẬT TOÁN PHÂN CỤM DỮ LIỆU K-MEANS
o Phân nhóm tài liệu web
o Xác định và lọc tài liệu file
dữ liệu chứa các đối tượng
Cụ thể, thuật toán K means Clustering được áp dụng như sau:
o Bước 1: Bước bắt đầu, xác định số cụm k.
o Bước 2: Xác định trọng tâm của cụm
o Bước 3: Tính khoảng cách từ các đối tượng dữ liệu đến tâm cụm, nhóm
từng đối tượng dữ liệu vào cụm nếu khoảng cách đến tâm đó là gần nhất
o Bước 4: Bước kiểm tra Nếu không có thay đổi về cụm thì thuật toán
dừng Nếu có, quay về bước 2
Trang 21(Nguồn: Tác giả minh họa)
Hình 2 1 Thuật toán K means
Trang 22Ta tiến hành tính toán khoảng cách Euclidean từ các dữ liệu đến tâm cụm.Sau đó nhóm từng đối tượng vào cụm nếu khoảng cách đến cụm đó là nhỏ nhất.
Sample D(sample, k1) D(sample, k2) Phân thành cụm
=
=169
=
=58Lặp lại tượng tự bước trên, ta tính toán lại khoảng cách đến tâm cụm mới
và tiếp tục nhóm từng đối tượng vào cụm
Sample D(sample, k1) D(sample, k2) Phân thành cụm
Tâm cụm không thay đổi Thuật toán dừng
2.2 MỐI QUAN HỆ GIỮA K-MEANS VÀ THÀNH PHẦN CHÍNH PCA
2.2.1 Phân tích thành phần chính PCA
Một trong những thuật toán thuộc phương pháp học không giám sátthường hay được sử dụng đó là thuật toán phân tích thành phân chính (PrincipalComponents Analysis - PCA) PCA được định nghĩa là phương pháp sử dụngphép biến đổi trực giao để chiếu các đối tượng dữ liệu từ một không gian p chiềuthành một không gian con r chiều (không gian có số chiều nhỏ hơn, r<p)