Chương trình ứng dụng

Một phần của tài liệu Mạng KOHONEN SOM và ứng dụng phân cụm dữ liệu điểm học sinh trung học phổ thôngt (Trang 55 - 72)

--- 3.1 . Mô tả bài toán

3.1.1. Dữ liệu vào:

Dữ liệu vào cho bài toán được thu thập từ điểm thi học kỳ và thi tháng của

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á

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

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.

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.

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.

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 đồ.

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.

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.

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

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

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 đó.

Hình 3.14: Một phần dữ liệu và khả năng phân nhóm.

3.3.2 Hướng dẫn sử dụng, chạy thử nghiệm

Chương trình được cài đặt trên ngôn ngữ lập trình Visual C# của Microsoft, chạy trên nền net framework 3.5, vì thế để có thể chạy được chương trình cần tiến

hành cài đặt net framework 3.5 trở lên. Bên cạnh đó ứng dụng dành cho phân cụm dữ liệu trên các file excel do đó cần tiến hành cài đặt phần mềm Microsoft Office Excel để hỗ trợ khả năng truy suất trên dữ liệu. Các công cụ cơ bản được mô tả như sau:

Danh sách phân nhóm Khởi tạo mạng neural Hiển thị cấu hình nhóm Hiển thị biểu đồ

Hiển thị dữ liệu đầu vào Phân cụm dữ liệu

Khởi tạo biểu đồ

Hình 3.15: Các phần của ứng dụng Tab chọn loại biểu đồ.

Tab chọn file chứa dữ liệu.

Tab chọn nhóm sau phân cụm.

Tab chọn môn để phân cụm và nhãn tưng ứng.

Tab chọn biểu đồ để hiển thị.

Như kết quả thực nghiệm đã thấy ứng dụng có khả năng phân cụm dữ liệu trên tập sinh viên đầu vào và hiển thị chi tiết đặc tính cũng như danh sách các sinh viên thuộc nhóm đó. Vậy thao tác như thế nào để có được kết quả như vậy trên phần mềm ứng dụng, sau đây là các bước cơ bản của quá trình sử dụng.

Bước 1: Chọn cơ sở dữ liệu.

Để chọn cơ sở dữ liệu có thể dùng tab Group hỗ trợ trên giao diện hoặc chọn tab home\Open. Với tab Group hỗ trợ chỉ chọn được những file đúng định dạng excel.

Bước 2: Chọn môn cần phân cụm và nhãn cho đối tượng phân cụm.

Trong tab Properties giúp việc chọn môn để phân cụm phía bên trái và nhãn để phân cụm phía bên phải.

Bước 3: Khởi tạo mạng neural và tiến hành phân cụm.

Click vào button Create có trên giao diện thực hiện quá trình khởi tạo huấn luyện, phân nhóm trong mạng neural.

Bước 4: Khởi tạo biểu đồ cho các nhóm.

Click vào button Chart trên giao diện khởi tạo một luồng mới vẽ biểu đồ cho các nhóm đã được phân cụm sau bước 3, trong đó có một biểu đồ tổng quát. Có thể cấu hình loại biểu đồ trong tab Control phía bên phải được ẩn đi.

Bước 5: Phân chia dữ liệu thành các nhóm và quan sát kết quả.

Click vào button Split trên giao diện thực hiện quá trình phân nhóm cho dữ liệu được chọn ban đầu. Có thể quan sát cấu hình, danh sách và các đặc trưng khác của các nhóm trên giao diện.

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 để cải thiện chất lượng học 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.4. Kết luận

Mạng neural là một lĩnh vực nghiên cứu tương đối rộng và đòi hỏi nhiều công sức và lỗ lực trong quá tình nghiên cứu. Bên cạnh đó việc cài đặt và ứng dụng mạng neural gặp nhiều khó khăn do độ phức tạp tương đối cao của giải thuật. Vì lí do đó trong luận văn chỉ hướng tới một mạng neural dùng để phân cụm dữ liệu là mạng SOM để nghiên cứu và phát triển.Thực tế đã chứng minh mạng SOM có rất nhiều ứng dụng và việc nghiên cứu khai thác mạng này sẽ đem lại nhiều kết quả thực tiễn.

