Xây dựng cấu trúc mạng

Một phần của tài liệu Nghiên cứu ứng dụng mạng nơron nhân tạo dự báo phụ tải điện cho thành phố hưng yên (Trang 73 - 114)

Mạng ựược xây dựng với câu trúc gồm các dữ liệu nhiều ựầu vào mạng, các nơron trong lớp ẩn và các nơron ở lớp ra, một ựầu ra mạng, hàm truyền sử dụng 2 hàm truyền chắnh là hàm logsig và hàm purelin.

Cụ thể trong bài toán là sử dụng các cấu mạng sau: Mạng 2 lớp với 2 ựầu vào mạng và 1 ựầu ra mạng. Mạng 2 lớp với 4 ựầu vào mạng và 1 ựầu ra mạng. Mạng 2 lớp với 8 ựầu vào mạng và 1 ựầu ra mạng.

Trường đại học Nông nghiệp Hà Nội Ờ Luận văn thạc sỹ kỹ thuậtẦẦẦ.. ẦẦẦ 65

3.2.3 Xây dựng cấu trúc phần mềm mô phỏng mạng nơron trên phần mềm Matlab

Trong phần mềm matlab thì quá trình ứng dụng mạng nơron ựể huấn luyện mạng diễn ra một cách tự ựộng, tùy thuộc vào từng thuật toán huấn luyện mà ta ứng dụng.

Ta sử dụng phần mềm Matlab phiên bản 2008b ựể giải bài toán này. Chúng ta sẽ cài ựặt phần mềm này trên máy tắnh cá nhân có cấu hình phù hợp ựể cho phần mềm chạy trên máy tắnh ựược tốt. Sau khi cài ựặt phần mềm hoàn tất ta mở phần mềm Matlab như biểu tượng sau.

Trên cửa sổ chắnh của phần mềm Matlab có 3 cửa sổ nhỏ là: Command window ựây là của sổ có thể soạn thảo chương trình trực tiếp trên ựó và các kết quả sẽ ựược hiện thị và quá trình báo lỗi cũng hiện thị trên cửa sổ này. Tiếp theo là cửa sổ

Command history ựây là cửa số lưu lại toàn bộ các lệnh trên cửa sổ Command Window khi ta thực hiện. Tiếp nữa là cửa sổ workspace ựây là cửa sổ sẽ cho ta biết các kết quả trong quá trình thực hiện và có thể truy xuất các kết quả khi cần.

Sau ựó ta chọn New M-file trên cửa sổ M-file này ta sẽ dùng ựể soạn thảo chương trình và chạy chương trình.

Cấu trúc phần mềm ựược xây dựng qua 7 bước trên phần mềm Matlab như sau:

Bước 1: Nhập những dữ liệu lựa chọn làm ựầu vào mạng tiếp theo ta ựưa dự

liệu mục tiêu mà ta cần mong muốn.

Bước 2: Ta tiến hành khởi tạo mạng, ựặt các tham số cần thiết cho mạng với thuật toán LM.

Trường đại học Nông nghiệp Hà Nội Ờ Luận văn thạc sỹ kỹ thuậtẦẦẦ.. ẦẦẦ 66

Thuật toán Levenberg-Marquardt ựược thiết kế ựể tiến tới gần yêu cầu thứ 2 của tốc ựộ luyện mà không cần tắnh toán ma trận Hessian. Khi chức năng thực hiện có dạng một tổng bình phương, sau ựó ma trận Hessian có thểựược xấp xỉ như.

H=JTJ;

Và gradient có thểựược tắnh như g=JTe;

Trong ựó J là ma trận Jacobian có chứa các dẫn xuất lỗi ựầu tiên của mạng ựối với các trọng số và các ựộ lệch biases và e là một véc tơ các sai số của mạng. Ma trận Jacobian có thể ựược tắnh toán thông qua tiêu chuẩn lan truyền ngược phương pháp này ắt nhiều phức tạp hơn tắnh toán ma trận Hessian.

Các thuật toán Levenberg-Marquardt này sử dụng xấp xỉ với ma trận Hessian trong Newton như sau.

