Mạng nơ ron truyền thẳng và ứng dụng trong dự báo lũ lụt - Pdf 24


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

1

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

2 MẠNG NƠ RON TRUYỀN THẲNG VÀ ỨNG
DỤNG TRONG DỰ BÁO LŨ LỤT
Chuyên Ngành: Khoa học máy tính
Mã số : 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƢỜI HƢỚNG DẪN KHOA HỌC
TS. Nguyễn Long Giang
Thái Nguyên - 2014

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

3
LỜI CẢM ƠN
LỜI CAM ĐOAN
MỤC LỤC 1
DANH SÁCH BẢNG 5
DANH SÁCH HÌNH VẼ 6
MỞ ĐẦU 7

42
3.1. Sơ lƣợc về ứng dụng mạng nơron trong dự báo dữ liệu 42
3.2. Thu thập, phân tích và xử lý dữ liệu 42
3.2.1. Kiểu của các biến 43
3.2.2. Thu thập dữ liệu 44
3.2.3. Phân tích dữ liệu 45
3.2.4. Xử lý dữ liệu 45
3.2.5. Tổng hợp 47
3.3. Chƣơng trình dự báo dữ liệu 48
3.3.1. Các bƣớc chính trong quá trình thiết kế và xây dựng 48
3.3.2. Ứng dụng mạng nơron truyền thẳng nhiều lớp trong dự báo đỉnh lũ sông Trà
Khúc trạm Sơn Giang 53
3.3.3. Chƣơng trình dự báo dữ liệu 56
3.4. Một số nhận xét 60
KẾT LUẬN 62
TÀI LIỆU THAM KHẢO 64
PHỤ LỤC 66 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

5
DANH SÁCH BẢNG

Bảng 2.1. Thuật toán lan truyền ngƣợc của sai số (Thuật toán BP) 27
Bảng 2.2. Các hàm kích hoạt 29 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/


đỉnh đƣợc gọi là các nơ ron. Các nơ ron này xử lý tín hiệu số từ môi trƣờng bên
ngoài hoặc các nơ ron khác trong mạng gửi tới qua các kết nối và sau đó gửi tín
hiệu đến các nơ ron khác hoặc ra môi trƣờng. Mạng nơron truyền thẳng là một lớp
các mạng nơron nhân tạo đƣợc thực tiễn chứng minh là khá mạnh và hiệu quả trong
các bài toán dự báo, phân tích dữ liệu. Chúng có thể đƣợc huấn luyện và ánh xạ từ
các dữ liệu vào tới các dữ liệu ra mà không yêu cầu các dữ liệu đó phải đầy đủ.
Trong số các loại mạng tƣơng đối phổ biến thì các mạng nơron truyền thẳng nhiều
lớp, đƣợc huấn luyện bằng thuật toán lan truyền ngƣợc đƣợc sử dụng nhiều nhất.
Các mạng nơron này có khả năng biểu diễn các ánh xạ phi tuyến giữa đầu vào và
đầu ra, chúng đƣợc coi nhƣ là các “bộ xấp xỉ đa năng”. Việc ứng dụng của loại
mạng này chủ yếu là cho việc phân tích, dự báo, phân loại các số liệu thực tế. Đặc
biệt đối với việc dự báo khuynh hƣớng thay đổi của các dữ liệu tác nghiệp trong các
cơ quan, tổ chức kinh tế, xã hội, Nếu có thể dự báo đƣợc khuynh hƣớng thay đổi
của dữ liệu với một độ tin cậy nhất định, các nhà lãnh đạo có thể đƣa ra đƣợc các
quyết sách đúng đắn cho cơ quan, tổ chức của mình.
Luận văn này đƣợc thực hiện với mục đích tìm hiểu và làm sáng tỏ một số
khía cạnh về mạng nơron truyền thẳng nhiều lớp, thuật toán lan truyền ngƣợc và
ứng dụng chúng để xây dựng mô hình dự báo dữ liệu và thử nghiệm mô hình với
bài toán dự báo đỉnh lũ sông Trà Khúc tại trạm khí tƣợng Sơn Giang.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

8
Đối tượng nghiên cứu của luận văn là các tập (bảng) dữ liệu mẫu của lĩnh vực
dự báo lũ lụt, bao gồm tập dữ liệu huấn luyện (training), tập dữ liệu kiểm tra (test)
và tập dữ liệu xác nhận (validation). Mỗi bảng dữ liệu bao gồm các giá trị thuộc
tính đầu vào (thuộc tính điều kiện) và giá trị thuộc tính mong muốn (thuộc tính
quyết định)
Phạm vi nghiên cứu lý thuyết là mạng nơron truyền thẳng ba lớp, phạm vi
nghiên cứu thực nghiệm là xây dựng chƣơng trình dự báo đỉnh lũ sông Trà Khúc tại

