i
LỜI CAM ĐOAN
Tôi xin cam đoan tất cả các nội dung của luận văn này hoàn toàn được
hình thành và phát triển từ quan điểm của chính cá nhân tôi, dưới sự hướng
dẫn chỉ bảo của PGS.TS Lê Bá Dũng. Các số liệu kết quả có được trong luận
văn tốt nghiệp là hoàn toàn trung thực.
Học viên
Nguyễn Tô Hoán
ii
LỜI CẢM ƠN
Để hoàn thành chương trình cao học và viết luận văn này, tôi đã nhận
được sự hướng dẫn, giúp đỡ và chỉ bảo nhiệt tình của thầy giáo, cô giáo
Trường Đại học Công nghệ thông tin và Truyền thông- Đại học Thái Nguyên.
Đặc biệt là các thầy của Viện công nghệ thông tin Hà Nội đã tận tình dạy bảo
cho tôi trong suốt thời gian học tập tại trường.
Tôi xin gửi lời cảm ơn đến PGS.TS Lê Bá Dũng đã dành nhiều thời
gian và tâm huyết hướng dẫn tôi hoàn thành luận văn này.
Mặc dù tôi đã cố gắng hoàn thiện luận văn bằng tất cả năng lực của
mình, song không thể tránh khỏi những thiếu sót, rất mong nhận được sự
đóng góp quý báu của các thầy giáo, cô giáo và các bạn.
Tôi xin chân thành cảm ơn!
iii
MỤC LỤC
LỜI CAM ĐOAN ........................................................................................... i
LỜI CẢM ƠN ................................................................................................ ii
2.1.4 Cấu trúc mạng ANFIS ................................................................. 27
2.2 Thuật toán ANFIS .............................................................................. 29
2.2.1 Thuật toán học lan truyền ngược .................................................. 29
2.2.2 Thuật toán học lai ........................................................................ 35
2.3 Khả năng ứng dụng của mạng ANFIS ................................................ 37
Chương 3. ỨNG DỤNG MÔ HÌNH MẠNG ANFIS TRONG BÀI TOÁN
PHÂN TÍCH ĐÁNH GIÁ DỰ BÁO MỰC NƯỚC VÀ THỬ NGHIỆM ...... 39
3.1 Bài toán dự báo mực nước .................................................................. 39
3.1.1 Một số khái quát cơ bản về khí hậu, môi trường tự nhiên ............ 39
3.1.2 Sự cần thiết của việc dự báo mực nước ........................................ 41
3.1.3 Cần phải thích nghi ...................................................................... 43
3.2 Ứng dụng mạng ANFIS trong dự báo mực nước ................................ 45
3.2.1 Thiết kế suy diễn nơron mờ thích nghi ......................................... 45
3.2.2 Xây dựng mô hình ANFIS cho xử lý số liệu ................................ 50
3.3 Đánh giá kết quả thực hiện chương trình ............................................ 57
3.4 Kết luận và hướng phát triển............................................................... 58
3.4.1 Kết luận ....................................................................................... 58
3.4.2. Hướng phát triển ......................................................................... 59
TÀI LIỆU THAM KHẢO ............................................................................ 60
v
DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Cấu trúc của một nơron sinh học điển hình ..................................... 3
Hình 1.2. Mô hình một nơron nhân tạo ........................................................... 4
Hình 1.3. Đồ thị các dạng hàm truyền ............................................................ 7
Hình 1.4. Mạng truyền thẳng một lớp ............................................................. 8
Hình 1.5. Mô hình cấu trúc của mạng nơron truyền thẳng nhiều lớp .............. 9
Hình 1.6. Mạng nơron phản hồi ...................................................................... 9
Hình 1.7. Mạng hồi quy một lớp có nối ngược ............................................. 10
vii
DANH MỤC CÁC TỪ VIẾT TẮT
ANN
ANFIS
MIMO
MISO
LSE
Artificial Neural Network
Mạng nơron nhân tạo
Adaptive Neural Fuzzy Insference System
Hệ suy luận mờ
Multi Input Multi Output
Hệ mờ nhiều đầu vào - nhiều đầu ra
Multi Input Single Output
Hệ mờ nhiều đầu vào - một đầu ra
Least Squara Error
Phương pháp ước lượng sai số bình phương cực tiểu
1
MỞ ĐẦU
Ngày nay, các mạng nơron nhân tạo, Artificial Neural Network (ANN)
phục vụ cho phát triển kinh tế xã hội của tỉnh Yên Bái.
3
Chương 1.
TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO VÀ HỆ MỜ
1.1 Cấu trúc và mô hình mạng nơron
1.1.1 Mô hình một nơron sinh học
Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con
người bao gồm khoảng 1011 nơron tham gia vào khoảng 1015 kết nối trên các
đường truyền. Mỗi đường truyền này dài khoảng hơn một mét. Các nơron có
nhiều đặc điểm chung với các tế bào khác trong cơ thể, ngoài ra chúng còn có
những khả năng mà các tế bào khác không có được, đó là khả năng nhận, xử
lý và truyền các tín hiệu điện hóa trên các đường mòn nơron, các con đường
này tạo nên hệ thống giao tiếp của bộ não.
Hình 1.1. Cấu trúc của một nơron sinh học điển hình
Mỗi nơron sinh học có 3 thành phần cơ bản:
• Các nhánh vào hình cây (dendrites)
• Thân tế bào (cell body)
4
• Sợi trục ra (axon)
Các nhánh hình cây truyền tín hiệu vào đến thân tế bào. Thân tế bào
tổng hợp và xử lý cho tín hiệu đi ra. Sợi trục truyền tín hiệu ra từ thân tế bào
này sang nơron khác. Điểm liên kết giữa sợi trục của nơron này với nhánh
hình cây của nơron khác gọi là synapse. Liên kết giữa các nơron và độ nhạy
của mỗi synapse được xác định bởi quá trình hóa học phức tạp. Một số cấu
Hàm truyền (Transfer function): Hàm này dùng để giới hạn phạm vi
đầu ra của mỗi nơron. Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã
cho. Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn
[0,1] hoặc [-1,1]. Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc
phi tuyến. Việc lựa chọn hàm truyền tùy thuộc vào từng bài toán và kinh
nghiệm của người thiết kế mạng.
Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa
một đầu ra.
Xét về mặt toán học, cấu trúc của một nơron i được mô tả bằng cặp
biểu thức sau:
n
yi f (neti i ) và neti wij x j
j 1
(1.1)
6
Trong đó:
x1, x2, …xm là các tín hiệu đầu vào, còn wi1, wi2,…,wim là các trọng số
kết nối của nơron thứ i, neti là hàm tổng, f là hàm truyền, θi là một ngưỡng, yi
là tín hiệu đầu ra của nơron.
Như vậy, tương tự như nơron sinh học, nơron nhân tạo cũng nhận các
tín hiệu đầu vào, xử lý (nhân các tín hiệu này với trọng số liên kết, tính tổng
các tích thu được rồi gửi kết quả đến hàm truyền), và cho một tín hiệu đầu ra
(là kết quả của hàm truyền).
Hàm truyền có thể có các dạng sau:
1 khi x 0
0 khi x 0
Hàm ngưỡng hai cực:
y
2
1 với >0
1 e x
(1.6)
7
Đồ thị các dạng hàm truyền được biểu diễn như sau:
Hình 1.3. Đồ thị các dạng hàm truyền
1.2 Cấu tạo và phương thức làm việc của mạng nơron
Mạng nơron nhân tạo (Artificial Neural Network) là một cấu trúc mạng
được hình thành nên bởi số lượng các nơron nhân tạo liên kết với nhau. Mỗi
nơron có các đặc tính đầu vào, đầu ra và thực hiện một số chức năng tính toán
cục bộ.
Với việc giả lập các hệ thống sinh học, các cấu trúc tính toán, mạng
nơron có thể giải quyết được các lớp bài toán nhất định như: Bài toán xếp loại,
bài toán lập lịch, bài toán tìm kiếm, bài toán nhận dạng mẫu... Các bài toán
phức tạp cao, không xác định. Tuy nhiên, sự liên kết giữa một bài toán bất kỳ
trong thực tế với một giải pháp mạng nơron lại là một việc không dễ dàng.
Xét một cách tổng quát, mạng nơron là một cấu trúc xử lý song song
thông tin phân tán mang các đặc tính nổi bật sau:
- Là một mô hình tính toán dựa trên bản chất của nơron
- Bao gồm một số lượng rất lớn các nơron liên kết với nhau
- Mạng nơron có khả năng học, khái quát hóa tập dữ liệu học thông qua
f i : Hàm kích hoạt các nơron thứ i
i : Là ngưỡng của nơron thứ i
(1.7)
9
1.2.2 Mạng nơron truyền thẳng nhiều lớp
Với mạng nơron truyền thẳng một lớp ở trên khi phân tích một bài toán
phức tạp sẽ gặp rất nhiều khó khăn, để khắc phục vấn đề này người ta đưa ra
mô hình mạng nơron truyền thẳng nhiều lớp bằng việc kết hợp với một số lớp
nơron lại với nhau. Lớp nhận tín hiệu vào gọi là lớp vào, lớp đưa ra tín hiệu ra
của mạng được gọi là lớp ra. Các lớp ở giữa lớp vào và lớp ra được gọi là các
lớp ẩn.
Hình 1.5. Mô hình cấu trúc của mạng nơron truyền thẳng nhiều lớp
1.2.3 Mạng nơron phản hồi
Kiến trúc phản hồi (Feedback architecture): Là kiểu kiến trúc mạng có
các kết nối từ nơron đầu ra tới nơron đầu vào. Mạng lưu lại các trạng thái
trước đó, và trạng thái tiếp theo không chỉ phụ thuộc vào các tín hiệu đầu vào
mà còn phụ thuộc vào các trạng thái trước đó của mạng. Mạng Hopfield thuộc
loại này.
Hình 1.6. Mạng nơron phản hồi
10
1.2.4 Mạng nơron hồi quy
Mạng quy hồi một lớp có nối ngược
: Là tốc độ học, nằm trong khoảng (0,1)
r: là hằng số học
Vấn đề đặt ra ở đây là tín hiệu học r được sinh ra như thế nào để hiệu
chỉnh trọng số của mạng.
Có 2 phương pháp học:
1.3.1 Học có giám sát
Là quá trình học dựa vào sai số giữa đầu ra thực và đầu ra mong muốn
để làm cơ sở cho việc hiệu chỉnh trọng số. Sai số này chính là hằng số học r.
Luật học điển hình của nhóm này là luật học Della của Widrow (1962) nêu ra
đầu tiên dùng xấp xỉ trọng số của Adaline dựa trên nguyên tắc gradient.
Trong nhóm luật học này cũng cần kể đến luật học Perceptron của
Rosenblatt (1958). Về cơ bản luật học này thay đổi các giá trị trọng trong thời
gian học, còn Perceptron thì thêm hoặc bỏ trọng tùy theo giá trị sai số là
dương hay âm.
Một loạt các luật học khác cũng được dựa trên tư tưởng này. Luật oja là
cải tiến và nâng cấp của luật Delta. Luật truyền ngược là luật mở rộng của
luật Delta cho mạng nhiều lớp. Đối với mạng truyền thẳng thường sử dụng
12
luật truyền ngược để chỉnh trọng số với tín hiệu chỉ đạo từ bên ngoài và người
ta gọi mạng này là mạng lan truyền ngược.
Tín hiệu vào
Tín hiệu ra
Mạng nơron
Sản sinh sai số
Tín hiệu ra mong muốn
Như vậy, ứng với mỗi nhóm mạng thường áp dụng một luật học nhất
định. Nếu tồn tại hàng chục loại mạng khác nhau thì các luật học dùng trong
mạng nơron có thể tăng lên rất nhiều lần.
Đối với mạng phản hồi thường sử dụng luật Hebb và các luật cải tiến
của nó để chỉnh trọng số mà không cần tín hiệu chỉ đạo từ bên ngoài.
Tín hiệu
vào
Tín hiệu ra
Mạng nơron
Hình 1.10. Sơ đồ học tham số không có giám sát
1.3.3 Học củng cố
Tín hiệu tăng cường có thể lấy từ môi trường bên ngoài, nhưng tín hiệu
này không được đầy đủ mà chỉ có tính chất kiểm tra quá trình tốt hay xấu.
Học củng cố cũng là một dạng của học giám sát, bởi vì vẫn nhận được một số
tín hiệu từ bê ngoài. Nhưng tín hiệu phản hồi chỉ mang tính chất đánh giá hơn
là mang tính chất chỉ dẫn. Nó cho biết mức độ tốt hay xấu của một đầu ra cụ
thể. Tín hiệu củng cố bên ngoài thường được xử lý bằng máy phát tín hiệu
đánh giá để tạo ra nhiều hơn nữa các thông tin tín hiệu đánh giá, sau đó dùng
để điều chỉnh các trọng số với mục đích đạt được tín hiệu đánh giá tốt hơn.
14
1.4 Hệ mờ và mạng nơron
1.4.1 Kiến trúc của hệ mờ tổng quát
Một hệ mờ tiêu biểu có kiến trúc như hình vẽ:
Cơ sở
luật mờ
Tham khảo
dụng vào tập mờ đầu vào theo các phương pháp suy diễn mờ để xác định tập
mờ đầu ra.
Dữ liệu đầu vào của hệ điều khiển mờ là các tín hiệu do các bộ phận
cảm biến môi trường cung cấp sau khi đã số hóa nên có tính chất rõ (khái
niệm rõ ở đây có nghĩa là các tín hiệu đó không phải là các tập mờ, chứ không
có nghĩa là các tín hiệu không có nhiễu). Vì vậy cần phải có bộ mờ hóa
(fuzzier) để chuyển các dữ liệu số đầu vào thành các tập mờ để bộ suy diễn
mờ có thể thao tác được.
Dữ liệu đầu ra của bộ suy diễn mờ ở dạng các tập mờ sẽ được bộ giải
mờ (defuzzier) chuyển thành tín hiệu số trước khi truyền đến các cơ quan
15
chấp hành như tay máy, công tắc, van điều khiển...
Do các dữ liệu đầu vào và đầu ra được số hóa nên ta chỉ cần xem xét
các hệ mờ làm việc với các biến số. Trường hợp tổng quát, hệ mờ nhận một
vector n chiều ở đầu vào và cho ra một vector n chiều ở đầu ra. Hệ mờ như
thế được gọi là hệ mờ nhiều đầu vào - nhiều đầu ra (MIMO). Nếu m bằng 1,
ta có hệ mờ nhiều đầu vào - một đầu ra (MISO). Một hệ mờ nhiều đầu vào nhiều đầu ra có thể phân tích thành nhiều hệ nhiều đầu vào - một đầu ra. Do
đó ta chỉ cần tìm hiểu kĩ về hệ mờ nhiều đầu vào một đầu ra với các biến số.
Khi chỉ nói về hệ mờ nhiều - một thì ta sẽ ngầm hiểu là một hệ mờ
n
nhiều đầu vào - một đầu ra với các biến số. Kí hiệu U U i R n , V R ,
i 1
trong đó U i là miền xác định của các biến vào i, i = 1..n và V là miền giá trị
của biến ra y, ta có mô hình hệ mờ nhiều đầu vào - một đầu ra như hình vẽ:
x U1
m luật if-then mờ chuẩn tắc, nhiều đầu vào và một đầu ra (MISO)
Các luật if-then trong thực tế thì thường được tính bằng công thức
Mamdani max-min hoặc max-tích (max-prod).
Ta xét kĩ kiến trúc bộ suy diễn mờ sử dụng phương pháp suy diễn maxmin. Khi chuyển qua phương pháp suy diễn max-tich thì chỉ cần thay min
bằng phép nhân trong các công thức.
Cho A, A’, B lần lượt là các tập mờ trên vũ trụ X, X, Y. Luật if A then
B được thể hiện như một quan hệ mờ R = A x B trên X x Y. Khi đó tập mờ B’
suy ra từ A’ được xác định bởi:
B ' ( y ) max min A' x , R x, y
(1.10)
Trường hợp một đầu vào và một luật
Ta có: B ' ( y ) maxmin A' ( x), R ( x, y )
x
maxmin A' ( x), A ( x), B ( y )
x
min{maxmin A' x , A x , B y }
x
min{max A A x , B y
x
17
minhA' A , B ( y )
Trong đó: hA' A là độ cao của tập mờ A’ A
Hình 1.14. Hàm thuộc hệ mờ hai đầu vào - một luật
Trường hợp nhiều đầu vào và nhiều luật
Trong trường hợp nhiều đầu vào và nhiều luật, ta tính kế quả đầu ra cho
từng luật sau đó kết quả của hệ sẽ là các phép giao hoặc hợp các kết quả riêng
đó tùy theo bảo chất của hệ là hội hay tuyển các luật.
Nếu trong một luật có dạng: “nếu x là A hoặc y là B thì z là C” ta
tách thanh hai luật riêng biệt “Nếu x là A thì z là C” và “Nếu x là B thì z là
C” để tính.
1.4.1.3 Bộ suy diễn mờ
Mờ hóa là quá trình biến đổi một vector x = (x1, x2,…,xn) U R n
thành một tập mờ A’ trên U. A’ sẽ là đầu vào cho bộ suy diễn mờ. Mờ hóa
phải thỏa mãn các tiêu chuẩn sau:
Điểm dữ liệu x phải có độ cao phụ thuộc vào A’
Vector x thu nhận từ môi trường ngoài có thể sai lệch do nhiễu nên
A’ phải phản ánh được tính gần đúng của dữ liệu thực.
Hiệu quả tính toán: Đơn giản cho các tính toán trong bộ suy diễn.
Sau đây là một số phương pháp mờ hóa thông dụng.
+ Mờ hóa đơn trị
Mỗi điểm dữ liệu x được xem như một tập mờ đơn trị tức là tập mờ A
có hàm thuộc xác định như sau: