Mạng anfis và ứng dụng cho dự báo mực nước hồ thủy điện thác bà - Pdf 41

i
ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
_____________

______________

NGUYỄN NGỌC QUYÊN

MẠNG ANFIS VÀ ỨNG DỤNG CHO DỰ BÁO
MỰC NƯỚC HỒ THỦY ĐIỆN THÁC BÀ
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 0101

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: PGS.TS Ngô Quốc Tạo

THÁI NGUYÊN - 2016

Số hóa bởi Trung tâm Học liệu – ĐHTN




ii

LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là công trình nghiên cứu của chính bản
thân. Các kết quả nghiên cứu trong luận văn là trung thực và chưa được công
bố trong các công trình nào khác.



iv

MỤC LỤC
CHƯƠNG 1 : MẠNG NEURAL VÀ BÀI TOÁN NHẬN DẠNG CHỮ IN.................... 3
1.1. Khái Niệm Mạng Neural ...................................................................................................... 3
1.1.1. Sơ lược về neural sinh học ............................................................................................... 3
1.1.2. Mạng Neural Nhân Tạo .................................................................................................... 4
1.1.3. Kiến Trúc Mạng ............................................................................................................... 9
1.1.3.1. Mạng truyền thẳng ...................................................................................................... 10
1.1.3.2. Mạng hồi quy (Recurrent Neutral Network) .............................................................. 12
1.1.4. Luật học mạng neural. ................................................................................................. 13
1.1.4.1. Phương Pháp Học........................................................................................................ 13
1.1.4.2. Luật học tham số ......................................................................................................... 14
1.1.4.3. Học có tín hiệu chỉ đạo................................................................................................ 15
1.1.4.4. Học không có tín hiệu chỉ đạo..................................................................................... 15
1.1.4.5. Học tăng cường ........................................................................................................... 16
1.1.4.6. Học cấu trúc ................................................................................................................ 16
1.1.5. Các phương pháp huấn luyện mạng. .............................................................................. 17
1.1.5.1. Phương pháp huấn luyện một pha .............................................................................. 17
1.1.5.2. Phương pháp huấn luyện hai pha ................................................................................ 17
1.1.5.3. phương pháp huấn luyện mạng hai pha HDH ............................................................. 18
1.1.5.4. Phương pháp huấn luyện ba pha đầy đủ...................................................................... 21
1.2. Bài toán nhận dạng chữ in.................................................................................................. 21
1.2.1. Bài toán nhận dạng nói chung ........................................................................................ 21
1.2.2. Giới thiệu về bài toán nhận dạng mẫu ............................................................................ 22
1.2.3. Bài toán nhận dạng chữ in .............................................................................................. 23
1.2.3.1. Phương pháp trích đặc trưng chữ in sử dụng Momen Legendre ................................. 24


Số hóa bởi Trung tâm Học liệu – ĐHTN




vi

DANH MỤC HÌNH
Hình 1.1 : Mô hình neural sinh học.................................................................................... 3
Hình 1.2: Đồ thị hàm đồng nhất (Identity function)......................................................... 6
Hình 1.3: Đồ thị hàm bước nhị phân (Binary step function) ........................................... 6
Hình 1.4: Đồ thị hàm sigmoid ............................................................................................. 7
Hình 1.5: Đồ thị hàm sigmoid lưỡng cực ........................................................................... 8
Hình 1.6. Mô hình một nơ-ron ............................................................................................ 8
Hình 1.7. Mạng truyền thẳng nhiều lớp........................................................................... 12
Hình 1.8. Mạng một lớp có nối ngược .............................................................................. 12
Hình 1.9 . Mạng nhiều lớp có nối ngược .......................................................................... 13
Hình 1.10: Các bước xử lý trong hệ thống nhận dạng mẫu ........................................... 23
Hình 1.11:Các bước giải quyết hình dạng chữ in ........................................................... 24
Hình 2.1: Sơ đồ đồ thị có hướng đơn giản ...................................................................... 27
Hình 2.2: Biên quyết định trong không gian mẫu .......................................................... 30
Hình 2.3: Không gian mẫu khả tách tuyến tính .............................................................. 32
Hình 2.4: Không gian mẫu không khả tách tuyến tính .................................................. 32
Hình 2.5: Mô hình mạng 3 lớp .......................................................................................... 35
Hình 2.6: Các bước huấn luyện ........................................................................................ 47
Hình 3.1: Quá trình xác định dòng của các kí tự ............................................................ 53
Hình 3.2: Tách từng kí tự .................................................................................................. 56
Hình 3.3: Giao diện chương trình mô phỏng .................................................................. 57
Hình 3.4: Nhận dạng chữ tiếng Anh trong ảnh ............................................................... 58
Hình 3.5: Nhận dạng kí tự có dấu .................................................................................... 59

