Từ những nghiên cứu về nơron sinh vật ta có thể xây dựng mô hình nơron nhân tạo nhưhình 2.7.
3.2.2 Xử lý số liệu đo bằng mạng nơron để giảm sai số ngẫu nhiên
Xét đường đặc tính của cảm biến có dạng y=x2.
Với giải đo từ 0-xmax= 0-10 tương ứng với 0-ymax= 0-100. Thực hiện lấy mẫu tại n điểm và tại mỗi điểm lấy mẫu thứ k, k=1..n, ta đo m lần đểđược tập giá trị {x(1), x(2)...x(m)} và {y(1), y(2),...y(m) } phân bố xung quanh giá trị thực Xk và Yk. Mạng nơron W y(1) y(2) y(m) - + Yk * k Y x y 0 1 2 3 4 5 6 7 8 9 10 0 10 20 30 40 50 60 70 80 90 100 Hình 3.6: Đặc tính cảm biến
70
Ứng với các tập giá trị đo ngẫu nhiên X tại điểm lấy mẫu thứ k, ta sử dụng mạng nơron hai lớp và thuật học lan truyền ngược để huấn luyện mạng cho ra kết quả chính xác gần với Xk. Với tập giá trị ngẫu nhiên Y ta cũng sử dụng mạng tương tự nhưđối với biến X, tức là dùng hai mạng nơron để huấn luyện tập các giá trị X và Y tương ứng.
+ Xây dựng mạng nơron:
Ta sử dụng mạng nơron truyền thẳng hai lớp như sau :
-Lớp vào : có m đầu vào và số nơron bằng số tự nhiên làm tròn của giá trị đúng tại điểm lấy mẫu. Trong chương trình mô phỏng Matlab số nơron được tính bằng hàm round(t(k)+1) trong đó t(k) là giá trị đúng tại điểm lấy mẫu thứ k. Hàm truyền sử dụng cho lớp này là hàm sigmoid lưỡng cực :
11 1 2 ) ( − + = − n e n
g . Hàm này được dùng trong Matlab với tên hàm là tansig
-Lớp ra : một nơron với hàm truyền tuyến tính : g(n)=n. Trong Matlab hàm này được dùng với tên purelin.
-Thuật học sử dụng cho mạng : Ta dùng thuật học lan truyền ngược Levenberg-Marquardt. Algorith này là nhanh nhất trong việc dạy mạng có kích thước vừa phải và giảm bộ nhớ khi tập mẫu học quá lớn.
Nếu số mẫu học tại mỗi điểm lấy mẫu càng lớn đồng thời sai số học càng nhỏ thì kết quả thu được càng chính xác. Trong trường hợp này chỉ cần dùng 200 mẫu học tại mỗi điểm lấy mẫu đủđểđạt được độ chính xác mong muốn.
Với 20 điểm lấy mẫu (n=20), số giá trị đo tại mỗi điểm lấy mẫu là 10 (m=10) và số mẫu học tại mỗi điểm lấy mẫu là 200 (h=200). Mạng được huấn luyện theo thuật học lan truyền ngược, số lần lặp tối đa là 3000 và giá trị sai số học là 10-10đủđểđạt được mục tiêu của bài toán đề ra. Sau khi huấn luyện mạng tại mỗi điểm lấy mẫu ta sẽ có một ma trận trọng số tối ưu. Ta kiểm tra lại kết quả bằng cách lấy m=10 giá trị ngẫu nhiên tại mỗi điểm cho vào mạng
71
nơron đã huấn luyện để được giá trị đầu ra X*k, Y*k thoã mãn : X*k −Xk <
k k X
X − và Y*k −Yk <Y*k −Yk với k=1,..n. Lưu đồ thuật toán quá trình học nhưhình 3.7
72
Bắt đầu