những mô hình toán học cụ thể nào để mô tả hoạt động của các Nơron.
Bắt đầu vào những năm 1940 với công trình của Warrem McCulloch và
Walter Pitts. Họ chỉ ra rằng về nguyên tắc, mạng của các nơron nhân tạo
có thể tính toán bất kỳ một hàm số học hay logic nào.
Tiếp theo là Donald Hebb, ông đã phát biểu rằng việc thuyết phản xạ cổ
điển (classical conditioning) là hiện thực bởi vì do các thuộc tính của từng
nơron riêng biệt. Ông cũng nêu ra một phƣơng pháp học của các nơron
nhân tạo.
Ứng dụng thực nghiệm đầu tiên của các nơron nhân tạo có đƣợc vào cuối
những năm 50 cùng với phát minh của mạng perceptron và luật học tƣơng
ứng bởi Frank Rosenblatt. Mạng này có khả năng nhận dạng các mẫu.
Điều này đã mở ra rất nhiều hy vọng cho việc nghiên cứu mạng nơron.
Tuy nhiên nó chỉ có thể giải quyết một số lớp hữu hạn các bài toán.
Cùng thời gian đó, Bernard Widrow và Ted Hoff đƣa ra một thuật toán
học mới và sử dụng nó để dạy cho các mạng nơron tuyến tính thích nghi,
mạng có cấu trúc và chức năng tƣơng tự nhƣ mạng của Rosenblatt. Luật
học Widrow-Hoff vẫn còn đƣợc sử dụng cho đến nay.
Tuy nhiên cả Rosenblatt và Widrow-Hoff đều cùng vấp phải một vấn đề
do Marvin Minsky và Seymour Papert phát hiện ra. Họ cố gắng cải tiến
luật học và mạng để có thể vƣợt qua đƣợc hạn chế này nhƣng họ đã không
thành công trong việc cải tiến luật học để có thể dạy đƣợc các mạng có
cấu trúc phức tạp hơn.
Do những kết quả của Minsky-Papert nên việc nghiên cứu về mạng nơron

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

10
gần nhƣ bị đình lại trong suốt một thập kỷ do nguyên nhân là không có
đƣợc các máy tính đủ mạnh để có thể thực nghiệm.
Mặc dù vậy, cũng có một vài phát kiến quan trọng vào những năm 70.

truyền tín hiệu ra sang các đơn vị khác[4].

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

