Cài đặt chương trình

Một phần của tài liệu BÁO CÁO MẠNG NEURAL VÀ ỨNG DỤNG (Trang 29 - 34)

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.

Một phần của tài liệu BÁO CÁO MẠNG NEURAL VÀ ỨNG DỤNG (Trang 29 - 34)