dụng vào thực tế. Trong số các bài toán nhận dạng này, nhận dạng chữ viết
đang được ứng dụng rất phổ biến. Nhận dạng chữ viết được ứng dụng trong
quá trình tự động hóa các công việc văn phòng như nhập liệu, trữ văn bản, sách
báo, phân loại thư tín....
Trong cuộc chạy đua về trí tuệ nhân tạo của thế giới thì hai công ty lớn
của làng công nghệ thế giới là Google và Apple thì Google cũng đã đưa ra
Google glass sử một nên tảng rất mới và hoạt động chính trên bài toán nhận
dạng. Ngoài ra việc xử lý các kí tự để số hoá tài liệu để có thể tìm kiếm thông
tin trên các tài liệu cũng được Google nghiên cứu phát triển.

Số hóa bởi Trung tâm Học liệu – ĐHTN




2

Mới đây nhất trong hội nghị các nhà phát triển của Apple thì đại gia làng
công nghệ của thế giới đã công bố một thư viện chuyên sâu về mạng neural để
việc ứng dụng mạng neural trong các bài toán thực tế trong việc xây dựng các
ứng dụng trên nền tảng của Apple. Trong lần giới thiệu về bộ thư việc này thì
đã được hưởng ứng nhiệt tình bởi Apple đã cung cấp được một bộ thư viện hỗ
trợ việc huấn luyện mạng trong các ứng dụng thực tế và nó sẽ là đặc biệt ứng
dụng trong bài toán nhận dạng. Các dòng điện thoại thông minh đang càng ngày
được phổ biến với cấu hình mạnh mẽ thì chắc chắn hoàn toàn có thể đáp ứng
được việc xây dựng các mạng neural vào để thực hiện các bài toán nhận dạng.
Bài toán nhận dạng kí tự này sẽ phát triển mạnh mẽ trong số hoá các văn bản
truyền thống và ngoài ra ứng dụng bài toán nhận dạng hoàn toàn có thể giúp
cho những người khiếm thị có thể nghe được các văn bản chuyển thể từ nhận
dạng chữ sang dạng số hoá rồi có thể tái hiện lại bằng âm thanh giúp những

 Một loại dây dẫn tín hiệu khác cũng gắn với soma là các axon. Khác với
dendrites, axons có khả năng phát các xung điện thế, chúng là các dây dẫn
tín hiệu từ neural đi các nơi khác. Chỉ khi nào điện thế trong soma vượt quá

Số hóa bởi Trung tâm Học liệu – ĐHTN




4

một giá trị ngưỡng nào đó (threshold) thì axon mới phát một xung điện thế,
còn nếu không thì nó ở trạng thái nghỉ.
 Axon nối với các dendrites của các neural khác thông qua những mối nối
đặc biệt gọi là synapse. Khi điện thế của synapse tăng lên do các xung phát
ra từ axon thì synapse sẽ nhả ra một số chất hoá học (neurotransmitters);
các chất này mở "cửa" trên dendrites để cho các ions truyền qua. Chính
dòng ions này làm thay đổi điện thế trên dendrites, tạo ra các xung dữ liệu
lan truyền tới các neural khác.
- Hoạt động của neural sinh học có thể mô tả tóm tắt như sau:
Mỗi neural nhận tín hiệu vào từ các tế bào thần kinh khác. Chúng tích
hợp các tín hiệu vào, khi tổng tín hiệu vượt quá một ngưỡng nào đó chúng tạo
tín hiệu ra và gửi tín hiệu này tới các neural khác thông qua dây thần kinh. Các
neural liên kết với nhau thành mạng. Mức độ bền vững của các liên kết này xác
định một hệ số gọi là trọng số liên kết.
1.1.2. Mạng Neural Nhân Tạo
Để mô phỏng các tế bào thần kinh và các khớp nối thần kinh của bộ não
con người, mạng neural nhân tạo có các thành phần có vai trò tương tự là các
neural nhân tạo và kết nối giữa chúng (kết nối này gọi là weights). Neural là
một đơn vị tính toán có nhiều đầu vào và một đầu ra, mỗi đầu vào đến từ một


j 1