Việc nghiên cứu mạng SOM bắt đầu từ quá trình phát triển lý thuyết mạng neural và đem lại những hiểu biết về mạng neural nhân tạo. Trong nội dung luận văn đã trình bày những hiểu biết chung nhất về mạng, đồng thời cho người đọc có được những quan niệm chung nhất về lĩnh vực khoa học còn nhiều mới mẻ này.

Bên cạnh đó quá trình phát triển về mặt nền tảng lý thuyết cũng đã đem lại những thành công nhất định. Cụ thể trong nội dung báo cáo đã đề xuất một số phương pháp cải tiến trên mạng SOM, những phương pháp phân nhóm mới hiệu quả hơn, phương pháp khởi tạo mạng thu gọn… Và những cải tiến này đã đem lại những hiệu quả nhất định cho quá trình xử lý mạng neural và ứng dụng thực tế của chúng.

Ứng dụng phân biệt màu và phân cụm điểm là những ví dụ được sử dụng minh họa cho khả năng ứng dụng của mạng neural.

Những kết quả mà luận văn đã thực hiện:

+ Về lý thuyết, luận văn tập trung tìm hiểu các kỹ thuật phân loại, phân cụm truyền thống. Tìm hiểu mạng neural cụ thể là mạng Kohonen-SOM để phân cụm dữ liệu.

+ Về thực tiễn, luận văn đã đưa ra các kết quả cài đặt thử nghiệm trên bộ dữ liệu bao gồm các kết quả phân loại, phân nhóm.

Qua quá trình thực nghiệm và nghiên cứu lý thuyết có thể đưa ra một số kết luận như sau:

• Mỗi một giải thuật phân cụm áp dụng cho một số mục tiêu và kiểu dữ liệu nhất định.

• Mỗi giải thuật có một mứ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 tuỳ thuộc vào cách thức tổ chức dữ liệu ở bộ nhớ chính, bộ nhớ ngoài... của các giải thuật.

• 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.

Với những gì mà luận văn đã thực hiện, các hướng phát triển sau này của luận văn như sau:

• Độ chính xác phân lớp, phân cụm phụ thuộc vào nhiều yếu tố như chất lượng dữ liệu, thuật toán cài đặt, phương pháp tính độ tương đồng của các đối tượng dữ liệu. Ngoài ra, các giá trị khuyết hay các thuộc tính dư thừa cũng phần nào làm ảnh hưởng đến chúng. Vì vậy hướng phát triển sau này là xử lý các giá trị khuyết, phát hiện và loại bỏ các thuộc tính dư thừa, cải tiến phương pháp tính độ tương đồng,... nhằm nâng cao chất lượng và tốc độ phân lớp, phân cụm.

• Sau khi phân cụm theo nhóm học sinh đã có sự tương đồng về điểm có thể phối hợp với các chuyên gia để đưa đến định hướng nghề nghiệp cho học sinh THPT.

• Tiến hành cài đặt và tiếp tục nghiên cứu nhiều kỹ thuật khai phá dữ liệu hơn nữa, đặc biệt là triển khai giải quyết các bài toán cụ thể trong thực tế.

Trong quá trình thực hiện đồ án rất mong được sự đóng góp chỉ bảo của các thầy, cô giáo. Em xin trân thành cảm ơn sự ủng hộ và góp ý của các thầy cô, đặc biệt là thầy Nguyễn Văn Tảo đã có những hướng dẫn chiến lươc cho quá trình nghiên cứu và thực hiện luận văn.

Một phần của tài liệu Mạng KOHONEN SOM và ứng dụng phân cụm dữ liệu điểm học sinh trung học phổ thôngt (Trang 55 - 72)

Tải bản đầy đủ (DOC)

(72 trang)
w