2.4.1 .Mạng truyền thẳng nhiều lớp
3.7. Huấn luyện mạng nơ-ron model
Bảng 3.1. Dữ liệu tạo Model với một số đặc trưng cơ bản
Từ dữ liệu ban đầu, muốn xây dựng Model dự đoán cho nhà trường để sử dụng trong những năm tiếp theo. Chẳng hạn như muốn đưa ra dự đoán khả năng nhập học của học sinh trong năm tiếp theo dựa vào giá trị trung bình của những đặc trưng cơ bản.
Dữ liệu có hiện tại là dữ liệu từng năm, để mạng nơron MLP có thể học được, cần phải có sự so sánh cụ thể của các cột như sau:
Bảng 3.2. Một số đặc trưng giá trị trung bình
Sử dụng sự so sánh của các cột giá trị đặc trưng để xây dựng mô hình dự báo cho những học sinh trong năm, tác giả tạo bảng gồm 2520 hàng (row) dữ liệu với 26 đặc trưng (column).
Bảng 3.3. Thông số trong model
Để mạng nơron dự báo tốt, cần chọn các thông số thích hợp cho mạng. Thông số thích hợp thường phụ thuộc nhiều vào dữ liệu, một thông số có thể tốt cho dữ liệu này nhưng lại kém khi sử dụng ở dữ liệu khác.
Trong bảng gồm 2520 (row) dữ liệu với 26 đặc trưng (column) ta dùng hàm để đưa vào những đặc trưng có tác động tới mô hình.
Như vậy ta sẽ sử dụng mạng nơron có 16 đầu vào và 2 đầu ra. Dữ liệu có dạng như bảng sau:
Bảng 3.4. Mạng nơ ron với số đầu vào và ra Tiến hành huấn luyện mạng và cho biết thông số đầu ra. Tiến hành huấn luyện mạng và cho biết thông số đầu ra.
Sử dụng các thuật toán trong mô hình: model = Sequential()
model.add(Dense(24, input_dim=16, activation='relu'))
model.add(Dense(16, activation='relu'))
model.add(Dense(2, activation='softmax'))
model.summary()
Trong mô hình mạng Noron với 2 đầu ra nên ta sử dụng một số hàm và công cụ đo để có độ chính xác như sau:
+ Hàm Softmax
Hàm Softmax được sử dụng ở mô hình nhằm đánh giá xác suất phân loại của dữ liệu đầu vào. Ngoài ra, hàm Softmax cũng thường được sử dụng để tính toán trọng số cho dữ liệu.
+ Hàm tối ưu adam
Adam sử dụng là chọn một cách thích nghi một tỷ lệ học tập riêng cho từng tham số. Các thông số thường nhận được các bản cập nhật nhỏ hơn hoặc ít thường xuyên hơn sẽ nhận được các bản cập nhật lớn hơn với Adam.
Các lợi ích của thuật toán Adam
- Không khó khăn để triển khai thực hiện - Độ phức tạp hiệu quả
- Ít bộ nhớ yêu cầu.
- Thích hợp với các bài toán có độ biến thiên không ổn định và dữ liệu traning phân mảnh.
- Các siêu tham số được biến thiên một cách hiệu quả và yêu cầu ít điều chỉnh. + Công cụ đo: metrics
Khi xây dựng mô hình dự báo chúng ta sẽ muốn biết một cách khái quát tỷ lệ các trường hợp được dự báo đúng trên tổng số các trường hợp là bao nhiêu. Tỷ lệ đó được gọi là độ chính xác. Độ chính xác giúp ta đánh giá hiệu quả dự báo của mô hình trên một bộ dữ liệu. Độ chính xác càng cao thì mô hình càng chuẩn xác. Trong các
metrics đánh giá mô hình phân loại thì độ chính xác là metric khá được ưa chuộng vì nó có công thức tường minh và dễ diễn giải ý nghĩa .
Sau đó, chúng ta khởi tạo các tham số và huấn luyện MLP với 500 epoch. Giá trị loss được lưu sau mỗi 500 epoch. Thông tin huấn luyện MLP như sau:
Hình 3.13: Giá trị loss sau mỗi epoch + Hàm mất mát loss: + Hàm mất mát loss:
Hàm loss sẽ chỉ ra mô hình đoán sai bao nhiêu so với giá trị thực tế. Dựa trên phản hồi, mô hình có thể sửa những lỗi sai trước đó. Quá trình này lặp đi lặp lại cho đến khi mô hình đạt đến một độ chính xác nhất định.
Với dữ liệu kiểm tra đầu ra của mạng cũng xấp xỉ đầu ra yêu cầu (tức là đầu ra thực của dữ liệu học). Qua đó cho thấy mạng nơron MLP học khá tốt.
+ Precision: trả lời cho câu hỏi trong các trường hợp được dự báo là tốt thì có bao nhiêu trường hợp là đúng. Và tất nhiên đọ chính xác càng cao thì mô hình của chúng ta càng tốt trong việc dự báo. Precision sẽ cho chúng ta biết mức độ chuẩn xác của mô hình đối với các mô hình được dự báo là xấu. [17]
Precision = 𝑇𝑃
total predicted positive=
+ Recall: đo lường tỷ lệ dự báo chính xác các trường hợp positive trên toàn bộ các mẫu thuộc nhóm positive. Để tính được recall thì chúng ta phải biết trước nhãn của dữ liệu. Do đó recall có thể được dùng để đánh giá trên tập train và validation vì chúng ta đã biết trước nhãn. Trên tập test khi dữ liệu được coi như mới hoàn toàn và chưa biết nhãn thì chúng ta sẽ sử dụng precision. [18]
Recall= 𝑇𝑃
total actual positive =
𝑇𝑃 𝑇𝑃 + 𝐹𝑁
+ F1 score: trung bình điều hòa giữa precision và recall. Do đó nó đại diện hơn trong việc đánh gía độ chính xác trên đồng thời precision và recall. Nó được sử dụng để đánh giá hiệu suất của mô hình phân loại hoặc khuyến cáo
F1 = 2
precision−1+recall−1
Các giá trị mức dự đoán đối với học sinh, sinh viên được đưa ra là 63/1432 và không cảnh báo là 1369/1432. Và các công cụ đo như Accuracy, Precision, Recall, f1-Score đặt mức trong khoảng 92%-97%, đây là mức tương đối cao với bài toán dự báo.