Module lý do để giải thích kết quả mà bạn nhận được. Module lý do như sau:
public string lydo() {
String tuoi = ""; if (p[0] == 1)
tuoi = tuoi + "Theo câu trả lời của bạn đã cung cấp cho chúng tôi thì: Bạn ở độ tuổi trẻ, ";
42
tuoi = tuoi + "Theo câu trả lời của bạn đã cung cấp cho tôi thì: Bạn ở độ tuổi trung bình, ";
if (p[0] == 3)
tuoi = tuoi + "Theo câu trả lời của bạn đã cung cấp cho tôi thì: Bạn ở lớn tuổi, ";
String thunhap = ""; if (p[1] == 1)
thunhap = thunhap + "thu nhập của bạn ở mức cao, "; if (p[1] == 2)
thunhap = thunhap + "thu nhập của bạn ở mức bình thường, "; if (p[1] == 3)
thunhap = thunhap + "thu nhập của bạn ở mức thấp, "; String sv = "";
if (p[2] == 1)
sv = sv + "bạn là sinh viên"; if (p[2] == 2)
sv = sv + "bạn không là sinh viên"; String mm = "";
if (p[3] == 1)
mm = mm + "bạn mong muốn 1 sản phẩm khá tốt. "; if (p[3] == 2)
mm = mm + "và bạn mong muốn 1 sản phẩm tuyệt vời. "; String ld = tuoi + thunhap + sv + mm;
return ld; }
private void btngt_Click(object sender, EventArgs e) {
String st = ""; int n = 0;
43 n = p[0] * int.Parse(txtw1.Text) + p[1] * int.Parse(txtw2.Text) + p[2] * int.Parse(txtw3.Text) + p[3] * int.Parse(txtw4.Text) + int.Parse(txtb.Text); if (n < 0)
st = lydo() + "\n" + "Theo Perceptron thì ta có hardlim (n) = " + txtw1.Text + "*" + p[0] + " + "
+ txtw2.Text + "*" + p[1] + " + " + txtw3.Text + "*" + p[2] + " + " + txtw4.Text + "*" + p[3] + " + " + txtb.Text + " = 0 "
+ "\n" + " => Vì vậy lời khuyên của tôi dành cho bạn là: Bạn không nên mua máy tính !";
else
st = lydo() + "\n" + "Theo Perceptron thì ta có hardlim (n) = " + txtw1.Text + " * " + p[0] + " + "
+ txtw2.Text + " * " + p[1] + " + " + txtw3.Text + " * " + p[2] + " + " + txtw4.Text + " * " + p[3] + " + " + txtb.Text + " = 1 "
+ "\n" + " => Vì vậy lời khuyên của tôi dành cho bạn là: Bạn nên mua máy tính !";
MessageBox.Show(st, "Lý do", MessageBoxButtons.OK, MessageBoxIcon.Information);
44 3.3. Xây dựng chương trình mô phỏng
Để xây dựng chương trình giải quyết bài toán tư vấn mua máy tính sử dụng các module sau: module giúp khởi tạo trọng số và hệ số hiệu chỉnh, module áp dụng thuật toán Rosenblatt huấn luyện mạng Perceptron, module cung cấp thông tin cá nhân (bao gồm: độ tuổi, thu nhập, đối tượng, chất lượng sản phẩm), module kết quả, module lý do.
3.3.1. Giao diện chính
45
3.3.2. Module giúp khởi tạo trọng số và hệ số hiệu chỉnh
Khi giao diện chính hiện lên. Ma trận sẽ hiện lên khi bạn nhấn từ Bắt đầu:
Hình 3.2. Form giúp khởi tạo trọng số và hệ số hiệu chỉnh
3.3.3. Module áp dụng thuật toán Rosenblatt huấn luyện mạng Perceptron Perceptron
Khi giao diện chính hiện lên. Perceptron sẽ hiện lên trọng số và hệ số hiệu chỉnh khi bạn nhấn từ Bắt đầu:
Hình 3.3. Form áp dụng thuật toán Rosenblatt huấn luyện mạng Perceptron 3.3.4. Module thông tin cá nhân
Sau khi trọng số và hệ số hiệu chỉnh hiện lên. Hệ thống yêu cầu bạn sẽ trả lời thông tin cá nhân như sau:
46
Độ tuổi
Hình 3.4. Form yêu cầu trả lời độ tuổi
Thu nhập
Hình 3.5. Form yêu cầu trả lời thu nhập
Đối tượng
Hình 3.6. Form yêu cầu trả lời đối tượng
Chất lượng sản phẩm
47 3.3.5. Module kết quả
Nhập dữ liệu và thông tin cá nhân. Nhấn vào nút Kết quả. Thông báo về Kết quả sẽ hiện lên đưa ra lời khuyên dành cho bạn hợp lí nhất.
Hình 3.8. Form kết quả 3.3.6. Module lý do
Bạn có thể xem lời lý do từ thông tin bạn nhập vào khi nhấn vào nút Lý do mà kết quả bạn nhận được.
48
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 1. Kết luận
Qua quá trình thực hiện khóa luận, em đã học hỏi rất nhiều kinh nghiệm và đạt được kết quả như sau:
-Tìm hiểu được mô hình và ứng dụng mạng nơron nhân tạo. Mạng perceptron nằm trong mạng nơron nhân tạo. Mạng perceptron là mạng truyền thẳng một lớp hoặc nhiều lớp.
-Giới thiệu thuật toán Rosenblatt là giới thiệu luật học huấn luyện mạng perceptron giải quyết các bài toán tư vấn, phân lớp, dự đoán ...
-Tìm hiểu các luật học, kiến trúc perceptron, luật học perceptron.
-Xây dựng chương trình mô phỏng tư vấn mua máy tính nhờ việc áp dụng thuật toán Rosenblatt.
Đó là những kết quả đã đạt được trong quá trình nghiên cứu thuật toán Rosenblatt và xây dựng chương trình tư vấn mua máy tính. Tuy nhiên do thời gian và kiến thức còn hạn chế nên khóa luận còn thiếu sót và vẫn chưa giải quyết được như phạm vi bài toán nhỏ và kết quả của chương trình chỉ thực hiện với phương pháp đơn giản. Em rất mong được sự đóng góp quý báu của thầy cô giáo và các bạn để khóa luận của em được hoàn thiện hơn. Một lần nữa em xin gửi lời cảm ơn TS. Lưu Thị Bích Hương đã tận tình hướng dẫn em trong thời gian qua để em có thể hoàn thành tốt khóa luận tốt nghiệp. 2. Hướng phát triển
Trong thời gian tới em sẽ tiếp tục nghiên cứu để hoàn thiện tiếp những phần còn tồn tại trên. Để xây dựng hoàn chỉnh hơn và kết quả của đề tài có thể ứng dụng vào thực tế, làm tài liệu giúp cho việc nghiên cứu, tìm hiểu về lý thuyết nhận dạng được trực quan, sinh động hơn.
Tiếp tục nghiên cứu đầy đủ hơn đặc điểm của từng lớp bài toán để việc ứng dụng mạng perceptron trở nên đơn giản và nâng cao hiệu quả. Cải tiến thuật toán Rosenblatt bằng cách kết hợp các phương pháp khác như giải thuật di truyền, logic mờ. Mở rộng nghiên cứu các mạng khác nhau và ứng dụng cho các
49
bài toán phân lớp, phân cụm dữ liệu, dự đoán, tư vấn, …
Xây dựng các phương pháp biểu diễn dữ liệu cho nhiều kiểu dữ liệu khác nhau như dạng hình ảnh, âm thanh, …. Phần mềm cần bổ sung nhiều chức năng cho phép người sử dụng mô phỏng dễ dàng các mạng khác nhau.
50
TÀI LIỆU THAM KHẢO
1. Lý thuyết nhận dạng ứng dụng trong quản lý của GS.TS Đỗ Hoàng Toàn. 2. https://www.google.com.vn.
3. http://doc.edu.vn/tai -lieu/tieu -luan -ly-thuyet-nhan-dang-nhan-dang -doi- tuong-tren-hinh-anh-33943/.
5. http://baigiang.violet.vn/present/show/entry_id/218839.
6. Bài tập lớn: http://www.docx.vn/bai-tap -lon -tri-tue-nhan-tao/tim -hieu - thuat toan rosenblatt de huan luyen mang perceptron va cai dat ung dụng.html