[J J I] J e x x T T k k 1 1 − + = − +ộ ;

Khi vô hướng ộ bằng không ựây chắnh là phương pháp Newton sử dụng xấp xỉ

ma trận Hessian. điều này trở nên gradient ban ựầu với một bước nhỏ kắch thước nhỏ. Phương pháp Newton là nhanh và cho sai số gần hơn với sai số nhỏ nhất. Nên mục

ựắch là di chuyển theo phương pháp Newton càng nhanh càng tốt. Như vậy ộ giảm sau mỗi bước thành công và chỉ tăng khi một bước thăm dò sẽ tăng chức năng thực hiện này. Bằng cách này, chức năng thực hiện luôn ựược giảm, tại mỗi lần lặp của thuật toán.

Các mã sau ựây ựược khởi tạo lại từ trước mạng và huần luyện lại bằng cách sử

dụng thuật toán Levenberg-Marquardt các thông số huấn luyện cho trainlm là epochs, show, goal, time, min_grad, max_fail, mu, mu_dec, mu_inc, mu_max, and mem_reduc. Sáu tham số ựầu tiên ựã ựược thảo luận trước ựó. Tham số mu là giá trị

ban ựầu cho ộ. Giá trị này ựược nhân mu_dec bất cứ khi nào chức năng thực hiện ựược giảm một bước. Nó ựược nhân bởi mu_inc, bất cứ khi nào một bước tăng chức năng thực hiện. Nếu mu trở nên lớn hơn mu_max, thuật toán dừng lại, mem_reduc tham số ựược sử dụng ựể kiểm soát.

Trường đại học Nông nghiệp Hà Nội Ờ Luận văn thạc sỹ kỹ thuậtẦẦẦ.. ẦẦẦ 67

Học có giám sát (Supervised Learning). Là quá trình học ở mỗi thời ựiểm thứ i khi ựưa tắn hiệu xi vào mạng nơron, tương ứng sẽ có các ựáp ứng mong muốn di của

ựầu ra cho trước ở thời ựiểm ựó. Hay nói cách khác, trong quá trình học có giám sát, mạng nơ ron ựược cung cấp liên tục các cặp số liệu mong muốn vào Ờ ra ở từng thời

ựiểm (x1 ,d1), (x2, d2),Ầ (xk, dk),Ầkhi cho tắn hiệu vào thực là xk sẽ tương ứng có tắn hiệu ựầu ra cũng ựược lặp lại là dk giống như mong muốn. Kết quả của quá trình học có giám sát là tạo ựược một hộp ựen có ựầu vào là véc tơ tắn hiệu vào X sẽựưa ra ựược câu trả lời ựúng d.

để ựạt ựược kết quả mong muốn trên, khi ựưa vào tắn hiệu xk, thông thường sẽ

có sai lệch ek giữa tắn hiệu ựầu ra thực yk với tắn hiệu ựầu ra mong muốn dk. Sai lệch

ựó sẽ ựược truyền ngược tới ựầu vào ựể ựiều chỉnh thông số mạng nơron là ma trận trọng số WẦQuá trình cứ thế tiếp diễn sao cho sai lệch giữa tắn hiệu ra mong muốn và tắn hiệu ra thực tế nằm trong phạm vi cho phép, kết quả nhận ựược ma trận trọng số

với các phần tử wij ựã ựược ựiều chỉnh phù hợp với ựặc ựiểm của ựối tượng hay hàm số mạng nơron cần học. Mô hình học có giám sát ựược minh hoạ như hình 3.1 .

Hình 3.1: Mô hình hc có giám sát và hc cng c

Bước 5: Kết quảựầu ra mạng.

Bước 6:đánh giá sai số sau khi luyện mạng.

Trường đại học Nông nghiệp Hà Nội Ờ Luận văn thạc sỹ kỹ thuậtẦẦẦ.. ẦẦẦ 68

3.2.4 Dự báo phụ tải 3.2.4.1 Xử lý số liệu 3.2.4.1 Xử lý số liệu