11
Σ g(a
j
)
x
0
x
1
x
n
w
j0
w
jn
a
j
z
j
j
n
i
ijij xwa
1
)( jj agz
j


ijij xwa
1

Trong đó là một tham số đƣợc gọi là ngƣỡng của nơ ron. Nếu w
ji
>0, nơ ron
đƣợc coi là ở trong trạng thái kích thích. Nếu w
ji
< 0, nơ ron ở trạng thái kiềm chế.
Quá trình biến đổi giá trị a
j
thành tín hiệu đầu ra z
j
đƣợc thực hiện bởi hàm
kích hoạt (hàm chuyển) phi tuyến z
j
= g(a
j
). Hàm kích hoạt phải thoả mãn các điều
kiện sau:
Tín hiệu đầu ra z
j
là không âm với bất kể giá trị nào của a
j

g là hàm liên tục và bị chặn trong khoảng [0,1].
Những hàm thỏa mãn điều kiện trên còn đƣợc gọi là các hàm nén theo nghĩa
chúng nén tín hiệu đầu ra vào một khoảng nhỏ. Có khá nhiều hàm thoả mãn các
điều kiện trên, song trong thực tế chỉ có một số hàm thƣờng đƣợc sử dụng trong các
mạng nơ ron nhƣ sau [4].

Vì hàm này rất thuận tiện khi đƣa câu trả lời có hay không nên nó thƣờng
xuyên đƣợc sử dụng cho các tín hiệu ra cuối cùng của mạng. Dạng hàm này đƣợc sử
dụng trong các mạng chỉ có một lớp.
g(x)
0
1
-1 0 1 2 3
x

Hình 1.3. Hàm bước nhị phân (Binary Step Function)
3) Hàm sigmoid (Sigmoid function (logsig))
x
e
xg
1
1
)(

Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng đƣợc huấn luyện bằng
thuật toán BP, bởi vì nó dễ lấy đạo hàm, do đó có thể giảm đáng kể tính toán trong
quá trình huấn luyện. Mặt khác, hàm này đƣợc ứng dụng cho các bài toán mà đầu ra
mong muốn rơi vào khoảng [0,1].

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

13
g(x)
0
1
-6 -4 -2 0 2 4 6

chỉ đƣợc truyền thẳng. Không có các liên kết từ các nơ ron ra tới các nơ
ron vào trong cùng một lớp hay của các lớp trƣớc đó. x
1
x
2
h
2
x
l
h
1
h
m
y
1
y
2
y
n



x
0
h
0
Líp vµo

y
0
y
1
y
n



x
0
x
1
h
1
x
l
h
0
h
m
y
0
y
1
y
n




Một đơn vị điều chỉnh (độ lệch) (bias, offset) của mỗi đơn vị;
Phƣơng pháp thu thập thông tin (luật học - learning rule);
Môi trƣờng hệ thống có thể hoạt động.
1.5. Thủ tục học của mạng nơron
Thành phần quan trọng nhất và không thể thiếu của các mạng nơ ron là các
thủ tục học (thuật toán huấn luyện mạng). Có thể chia các thủ tục này thành hai
nhóm chính là học tham số và học cấu trúc. Cả hai thủ tục học này có thể đƣợc thực
hiện đồng thời hoặc tách biệt. Các thủ tục học tham số lại có thể đƣợc chia thành ba
lớp nhỏ hơn là học có thầy, học tăng cường và học không có thầy [4].
1.5.1. Học tham số
Với một cấu trúc mạng cho trƣớc, các trọng số của mạng (gọi là các tham số
của mạng) phải đƣợc xác định trƣớc khi sử dụng mạng để thực thi một nhiệm vụ cụ
thể. Ngoại trừ trƣờng hợp các mạng nơ ron một lớp Hopfield (các trọng số đƣợc
tính toán một cách giải tích), thông thƣờng, các trọng số của mạng đƣợc khởi tạo
ngẫu nhiên trong một khoảng nhất định. Học tham số là quá trình điều chỉnh các
trọng số để mạng nhận biết đƣợc mối quan hệ giữa đầu vào và đầu ra mong muốn.
Rất nhiều các thuật toán học đƣợc đề xuất để tìm tập trọng số tối ƣu đối với mỗi bài

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

16
toán, các thuật toán đó có thể chia thành hai nhóm chính : Học có thầy (Supervised
learning) và Học không có thầy (Unsupervised Learning).
1) Học có thầy
Mạng đƣợc học bằng cách cung cấp cho nó các cặp mẫu đầu vào và đầu ra
mong muốn. Sai số giữa các đầu ra thực tế so với các đầu ra mong muốn đƣợc thuật
toán sử dụng để hiệu chỉnh các trọng số trong mạng.
Tập mẫu là tập các cặp véc tơ vào/ra mong muốn M = {(x
i
,y


Hàm
mục tiêu

Dữ liệu huấn luyện
Đầu vào
Đầu ra cá nhân
Mạng
Ra
Vào
+
-
Đích
Sai số

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

17
1.5.2. Học cấu trúc
Trong phần học tham số, giả định là đã có một cấu trúc mạng. Thủ tục học
tham số tinh chỉnh các giá trị trọng số sao cho mạng hoạt động nhƣ mong muốn.
Thủ tục học cấu trúc tìm kiếm các tham số cấu trúc của mạng để tạo ra một mạng
hoạt động tốt nhất. Thực chất, học cấu trúc là việc tìm ra số lớp ẩn và số nơron trên
mỗi lớp ẩn vì số đầu vào và số đầu ra của mạng là xác định đối với một bài toán cụ
thể.
Kết quả học cấu trúc phụ thuộc nhiều vào kết quả học tham số. Do đó, việc
xây dựng một thuật toán tìm kiếm cho thủ tục học tham số là cần thiết. Thuật toán
tìm kiếm này phải có khả năng tìm kiếm lời giải toàn cục, tìm kiếm hiệu quả trong
không gian nhiều chiều và có thể sử dụng cho nhiều cấu trúc mạng khác nhau.
Trong những năm gần đây, một số thuật toán tối ƣu toàn cục mang tính tất định và

toán từ mô hình. Mô hình hóa cũng có thể mở rộng cho bài toán nhiều biến vào /
một biến ra hoặc nhiều biến vào / nhiều biến ra.
Việc mô hình hóa thƣờng đƣợc sử dụng cho các đối tƣợng có ít biến, khoảng
từ 1 đến 10. Điều này có nghĩa là thƣờng sử dụng các mạng nhỏ, thời gian tính cũng
nhƣ tài nguyên máy tính ít hơn so với các mạng dùng cho việc phân loại.
Biến đổi
Việc biến đổi nhằm mục đích nén các đối tƣợng từ không gian m chiều vào
không gian có số chiều nhỏ, khoảng hai hoặc ba. Qua việc nén các đối tƣợng này,
chúng sẽ bộc lộ những đặc điểm mà chúng ta không nhận thấy khi chúng ở trong
không gian nhiều chiều. Việc biến đổi tƣơng tự nhƣ việc nhóm các đối tƣợng hay
phân loại. Sự khác biệt không lớn lằm nằm ở phƣơng pháp biểu diễn các kết quả.
Những câu hỏi mà việc biến đổi có thể trả lời là bàn đồ của toàn bộ đối tƣợng nhƣ
thế nào, có bao nhiêu vùng trên bản đồ có thể phân biệt đƣợc, hình dáng các vùng
đó nhƣ thế nào…
Một trong những ứng dụng của biến đổi là tiền xử lý số liệu. Thông qua tiền
xử lý, các đối tƣợng điển hình đƣợc chọn từ tập vô số các đối tƣợng ngẫu nhiên
nhận đƣợc, loại trừ đƣợc các đối tƣợng dƣ thừa hay trùng lặp. Điều này rất quan
trọng khi chọn các đối tƣợng làm mẫu học cho mạng truyền thẳng huấn luyện bằng
thuật toán lan truyền ngƣợc của sai số đƣợc trình bày ở Chƣơng 2.
Dự báo các sự kiện phụ thuộc thời gian
Lĩnh vực nghiên cứu các quá trình phụ thuộc thời gian là một trong những lĩnh
vực chính trong nghiên cứu điều khiển quá trình. ở đây, mô hình dự báo đƣợc xây
dựng dựa trên một chuỗi số liệu đƣợc ghi nhận theo thời gian. Trong mô hình này,
các biến của tín hiệu vào và tín hiệu ra về cơ bản là giống nhau. Chỉ một điều khác
biệt là, tín hiệu vào là các giá trị hiện tại và quá khứ của các biến quá trình, tín hiệu
ra là giá trị dự báo trong tƣơng lai của các biến quá trình đó. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/


W
1
: Ma trận trọng số của các nơ ron lớp thứ 1 có kích thƣớc S
1
xR
1
S
1
x1
n
1

1
S
1
xR
1

R
1
x1
W
1

b
1

f
1


S
2
x1
S
2
x1
a
2

P

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

20
W
2
: Ma trận trọng số của các nơ ron lớp thứ 2 có kích thƣớc S
2
xR
2

b
1
, b
2
: Vector độ lệch (bias) của lớp thứ 1 và 2 (kích thƣớc S
1
x1 và S
2
x1)

1
và W
2
. Véc tơ đầu vào ở lớp thứ hai chính là véc tơ đầu ra của lớp
thứ nhất, công thức tính toán cho đầu ra của lớp thứ hai nhƣ sau:
a
2
= f
2
(W
2
(f
1
(W
1
.P + b
1
)) + b
2
)
trong đó, ý nghĩa của các ký hiệu nhƣ đã nêu trong hình vẽ.
2.2. Khả năng thể hiện của mạng nơron truyền thẳng
Các mạng truyền thẳng cho ta một kiến trúc tổng quát thể hiện khả năng ánh
xạ hàm phi tuyến tính giữa một tập các biến đầu vào và tập các đầu ra. Khả năng
thể hiện của một mạng có thể đƣợc định nghĩa là khoảng mà nó có thể thực hiện
ánh xạ khi mà các trọng số biến thiên [15].
1) Các mạng một lớp chỉ có khả năng thể hiện các hàm khả phân tuyến tính
hay các miền phân chia đƣợc.
2) Các mạng có 2 lớp ẩn có khả năng thể hiện một đƣờng biên phân chia tùy
ý với một độ chính xác bất kỳ với các hàm chuyển phân ngƣỡng và có thể