(ii)Dạng toàn phương:
N

neti  Wij s 2j

(1.2)

j 1

(iii)Dạng mặt cầu:
neti   

s
N

2

j 1

j

 w ij 

2

(1.3)



Hình 1.3: Đồ thị hàm bước nhị phân (Binary step function)
Dạng hàm này thường sử dụng trong mạng một lớp. Trong hình vẽ 
được chọn bằng 1.
3) Hàm sigmoid (Sigmoid function (logsig))
Hàm sigma là dạng chung nhất của hàm kích hoạt được sử dụng trong cấu
trúc mạng neural nhân tạo. Nó là một hàm tăng và nó thể hiện một sự trung
gian giữa tuyến tính và phi tuyến. Một ví dụ của hàm này là hàm logistics, xác
định như sau:
g( x) 

1
1  e  x

Số hóa bởi Trung tâm Học liệu – ĐHTN

(1.6)




7

ở đó  là tham số độ dốc của hàm sigma. Bằng việc biến đổi tham số  ,
chúng ta thu được các hàm sigma với các độ dốc khác nhau. Thực tế, hệ số góc
tại x= 0 là  /4. Khi tham số hệ số góc tiến tới không xác định, hàm sigma trở
thành một hàm ngưỡng đơn giản. Trong khi một hàm ngưỡng chỉ có giá trị là
0 hoặc 1, thì ở đó  là tham số độ dốc của hàm sigma. Bằng việc biến đổi tham
số  , chúng ta thu được các hàm sigma với các độ dốc khác nhau. Trong khi
một hàm ngưỡng chỉ có giá trị là 0 hoặc 1, thì một hàm sigma nhận các giá trị

trong quá trình học. Trong các mạng nơ-ron có sử dụng bias, mỗi nơ-ron có thể
có một trọng số tương ứng với bias. Trọng số này luôn có giá trị là 1.
Mô hình của một nút xử lý (nút thứ i):
Vi
Wi1
Vj

Wij

Ui= 

Vi=fi(Ui)

Vi

WiN
VN

Hình 1.6. Mô hình một nơ-ron
N

U i   Wij Vj  θ i
j 1
j #i

Vi  f i U i 

Số hóa bởi Trung tâm Học liệu – ĐHTN

(1.8)

 Bao gồm một số lượng rất lớn các neural liên kết với nhau. Mạng
neural có khả năng học, khái quát hóa tập dữ liệu học thông qua việc gán và
hiệu chỉnh các trọng số liên kết.
 Tổ chức theo kiểu tập hợp mang lại cho mạng neural khả năng tính
toán rất lớn, trong đó không có neural nào mang thông tin riêng biệt.

Số hóa bởi Trung tâm Học liệu – ĐHTN




10

1.1.3.1. Mạng truyền thẳng
- Mạng truyền thẳng một lớp
Mạng truyền thẳng một lớp là mạng perceptron một lớp. Là mạng truyền
thẳng chỉ một lớp vào và một lớp ra. Trên mỗi lớp có thể có một hoặc nhiều
neural mạng truyền thẳng một lớp chỉ có một lớp vào và một lớp ra. Mô hình
mạng neural perceptron sử dụng hàm ngưỡng đóng vai trò là hàm chuyển. Do
đó, tổng của tín hiệu vào lớn hơn giá trị ngưỡng thì giá trị đầu ra của neural sẽ
là 1, còn trái lại sẽ là 0.

ì1 (neti ³ q )
outi = í
î0 (neti < q )
Với neti =

w

ij


T

được xác định như sau :

 m

yi  f i   wij x j  i , i  1, n
 j 1


(1.11)

Trong đó :
m : Số tín hiệu vào
n : Số tín hiệu ra
WiT wi1 , wi 2 ,..., win T

: là véc tơ trọng số của neural thứ i.

Số hóa bởi Trung tâm Học liệu – ĐHTN




11

fi

: Là hàm kích hoạt neural thứ i

Do vậy mạng neural nhiều lớp có thể giải quyết các bài toán phi tuyến
nhờ vào các lớp ẩn. Càng nhiều lớp ẩn thì khả năng mở rộng thông tin càng cao
và xử lý tốt mạng

Số hóa bởi Trung tâm Học liệu – ĐHTN




12

x1

Lớp vào

Lớp ẩn

Lớp ra
y1

x2

y2
yn

xm

Hình 1.7. Mạng truyền thẳng nhiều lớp
Mỗi nút trong lớp vào nhận giá trị của một biến độc lập và chuyển vào
mạng. Dữ liệu từ tất cả các nút trong lớp vào được tích hợp – ta gọi là tổng

