Tải bản đầy đủ
1 . Mô tả bài toán

1 . Mô tả bài toán

Tải bản đầy đủ

trường THPT Ngô Sĩ Liên và các cuộc thi của Sở Giáo dục – Đào tạo Bắc Giang.
Cơ sở dữ liệu lưu trữ điểm học sinh cho thấy cơ sở dữ liệu của con người trong
bài toán quản lý điểm thường là những file excel.
3.1.2. Dữ liệu ra:
Chương trình ứng dụng những thành công đối với mạng SOM vào trong
quá trình phân cụm học sinh, dựa vào những kết quả phân cụm do ứng dụng mang
lại người quản lý sẽ có những định hướng cho các nhóm học sinh cũng như đánh
giá được năng lực học tập hiện tại dựa trên tập cơ sở dữ liệu đưa vào.
3.1.3.Quá trình cài đặt:
Quá trình cài đặt của thuật toán:
 Ngôn ngữ sử dụng là Visual Studio 2008 hoặc net framework 3.5
 Ngôn ngữ lập trình: C#
3.1.4. Mục đính- Yêu cầu
Với nội dung bài toán được phát biểu như trên có thể thấy ứng dụng sẽ
được xây dựng sử dụng mạng neural cho quá trình phân cụm điểm học sinh với một
tập dữ liệu được chọn. Ứng dụng các thành tựu có được trong quá trình nghiên cứu
mạng SOM có thể giải quyết cho bài toán phân cụm điểm khi cấu hình trọng số
mạng thay đổi phù hợp với bài toán. Mục đích chính được xác định khi xây dựng
ứng dụng là phải phân nhóm tập dữ liệu vào và phân chia học sinh thành các nhóm
khác nhau để có thể đánh giá được sự khác nhau trong kết quả học tập. Bên cạnh đó
để phù hợp hơn với mục đính cải thiện chất lượng quản lý khi phân cụm xong đòi
hỏi phải có những phương pháp trực quan nhóm giúp người quản lý có thể quan sát
được dễ dàng những kết quả có được từ mạng. Vì con người thường có nhận thức
kém với tập các số học, mà kết quả của mạng sau quá trình phân cụm lại là một tập
các nhóm cùng tập các trọng số của nó. Từ đó tạo ra yêu cầu trực quan hóa kết quả
đầu ra bằng tập các đồ thị mô phỏng cấu hình nhóm, đây cũng là một trong những
mục đích cần phải đạt được khi giải quyết bài toán trên.
Đây là những yêu cầu cơ bản làm nền tảng cho quá trình phát triển ứng
dụng. Mọi tính năng và chi tiết của ứng dụng sẽ được trình bày rõ hơn trong quá

48

trình phân tích thiết kế phần mềm phân cụm điểm sẽ được trình bày trong phần sau
của luận văn.
3.2. Phân tích thiết kế hệ thống cho ứng dụng
3.2.1. Xác định các tác nhân và các Use case
Tác nhân : Người dùng
Danh sách các Use Case : Để thực hiện được mục tiêu của bài toán qua quá trình
khảo sát phân tích, thiết kế chương trình xây dựng được các chức năng chính thể
hiện như sau :
• Chọn cơ sở dữ liệu
• Tạo và huấn luyện mạng neural
• Tạo biểu đồ theo nhóm
• Phân cụm học sinh theo nhóm
• Cấu hình mạng neural
• Chọn loại biểu đồ
• Chọn và hiển thị biểu đồ
• Trợ giúp

49

3.2.2. Biểu đồ Use Case

Hình 3.1: Mô hình Use Case tổng thể của bài toán
3.2.3. Biểu đồ trình tự cho từng Use Case
3.2.3.1. Chọn cơ sở dữ liệu

Hình 3.2: Biểu đồ trình tự chọn cơ sở dữ liệu.

50

3.2.3.2. Tạo và huấn luyện mạng neural

Hình 3.3: Biểu đồ trình tự tạo và huấn luyện mạng neural.
3.2.3.3. Tạo biểu đồ theo nhóm

Hình 3.4: Biểu đồ trình tự tạo biểu đồ theo nhóm.

51

3.2.3.4. Phân cụm học sinh theo nhóm