Y
là véc tơ ra mong muốn. Đối với một
cặp véc tơ vào và véc tơ ra mong muốn, thuật toán BP thực hiện hai giai đoạn theo
dòng chảy số liệu :
Tín hiệu vào
i
X

đƣợc lan truyền qua mạng từ lớp vào đến lớp ra. Kết quả
của việc lan truyền là sản sinh véc tơ tín hiệu ra
last
i
Out

Tín hiệu sai số là kết quả của việc so sánh giữa véc tơ ra mong muốn và
véc tơ tín hiệu ra. Sai số đƣợc lan truyền ngƣợc từ lớp ra tới các lớp phía
trƣớc để hiệu chỉnh các trọng số.

Hình 2.2: Sơ đồ hiệu chỉnh các trọng số của thuật toán BP
Đối với mỗi cặp tín hiệu vào ra này, hàm giá đƣợc xây dựng nhƣ sau:


3

Véc tơ ra
Lời giải
Sai số
Hiệu chỉnh
Hiệu chỉnh W
3

Hiệu chỉnh W
2

Hiệu chỉnh W
1

Véc tơ vào

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

22
Việc học của thuật toán thực chất là việc tìm kiếm một tập trọng số W trong
không gian R
M
(M là số trọng số của mạng) để lần lƣợt tối thiểu hoá hàm giá nêu
trên. Giá trị hàm sai số E
i
đối với một mẫu đƣợc tính toán dựa trên giá trị các trọng
số hiện tại. Các giá trị trọng số này sau đó đƣợc hiệu chỉnh và trở thành các giá trị
trọng số hiện tại để tính giá trị hàm sai số tiếp theo E
i+1

