Các mã lệnh khởi tạo mạng nơron

Một phần của tài liệu Ứng dụng mạng nơron nhân tạo dự báo đồ thị phụ tải ngắn hạn hệ thống (Trang 66 - 68)

Để xây dựng phần mềm trong luận văn này tôi sử dụng công cụ Matlab GUIDE cùng các lệnh để mô phỏng mạng nơ ron:

a. Đọc dữ liệu từ file excel:

Vì các thông số tôi thu thập được lưu vào trong file excel nên từ Matlab ta phải dùng lệnh :

Num=xlsread(filename,sheet,‟range‟) Trong đó: Num là mảng dữ liệu cần tạo

+ Filename là tên file excel chứa dữ liệu ( tên file viết liền không dấu)

- 67 -

+ Sheet là trang chứa dữ liệu trong file excel ( có thể không có nêu file excel chỉ có một sheet)

+ Range khoảng chứa dữ liệu cần thiết trong file excel b. Chuẩn hóa dữ liệu:

[pn,mip,maxp,tn,mint,maxt] = premnmx(p,t) Trong đó:

+ pn,tn: Véc tơ đầu vào và đầu ra mạng Nơ ron đã được chuẩn hóa.

+ minp,maxp,mint,maxt: giá trị lớn nhất và nhỏ nhất của các phần tử trong véc tơ đầu vào và đầu ra mạng Nơ ron

c. Tạo mạng:

net = newff(minmax(pn),[17 24], {„tansig‟, „purelin‟}, „trainlm‟) . Trong đó:

+ Net: Là mạng nowrron ta đã tạo

+ [17 24]: Số nơ ron lớp ẩn và số nơ ron đầu ra + {„tansig‟, „purelin‟}: Các hàm kích hoạt + trainlm: Thuật toán huấn luyện mạng. d. Đặt các thông số huấn luyện mạng:

net.divideParam.trainRatio = 60/100; Đặt tập huấn luyện chiếm 60% tập mẫu net.divideParam.valRatio = 20/100; Đặt tập kiểm tra chiếm 20% tập mẫu net.divideParam.testRatio = 20/100; Đặt tập kiểm tra chiếm 20% tập mẫu net.trainParam.show; - sau 50 lần học kết quả sẽ hiển thị một lần

net.trainParam.epochos = 1000; - đặt số vòng cho một quá trình luyện mạng, khi đạt được 1000 vòng lặp thì vòng lặp kết thúc.

net.traimParam.goal = 1e-5; - đặt sai số cho quá trình luyện mạng là 10-5 khi đạt sai

số này thì quá trình luyện kết thúc. e. Huấn luyện mạng:

[net,tr]=train(net,pn,tn)

+ pn,tn: Các véc tơ đầu vào và đầu ra mạng đã được chuẩn hóa. f. Lưu trữ mạng và dự báo:

- 68 - Save net;

o=sim(net,pn) Trong đó:

+ net: Mạng nơ ron ta đã lưu + pn: Véc tơ đầu vào đã chuẩn hóa

g. Chuyển kết quả chuẩn hóa về kết quả thực: A=postmnmx(o,mint,maxt)

Trong đó:

+ A: Giá trị véc tơ thực dự báo + o: Kết quả đầu ra dự báo

+ mint,maxt: Giá trị lớn và nhỏ nhất của các phần tử trong véc tơ đầu ra. h. Ghi kết quả dự báo ra file:

[status msg]=xlswrite(filename,a(iiforecast)) Trong đó:

+ Filename: Tên file ghi kết quả dự báo + a(iiforecast): Giá trị dự báo

Một phần của tài liệu Ứng dụng mạng nơron nhân tạo dự báo đồ thị phụ tải ngắn hạn hệ thống (Trang 66 - 68)