13

Mạng hồi quy nhiều lớp có nối ngược.
X1

Y1

X2

Y2

...

...

...

...

XN

YM

Hình 1.9 . Mạng nhiều lớp có nối ngược
1.1.4. Luật học mạng neural.
1.1.4.1. Phương Pháp Học
Bộ não muốn hoạt động một cách nhanh nhạy và chuẩn xác thì cần một
quá trình tích lũy kinh nghiệm và thích nghi với môi trường. Do vậy tiến trình
học là một tiến trình quan trọng của con người để bộ não có thể tích lũy kinh
nghiệm và thích nghi với môi trường để xử lý tình huống một cách tốt hơn.

triển hệ thống thích nghi. Mặt khác, với khả năng tổng quát hóa của mạng
neural, nó có thể áp dụng để điều khiển nhiều tham số phức tạp đồng thời từ đó
giải quyết dễ dàng một số bài toán thuộc lớp bài toán NP- đầy đủ (NPComplete).
Cách đơn giản về khái niệm học của mạng neural là cập nhật trọng số
trên cơ sở các mẫu. Rộng hơn thì luật học có thể chia ra làm hai loại là học
tham số và học cấu trúc. Các luật học đóng vai trò quan trọng trong việc xác
định một mạng neural nhân tạo
1.1.4.2. Luật học tham số
Học tham số là nhằm tìm kiếm ma trận trọng số sao cho mạng có khả
năng đưa ra dự báo sát với thực tế. Dạng chung của luật học tham số là:
Wij  rx j , i  1, N , j  1, M

(1.12)

Trong đó:
Wij : là sự thay đổi trọng số liên kết từ neural j đến neural i.

x j : là tín hiệu vào neural j.

 : là tốc độ học, nằm trong khoảng (0,1).
r

: là hằng số học.

Số hóa bởi Trung tâm Học liệu – ĐHTN




15

(1.13)




16

Trong đó:
Wij là sự thay đổi trọng số liên kết từ neural j đến neural i.
x j: là tín hiệu vào neural j.
yi

là tín hiệu ra của neural i.

 là tốc độ học, nằm trong khoảng (0,1).

Luật Hebb giải thích việc chỉnh trọng trong phạm vi cục bộ của mạng mà
không cần tín hiệu chỉ đạo từ bên ngoài. Hopfield cũng cải tiến luật Hebb cho
các mạng tự liên kết thành 16 dạng khác nhau theo kiểu luật Hebb, luật đối
Hebb, luật Hopfield...
1.1.4.5. Học tăng cường
Luật học này dựa vào cơ sở thông tin phản hồi chỉ là tín hiệu bao gồm
hai trạng thái cho biết tín hiệu đầu ra của mạng là đúng hay sai. Quá trình học
dựa trên các thông tin hướng dẫn như vậy được gọi là học có củng cố (học tăng
cường) và tín hiệu mang thông tin phản hồi được gọi là tín hiệu củng cố cho
quá trình học. Ta có thể thấy rằng quá trình học này là một dạng của quá trình
học có tín hiệu chỉ đạo bởi vì mạng nhận được một số thông tin phản hồi từ bên
ngoài.
1.1.4.6. Học cấu trúc
Luật học của học cấu trúc là tìm kiếm các tham số của cấu trúc mạng, để

trị E2 đạt cực tiểu.
1) Phương pháp giả nghịch đảo
Tập dữ liệu huấn luyện đã cho trên, giả sử mạng của ta có M neural ở
tầng ẩn. Xét ma trận HMxN như sau HMxN = k(𝑥 𝑖 )=𝑒

−|𝑥𝑖 −𝑣𝑘 |2
k

Và ma trận Y là ma trận hàng các 𝑦 𝑘 khi đó giá trị của các 𝑤𝑘 được tính:
W=𝐻+ Y trong đó 𝐻 + = (𝐻𝑇 𝐻)−1 𝐻𝑇
2) Phương pháp tụt dốc Gradient
Trong phương pháp này đầu tiên tham số 𝑤𝑘 được tạo ra ngẫu nhiên sau
đó được cập nhật bằng công thức 𝑤𝑘 (𝑖 + 1) = 𝑤𝑘 (𝑖) +𝑤𝑘
𝑖
𝑖
i
𝑤𝑘 = ∑𝑁
𝑖=1 𝑘 (𝑥 ) (𝑦 − (x )) đây là xét một neural đầu ra. Hệ số 