tập các cặp mô tả hoạt động đúng của mạng (các mẫu dùng để huấn luyện mạng):
11
, , , ,
QQ
p t p t

trong đó p
i
là một đầu vào và t
i
là đầu ra mong muốn tƣơng ứng, với
1, ,iQ
. Mỗi
đầu vào đƣa vào mạng, đầu ra của mạng đối với nó đƣợc đem so sánh với đầu ra
mong muốn. Thuật toán sẽ điều chỉnh các tham số của mạng để tối thiểu hóa trung
bình bình phƣơng lỗi:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

23
2
2
F x e e e t a

trong đó x là biến đƣợc tạo thành bởi các trọng số và độ lệch, e là ký hiệu kỳ vọng
toán học. Nếu nhƣ mạng có nhiều đầu ra, phƣơng trình trên có thể đƣợc viết lại dƣới
dạng ma trận:
T
T
F x e e e e t a t a

F
kwkw

trong đó là hệ số học.
Nhƣ vậy, mọi chuyện đến đây đều giống nhƣ thuật toán trung bình bình
phƣơng tối thiểu, tiếp theo sẽ đi vào phần khó nhất của thuật toán: tính các đạo hàm
từng phần.
Luật xích (Chain Rule)
Đối với các mạng nơ ron truyền thẳng nhiều lớp, lỗi không phải là một hàm
của chỉ các trọng số trong các lớp ẩn, do vậy việc tính các đạo hàm từng phần này là
không đơn giản. Chính vì lý do đó mà phải sử dụng luật xích để tính. Luật này đƣợc
mô tả nhƣ sau: giả sử có một hàm f là một hàm của biến n, muốn tính đạo hàm của f
có liên quan đến một biến w khác. Luật xích này nhƣ sau:
dw
wdn
dn
ndf
dw
wndf
x

Phƣơng pháp này đƣợc dùng để tính các đạo hàm trong (*) và (**) ở phần
trƣớc

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

24
,
,
,,


trong đó hạng thức thứ 2 của các phƣơng trình trên có thể dễ dàng tính toán bởi vì
đầu vào của mạng tới lớp m là một hàm của trọng số và độ lệch:
1
1
1
,
.
m
S
j
m
i
m
j
m
ji
m
i
bawn

trong đó S
m-1
là số đầu ra của lớp (m – 1). Do vậy :
.1,
1
,
m
i
m

i
m
i
m
i
m
i
m
i
m
j
m
i
m
ji
m
i
m
i
m
ji
s
b
n
x
n
F
b
F
as

T
mmmm
kk
kk
sbb
asWW
1
,1
1

trong đó:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

25
m
S
m
2
m
1
m
m
m
F
F
F
F
n
n

m
m
m
m
m
S
m
m
m
m
m
m
m
m
mmm
m
m
n
n
n
n
n
n
n
n
n
n
n
n
n






Xét phần tử (i, j) của ma trận trên:
m
j
m
m
ji
m
j
m
j
m
m
ji
m
j
m
i
m
ji
m
j
S
l
m
i


trong đó:
m
j
m
j
m
m
j
m
n
nf
nf
.
Nhƣ vậy, ma trận Jacobian có thể viết lại nhƣ sau:

Trích đoạn Thuật giải di truyền Các bƣớc chính trong quá trình thiết kế và xây dựng
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status