Các số liệu xử lý ta ựưa chúng về trong khoảng 0 tới 1. Vì dữ liệu hệ thống ựiện và các dữ liệu liên quan rất lớn nên ta phải chuẩn hóa dữ liệu bằng cách chia cho một số với giá trị lớn hơn hoặc bằng giá trị lớn nhất như bảng 3.1.

Trường đại học Nông nghiệp Hà Nội Ờ Luận văn thạc sỹ kỹ thuậtẦẦẦ.. ẦẦẦ 69

Bng 3.1: Bng d liu x lý ca ph ti vit nam. (Báo cáo tng kết hàng năm ca vin khoa hc vit nam)

Kết quả dữ liệu ở bảng 3.1 sẽựược dùng ựể thực hiện trong bài toán sau này.

3.2.4.2 Dữ liệu và kết quả huấn luyện

Trong mạng lan truyên ngược ta ựiều chỉnh các tham số tốc ựộ học, sai số mục tiêu, số chu kỳ luyện cực ựại Ầ Trong mạng sử dụng 2 hàm truyền logsig cho lớp ẩn và hàm purelin dùng cho lớp ra.

Dữ liệu vào của mạng là:

P=[GDP;GNP;IP;CPI,số hộ; dân số; giá ựiện; số hộ nông thôn có ựiện]; Tham số mục tiêu là: T=[điện thương phẩm];

Sau ựó ta tiến hành thiết lập mạng và huấn luyện mạng áp dụng thuật toán Levenberg-Marquardt với cú pháp sau:

net=newff(minmax(P),T, N, {'logsig' 'purelin'},'trainlm');

Trong quá trình huấn luyện ta có thể ựiều chỉnh các trọng số và các thông số

Trường đại học Nông nghiệp Hà Nội Ờ Luận văn thạc sỹ kỹ thuậtẦẦẦ.. ẦẦẦ 70

Sau khi huấn luyện mạng thành công với chuỗi dữ liệu ựầu vào cho các năm 1995 tới 2010 và kết quả dự báo của chúng ta có sai số trung bình căn cứ vào dữ liệu huấn luyện. Sau khi huấn luyện thành công ta tiến hành dự báo phụ tải. để có cơ sở

căn cứ ta tiến hành dự báo làm 2 khoảng thời gian ựó là: Mốc thời gian dự báo từ năm 1995 tới 2010 là dự báo ựể so sánh với kết quả thực tế. Mốc thời gian từ năm 2011 tới 2020 là kết quả dự báo cho tương lai sau 10 năm.

Sơựồ quá trình thực hiện bài toán dự báo phụ tải ứng dụng mạng nơron.

Hình 3.1: Sơựồ quy trình thc hin bào toán.

I. Áp dụng mạng nơron dự báo phụ tải việt nam

Trường đại học Nông nghiệp Hà Nội Ờ Luận văn thạc sỹ kỹ thuậtẦẦẦ.. ẦẦẦ 71

Với bài toán 2 ựầu vào mạng và một ựầu ra dự báo phu tải ta có tới 7 dạng cơ

bản ựể huấn luyện ựó là các bài toán với 2 dữ liệu vào mạng số liệu cho trong bảng 3.1và các bài toán là:

o Dân số và GDP;

o Dân số và GNP;

o Dân số và giá trị sản xuất công nghiệp;

o Dân số và CPI;

o Dân số và số hộ nông thôn có ựiện;

o Dân số và số hộ;

o Dân số và giá ựiện.

Và một dữ liệu mục tiêu chung ựó là phụ tải ựiện.

Xét mng 2 lp vi 2 d liu vào mng Dân s và GDP

Bảng 3.2: Bảng số liệu dân số, GDP và công suất ựược chuẩn hóa.