được gọi là tốc độ học. Nếu  nhỏ thì giá trị của các trọng số w tiến chậm đến
điểm cực tiểu. Nếu  lớn thì giá trị của các trọng số w thường dao động quanh
điểm cực tiểu vậy để tìm được giá trị  hợp lý thì phải qua quá trình thực nghiệm
1.1.5.2. Phương pháp huấn luyện hai pha
Với phương pháp huấn luyện hai pha các giá trị 𝑣𝑘 và bán kính 𝑘 của
hàm cơ sở bán kính 𝑘 được tính bằng các thuật toán sau :
Thuật toán phân cụm k-mean
Số hóa bởi Trung tâm Học liệu – ĐHTN




𝑥𝑖

Khi {1 , 2 … , 𝑘 } không có sự thay đổi giá trị thì thuật toán sẽ dừng lại
1.1.5.3. phương pháp huấn luyện mạng hai pha HDH
𝑛

Xét tập huấn luyện {𝑥 𝑘 , 𝑦 𝑘 }𝑘=1 ;(𝑥 𝑘 𝜖𝑅𝑛 , 𝑦 𝑘 𝜖𝑅𝑚 ) không mất tính tổng quát,
ở đây ta xét mạng neural có một neural output (m=1), khi đó biểu diễn toán học
của mạng là:
𝑖
𝜙(𝑥 𝑖 ) = ∑𝑁
𝐾=1 𝑤𝑘 𝜙𝑘 (𝑥 ) + 𝑤0=𝑦 𝑖

(1)
𝑖

Xét ma trận 𝜃 = (𝜑𝑘,𝑖 )𝑁×𝑁 trong đó 𝜑𝑘,𝑖 = 𝜑𝑘 (𝑥 𝑖 ) = 𝑒 −‖𝑥 −𝑥

𝑘 ‖2 ⁄ 𝜎 2
𝑘

chú ý rằng ở đây ta chọn tâm của các hàm cơ sở bán kính chính là tất cả các
điểm thuộc tập dữ liệu input X.
𝑤1
𝑧1
Ta kí hiệu I là ma trận đơn vị cấp N; W=[ … . ], Z=[ … ] là các vec tơ trong
𝑤𝑁
𝑧𝑁
không gian N chiều 𝑅𝑁 trong đó:
𝑧𝑘 = 𝑦𝑘 𝑤0 , ∀𝑘 ≤ 𝑁

trị 𝑦 𝑘 :
1

𝑘
𝑤0 = ∑𝑁
𝑘=1 𝑦
𝑁

(6)

Với mỗi k ≤ 𝑁, ta có hàm 𝑞𝑘 của 𝜎𝑘 xác định như sau :
𝑞𝑘 = ∑𝑁
𝑗=1|𝜓𝑘,𝑗 |

(7)

Hàm 𝑞𝑘 là đơn điệu tăng và với mọi số dương q < 1 luôn tồn tại giá trị 𝜎𝑘
sao cho 𝑞𝑘 (𝜎𝑘 ) = 𝑞
Mô tả thuật toán
Với sai số 𝜀 và các hằng số dương q, 𝛼 < 1 cho trước, thuật toán bao gồm
2 pha để xác định các tham số 𝜎𝑘 và 𝑊 ∗ . Trong pha thứ nhất, ta sẽ xác định các
𝜎𝑘 để 𝑞𝑘 < 𝑞 và gần với q nhất (nghĩa là nếu thay 𝜎𝑘 = 𝜎𝑘 ⁄𝛼 thì 𝑞𝑘 > 𝑞). Vì
vậy, với mọi k, chuẩn của ma trận Ψ tương ứng với chuẩn vec tơ ‖. ‖. ( cho bởi
công thức dưới đây) thuộc đoạn này. Pha sau tìm nghiệm gần đúng 𝑊 ∗ của (5)
bằng phương pháp lặp đơn giản. thuật toán được đặc tả như sau
Proceduce thuật toán 2 pha huấn luyện mạng neural
for k=1 to N do
xác định các 𝜎𝑘 để 𝑞𝑘 < 𝑞, và nếu thay 𝜎𝑘 = 𝜎𝑘 ⁄𝛼 thì 𝑞𝑘 > 𝑞 ; // pha 1
Tìm 𝑊 ∗ bằng phương pháp lặp đơn (hoặc phương pháp lặp Seidel); // pha 2
End


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