Hình 3.5: Biểu đồ trình tự phân cụm học sinh theo nhóm.
3.2.3.5. Cấu hình mạng neural

Hình 3.6: Biểu đồ trình tự cấu hình mạng neural.

52

3.2.3.6. Chọn loại biểu đồ

Hình 3.7: Biểu đồ trình tự chọn loại biểu đồ.
3.2.3.7. Chọn và hiển thị biểu đồ

Hình 3.8: Biểu đồ trình tự chọn và hiển thị biểu đồ.

53

3.3. Chương trình ứng dụng
3.3.1. Giao diện tổng quan cho ứng dụng
Qua quá trình phân tích, thiết kế kết hợp với những thành tựu đã đạt được
trong mạng neural ứng dụng ngôn ngữ lập trình Visual C# của Microsoft trong luận
văn đã xây dựng một chương trình tương đối hoàn thiện giải quyết bài toán phân
cụm dữ liệu điểm cho học sinh thỏa mãn những yêu cầu đã đề ra ban đầu. Sau đây
là hình ảnh cho ứng dụng sau quá trình cài đặt và chạy thử nghiệm.

Hình 3.9: Giao diện chương trình
3.3.2 Một số tính năng cho ứng dụng
Khả năng đọc và chọn dữ liệu: đây là tính năng bắt buộc, để có thể vận
dụng được thuật toán từ mạng neural thì trước hết chương trình phải có khả năng
chọn, đọc dữ liệu excel và hiện thị dữ liệu trên giao diện. Tiếp đó là khả năng chọn
các môn học cho quá trình phân cụm, khi đã phân cụm kết quả cuối cùng sẽ được
hiển thị chi tiết. Để hỗ trợ cho quá trình chọn và phân cụm dữ liệu trong ứng dụng
đã xây dựng một số thành phần hỗ trợ những nhiệm vụ này.

54

Hình 3.10: Tab hỗ trợ nhập và chọn dữ liệu
Trên đây là 2 tab hỗ trợ khả năng chọn lựa tập dữ liệu đầu vào đồng thời hỗ
trợ khả năng chọn các môn muốn phân cụm. Trong file excel có những trường
không phải là dữ liệu điềm mà đó là các nhãn thể hiện tên, thứ tự hoặc là số báo
danh do vậy chức năng này cũng hỗ trợ việc phân biệt các trường hợp này tránh cho
việc phân cụm không cần thiết.
Khả năng kết xuất biểu đồ cho từng nhóm: đây là một tính năng đặc biệt
hỗ trợ khả năng hiện thị kết quả một cách trực quan giúp người quản lý dễ dàng
quan sát và đánh giá nhóm tốt hơn. Tính năng này thường thấy trong các bài toán
thống kê và việc phân cụm điểm là một bài toán đặc biệt cần có những biểu đồ hỗ
trợ so sánh và đánh giá. Ứng dụng hỗ trợ người dùng nhiều loại biểu đồ khác nhau
tùy theo những phương pháp quan sát khác nhau trong đó gồm cả biểu đồ 3D và 2D
và hỗ trợ hơn 20 loại biểu đồ khác nhau.

55

Hình 3.11: Một số biểu đồ trợ giúp dạng 3D

56

Hình 3.12: Một số biểu đồ trợ giúp dạng 2D

57

Khả năng phân cụm và kết xuất chi tiết: đây là tính năng cơ bản cho việc
giải quyết bài toán phân cụm điểm. Chương trình có khả năng phân cụm và chỉ ra
cấu hình cũng như những học sinh có kết quả tương đồng cùng một nhóm. Dựa vào
SOM từ một tập dữ liệu ban đầu mạng sẽ tự học trong quá trình huấn luyện và tiến
hành phân chia tập dữ liệu đầu vào thành các nhóm theo một quan hệ nào đó (quan
hệ không định trước và do mạng tự động đưa ra sau quá trình học).

Hình 3.13: Nhóm và cấu hình nhóm
Từ dữ liệu đầu vào là một file excel chương trình phân ra làm các nhóm học
sinh khác nhau và người quản lý có thể dễ dàng đưa ra phương pháp tác động tới
nhóm này nhằm đạt một hiệu quả nhất định nào đó.

58