ỨNG DỤNG PHÂN CỤM DỮ LIỆU TRONG PHÂN TÍCH, ĐÁNH GIÁ KẾT QUẢ ĐIỂM CỦA HỌC SINH Bố cục luận văn gồm 3 chương: Chương 1: Tìm hiểu tổng quan về khai phá dữ liệu và kỹ thuật phân cụm dữ liệu trong KPDL. Chương 2: Tìm hiểu một số thuật toán điển hình trong phân cụm dữ liệu. Chương 3: Ứng dụng thuật toán kmeans để thử nghiệm phân cụm trên dữ liệu điểm của học sinh.
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: GS.TS Vũ Đức Thi
Phản biện 1: ………
Phản biện 2: ………
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU Khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng nhiều trong các lĩnh vực khác nhau và mang lại những lợi ích to lớn Những vấn
đề được quan tâm trong khai phá dữ liệu là phân lớp, luật kết hợp, phân cụm
Ngành giáo dục nói chung và các trường học nói riêng có lượng dữ liệu lưu trữ khá lớn nhưng việc phân tích, đánh giá để đưa ra các chiến lược phát triển phù hợp, cung cấp chất lượng giáo dục tốt hơn và hỗ trợ các hoạt động quản lí hiện nay chưa thực sự được quan tâm đúng mức và khai thác
có hiệu quả
Với những lý do như vậy tôi chọn đề tài “Ứng dụng phân cụm dữ
liệu trong phân tích, đánh giá kết quả điểm của học sinh” làm đề tài luận
văn tốt nghiệp
Bố cục luận văn gồm 3 chương:
Chương 1: Tìm hiểu tổng quan về khai phá dữ liệu và kỹ thuật phân cụm dữ liệu trong KPDL
Chương 2: Tìm hiểu một số thuật toán điển hình trong phân cụm
dữ liệu
Chương 3: Ứng dụng thuật toán k-means để thử nghiệm phân cụm trên dữ liệu điểm của học sinh
Trang 4CHƯƠNG I TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ
PHÂN CỤM DỮ LIỆU
1.1 Khai phá dữ liệu
1.1.1 Giới thiệu về Khai phá dữ liệu
Khai phá dữ liệu (Data Mining) là một khái niệm ra đời vào những năm cuối thập kỷ 80 của thế kỉ XX Khai phá dữ liệu là một lĩnh vực được nghiên cứu nhằm tự động khai thác thông tin, tri thức mới hữu ích, tiềm ẩn
từ các CSDL lớn, kho dữ liệu…
Khai phá dữ liệu là lĩnh vực đã và đang trở thành một trong những hướng nghiên cứu thu hút được sự quan tâm của nhiều chuyên gia về CNTT trên thế giới Trong những năm gần đây, rất nhiều các phương pháp và thuật toán mới về KPDL liên tục được công bố Điều này chứng tỏ những
ưu thế, lợi ích và khả năng ứng dụng thực tế to lớn của khai phá dữ liệu
1.1.2 Quá trình khai phá dữ liệu
Về bản chất khai phá dữ liệu là giai đoạn duy nhất tìm ra được những thông tin mới, tiềm ẩn trong CSDL và chủ yếu phục vụ cho quá trình
Trang 51.1.3 Các kỹ thuật khai phá dữ liệu
Với mục đích mô tả và dự đoán, các kỹ thuật thường sử dụng là:
- Luật kết hợp (Association rules)
- Phân cụm (Clustering)
- Phân lớp (Classfication)
- Hồi quy (Regression)
- Cây quyết định (Decision Trees)
- Mạng nơ-ron (Neural Network)
- Trực quan hóa (Visualization)
- Biểu diễn mô hình (Model Evaluation)
- Phương pháp tìm kiếm (Search Method)
- Phân tích theo trình tự thời gian (Time series Analysis)
1.1.4 Ứng dụng của Khai phá dữ liệu
1.1.5 Các xu thế và vấn đề cần giải quyết trong khai phá
dữ liệu
1.2 Kỹ thuật phân cụm trong Khai phá dữ liệu
1.2.1 Tổng quan về kỹ thuật phân cụm
Phân cụm dữ liệu là quá trình nhóm một tập các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng
Phân cụm dữ liệu là một kỹ thuật trong KPDL nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập
dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định
Trang 6Phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác như là phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm
1.2.2 Một số khái niệm cần thiết khi tiếp cận phân cụm dữ liệu
1.2.2.1 Các kiểu dữ liệu và thuộc tính trong phép phân cụm 1.2.2.2 Đo độ tương đồng
1.2.3 Các yêu cầu đối với kỹ thuật phân cụm dữ liệu
- Có khả năng mở rộng
- Thích nghi với các kiểu dữ liệu khác nhau
- Khám phá ra các cụm với hình thù bất kỳ
- Tối thiểu lượng tri thức cần cho xác định các tham số vào
- Khả năng thích nghi với dữ liệu nhiễu cao
- Ít nhạy cảm với các tham số đầu vào
- Thích nghi với dữ liệu đa chiều
- Dễ hiểu, dễ cài đặt và khả thi
1.2.4 Các hướng tiếp cận trong phân cụm dữ liệu
1.2.4.1 Phương pháp phân hoạch (Partitioning Methods) chia một tập hợp dữ liệu có n phần tử thành k nhóm cho đến khi xác định số các cụm được thiết lập Số các cụm được thiết lập là các đặc trưng được lựa chọn trước Phương pháp này là tốt cho việc tìm các cụm hình cầu trong không gian Euclid
1.2.4.2 Phương pháp phân cụm phân cấp (Hierarchical Methods) xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu đang xem
Trang 7xét Phương pháp này là có thể làm việc tốt với các tập dữ liệu lớn nhưng khó khăn với các cụm có hình dạng lồi
1.2.4.3 Phương pháp phân cụm dựa trên mật độ Based Methods) nhóm các đối tượng dữ liệu dựa trên hàm mật độ xác định, mật độ là số các đối tượng lân cận của một đối tượng dữ liệu theo một nghĩa nào đó Phương pháp phân cụm dựa trên mật độ của các đối tượng để xác định các cụm dữ liệu có thể phát hiện ra các cụm dữ liệu với hình thù bất
Trang 8CHƯƠNG II MỘT SỐ THUẬT TOÁN PHÂN CỤM DỮ LIỆU
ĐIỂN HÌNH 2.1 Các thuật toán phân cụm phân hoạch
2.1.1 Thuật toán K-means
Đầu vào: Một CSDL gồm n đối tượng và số các cụm k
Đầu ra: Các cụm Ci (i=1, ,k) sao cho hàm tiêu chuẩn E đạt giá trị tối thiểu
Bước 1: Khởi tạo
Chọn k đối tượng mj (j=1 k) là trọng tâm ban đầu của k cụm từ tập dữ liệu Bước 2: Tính toán khoảng cách
Đối với mỗi đối tượng Xi (i=1, ,n) , tính toán khoảng cách từ nó tới mỗi trọng tâm mj với j=1, ,k; sau đó tìm trọng tâm gần nhất đối với mỗi đối tượng
Bước 3: Cập nhật lại trọng tâm
Đối với mỗi j=1, ,k; cập nhật trọng tâm cụm mj bằng cách xác định trung bình
cộng của các véc-tơ đối tượng dữ liệu
Bước 4: Điều kiện dừng
Lặp các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay đổi
2.1.2 Thuật toán PAM
Đầu vào: Số cụm k và một cơ sở dữ liệu D chứa n đối tượng
Đầu ra: Một tập k cụm đã tối thiểu hoá tổng các độ đo không tương đồng của tất cả các đối tượng tới medoid gần nhất của chúng
Trang 94 Lựa chọn ngẫu nhiên một đối tượng không điển hình orandom
5 Tính hàm mục tiêu S (tổng các độ đo tương đồng của tất cả các đối tượng tới medoid gần nhất cùa chúng) bằng việc tráo đổi oj với orandom;
6 Nếu S<0 tráo đổi oj với orandom để tạo thành các tập mới của k đối tượng đại diện;
7 Until không có sự thay đổi nào
Kết thúc
2.1.3 Thuật toán CLARANS
For i=1 to numlocal do
Chọn ngẫu nhiên một láng giềng R của S
Tính toán độ phi tương tự về khoảng cách giữa 2 láng giềng S và R
Nếu R có chi phí thấp hơn thì hoán đối R cho S và j=1
ngược lại j++;
End;
Trang 10Kiểm tra khoảng cách của phân hoạch S có nhỏ hơn khoảng cách nhỏ nhất không, nếu nhỏ hơn thì lấy giá trị này để cập nhật lại khoảng cách nhỏ nhất
và phân hoạch S là phân hoạch tốt nhất tại thời điểm hiện tại
End
2.2 Các thuật toán phân cụm phân cấp
2.2.1 Thuật toán BIRCH
Bước 1: Duyệt tất cả các đối tượng trong CSDL và xây dựng một cây CF khởi tạ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 thí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ật vớ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ây dự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
CF nhỏ hơn) Bước này không cần yêu cầu bắt đầu đọc dữ liệu lại từ đầu nhưng vẫn đảm bả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ượng thống kê của các cụm con Trong bước này, BIRCH sử dụng các đại lượng thố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ượng trọ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ọng tâm gần nhất Bước này nhằm để gán nhãn cho các dữ liệu khởi tạo và loại bỏ các đối tượng ngoại lai
Trang 112.2.2 Thuật toán CURE
Bước 1 Chọn một mẫu ngẫu nhiên từ tập dữ liệu ban đầu;
Bước 2 Phân hoạch mẫu này thành nhiều nhóm dữ liệu có kích thước bằng nhau: Ý tưởng chính ở đây là phân hoạch mẫu thành p nhóm dữ liệu bằng nhau, kích thước của mỗi phân hoạch là n'/p (với n' là kích thước của mẫu); Bước 3 Phân cụm các điểm của mỗi nhóm: Ta thực hiện PCDL cho các nhóm cho đến khi mỗi nhóm được phân thành n'/(pq)cụm (với q>1); Bước 4 Loại bỏ các phần tử ngoại lai: Trước hết, khi các cụm được hình thành cho đến khi số các cụm giảm xuống một phần so với số các cụm ban đầu Sau đó, trong trường hợp các phần tử ngoại lai được lấy mẫu cùng với quá trình pha khởi tạo mẫu dữ liệu, thuật toán sẽ tự động loại bỏ các nhóm nhỏ
Bước 5 Phân cụm các cụm không gian: Các đối tượng đại diện cho các cụm di chuyển về hướng trung tâm cụm, nghĩa là chúng được thay thế bởi các đối tượng gần trung tâm hơn
Bước 6 Đánh dấu dữ liệu với các nhãn tương ứng
2.3 Các thuật toán phân cụm dựa trên mật độ
2.3.1 Thuật toán DBSCAN
Input: Tập dữ liệu D chứa n đối tượng, ε là tham số bán kính và MinPts ngưỡng mật độ láng giềng
Output: Tập các cụm dựa trên mật độ
(1) đánh dấu tất cả các đối tượng là chưa thăm;
(2) lặp
(3) lựa chọn ngẫu nhiên một đối tượng chưa thăm p;
Trang 12(4) đánh dấu đã thăm p;
(5) nếu các ε láng giềng của p có ít nhất MinPts đối tượng
(6) tạo mới một cụm C và thêm p vào C;
(7) cho N là tập các đối tượng trong ε láng giềng của p;
(8) lặp: với mỗi điểm p’ trong N
(9) nếu p’chưa thăm
(10) đánh dấu p’ đã thăm;
(11) nếu ε láng giềng của p’ có ít nhất MinPts điểm,
thêm những điểm này đến N;
(12) nếu p’không phải là thành viên của bất kỳ cụm nào, thêm p’ vào C; (13) kết thúc lặp
(14) đưa ra C;
(15) ngược lại đánh dấu p như là nhiễu;
(16) cho đến khi thăm hết các đối tượng;
2.3.2 Thuật toán DENCLUDE
DENCLUDE là phương pháp dựa trên một tập các hàm phân phối mật độ và được xây dựng trên các ý tưởng như sau :
- Sự ảnh hưởng của mỗi điểm dữ liệu có thể biểu diễn dưới dạng
mô hình qua hàm toán học, được gọi là hàm ảnh hưởng (influence fuction), dùng để mô tả tác động của điểm dữ liệu với các đối tượng láng giềng của nó; - Mật độ toàn cục của không gian dữ liệu có thể được mô hình hóa
là tổng các hàm ảnh hưởng của tất cả các điểm dữ liệu;
- Các cụm có thể xác định theo toán học bằng việc xác định các điểm mật độ cao (density attractors), trong đó điểm mật độ cao là các điểm cực đại hàm mật độ toàn cục
Trang 132.4 Các thuật toán phân cụm dựa trên lưới
2.4.1 Thuật toán STING
Bước 6 Nếu đặc tả được câu truy vấn, chuyển sang bước 8; nếu không thì chuyển sang bước 7
Bước 7 Truy lục lại dữ liệu vào trong các ô liên quan và thực hiện xử lý Trả lại kết quả phù hợp yêu cầu của truy vấn Chuyển sang Bước 9 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ới yêu cầu của truy vấn Chuyển sang bước 9
Bước 9 Dừng
2.4.2 Thuật toán CLIQUE
Bước 1: Phân hoạch tập dữ liệu thành các hình hộp chữ nhật và tìm các hình hộp chữ nhật đặc (nghĩa là các hình hộp này chứa một số các đối tượng dữ liệu trong số các đối tượng láng giềng cho trước)
Bước 2: Xác định không gian con chứa các cụm được sử dụng nguyên lý Apriori
Trang 14Bước 3: Hợp các hình hộp này tạo thành các cụm dữ liệu
Bước 4: Xác định các cụm: Trước hết nó tìm các ô đặc đơn chiều, tiếp đến chúng tìm các hình chữ nhật 2 chiều, rồi 3 chiều,…, cho đến khi hình hộp chữ nhật đặc k chiều được tìm thấy
2.5 Các thuật toán phân cụm dựa trên mô hình
Trang 152.5.2 Thuật toán COBWEB
1) Khởi tạo cây bắt đầu bằng một nút rỗng
2) Sau khi thêm vào từng nút một và cập nhật lại cây cho phù hợp tại mỗi
2.5.3 Thuật toán SOM
Bước 1: Khởi tạo
Chọn giá trị ngẫu nhiên cho các véc-tơ trọng lượng ban đầu wj
Bước 2: Lấy mẫu
Lấy một mẫu huấn luyện véc-tơ x từ tập huấn luyện
Trang 162.6 Các thuật toán phân cụm có dữ liệu ràng buộc
2.6.1 Thuật toán K-Prototype
Input: Tập dữ liệu ban đầu X và số cụm k
Output: k đối tượng mẫu sao cho hàm tiêu chuẩn đạt giá trị tối thiểu Bước 1: Khởi tạo k đối tượng mẫu ban đầu cho X, mỗi đối tượng mẫu đóng vai trò là tâm đại diện của mỗi cụm
Bước 2: Phân phối mỗi đối tượng trong X cho mỗi cụm sao cho chúng gần nhất với đối tượng mẫu trong cụm, đồng thời cập nhật lại đối tượng mẫu cho mỗi cụm
Bước 3: Sau khi tất cả các đối tượng đã được phân phối hết cho các cụm, kiểm tra lại độ tương tự của các đối tượng trong mỗi cụm với các đối tượng mẫu, nếu có một đối tượng mẫu tương tự nhất với nó mà khác với đối tượng mẫu của cụm hiện thời thì di chuyển đối tượng đang xét này sang cụm tương ứng với đối tượng mẫu mà nó gần nhất
và đồng thời cập nhật các đối tượng mẫu cho hai cụm này
Bước 4: Lặp bước 3 cho đến khi không có đối tượng nào thay đổi sau khi đã kiểm tra toàn bộ các đối tượng
2.6.2 Thuật toán COP-KMeans
Input: - Tập các đối tượng dữ liệu
- Số lượng cụm: K
- Tập ràng buộc must-link và cannot-link
Output: K phân hoạch tách rời sao cho hàm mục tiêu được tối ưu Bước 1 Khởi tạo các cụm: các tâm ban đầu được chọn ngẫu nhiên sao cho không vi phạm ràng buộc đã cho
Trang 17Bước 2 Lặp cho tới khi hội tụ
Bước 2.1 Gán cụm : gán mỗi đối tượng dữ liệu vào trong cụm gần
nhất sao cho không vi phạm ràng buộc
Bước 2.2 Ước lượng tâm: cập nhật lại tâm là trung bình của tất cả
đối tượng nằm trong cụm của tâm đó
Bước 2.3 t = t+1
Kết luận chương
Chương 2 tìm hiểu về một số thuật toán điển hình trong phân cụm
dữ liệu Mỗi một thuật toán có độ chính xác riêng và khả năng thực hiện trên từng kích thước dữ liệu là khác nhau Điều này còn tùy thuộc vào cách
tổ chức dữ liệu ở bộ nhớ chính, bộ nhớ ngoài,… của các thuật toán Khai phá dữ liệu sẽ hiệu quả hơn khi bước tiền xử lý, lựa chọn thuộc tính, mô hình được giải quyết tốt
Sau đây là tổng hợp các đặc tính của các phương pháp và các thuật toán PCDL nhằm làm căn cứ cho việc lựa chọn phương pháp khi phát triển các ứng dụng khác Tùy vào từng ứng dụng và căn cứ vào các đặc tính của thuật toán ta có thể tìm được các thuật toán phù hợp để áp dụng cho bài toán thực tế
Trang 18CHƯƠNG 3 ỨNG DỤNG THUẬT TOÁN PHÂN CỤM K-MEANS TRONG PHÂN TÍCH, ĐÁNH GIÁ KẾT QUẢ
ĐIỂM CỦA HỌC SINH
Trang 19Dựa vào những kết quả phân cụm người quản lí sẽ có những định hướng cho việc dạy và học của giáo viên và học sinh, đánh giá được năng lực học tập hiện tại của các nhóm học sinh dựa trên CSDL đưa vào
3.2.2 Lựa chọn thuật toán
Trong các thuật toán phân cụm dữ liệu đã tìm hiểu ở Chương 2 thì thuật toán k-means có tốc độ tương đối nhanh, thích hợp với dữ liệu số khi không có phần tử nhiễu Dữ liệu điểm của học sinh trong trường phổ thông hiện nay đáp ứng tốt yêu cầu của thuật toán k-means (dữ liệu số, điểm số trong khoảng từ 0-10, không có phẫn tử nhiễu) Vì vậy, tôi đã chọn thuật toán k-means để áp dụng cho bài toán này
3.2.3 Chương trình ứng dụng
Các chức năng chính của chương trình:
- Nhập và xem dữ liệu: Dữ liệu ĐTB trên các tệp Excel được nhập (Import) và được lưu trữ trên SQL-Server để tiện sử dụng Sau khi nhập dữ liệu người sử dụng có thể xem lại dữ liệu theo từng năm học và từng khối lớp
- Phân cụm dữ liệu theo ĐTB cả năm hoặc phân cụm theo ĐTB một hoặc nhiều môn học: Chương trình cho phép chọn năm học, khối lớp cần phân tích, số cụm muốn phân tích, các môn học được phân tích … trong phần Tùy chọn phân cụm Phần hiển thị kết quả phân cụm đưa ra thông tin các cụm: tên cụm, số phần tử, tỷ lệ, biểu đồ của các cụm và thông tin chi tiết cụm (tên học sinh trong cụm, các dữ liệu điểm tương ứng của từng học sinh, thống kê số lượng theo từng lớp) … các kết quả phân cụm có thể xuất ra tệp Excel để tiện sử dụng cho nhiều công việc khác