Năm Dân số (p1) GDP (p2) Công suất (T) 1995 0,720 0,326 0,112 1996 0,732 0,356 0,134 1997 0,743 0,385 0,153 1998 0,755 0,408 0,177 1999 0,766 0,427 0,196 2000 0,776 0,456 0,224 2001 0,787 0,488 0,257 2002 0,797 0,522 0,302 2003 0,809 0,560 0,349 2004 0,820 0,604 0,397 2005 0,831 0,655 0,449 2006 0,841 0,709 0,514 2007 0,852 0,769 0,584 2008 0,862 0,816 0,657 2009 0,872 0,860 0,742 2010 0,882 0,918 0,844

Với việc áp dụng mạng 2 lớp 2 ựầu vào mạng ta tiến hành ựưa vào mạng các số

liệu ựể huấn luyện mạng bao gồm 2 chuỗi dữ liệu ựầu vào mạng là dân số và thu nhập kinh tế quốc dân(GDP). Và một chuỗi dữ liệu mục tiêu mà ta mong muốn là công suất

Trường đại học Nông nghiệp Hà Nội Ờ Luận văn thạc sỹ kỹ thuậtẦẦẦ.. ẦẦẦ 72

Ta quy ước:

P=[p1;p2]: Là ma trận ựầu vào mạng trong ựó p1,p2 là 2 ựầu vào mạng; T: Là ma trận tham số mục tiêu mà ta cần mong muốn;

Y: Tham sốựầu ra mạng. Ta bắt ựầu thiết lập mạng với lệnh như sau: P=[0.72 0.732 0.743 0.755 0.766 0.776 0.787 0.797 0.809 0.820 0.831 0.841 0.852 0.862 0.872 0.882; 0.326 0.356 0.385 0.408 0.427 0.456 0.488 0.522 0.560 0.604 0.655 0.709 0.769 0.816 0.860 0.918] T=[0.112 0.134 0.153 0.177 0.196 0.224 0.257 0.302 0.349 0.397 0.449 0.514 0.584 0.657 0.742 0.844]

net=newff(minmax(P),T,3, {'logsig' 'purelin'},'trainlm');

Sau khi ta tiến hành tạo mạng thành công ta tiến hành ựặt các tham số.

o performFcn='sse'; đặt hàm ựánh giá chức năng;

o show = 25; Số chu kỳ hiển thị kết quả trung gian;

o goal = 1e-5; Sai sốựắch của quá trình huấn luyện mạng;

o epochs = 1000; Số chu kỳ luyện.

Sau khi thiết lập các thông số cần thiết của mạng ta tiến hành luyện mạng. Quá trình luyện mạng thành công là ta căn cứ vào các chỉ tiêu là mà ta ựã thiết lập các thông sốở trên cho mạng.

Trường đại học Nông nghiệp Hà Nội Ờ Luận văn thạc sỹ kỹ thuậtẦẦẦ.. ẦẦẦ 73

Hình 3.2: đồ th quá trình luyn mng.

Như hình 3.2 ta thấy với ứng dụng mạng nơron 2 lớp lan truyền ngược với 2

ựầu vào mạng và 3 nơron lớp ẩn sử dụng thuật toán LM thì quá trình luyện mạng diễn ra rất tốt. đường màu xanh (Train) chắnh là quá trình mạng ựược huấn luyện và ựi theo như những mong muốn mà ta thiết lập tham số. đó là sai sốựắch mà ta mong muốn ựặt là 10-8 khi mạng huấn luyện chỉ sau có 34 epoch thì mạng ngừng huấn luyện và ựã ựạt

ựược sai số là 2,4947*10-5 tại epoch 28. Qua trình trên ta thấy nét màu ựỏ là quá trình kiểm tra mạng huấn luyện và nét màu xanh (Validation) là giá trị ựộ lệch tại epoch 28 cho sai số là 2,4947*10-5. Quá trình huấn luyện mạng diễn ra rất bằng phẳng và mịn với quá trình huấn luyện ựộ dốc sai số giảm dần nhỏ.

Ta sẽ thấy kết quả rõ hơn trong quá trình huấn luyện mạng như hình 3.3 ựồ thị

