II.1. Mô hình chương trình
Hình 12: Mô hình lớp của chương trình
Một số hàm chính trong chương trình: • Hàm trong lớp NeuralNetwork
public void loadPatterns(String aPattern): Lấy mẫu cho quá trình huấn luyện public void initNeuralNetwork(): Khởi tạo mạng Nơ ron
public void train(): Huấn luyện mạng
public void test(string aValues): Thực hiện đánh sau khi huấn luyện với giá trị vào tùy ý private void forwardPropagate(Pattern pPattern): Tính giá trị vào cho các nút trong mạng
private void backPropagate(): Cập nhật các trọng số theo thuật toán lan truyền ngược public double getThreshold(): Lấy giá trị ngưỡng ngẫu nhiên trong khoảng 0.25 đến 1
• Hàm trong lớp Neural
public void calculateOutputs(): Tính giá trị ra của nơ ron
public double getSigmoid(double x): Tính giá trị theo hàm Sigmod
II.2. Kết quả thử nghiệm
Hình 13: Giao diện chính của chương trình
a. Các bước thực hiện
• Lấy dữ liệu huấn luyện (Load Data): Chương trình tạo ngẫu nhiên thông tin cần thiết của sinh viên với các thông tin sau: Tên, điểm Toán, điểm Văn, và đầu ra mong muốn: 1 (True) là Đạt, 0 (False) là không đạt. Sau đó khởi tạo mạng nở ron
• Huấn luyện (Start training): chương trình sẽ huấn liệu cho đến khi lỗi nhỏ hơn bằng 0.05.
Hình 14: Kết quả huấn luyện
• Nhận dạng (Recognize): Test thử mạng đã được huấn luyện bằng cách thực hiện chọn điểm Toán và Văn, sau đó nhấn nút Recognize. Kết quả sẽ trả về là True/False và đầu ra ở tầng ra của mạng
CHƯƠNG 5: KẾT LUẬN
Báo cáo này trình bày về các vấn đề về mạng nơ ron, gồm: khái niệm của mạng nơ ron nhân tạo, lịch sử phát triển, các mô hình mạng và phương pháp xây dựng cũng như huấn luyện mạng. Trong đó đi sâu vào việc xây dựng một mạng nơ ron truyền thẳng MLP, và thuật tuán huấn luyện Lan truyền ngược.
Báo cáo này cũng trình bày một thực nghiệm cho các lý thuyết về mạng MLP và thuật toán Lan truyền ngược đã nêu ra. Thực nghiệm xây dựng một chương trình đơn giản để phân loại mẫu (phân loại học sinh).
Các vấn đề còn chưa có trong báo cáo, và cần nghiên cứu triển khai là:
- Tìm hiểu về các thuật toán huấn luyện mạng nơ ron khác, để có thể đưa ra các so sánh, cũng như chọn mô hình thích hợp cho các bài toán cụ thể.
- Phát triển chương trình thực nghiệm thành một chương trình có ý nghĩa thực tế hơn, như nhận dạng chữ viết tay, nhận dạng ảnh, dựa trên nền tảng mạng đã xây dụng
TÀI LIỆU THAM KHẢO
[1]. Genevieve Orr, Nici Schraudolph and Fred Cummins http://www.willamette.edu/~gorr/classes/cs449/intro.html [2]. Christos Stergiou and Dimitrios Siganos. Neural Networks. http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.html
[3]. Nikola K. Kasabov. Foundations of Neural Networks, Fuzzy Systems, and Knowledge Engineering. Massachusetts Institute of Technology.