Thời gian thực hiện: 01/2021 - 06/2022 Mục tiêu đề tài: Mục tiêu của đề tài "Nghiên cứu ứng dụng thuật toán K-Means trong hỗ trợ phân loại va gợi ý sinh viên lựa chọn chuyên ngành học ta
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
BAO CÁO TONG KET
DE TÀI NGHIÊN CỨU KHOA HỌC VÀ CÔNG NGHỆ
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
BAO CÁO TONG KET
DE TAI NGHIEN CUU KHOA HQC VA CONG NGHE
Trang 3DANH SÁCH THÀNH VIÊN THAM GIA NGHIÊN CỨU ĐÈ TÀI
TT Họ và tên Đơn vị công tác Nội dung tham gia
1 | Nguyễn Thị Tâm Khoa CNTT Chủ nghiệm đề tài
2 | Nguyễn Thị Quỳnh Như | Khoa CNTT Thu thập và xử lý dữ liệu dau
vào đê phân cụm
Trang 4PHAN MỞ DAU
1.1 Tinh cấp thiết của đề tai
1.2 Tông quan tình hình nghiên cứu
1.3 Mục tiêu dé tài
1.4 Phương pháp nghiên cứu.
1.5 Nội dung nghiên cứu
1.6 Phạm vi nghiên cứu:.
17 Y nghĩa nghiên cứu
PHAN NOI DUNG
1.5 Ứng dụng của phân cụm đữ liệu
1.6 _ Thuật toán phân cụm K - Means
Chương 2 Ứng dụng kĩ thuật phân cụm hỗ trợ sinh viên lựa chọn chuyên ngành 2.1 Tiền xử lý dữ liệu
2.2 Ứng dụng thuật toán K-means trong phân cụm chuyên ngành
2.3 Kết quả triển khai
KET LUẬN
DANH MỤC TÀI LIỆU THAM KHẢO
Trang 5KDD Knowleadge Discovery in Database - phát hiện tri thức
Trang 65DANH MỤC HÌNH ANH
Hình 1: Diém môn Cơ Sở Lập Trình
Hình 2: Điểm môn Cơ Sở Dữ Lit
Hình 3: Diém môn Kỹ Thuật Lập Trình Hướng Đồi Tượng
Hình 4: Diém môn Thiết Kết Web
Hình 5: Điển môn Mạng Máy Tính
Hình 6: Điểm môn Quản Tri Man;
Hình 7: Diém môn Lập Trình Web
Hình 8: Tập hợp dữ liệu điểm các môn cơ sở can xét
Hình 9: Đăng nhập với quyền của giảng và
Hình 10: Giảng viên nhập điểm môn cho sinh viên.
Hình 11: Admin đăng nhập tài khoản.
Hinh 12:Cửa số thực hiện phân cum di
Hình 13: Bảng điểm sinh viên qua bước tiền xử lý dit liệu
Hình 14: Cửa số lọc điểm sinh viên đủ điều kiện xét chuyên ngành.Hình 15: Bảng chọn chuyên ngành cần phân cụm và khởi tạo cụm ban đầuHình 16: Kết quả phân cụm chuyên ngành Công Nghệ Phan Mém Hình 17: Kết quả phân cụm chuyên ngành Công nghệ Da Phương Tiệ Hình 18: Kết quả phân cụm chuyên ngành Mạng & KTMT
Hình 19: Phân tích dit liệu sau phân cụm Công Nghệ Phần M¿
Hình 20: Đăng nhập với quyên sinh viên
Hình 21: Gợi ý chuyên ngành phù hợp cho sinh viên khi đăng nhậpHình 22:: Sinh viên 'Pat' nhưng có dau điểm dưới 5
Trang 7THÔNG TIN KÉT QUẢ NGHIÊN CỨUTên đề tài: Nghiên cứu ứng dụng thuật toán K-means trong hỗ trợ phân loại và gợi ý sinhviên lựa chọn chuyên ngành học tập
Mã số: MHN2021-02.03
Chủ nhiệm đề tài: Nguyễn Thị Tâm Tel:0947897634 - Email: tamnt@hou.edu.vn
Cơ quan chủ trì đề tài: Trường ĐH Mở Hà Nội
Cơ quan và cá nhân phối hợp thực hiệt
- Khoa Công nghệ thông tin, Trường Dai học Mở Hà Nội.
- ThS Nguyễn Thị Quỳnh Như, Khoa CNTT, Trường ĐH Mở HN
Thời gian thực hiện: 01/2021 - 06/2022
Mục tiêu đề tài:
Mục tiêu của đề tài "Nghiên cứu ứng dụng thuật toán K-Means trong hỗ trợ phân loại
va gợi ý sinh viên lựa chọn chuyên ngành học taj
- Tìm hiểu về phân cụm dữ liệu, các phương pháp phân cum dữ liệu
~ Nghiên cứu thuật toán K-means phân cụm dữ liệu
- Xây dựng ứng dụng giúp phân loại sinh viên dựa trên điểm học tập một số môn cơ sởnhằm đưa ra các giải pháp tư vấn, định hướng giúp sinh viên lựa chọn chuyên ngành phùhợp.
Nội dung chính
~ Nghiên cứu về phân cụm dữ liệu, các phương pháp phân cum dit liệu, quy trình thựchiện phân cụm dữ liệu Các lĩnh vực ứng dụng đang được triển khai dựa trên phân cụmdit liệu.
- Nghiên cứu thuật toán K-means triển khai phân cụm dữ liệu dựa trên điểm số học tậpcủa sinh viên.
- Thu thập và xử lý dữ liệu điểm đầu vào các môn học làm cơ sở cho phân cụm dữ liệu
- Xây dựng hệ thống hỗ trợ phân cụm sinh viên theo chuyên ngành từ đó đưa ra gợi ¥lựa chọn chuyên ngành cho sinh viên theo học.
Trang 8Kết quả đạt được:
1 Kết quả nghiên cứu
- Đã nghiên cứu tong quan về phân cụm dữ liệu
- Đã nghiên cứu về các phương pháp phân cụm dữ liệu bao gồm phân cụm phânhoạch, phân cụm phân cấp, phân cụm dựa trên mật độ phân cụm dựa trên lưới, ưunhược điểm của từng phương pháp
~ Nghiên cứu và ứng dụng phân cụm dữ liệu với thuật toán K-means để sử dụng trong
hệ thống hỗ trợ phân loại và gợi ý lựa chọn chuyên ngành cho sinh viên Với cáchthức phân cụm dữ liệu nay mỗi sinh viên sẽ có khả năng được xếp vao các chuyênngành theo dữ liệu điểm đầu vào được cung cấp
- Triển khai xây dựng ứng dụng thử nghiệm hỗ trợ phân cụm sinh viên và gợi ý lựachọn chuyên ngành học tập.
- Sản phẩm ứng dụng: 01 phần mềm hỗ trợ phân loại sinh viên và gợi ý lựa chọnchuyên ngành dựa trên điểm học tập
- San phẩm đào tạo:
* 01 đề tải nghiên cứu khoa học sinh viên, đề tài "Ứng dụng kĩ thuật phân cụm
dữ liệu hỗ trợ sinh viên lựa chọn chuyên ngành" do nhóm sinh viên gồmNguyễn Mạnh Hùng, Nguyễn Văn Tiến, Trần Quỳnh Trang, Nguyễn Thị Dịuthực hiện và đạt giải Ba cấp Trường
* 01 đồ án tốt nghiệp đại học, đề tài "Nghiên cứu bài toán phân cụm dữ liệu vàứng dụng trong phân cụm dữ liệu khách hàng" do sinh viên Phạm Đình Ngọcthực hiện Đề tài đã bảo vệ tháng 4/2023
Trang 98PHAN MO DAU1.1 Tinh cấp thiết của dé tài
Hiện nay tại Khoa Công nghệ thông tin Trường Đại học Mở Hà Nội, sinh viên sẽ lựa chọn chuyên ngành học khi tích lũy đủ 100/140 tín chỉ Việc chọn một ngành học phùhợp dé theo đuôi va phát triển là một quyết định quan trọng của mỗi sinh viên Bên cạnhnhững sinh viên đã xác định được con đường mình muốn đi thì còn rất nhiều sinh viênchưa xác định được mình giỏi trong mảng nào và nên theo chuyên ngành gì Mà hệ lụycủa việc chọn sai ngành thì vô cùng lớn, nó tác động lớn tới trường học, xã hội và nhất làchính bản thân sinh viên.
Tuy nhiên hiện nay chưa có giải pháp gì hỗ trợ giúp sinh viên cũng như giảng viên
là cố vấn học tập có thể biết được sinh viên nên theo chuyên ngành gì sẽ phù hợp vớinăng lực của bản thân Vì thế đến thời điểm lựa chọn chuyên ngành sinh viên và cố vấnhọc tập thường lúng túng, sinh viên có thể chọn theo phong trào, theo bạn bè cho vui, theo
xu hướng hay theo sự quyết định của gia đình,
Vi vậy, dé tài này thực hiện nghiên cứu và ứng dụng kĩ thuật phân cụm dữ liệu déxây dựng giải pháp giúp sinh viên có thể đưa ra sự lựa chọn đúng đắn cho mình, cố vấnhọc tập cũng có cơ sở dé đưa ra lời khuyên cho sinh viên khi thực hiện tư vấn
1.2 Tổng quan tình hình nghiên cứu
Trên thế giới, khai phá dữ liệu sử dụng kĩ thuật phân cụm đã được áp dụng trongnhiều lĩnh vực như ngân hàng, bán lẻ, nông nghiệp, y tế, [1] và cũng có khá nhiều cácnghiên cứu về việc triển khai kĩ thuật phân cụm dữ liệu trong lĩnh vực giáo dục Trongnghiên cứu [2] nhóm tác giả sử dụng thuật toán phân cụm K-Means kết hợp cùng câyquyết định dé dự đoán điểm trung bình có thể đạt được của sinh viên và dựa vào đó giáoviên có thé có những tư van cần thiết dé cai thiện kết quả học tập của sinh viên, giảm tỉ lệ
bỏ học.
Khai phá dữ liệu với kĩ thuật phân cụm dữ liệu là một trong những kĩ thuật nhận được nhiêu sự quan tâm của các nhà nghiên cứu và doanh nghiệp.
Trang 109Trong nghiên cứu [3] nhóm tác giả phân nhóm khách hàng dựa trên các đặc điểmhành vi tiêu dùng, thói quen mua sắm, mức chỉ tiêu từ đó xác định các phân khúc kháchhang dé có chiến lược quảng cáo, tiếp thị và chăm sóc khách hàng hiệu quả.
Với báo cáo [4] tác giả đã thực nghiệm phân cụm sinh viên để tư vấn định hướnglựa chọn ngành nghề phù hợp cho sinh viên của các khoa trường Đại học Kiến trúc HàNội, tác giả đã có đánh giá so sánh với sở thích, nguyện vọng của sinh viên nhưng tỉ lệ
chính xác đạt được còn thấp.
1.3 Mục tiêu đề tài
Xây dựng một hệ thống thử nghiệm hỗ trợ phân cụm sinh viên theo chuyên ngànhdựa trên kết quả học tập được tích lũy Hệ thống sẽ giúp cho sinh viên và giảng viên cóthêm căn cứ dé đưa ra tư van, lựa chọn chuyên ngành phù hợp nhất
1.4 Phương pháp nghiên cứu
o Nghiên cứu lý thuyết về phân cụm dữ liệu, các phương pháp phân cum dữliệu.
o Nguyên cứu thuật toán phân cụm K-Means và áp dụng giải quyết yêu cầubài toán.
o Tiến hành thực nghiệm trên dữ liệu mẫu
o Phân tích đánh giá kết quả đạt được
1.5 Nội dung nghiên cứu
o Nghiên cứu về phân cụm đữ liệu, các phương pháp phân cụm dữ liệu, quytrình thực hiện phân cụm dữ liệu Các lĩnh vực ứng dụng đang được triểnkhai dựa trên phân cụm dữ liệu.
o Nghiên cứu thuật toán K-means triển khai phân cụm dữ liệu dựa trên điểm
số học tập của sinh viên
o Thu thập và xử lý dit liệu điểm đầu vào các môn học làm cơ sở cho phâncụm đữ liệu
o_ Xây dựng hệ thống hỗ trợ phân cụm sinh viên theo chuyên ngành từ đó dua
ra gợi ý lựa chọn chuyên ngành cho sinh viên theo học.
Trang 111.6 Pham vi nghiên cứu:
Triển khai thử nghiệm với dữ liệu điểm sinh viên thuộc Khoa Công nghệ thông tinĐại học Mở Hà Nội với 3 chuyên ngành
o_ Công nghệ phầm mềm
o Công nghệ đa phương tiện
o Mạng và kĩ thuật máy tính.
1.7 Ý nghĩa nghiên cứu
Giúp cho sinh viên và giảng viên có thêm căn cứ đê đưa ra những lựa chọnchuyên ngành phù hợp nhất
Trang 12PHAN NOI DUNGChương 1 Co sở lý thuyết1.1 Phát hiện tri thức và khai phá dữ liệu
Phát hiện tri thức trong các cơ sở dit liệu là một qui trình nhận biết các mẫu hoặccác mô hình trong dữ liệu với các tính năng: phù hợp, có tính mới, có ý nghĩa và có thểhiểu được Còn khai thác dữ liệu là một bước trong qui trình phát hiện tri thức gồm có cácthuật toán khai thác dữ liệu chuyên biệt với các qui định về hiệu quả tính toán chấp nhận
được để tìm ra các mẫu hoặc các mô hình trong dữ liệu
- Quy trình phát hiện tri thức bao gồm:
Chon lọc dit liệu: Đây là giai đoạn tập hợp các dữ liệu được khai thác từmột cơ sở dữ liệu, một kho dữ liệu, thậm chí từ các nguồn ứng dụng khácnhau vào một cơ sở dữ liệu riêng.
Tiền xử lý dữ liệu: Hầu hết các CSDL đều ít nhiều mang tính không nhấtquán Vì vậy khi gom dữ liệu rất có thé mắc một số lỗi như dữ liệu khôngday đủ, chặt chẽ và không logic (bị trùng lặp, giá trị bị sai lệch, ) nên cần
Đánh giá kết quả mẫu: Đây là giai đoạn cuối cùng trong tiến trình phát hiệntri thức Trong giai đoạn này, các mẫu dữ liệu được chiết xuất bởi các phầnmềm khai phá dữ liệu
Trang 13Hình thành và Định nghĩa bài toán »
Thu thập và.
Tiền xử lý dữ liệu Khai phá dữ liệu Rat ra các tri thức x
‘ Phân tích và kiểm địnhkết quả ki
Sử dụng các tri thức phát hiện được
Hình 1: Quy trình phát hiện tri thức
Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự động khaithác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệukhổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm an trong tập dữ liệu đó.Khai phá dữ liệu là một bước trong bảy bước của quá trình KDD(Knowleadge Discovery in Database) và KDD được xem như 7 quá trình khác nhautheo thứ tự sau:
* Lam sạch dữ liệu: Loại bỏ nhiễu và các dữ liệu không cần thiết
* Tích hợp dữ liệu: quá trình hợp nhất dữ liệu thành những kho dữ liệu saukhi đã làm sạch và tiền xử
® Trích chon dữ liệ rich chọn dit liệu từ những kho dữ liệu và sau đóchuyền đổi về dang thích hợp cho quá trình khai thác tri thức Quá trình nàybao gồm cả việc xử lý với dữ liệu nhiễu, dữ liệu không đầy đủ v.v
* Chuyển đổi dit Các dữ liệu được chuyên đổi sang các dạng phù hợpcho quá trình xử lý.
* Khai phá dữ liệu: Là một trong các bước quan trọng nhất, trong đó sử dụngnhững phương pháp thông minh để chắt lọc ra những mẫu dữ liệu
Trang 14* _ Ước lượng mẫu: Quá trình đánh giá các kết quả tìm được thông qua các độ
đo nào đó.
* Biểu diễn tri: Quá trình nay sử dụng các kỹ thuật để biểu diễn và thể hiệntrực quan cho người dùng.
1.2 Phân cụm là gì?
Phân cụm dữ liệu (Data Clustering) hay phân cụm, cũng có thê gọi là phân tích
cụm, phân tích phân đoạn, phân tích phân loại, là quá trình nhóm một tập các đối tượng
cụ thê hay trừu tượng thành lớp các đối tượng tương tự Một cụm là một tập hợp các đốitượng dữ liệu mà các phần tử của nó tương tự nhau cùng trong một cụm và phi tương tựvới các đối tượng trong các cụm khác
Thuật toán phân cụm phụ thuộc vào từng tập dữ liệu và mục dich sử dụng kết quả.Phân tích cụm không phải là một nhiệm vụ tự động, mà là một quá trình lặp đi lặp lại dékhám phá kiến thức hoặc tối ưu hóa đa mục tiêu tương tác liên quan đến thử nghiệm vàthất bại Thông thường cần phải sửa đôi các tham số tiền xử lý dữ liệu và mô hình cho đếnkhi kết quả đạt được các thuộc tính mong muốn
Phân tích cụm là một tác vụ chính của khai phá dữ liệu, và là một kỹ thuật phổbiến trong thống kê phân tích dữ liệu, được dùng trong nhiều lĩnh vực, bao gồm nhậndạng mẫu, phân tích ảnh, truy hồi thông tin, tin sinh học, nén dữ liệu, đồ họa máy tính và
học máy.
45
Hình 2: Phan cụm dữ liệu
Trang 15143 Các bước thực hiện phân cụm.
Trước khi bắt đầu phân cụm, ta cần phải làm sạch và tiền xử lý dữ liệu dé đảm bảotính đúng đắn của kết quả phân cụm Bước này bao gồm loại bỏ các giá trị thiếu,
xử lý giá trị ngoại lai và chuẩn hóa dữ liệu đây gọi là giai đoạn tiền xử lý dữ liệu.Tiếp theo đó chọn phương pháp phù hợp để phân cụm dữ liệu Điều này phụ thuộcvào tính chất của dữ liệu và mục tiêu của bài toán
Xác định số lượng cụm: Số lượng cụm phù hợp cũng phụ thuộc vào tính chất của
dữ liệu và mục tiêu của bài toán Có thể sử dụng nhiều phương pháp khác nhau đểxác định số lượng cụm, ví dụ như phương pháp Elbow hoặc phương phápSilhouette.
Thực hiện phân cụm: Sau khi xác định số lượng cụm, sử dụng phương pháp phâncụm để phân loại các điểm dữ liệu vào các cụm Việc này có thể được thực hiệnbằng các thuật toán như K-means, DBSCAN, Hierarchical Clustering
Đánh giá và tỉnh chỉnh: Sau khi phân cụm, đánh giá kết quả đề đảm bảo tính chínhxác và đáng tin cậy của kết quả Nếu kết quả không phù hợp, hãy tỉnh chỉnh cáctham số và phương pháp phân cụm để đạt được kết quả tốt hơn
Sử dụng kết quả: Cuối cùng, sử dụng kết quả phân cụm đề giải quyết bài toán, ví
dụ như phân tích các đặc tính và xu hướng của từng cụm hoặc phân loại các điểm
dữ liệu mới vào các cụm đã được xác định.
Trang 16ó——}*|_ Xác định số lượng cụm
Thực hiện phân cụm
vanh giá va tinh chỉnh kết quả sau phân cụm
Hình 3: Quy trình hoạt động phân cụm dữ liệuGiai đoạn tiền xử lý dữ liệu là một bước quan trọng trong phân cụm dữ liệu, đảmbảo tính chính xác và đáng tin cậy của kết quả phân cụm Các bước của tiền xử lý dữ liệubao gồm:
Trang 17- Xử lý giá trị thiếu: Dữ liệu thiếu có thể làm giảm tính chính xác của kết quả phâncụm.
- _ Xử lý giá trị ngoại lai: Giá trị ngoại lai có thé ảnh hưởng đáng ké đến kết quả phâncụm Ta có thé sử dụng các phương pháp như cắt tia (trimming) hoặc chuyên đồigiá trị (transformation) dé xử lý giá trị ngoại lai
- Chuẩn hóa dit liệu: Chuẩn hóa dữ liệu giúp đưa các đặc trưng có thang đo khácnhau về cùng một thang do dé đảm bảo tính chính xác của kết quả phân cụm Cónhiều phương pháp chuẩn hóa dữ liệu, chang hạn như chuẩn hóa min-max, chuẩnhóa z-score, hoặc chuẩn hóa tỷ lệ
Giảm chiều dữ liệu: Nếu dữ liệu có số chiều cao, việc giảm chiều dữ liệu có thể giúpgiảm độ phức tạp tính toán và cải thiện hiệu suất phân cụm
Lựa chọn đặc trưng: Nếu dữ liệu có nhiều đặc trưng, có thể xem xét lựa chọn đặctrưng đê giảm độ phức tạp tính toán và cải thiện hiệu suất phân cụm
Trang 181.4 Một số phương pháp phân cụm.
Một số phương pháp phân cụm điền hình: Phân cụm phân hoạch, phân cụm phâncấp, phân cụm dựa trên mật độ, phân cụm dựa trên lưới, phân cụm dựa trên mô hình, phâncụm có ràng buộc,
1.4.1 Phân cụm phân hoạch
Phương pháp này xây dựng các vùng của dữ liệu, trong đó mỗi vùng đại diện cho
một cụm và số lượng vùng dữ liệu không lớn hơn số lượng điểm dữ liệu Nói cách khác,phương pháp phân hoạch thực hiện phân vùng trên tập dữ liệu Mỗi một vùng sẽ có ít nhấtmột điểm dữ liệu, mỗi điểm dữ liệu phải thuộc về chính xác một vùng dit liệu
Phương pháp này được phát triển vào những năm 1950 và 1960, một trong những,thuật toán đầu tiên được áp dụng vào phương pháp này thuật toán Lloyd (1957), còn đượcgọi là thuật toán K-means được đề xuất bởi Stuart P Lloyd vào năm 1957
Thuật toán K-mean.
- Trong thuật toán K-mean, mỗi cụm sẽ được đại diện bằng tâm của cụm Trong đótrọng tâm của cụm là một vector, giá trị của mỗi phần tử trong cụm là trung bìnhcộng của các thành phần tương ứng của các đối tượng vector dữ liệu trong cụmđang xét Tham số đầu vào của thuật toán là số cụm k Đầu ra là các trọng tâm củacác cụm Độ đo khoảng cách D giữa các đối tượng (thường dùng khoảng cáchEuelide), vì đây là mô hình khoảng cách dễ để lấy đạo hàm và xác định các cực trịtối thiểu Hàm tiêu chuẩn và độ đo khoảng cách có thể được xác định cụ thể hơntuỳ vào ứng dụng hoặc quan điểm của người dùng
- Đầu vào của thuật toán: số K cụm và cơ sở dữ liệu
- _ Thuật toán sẽ bao gồm 4 bước chính:
o Bước 1: Phân hoạch đối tượng thay k tập con/ cụm khác rỗng
o_ Bước 2: Tìm các điểm dữ liệu làm tâm(trung bình các đối tượng của cụm)
cho từng cụm trong từng cụm hiện hành.
o Bước 3: Gan từng đối tượng vào cụm có tâm gần nhất, cập nhật lại tâm
Trang 19o Bước 4: Quay về bước 2, cham dứt khi không còn phép gan mới.
Phương pháp Bottom up:
o Bắt đầu mỗi đối tượng khởi tạo tương ứng với các cụm riêng biệt.Nhóm cácđối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm củahai nhóm).
Trang 20o_ Thực hiện cho đến khi tất cả các nhóm được hòa nhập vào một nhóm(mứccao nhất của cây phân cấp), hoặc đến khi thỏa mãn điều kiện kết thúc.Phương pháp Top down:
o Bất đầu tất cả các đối tượng được xếp trong cùng một cụm
o Mỗi vòng lặp thành công, một cụm được tách thành các cụm nhỏ hơn theogiá trị của một phép đo độ tương tự.
o_ Đến khi mỗi đối tượng là một cụm, hoặc điều kiện dừng thỏa mãn.Phương pháp phân cụm dữ liệu này có một số thuật toán điền hình như:CURE [5], BIRCH [6]
Thuat toán BIRCH.
- BIRCH (Balanced Iterative Reducing and Clustering Using Hierarchies) là một thuậttoán sử dụng chiến lược phân cụm trên xuống (top down) với ý tưởng không lưu toàn
bộ các đối tượng dữ liệu của các cụm trong bộ nhớ mà chỉ lưu lại đặc trưng của cụm(số lượng trong cụm, tổng các giá trị thuộc tính của các đối tượng trong cụm, tông.bình phương của các giá trị thuộc tính của các đối tượng trong cụm) được lưu lạitrong một cây gọi là cây CF (CF-tree).
- Cây CF là cây cân bằng Cây CF chứa các nút trong và nút lá Một cây CF được đặctrưng bởi hai tham số:
o Yếu tố nhánh (Branching Factor -B): xác định số tối đa các nút con của mỗi
nút trong.
o Ngưỡng (Threshold -T): Khoảng cách tối đa giữa bat kỳ một cặp đối tượngtrong nút lá của cây, khoảng cách này còn gọi là đường kính của các cụm con được lưu tại các nút lá.
- Input của thuật toán: CSDL gồm n đối tượng, ngưỡng T, k
- Output của thuật toán: k cụm dữ liệu.
~_ Thuật toán sẽ bao gồm 4 bước chính:
o Bước 1: Duyệt tat cả các đối tượng trong CSDL và xây dựng một cây CF khởitạo Một đối tượng được chèn vào nút lá gần nhất tạo thành cụm con Nếu
đường kính của cụm con này lớn hơn T thì nút lá được tách Khi một đối tượng
Trang 21thích hợp được chèn vào nút lá, tất cả các nút trỏ tới gốc của cây được cập nhậtvới các thông tin cần thiết.
Bước 2: Nếu cây CF hiện thời không có đủ bộ nhớ trong thì tiến hành xâydựng một cây CF nhỏ hơn bằng cách điều khiển bởi tham số T (vì tăng T sẽlàm hoà nhập một số các cụm con thành một cụm, điều này làm cho cây CFnhỏ hơn) Bước này không cần yêu cầu đọc dữ liệu lại từ đầu nhưng vẫn đảmbảo hiệu chỉnh cây dữ liệu nhỏ hơn.
Bước 3: Thực hiện phân cụm: Các nút lá của cây CF lưu giữ các đại lượngthống kê của các cụm con Trong bước này, BIRCH sử dụng các đại lượngthống kê này đê áp dụng một số kỹ thuật phân cụm thí dụ như k-means và tạo
ra một khởi tạo cho phân cụm.
Bước 4: Phân phối lại các đối tượng dữ liệu bằng cách dùng các đối tượngtrọng tâm cho các cụm đã được khám phá từ bước 3 đây là một bước tuỳ chọn
để duyệt lại tập dữ liệu và gán nhãn lại cho các đối tượng dữ liệu tới các trọngtâm gần nhất Bước này nhằm dé gan nhãn cho các dit liệu khởi tạo và loại bỏcác đối tượng ngoại lai
Trang 22Bất a
Tao một nút lá
(lưu lại số lượng cụm, giá trị của đối tượng, )
Tìm đối tượng gộp vào nút lá #——————————————
Xét xem đối tượng có hợp với nút lá không
Có
Gop đối tượng vào nút lá
Cập nhật lại cây, cập nhật lại nút lá
Đã phân cụm (các đối tượng đã gộp
vào các nút lá tương ứng)
Hình 5: Sơ đồ hoạt động của thuật toán BIRCH
Không
Trang 23Ưu điểm:
o Dễ sử dung và triển khai: Phương pháp phân cụm dữ liệu phân cấp làphương pháp đơn giản và dễ sử dụng, không cần phải thiết lập số lượngcụm trước.
o Phân tích được cấu trúc cụm: Phương pháp này giúp phân tích được cầutrúc cụm dữ liệu từ những cụm con nhỏ đến cụm lớn hơn, giúp hiểu rõ hơn
o Không thé sửa đổi sau khi hoàn thành: Khi sử dụng phương pháp phân cụm
phân cấp, các cụm được tạo ra không thê được sửa đổi.
1.4.3 Phân cụm dựa trên mật độ
Phương pháp phân cụm dựa vào mật độ sinh ra dé giải quyết bài toán mà phươngpháp phân vùng và phân cấp (hai phương pháp tìm các cụm hình cầu) chưa giải quyếtđược giúp tìm các cụm có hình dạng tuỳ ý, có thê mô hình hóa các cụm như các vùng dàyđặc trong không gian dữ liệu, được tách rời bởi các vùng thưa, có thể khám phá ra cáccụm có hình dạng không phải là hình cầu
Phương pháp này sẽ nhóm các đối tượng theo hàm mật độ xác định Mật độ đượcđịnh nghĩa như là số các đối tượng lân cận của một đối tượng dữ liệu theo một ngưỡng
Trang 24nào đó Khi một dữ liệu đã xác định thì nó tiếp tục được phát triển thêm các đối tượng dữ
liệu mới miễn là số các lân cận của chúng lớn hơn một ngưỡng đã xác định
Phương pháp này được đề xuất bởi Ester, Kriegel, Sander vào năm 1996 và thuậttoán điển hình của nó là DBSCAN (Density-Based Spatial Clustering of Applicationswith Noise) [7], sau này phát triển thêm các thuật toán như OPTICS [8, 7], DENCLUE Thuat toán DBSCAN
DBSCAN là một thuật toán có thé tim ra các cụm với hình thù bat kỳ Thuật toántìm các đối tượng mà có số đối tượng láng giéng lớn hơn một ngưỡng tối thiểu Tìm tat cảcác đối tượng mà các láng giềng của nó thuộc về lớp các đối tượng đã xác định Một cụmđược xác định bằng một tập tất cả các đối tượng liên thông mật độ với các lang giềng củanó.
~_ Thuật toán yêu cầu các tham số đầu vào (Eps và MinPts) và đưa ra các định nghĩaquy tắc áp dụng trong lưu đồ của thuật toán
- Thuật toán gồm 5 bước:
o Bước 1: Khởi tạo điểm p tuỳ ý và lấy tat cả các điểm đến được mật độ từ pvới Eps, MinPts.
o Bước 2: Nếu p không phải là nhân (có thé là biên, nhiễu, hoặc số lân cậncủa p ít hơn Minpts) thì DBSCAN sẽ đi thăm điểm tiếp theo
o Bước 3: Ngược lại (p là nhân) thì một cụm được hình thành và chứa tất cảcác đối tượng trong lân cận của p Sau đó, lân cận của những điểm nay sẽđược khảo sát dé xem liệu nó có được thêm tiếp vào cụm này hay không
o Bước 4: Nếu cum không thể mở rộng thêm được nữa, thuật toán chọn ngẫunhiên một đối tượng p khác chưa xét và lặp lại quá trình trên
o Bước 5: Lap cho đến khi mọi đối tượng đều được gom cụm hay được đánhdấu là ngoại lai/nhiễu Với một CSDL có n mẫu tin, cần phải truy vấn vùngnlân
Trang 25Bắt đầu
" dg
m=———————>
Lấy tắt cả những điểm liên quan đến điểm p dựa.
trên (Eps, MinPts)
Chỉ số lân cận của P < MinPts
Moi đối tượng đã được gom cụm hay
= đánh dầu ngoại lai chưa?
Kếtthúc — ¬›
Hình 6: Sơ đồ hoạt động của thuật toán DBSCAN
Trang 26Ưu điểm:
o Kha năng phát hiện được các cụm có hình dang và kích thước không đều,các cụm có dạng không phải hình cầu, không yêu cầu sự giám sát hay giảđịnh trước về số cụm
o Khả năng xử lý và phân cụm dữ liệu có nhiễu và bất thường
o Khả năng tìm được các cụm có mật độ dữ liệu thấp giữa các cụm khác cómật độ cao.
Nhược điểm:
© Không thé xác định số lượng cụm trước khi thực hiện phân cụm
o Hiệu suất phân cụm giảm khi kích thước dữ liệu lớn
o Không thể phân cụm các cụm có mật độ dữ liệu khác nhau
o Phải định nghĩa và sử dụng các thông số như thể hiện mật độ và bán kínhcụm cho từng bài toán riêng biệt, đòi hỏi sự hiểu biết chuyên môn.1.4.4 Phân cụm dựa trên lưới
Kỹ thuật phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, dựa trên cấutrúc dữ liệu lưới dé phân cụm, phương pháp này chủ yếu tập trung áp dụng cho lớp dữliệu không gian Mục tiêu của phương pháp nay là lượng hóa dữ liệu thành các 6 taothành cấu trúc dữ liệu lưới Sau đó, các thao tác phân cụm chỉ cần làm việc với các đốitượng trong từng ở trên lưới chứ không phải các đối tượng dữ liệu Cách tiếp cận dựa trênlưới này không di chuyền các đối tượng trong các 6 mà xây dung nhiều mức phân cấp củanhóm các đối tượng trong một ô Phương pháp này gần giống với phương pháp phân cụmphân cấp nhưng chúng không trộn các ô, đồng thời giải quyết khắc phục yêu cầu đối với
dữ liệu nhiều chiều mà phương pháp phân phân cụm dựa trên mật độ không giải quyếtđược.
Một số thuật toán phân cụm dữ liệu dựa trên cấu trúc lưới điển hình như: STING
(Statistical Information Grid) [9], WAVECluster [10], CLIQUE (CLustering In QUEst) [1D]
Trang 27Một cell của mức thứ (-1) ứng với
bốn cell của mức thứ ¡
chỉ có một cell
Tầng thứ (-1)
Tầng thứ i
Hình 7: Mô hình cấu trúc dữ liệu dang lưới
'Thuật toán STING
Thuật toán STING là kỹ thuật phân cụm đa phân giải dựa trên lưới, trong đó vingkhông gian dữ liệu được phân rã thành số hữu hạn các ô chữ nhật, điều này cónghĩa là các ô lưới được hình thành từ các ô lưới con đê thực hiện phân cụm Có nhiêu mức của các ô chữ nhật tương ứng với các mức khác nhau của phân giảitrong cấu trúc lưới, và các ô này hình thành cấu trúc phân cấp: mỗi ô ở mức cao
được phân hoạch thành số các ô nhỏ ở mức thấp hơn tiếp theo trong cấu trúc phâncấp
Thuật toán STING bao gồm các bước sau:
Trang 28o Bước 7: Truy lục dữ liệu vào các ô liên quan để thực hiện và xử lý trả lại kếtquả phù hợp yêu cầu của truy vấn chuyền sang bước 9.
o Bước 8: Tìm thấy các miền có các ô liên quan Trả lại miền mà phù hợp vớiyêu cầu của truy vấn chuyền sang bước 9
Hình 8: Sơ dé hoạt động thuật toán STING
L— ]Duyêt cây phân cấp xuống một múc|
Ưu điểm:
Trang 29o Thuận tiện và nhanh chóng trong việc xử lý dữ liệu lớn, đặc biệt là trong các bài toán phân cụm dữ liệu trong thời gian thực
o Cho phép áp dụng cho các loại dữ liệu khác nhau, kể cả các dữ liệu có kíchthước lớn.
© Thời gian xử lý nhanh và độc lập với số đối tượng dữ liệu trong tập dữ liệuban đầu
Nhược điểm:
o Phuong pháp này dễ dẫn đến vấn đề trùng lặp phân cụm, tức là một đối
tượng có thê được gán vào nhiều phân cụm khác nhau.
o_ Kích thước 6 lưới phải được chon sao cho đảm bảo tính chất của phân phối
dữ liệu, do đó, nêu kích thước ô lưới không được chọn đúng, có thé dẫn đếnviệc phân cụm sai hoặc không chính xác.
o Phương pháp này thường không hoạt động tốt với dữ liệu dạng tụ điểm(dense data) hoặc dữ liệu không đồng đều (non-uniform data) vì nó không
xử lý được vùng dữ liệu có mật độ cao.
1.4.5 Phân cụm dựa trên mô hình
Phương pháp phân cụm dữ liệu dựa trên mô hình là một phương pháp trong họcmáy, lấy ý tưởng phân cụm dữ liệu dựa trên mô hình xác suất và sử dụng chúng để phânloại các điêm dữ liệu vào các nhóm khác nhau.
Phương pháp này bao gồm các mô hình phô biến: phân cụm Gaussian hỗn hợp
(Gaussian mixture clustering), phân cụm Bernoulli hỗn hợp (Bernoulli mixture clustering)
và phân cụm Poisson hỗn hợp (Poisson mixture clustering)
Mô hình Gaussian mixture là một mô hình hỗn hợp gồm các phân phối Gaussian,được sử dụng để phân cụm các đữ liệu không đồng nhất trong không gian đặc trưng Môhình này giả sử rằng mỗi cụm là một phân phối Gaussian với trung bình và ma trận hiệpphương sai khác nhau Thuật toán Gaussian Mixture Model (GMM) dé phân cụm cácđiểm dữ liệu vào từng phân phối Gaussian [12]
Trang 30Thuật toán GMM
GMM giả định rằng các điểm dữ liệu được phân phối theo tổ hợp của nhiều phân
phối Gaussian có trung bình và độ lệch chuẩn khác nhau Mỗi phân phối Gaussian
trong tổ hợp này đại diện cho một nhóm cụ thể của các điểm dữ liệu
Sau khi thực hiện thuật toán GMM, ta sẽ có được phân phối của các điểm dữ liệuvào từng phân phối Gaussian Các điểm dữ liệu có xác suất cao nhất thuộc về phânphối Gaussian nào sẽ được phân vào nhóm tương ứng với phân phối Gaussian đó.Các bước thực hiện của thuật toán:
° Chuẩn bị dữ liệu: chuẩn bị dữ liệu và chuyển chúng về định dạng mà thuậttoán GMM có thể sử dụng, ví dụ như định dạng ma trận hoặc vector.Xác định số lượng nhóm: Xác định số lượng nhóm mà ta muốn phân chiacác điểm dữ liệu
Khởi tạo các tham số ban đầu: Khởi tạo các trung bình và ma trận hiệp
phương sai cho mỗi phân phối Gaussian.
E-Step: Với mỗi điểm dữ liệu, tính xác suất rằng nó thuộc về mỗi phân phốiGaussian, sử dụng công thức Bayes M-Step: Dựa trên xác suất đã tính được
ở bước E-Step, cập nhật trung bình và hiệp phương sai cho mỗi phân phốiGaussian.
Lap lại các bước 4 và 5 cho đến khi giá trị hàm mục tiêu không thay đôiđáng kể hoặc khi đạt đến sé lần lặp tối đa
Trang 31cấp nhật tung bình và biếp phương sai
hàm mục êu không thay đỗ lấp đến số lần tối đa
Hình 9: Sơ đồ hoạt động thuật toán GMM
Ưu điểm:
o Phân cụm dữ liệu dựa trên mô hình có khả năng tìm ra các nhóm dữ liệu cótính phân phối đồng nhất hoặc không đồng nhất, hình dạng và kích thướckhác nhau.
o Các mô hình phân cụm dữ liệu dựa trên phương pháp này thường có tínhgiải thích cao, giúp cho người sử dụng có thê hiểu được cách các nhómđược hình thành và tương quan giữa các đặc trưng của dữ liệu.
Trang 32o Các mô hình phân cụm dữ liệu dựa trên phương pháp này có thé không phùhợp cho các tập dữ liệu có tính động hoặc không tuân theo các giả định của
mô hình.
© Các mô hình phân cụm dữ liệu dựa trên phương pháp này yêu cầu các thông
số và mô hình phải được tỉnh chỉnh và đánh giá kỹ lưỡng để đảm bảo tínhchính xác và độ tin cậy của kết quả phân cụm
1.4.6 Phân cụm dựa trên ràng buộc
Phương pháp phân cụm dựa trên ràng buộc là một kỹ thuật phân cụm dữ liệu, trong
đó các ràng buộc được áp dụng để hạn chế hoặc điều chỉnh quá trình phân cụm Các ràngbuộc có thể được xác định bởi người sử dụng hoặc được xác định tự động dựa trên đặctrưng của dữ liệu Việc áp dụng các ràng buộc có thê giúp tăng tính linh hoạt và khả năngkhám phá của phương pháp phân cụm, đồng thời giúp giải quyết các vấn đề thực tế trong
việc phân cụm dữ liệu, chăng hạn như đối với các dữ liệu thưa, không cân bằng, hay cónhiễu
Có rất nhiều thuật toán dựa phân cụm dựa trên ràng buộc như:
o Constrained K-means clustering
o Constrained spectral clustering
o Constrained hierarchical clustering
o Constrained density-based clustering
o Constrained subspace clustering [13] [14]
Trang 3332 Thuat toán Constrained K-means clustering.
- Constrained K-means clustering là một phiên ban của thuật toán K-meansclustering, nơi các ràng buộc được áp dụng dé điều chỉnh quá trình phân cụm.Thuật toán này có thể giải quyết các vấn đề như việc phân cụm dữ liệu thưa, khôngcân bằng hoặc dữ liệu bị nhiễu
- Các ràng buộc có thê được áp dụng dưới dạng ràng buộc cứng hoặc ràng buộc mêm.
° Rang buộc cứng là những ràng buộc mà các diém dữ liệu phải tuân thủ mộtcách tuyệt đối
Rang buộc mềm cho phép sự vi phạm nhưng sẽ bị phạt bằng một giá trị matmát (penalty value).
Bước 3: Tính toán trung tâm cụm mới Tính trung bình các điểm dữ liệutrong mỗi cụm để tính toán trung tâm cụm mới
Bước 4: Cập nhật ràng buộc áp dụng các ràng buộc cứng và mềm vào cáccụm để tạo ra hàm mục tiêu ràng buộc Sử dụng hàm mục tiêu ràng buộc đêđiều chỉnh vị trí của các trung tâm cụm
Bước 5: Lap lại các bước 2-4 cho đến khi đạt được điều kiện dừng Điềukiện dừng có thé là khi không có điểm dữ liệu nào chuyển cụm hoặc khihàm mục tiêu đạt được giá trị tối ưu
Trang 34bu, anu! _
Lấy tắt cả những điểm liên quan đến điểm p dựa
trên (Eps, MinPts)
Chỉ số lân cận của P < MinPts
Moi đối tượng đã được gom cụm hay
đánh dầu ngoại lai chưa?
Kết thúc >
Hình 10: So đồ hoạt động thuật toán Constrained K-means clustering
sg
Trang 35- Ưuđiểm:
o_ Giúp tăng tính đồng nhất trong các cụm: Phương pháp này có thể tạo ra cáccụm đồng nhất hơn so với phương pháp phân cụm khác
o Hạn chế ảnh hưởng của nhiễu: Phương pháp này có thé giảm ảnh hưởng của
dữ liệu nhiều bằng cách yêu cầu các điểm được phân vào các cụm có thểthỏa mãn các ràng buộc.
o Cho phép tính toán thống nhất: Phương pháp này có thể tạo ra các cụmđồng nhất về kích thước và hình dạng, giúp cho việc so sánh giữa các cụm
o Khó tính toán: Phương pháp nay có thể tốn nhiều thời gian và năng lượng
để tính toán vì phải đáp ứng nhiều ràng buộc
o Rang buộc khó lập trình: Việc lập trình các rang buộc có thể rất phức tạp vàkhó khăn.
o Không đáp ứng được với dữ liệu phân tán: Phương pháp này không phù hợp với các tập dit liệu phân tán, khi các ràng buộc có thê không được đáp ứngđầy đủ
Trong nghiên cứu này chúng ta chọn phương pháp phân cụm phân hoạch sử dụngthuật toán K - Means nhằm gom cụm các sinh viên theo chuyên ngành phù hợp dựa trênđiểm số một số học phần đã tích lũy được trong thời gian học tập
1.5 Ứng dụng của phân cụm dữ liệu
Phân cụm dữ liệu có thê ứng dụng trong nhiều lĩnh vực như:
o Thương mại tìm kiếm nhóm các khách hàng quan trọng dựa vào các thuộctính đặc trưng tương đồng và những đặc tả của ho trong các bản ghi muaban của cơ sở dữ liệu.
Trang 36o Nghiên cứu địa chan: phân cụm để theo dõi các tâm động đất nhằm cungcấp thông tin cho việc nhận dạng các vùng nguy hiểm
o Tài liệu phân loại, phân nhóm dữ liệu weblog để khám phá các nhóm về cáchình thức tiếp cận tương tự trợ giúp cho việc khai phá thông tin từ dữ liệu.1.6 Thuật toán phân cụm K - Means
Giới thiệu - "¬
K - means là kỹ thuật rât quan trọng và được sử dụng phô biên trong kỹ thuật phâncụm dữ liệu Thuật toán này tìm cách phân cụm các đối tượng đã cho vào k cụm (k là sốxác định trước, k nguyên dương) sao cho tổng bình phương khoảng cách giữa các đốitượng đến tâm cụm (centroid) là nhỏ nhất Về nguyên lý, có n đối tượng, mỗi đối tượng
có m thuộc tính, các đối tượng được phân chia thành k cụm dựa trên thuộc tính của đốitượng bằng cách sử dụng thuật toán K-means Bài toán này xem mỗi thuộc tính của đốitượng (đối tượng có m thuộc tính) như một tọa độ của không gian m chiều và biểu diễnđối tượng như một điểm trong không gian m chiều, đó là:
đị = (Xin Xin» Xixy Xin «ề) — ()
Trong đó:
a; (i=1, 2, , n) là đối tượng thứ i
xj (I, 2, , n, j=, 2, , m) là thuộc tính thứ j của đối tượng i
Trang 3736 Khoảng cách Euclid
Phương pháp phân cụm dit liệu thực hiện dựa trên khoảng cách Euclid là khoảngcách nhỏ nhất từ đối tượng đến phần tử trọng tâm của các cụm Phần tử trọng tâm của
cụm được xác định bằng giá trị trung bình các phan tử trong cụm.
ai = (Xịt, Xp „ Xim); i= 1 n là đối tượng thứ i cần phân cụm
Ø¡;: Khoảng cach Euclid thir a; dén Ge
Xi: Thuộc tinh thứ s của đối tượng a;
x¡¿ Thuộc tính thứ s của phan tử trọng tâm ¢;
x, thuộc tính thứ j của phan tử s; s = 1 t
cụ phần tử thứ j của phan tử trung tâm cụm i;
=15/ @)
Thuật toán K-means [15]