tương quan hồi quy. Trên hình 3.3 ta thấy có 4 hình nhỏ. đó là mạng trải qua 3 quá trình trong quá trình huấn luyện mạng. Hình bên trái trên cùng cho giá trị huấn luyện mạng (Training) có hệ số tương quan là R=0,99999 giá trị ựạt ựược là rất cao. Tiếp theo là hình bên trái góc cuối cùng là quá trình kiểm tra mạng (Test) khi huấn luyện cũng cho kết quả rất tốt hệ số tương quan R=0,99999 rất cao. Hình bên phải góc trên cùng là ựộ lệch trong quá trình huấn luyện mạng (Validation) cho hệ số tương quan rất cao là R=0,9998.Cuối cùng là kết quả của quá trình huấn luyện mạng ở hình bên phải góc cuối cùng cho hệ số tương qua R=0,99994 rất tốt và trên ựộ thị ta thấy dữ liệu hình chấm tròn bám sát ựường nét liền và ựường nét ựứt Y=T gần như trùng nhau với

Trường đại học Nông nghiệp Hà Nội Ờ Luận văn thạc sỹ kỹ thuậtẦẦẦ.. ẦẦẦ 74

Hình 3.3: đồ th tương quan hi quy.

đường nét ựứt Y=T là giá trị mong muốn ựầu ra mạng bằng tham số mục tiêu ta cần hay chắnh tham số mẫu ta ựưa vào mạng.

Quá trình huấn luyện mạng cho ta các thông sốựầu ra như bảng 3.3 sau:

Bảng 3.3: Tham sốựầu ra mạng sau khi huấn luyện.

Năm Tham sra mạng (Y)ốựầu Tham stiêu (T)ố mục 1995 0,1121 0,112 1996 0,1336 0,134 1997 0,1574 0,153 1998 0,1773 0,177 1999 0,1959 0,196 2000 0,2266 0,224 2001 0,2619 0,257 2002 0,302 0,302 2003 0,3466 0,349 2004 0,3961 0,397 2005 0,5518 0,449 2006 0,5114 0,514 2007 0,5847 0,584 2008 0,657 0,657 2009 0,7353 0,742 2010 0,8441 0,844

Trường đại học Nông nghiệp Hà Nội Ờ Luận văn thạc sỹ kỹ thuậtẦẦẦ.. ẦẦẦ 75

Ta thấy các tham số ựầu ra mạng (Y) ựược huấn luyện có tham số xấp xỉ gần tham số mục tiêu (T) như ta thấy trên bảng 3.3. Như vậy sai số rất nhỏ sau khi huấn luyện, ựiều ựó ựược thể hiện qua các tham số bảng 3.3 và ựồ thị huấn luyện hình 3.2 và 3.3. Cụ thể hơn ta sẽ có ựồ thị so sánh 2 tham số (Y) và (T) thông qua ựồ thị hình 3.3 sau.

Hình 3.4: đồ th mi quan h gia Y và T.

Trên ựồ thị hình 3.4 ta thấy rõ ràng ựầu ra mạng Y ký hiệu nét ựứt màu xanh và tham số mục tiêu là nét ựỏ liền có chấm tròn hai ựường này bám rất sát nhau và thậm chắ nhiều ựiểm chúng nằm trùng nhau. điều ựó càng thể hiện rõ rằng mạng luyện thành công khi mà dữ liệu ựầu ra cho tham số xấp xỉ tham số mục tiêu ta cần.

Sau quá trình huấn luyện phân tắch dữ liệu thành công ta tiến hành dự báo phụ

tải. để dự báo phụ tải ta tiến hành dự báo từ 1995 tới 2020 vì giai ựoạn 1995 tới 2010 là ta dự báo kết quả ựể kiểm tra kết quả dự báo với kết quả thực tế, còn kết quả dự báo từ năm 2011 tới 2020 là kết quả của quá trình dự báo cho tương lai. Các năm từ 1995 tới 2020 sẽ quy ước là năm 1995 ta quy ước là 1 và tới năm 2020 ta quy ước là 26.

Một phần của tài liệu Nghiên cứu ứng dụng mạng nơron nhân tạo dự báo phụ tải điện cho thành phố hưng yên (Trang 73 - 114)