Mạng neural rbf và bài toán xấp xỉ hàm nhiều biến số

74 1 0
Mạng neural rbf và bài toán xấp xỉ hàm nhiều biến số

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trong trường hợp khi các mốc nội suy xk,yk, k=1,2,…N là các giá trị thuộc không gian một chiều ta thường gọi là bài toán nội suy hàm 1 biến số đã được nghiên cứu nhiều như các phương phá

Trang 1

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

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

Trang 2

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

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

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

Người hướng dẫn khoa học: TS Vũ Vinh Quang

Thái Nguyên - 2022

Trang 3

LỜI CẢM ƠN

Trước tiên tôi bày tỏ lời cảm ơn chân thành đến các thầy, cô giáo đã giảng dạy, hướng dẫn và giúp đỡ tôi trong thời gian học tập và nghiên cứu hoàn thành luận văn này

Xin được bày tỏ lòng biết ơn sâu sắc tới Thầy giáo TS Vũ Vinh Quang

đã tận tình hướng dẫn, giúp đỡ và đóng góp cho tôi nhiều ý kiến quý báu để hoàn thành luận văn này

Xin trân thành cảm ơn các thầy, cô giáo trường đại học công nghệ thông tin và truyền thông, đặc biệt là các thầy cô trong khoa công nghệ thông tin đã giảng dạy, giúp đỡ và tạo điều kiện thuận lợi cho tôi trong thời gian học tập tại trường

Cuối cùng, xin trân thành cảm ơn gia đình và bạn bè đã động viên, quan tâm, giúp đỡ tôi hoàn thành khóa học và luận văn

Thái Nguyên, Ngày 8 tháng 8 Năm 2022

Học viên

Vũ Thị Hường

Trang 4

LỜI CAM ĐOAN

Tôi cam đoan luận văn này là do bản thân tự nghiên cứu và thực hiện

theo sự hướng dẫn khoa học của TS Vũ Vinh Quang

Tôi hoàn toàn chịu trách nhiệm về tính pháp lý quá trình nghiên cứu khoa học của luận văn này

Thái Nguyên, Ngày 8 tháng 8 Năm 2022

Học viên

Vũ Thị Hường

Trang 5

Chương 1 MẠNG NEURAL TRUYỀN THẰNG VÀ MỘT SỐ THUẬT TOÁN HUẤN LUYỆN 3

1.1 Một số kiến thức về đại số tuyến tính 3

1.2 Lý thuyết về bài toán tối ưu 6

1.2.1 Mô hình tổng quát 6

1.2.2 Khái niệm về gradient và đạo hàm hướng 6

1.3.1 Mô hình neural nhân tạo 9

1.3.2 Mạng Neural nhân tạo 10

1.4 Mô hình huấn luyện đối với mạng neural 15

1.5 Một số quy tắc học với mạng truyền thẳng 16

1.5.1 Luật học trực chuẩn HEBB 16

1.5.2 Thuật toán HEBB_Gram_schmidt 16

1.5.3 Thuật toán giả nghịch đảo 17

1.5.4 Thuật toán LMS (Least Mean Square) 18

Bước 3: Kiểm tra điều kiện hội tụ: E(k) <epxilon 19

1.5.5 Thuật toán lan truyền ngược MLP 20

Chương 2 BÀI TOÁN NỘI SUY VÀ MẠNG RBF 23

2.1 Mô hình bài toán nội suy 23

Trang 6

2.1.1 Mô hình bài toán nội suy hàm một biến 23

2.1.2 Mô hình bài toán nội suy hàm nhiều biến 24

2.2 Mạng nội suy RBF 29

2.2.1 Hàm cơ sở xuyên tâm 29

2.2.2 Khái niệm về hàm RBF và mạng RBF 30

2.3 Huấn luyện mạng RBF 32

2.3.1 Mô hình bài toán huấn luyện 32

2.3.2 Một số thuật toán phân cụm tối ưu 33

2.3.3 Thuật toán nội suy Gram_Schmid 35

2.3.4 Thuật toán nội suy giả nghịch đảo 36

2.3.5 Thuật toán Huấn luyện nhanh Quick_Training 38

2.3.6 Thuật toán huấn luyện hai pha 40

3.1.4 Một số kết quả tính toán thực nghiệm 48

3.2 Bài toán dự báo điểm thi tốt nghiệp trung học phổ thông 49

3.2.1 Đặt vấn đề 49

3.2.2 Xây dựng mô hình dự báo 50

3.2.2 Xây dựng dữ liệu huấn luyện và dự báo 52

3.2.4 Một số kết quả huấn luyện và dự báo 54

KẾT LUẬN 60

TÀI LIỆU THAM KHẢO 61

PHẦN PHỤ LỤC 62

Trang 7

BẢNG KÍ HIỆU

RBF Radial Basis Function (Hàm cở sở bán kính) ANN Artificial Neural Network (mạng nơ ron nhân tạo) MLP Multi-Layer Perceptrons (Perceptron nhiều tầng) LMS Least-Mean Square (cực tiểu trung bình bình phương)

( )X

Trang 8

DANH MỤC BẢNG BIỂU

Bảng 3.1: Kết quả huấn luyện sử dụng thuật toán giả nghịch đảo 48

Bảng 3.2: Kết quả huấn luyện sử dụng thuật toán Quichk_Traning, =0.1 48

Bảng 3.3: Một số kết quả dự báo tại các tọa độ bất kì 49

Bảng 3.4: Kết quả huấn luyện sử dụng thuật toán Quick_Training.m 55

Bảng 3.5: Kết quả dự báo lớp 12_A0 (Chuyên toán 2021-2022) 55

Bảng 3.6: Kết quả huấn luyện sử dụng thuật toán Quick_Training.m 57

Bảng 3.7: Kết quả dự báo lớp 12A8 (Chuyên ngữ 2021-2022) 58

Trang 9

DANH MỤC HÌNH VẼ

Hình 1.1: Mô hình neural nhân tạo 9

Hình 1.2: Neural có một đầu vào 9

Hình 1.3: Mô hình neural nhiều đầu vào 10

Hình 1.4: Mô hình mạng neural một lớp 11

Hình 1.5: Mô hình mạng neural 3 lớp 12

Hình 1.7: Hàm biến đổi Hardlimit 14

Hình 1.8: Hàm biến đổi Linear 14

Hình 1.9: Hàm biến đổi Log – Sigmoid 15

Hình 2.1: Mạng neural truyền thẳng 3 lớp 28

Hình 2.2: Mô hình mạng Neural RBF 1 đầu vào 1 đầu ra 31

Trang 10

MỞ ĐẦU

Trong các mô hình toán học mô tả các bài toán thực tế, mô hình bài toán xấp xỉ hàm số là một bài toán có tầm quan trọng đặc biệt trong lĩnh vực tính toán xấp xỉ trên các bộ dữ liệu lớn bởi vì rất nhiều các bài toán trong thực tế (Kinh tế, môi trường, dự báo, tự động hóa, trí tuệ nhân tạo ) đều xuất phát từ đầu vào là các bộ số liệu rời rạc được đo đạc bằng các phương pháp hiện đại tại các thời điểm khác nhau, các bộ dữ liệu này được đưa vào hệ thống và thông qua quá trình tính toán của hệ thống để đưa ra các kết luận mang tính quyết định đến hoạt động của hệ thống tại các thời điểm tiếp sau Các bộ số liệu ban đầu đó thường được gọi là các mốc nội suy Để giải quyết bài toán trên, ta cần xác định các hàm số xấp xỉ trên bộ dữ liệu ban đầu, từ đó cho phép ta xác định được giá trị của dữ liệu tại các điểm bất kì của hệ thống

Trong trường hợp khi các mốc nội suy (xk,yk), k=1,2,…N là các giá trị thuộc không gian một chiều (ta thường gọi là bài toán nội suy hàm 1 biến số) đã được nghiên cứu nhiều như các phương pháp bình phương bé nhất, đa thức nội suy Lagrange, Neuton, lý thuyết hàm ghep trơn Tuy nhiên trong trường hợp tổng quát khi các mốc nội suy (Xk,Yk), k=1,2, ,N là các vecto trong các không gian nhiều chiều (Bài toán xấp xỉ hàm nhiều biến) thì bài toán xác định hàm xấp xỉ trở nên rất phức tạp

Để giải quyết mô hình trên, đã có rất nhiều các phương pháp được áp dụng, điển hình như các phương pháp đại số xác định chính xác các hàm nội suy đa thức hoặc các phương pháp hồi quy bội, phương pháp trung bình phương,… Tất cả các phương pháp đều đưa đến mô hình chung là giải quyết bài toán cực trị hàm số nhiều biến số Tuy nhiên nhược điểm của tất cả các phương pháp trên đều đòi hỏi khối lượng tính toán là rất lớn, không thuận tiện khi bộ dữ liệu ban đầu là rất lớn

Với sự xuất hiện của mô hình tính toán mới là mô hình mạng neural đã cho phép các nhà khoa học xây dựng nên một công cụ tính toán mềm dẻo, linh hoạt với độ phức tạp thấp, mô hình tính toán đơn giản nhưng lại đạt được hiệu quả rất cao Đặc biệt dựa trên các thuật toán huấn luyện mạng neural với tốc độ hội tụ nhanh đã

Trang 11

cung cấp cho các nhà khoa học một công cụ mới để giải quyết các bài toán tối ưu một cách hiệu quả

Nội dung chính của luận văn là tìm hiểu về mô hình mạng neural tổng quát và đặc biệt là mạng neural RBF cùng các thuật toán huấn luyện để giải quyết bài toán xấp xỉ hàm nhiều biến số Cài đặt và kiểm tra tính hiệu quả của các thuật toán Từ đó nghiên cứu hai mô hình ứng dụng của bài toán nội suy: Bài toán nghiên cứu mô hình đánh giá khí thải tại các khu công nghiệp và bài toán dự báo kết quả điểm thi tốt nghiệp phổ thông trung học

Cấu trúc luận văn gồm 3 chương với những nội dung như sau:

Chương 1: Trình bày một số kiến thức cơ bản được sử dụng trong luận văn bao

gồm: Một số kiến thức về Đại số tuyến tính, Mô hình bài toán tối ưu và thuật toán Gradient giải bài toán tối ưu không ràng buộc Mô hình mạng Neural truyền thẳng và một số thuật toán huấn luyện mạng trên cơ sở lý thuyết đại số tuyến tính và lý thuyết tối ưu

Chương 2 Trình bày mô hình bài toán nội suy hàm số nhiều biến số và mô hình

mạng RBF bao gồm: Bài toán nội suy hàm nhiều biến số và một số tiếp cận về phương pháp xây dựng hàm nội suy nhiều biến số Khái niệm về hàm cơ sở xuyên tâm, hàm RBF và mô hình mạng RBF Bài toán huấn luyện mạng RBF và một số thuật toán huấn luyện mạng RBF (Thuật toán Hebb, Giả nghịch đảo, thuật toán phân cụm K_Mean, thuật toán huấn luyện Quick_training, Full_training,…)

Chương 3 Trình bày ứng dụng mạng RBF để xây dựng hàm nội suy giải quyết

hai bài toán thực tế, đó là bài toán dự báo ô nhiễm môi trường và bài toán dự báo điểm thi tốt nghiệp trung học phổ thông Tiến hành xây dựng các chương trình phần mềm dự báo trên môi trường Matlab và test kiểm tra các phần mềm trên các bộ dữ liệu thu thập trong thực tế

Các thuật toán sẽ được kiểm tra độ chính xác bằng các chương trình lập trình trên môi trường Matlab và thực nghiệm trên máy tính PC

Trang 12

Chương 1

MẠNG NEURAL TRUYỀN THẰNG VÀ MỘT SỐ THUẬT TOÁN HUẤN LUYỆN

Trong chương này, luận văn sẽ trình bày một số kiến thức cơ bản về cấu trúc mạng neural truyền thẳng một lớp và nhiều lớp, mô hình bài toán huấn luyện mạng và một số thuật toán huấn luyện mạng trên cơ sở lý thuyết đại số tuyến tính và lý

thuyết tối ưu Các kiến thức được tham khảo trong các tài liệu [1][2][4][5][6] 1.1 Một số kiến thức về đại số tuyến tính

trong đó Σ là phép lấy tổng và n là số chiều của không gian vector

+ Chuẩn trong không gian Euclide n chiều thường được xác định bởi công thức

Trang 13

Thuật toán Gram-Schmidt

Xét hệ vecto độc lập tuyến tính {X ,1 X2, ,Xn}, giả sử rằng hệ chưa là hệ trực chuẩn, ta tìm cách biến đổi hệ vecto trên về hệ trực chuẩn {V ,1 V2, ,Vn} qua một số hữu hạn bước

Khi đó ta có thể sử dụng phương pháp biến đổi theo ý tưởng sau đây:

+ Xuất phát V1  X1 Để nhận được vector trực giao V2, ta sử dụng X2 nhưng trừ bớt đi một phần của X2theo hướng của V1: V2  X2aV1 với a được chọn sao cho V2 trực giao với V1 Điều này đòi hỏi:

+ Tương tự, để nhận được vector trực giao thứ k ta sử dụng Xk nhưng trừ bớt đi một phần của Xktheo hướng của Vk1 tức là

Xuất phát từ các bước trên, ta xây dựng được thuật toán Gram-Schmidt cho phép biến đổi một hệ vecto độc lập tuyến tính bất kỳ về hệ trực chuẩn như sau

Thuật toán

Input: {X ,1 X2, ,Xn} là hệ độc lập tuyến tính Input: {V ,1 V2, ,Vn} là hệ trực chuẩn

Bước 1: Khởi động

Trang 14

Định nghĩa 1.4 (Ma trận liên hợp A* )

Cho ma trận A=(Aij) là ma trận vuông cấp n, kí hiệu Bij định thức con của ma

trận A khi bỏ đi hàng j và cột thứ i của ma trận A Khi đó giá trị Dij=(-1)i+jdet(Bij)

được gọi là phần bù đại số của phần tử Aij Ma trận A*=(Dij) được gọi là ma trận liên hợp của ma trận A

Định nghĩa 1.5 (Ma trận giả nghịch đảo)

Cho ma trận A là ma trận bất kì, ta định nghĩa ma trận giả nghịch đảo A+ là ma

- Giả nghịch đảo của giả nghịch đảo chính là ma trận ban đầu: (A )A

- Phép lấy giả nghịch đảo giao hoán với phép chuyển vị: (AT) (A)T

- Phép lấy giả nghịch đảo giao hoán với phép liên hợp: (A*) (A)*

- Giả nghịch đảo của tích của một đại lượng vô hướng với A là tích của nghịch đảo của đại lượng vô hướng đó với A+: (A) 1A, 0

Trang 15

Nhận xét: Xuất phát từ định nghĩa và các hệ quả, khi đó dễ ràng xác định được với A là một ma trận bất kì thì ma trận A+ được xác định bởi công thức

Bài toán tối ưu tổng quát được phát biểu như sau: Cực đại hóa (cực tiểu hóa) hàm: f X( )max(min)

Với các điều kiện:

( ),

g Xb iJ ;gj(X)bj,jJ2;gk( )Xb kk,J3; (1.4) trong đó f X( ) được gọi là hàm mục tiêu, Các điều kiện (1.4) được gọi là các điều kiện ràng buộc,X ( ,x x1 2, ,xn) là véc tơ thuộc không gian n

R Tập các véc tơ X

thỏa mãn hệ ràng buộc lập nên một miền D được gọi là miền phương án, mỗi điểm

XD gọi là một phương án Một phương án *

XD làm cho hàm mục tiêu f X( ) đạt max (min) được gọi là phương án tối ưu

Mục đích chính của việc giải bài toán tối ưu là cần xây dựng các phương pháp xác định phương án tối ưu với tốc độ nhanh nhất Một trong những phương pháp thường sử dụng trong phương pháp số là tìm cách xây dựng các dãy lặp các phương án X X0, 1, ,Xn, để sao cho dãy lặp hội tụ đến nghiệm tối ưu với tốc độ nhanh nhất Sau đây chúng ta sẽ trình bày cơ sở của phương pháp lặp gradient hay thường gọi là phương pháp đường dốc nhất

1.2.2 Khái niệm về gradient và đạo hàm hướng Định nghĩa 1.5 (Vecto gradient)

Gradient của hàm f(X) là một vectơ có các thành phần là đạo hàm riêng

Trang 16

1.4.4 Thuật toán Gradient

Xét bài toán tối ưu không ràng buộc tổng quát:

min f X , Xx x , xnRn

Định nghĩa 1.6: (Hướng giảm)

Ta gọi vector d là hướng giảm của hàm f R: nR tại X nếu   0sao cho

  ,  0,

f X df X   tức là nếu giá trị của X thay đổi dọc theo hướng của vecto d thì giá trị của hàm f(X) luôn luôn giảm Giá trị  được gọi là bước nhảy

Khi đó giả sử hàm fkhả vi tại X và f X 0 Khi đó, có thể chứng minh được d  f X / f X  là hướng giảm nhanh nhất

Mục đích chính của phương pháp lặp giải bài toán

min f X , Xx x , xnRn là cần xây dựng một dãy lặp  ( )k

X để sao cho

khi đi theo dãy lặp đó thì giá trị của hàm f(X) giảm dần Như vậy trong quá trình

xây dựng dãy lặp, nếu ta chọn theo hướng là hướng đường dốc nhất thì hiển nhiên

tốc độ giảm của hàm f(X) sẽ là nhanh nhất tức là tốc độ hội tụ là nhanh nhất Xuất

phát từ cơ sở toán học trên, để giải bài toán tối ưu hóa không ràng buộc nhiều biến số, người ta thường sử dụng thuật toán gradient như sau:

Thuật toán gradient

Bước 0: Chọn 0 làm sai số kết thúc, lấy một điểm xuất phát X(0), đặt k:=1

Trang 17

Bước 2: Xác định giá trị bước lặp tiếp sau theo công thức

+ Thuật toán chỉ xác định được nghiệm tối ưu địa phương, do đó để xác định được nghiệm tối ưu toàn cục, chúng ta cần thực hiện thuật toán nhiều lần với vecto

xuất phát X(0) khác nhau hoặc kết hợp với các phương pháp tính toán mềm khác

1.3 Mô hình mạng Neural

Mạng neural nhân tạo (Artificial Neural Netwworks) được xây dựng dựa trên mô hình cấu trúc của bộ não con người, nguyên nhân thúc đẩy nghiên cứu mạng neural xuất phát từ việc mô phỏng sinh học, đặc biệt là mô phỏng neural thần kinh Với khoảng 1012

neural ở não người, mỗi neural có thể nhận hàng vạn tín hiệu từ các khớp thần kinh và được coi là một cơ chế sinh học phức tạp nhất có khả năng giải quyết những vấn đề như: nghe, nhìn, nói, hồi ức thông tin, phân biệt các mẫu mặc dù dữ liệu bị méo mó, thiếu hụt Não thực hiện những nhiệm vụ như vậy bởi có những phần tử tính gọi là neural Não phân bổ việc xử lý thông tin cho hàng tỷ neural có liên quan, điều khiển liên lạc giữa các neural Neural không ngừng nhận và truyền thông tin lẫn nhau Cơ chế hoạt động của neural bao gồm: Tự liên kết, tổng quát hoá và tự tổ chức Các neural liên kết với nhau thành mạng, mỗi mạng gồm hàng vạn các phần tử neural khác nhau, mỗi phần tử neural có khả năng liên kết với hàng ngàn các neural khác Vì vậy các nhà khoa học tìm cách xây dựng các mô hình tính toán mới dựa trên mô hình tương tự như neural trong não người Sau đây chúng ta nghiên chi tiết các mô hình

Trang 18

1.3.1 Mô hình neural nhân tạo

Một neural nhân tạo phản ánh các tính chất cơ bản của neural sinh học và được mô phỏng dưới dạng sau:

Hình 1.1: Mô hình neural nhân tạo

- Đầu vào gồm R tín hiệu pi ( i=1,2, …, R) - Đầu ra là tín hiệu a

- Trạng thái bên trong của neural được xác định qua bộ tổng các đầu vào có trọng số wi (i=1,2, …, R) đặc trưng cho tính liên kết của các neural

- Đầu ra a của neural được xác định qua hàm f nào đó được xác định bởi công thức a = f( wipi +b)

Trong đó b là tín hiệu ngưỡng Thường kí hiệu net =  wipi là tín hiệu tổng hợp đầu vào

Thường chúng ta phân loại neural thành 2 loại

Neural có một đầu vào

Trang 19

Neural chỉ có 1 giá trị đầu vào kí hiệu là p, một giá trị ngưỡng kí hiệu là b Hoạt động của neural như sau: đầu vào p được nhân với một trọng số w rồi gửi đến bộ tổng, qua ngưỡng b ta thu được tín hiệu tổng hợp n Tín hiệu tổng hợp n được truyền qua một hàm biến đổi tín hiệu f, ta thu được đầu ra a Như vậy đầu ra a của neural được xác định như sau:

Hình 1.3: Mô hình neural nhiều đầu vào

Neural có R đầu vào kí hiệu là p1, p2, …, pR tương ứng với các trọng số w1, w2, …, wR của ma trận trọng số W Tổng hợp tín hiệu n được tính theo công thức:

n = w1p1 + w2p2 + … + wRpR + b

Đưa vào các kí hiệu: W = (w1.1, w1.2, …, w1.R), p = (p1, p2, …,pR),

Khí đó công thức tính tín hiệu tổng hợp được viết dưới dạng tích vô hướng n = WpT + b

Khi đó đầu ra của Neural được xác định theo công thức a = ƒ(wpT + b)

1.3.2 Mạng Neural nhân tạo

Định nghĩa 1.7: Mạng neural nhân tạo là tập hợp các neural nhân tạo được liên kết

với nhau theo một cấu trúc liên kết nào đó Thông qua các kiểu liên kết, chúng ta có thể phân loại mạng Neural như sau:

Trang 20

1.3.2.1 Mạng Neural 1 lớp

Xuất phát từ cấu trúc của 1 neural nhân tạo, ta kết hợp S neural với nhau thành một lớp được gọi là mạng neural 1 lớp (Hình 1.4)

Khi đó cấu trúc mạng neural 1 lớp bao gồm: + Đầu vào là vecto p=(p1,p2,…,pR) + Vecto ngưỡng b=(b1,b2,…,bS)

+ Ma trận trọng số w=(wij) i=1 R; j=1 S + Hàm biến đổi tín hiệu f

Hoạt động của mạng:

Mỗi thành phần tín hiệu đầu vào pk đều được truyền đến S neural cùng một lúc thông qua các vecto trọng số tương ứng wk=(wk,1,wk,2,…wk,S) Neural thứ k sẽ xác định tín hiệu tổng hợp nk tương ứng và thông qua hàm biến đổi f sẽ xác định giá trị đầu ra ak tương ứng

Kí hiệu: a=(a1,a2,…,as) khi đó tín hiệu đầu ra của mạng qua tín hiệu đầu vào p, tín hiệu ngưỡng b và ma trận trọng số qua công thức biểu diễn ma trận và vecto

a= f(wp+b)

Trang 21

Nhận xét:

+ Thông thường thì số tín hiệu đầu vào R sẽ khác với số tín hiệu đầu ra S tức là RS

+ Mạng neural 1 lớp chính là một hệ thống tính toán cho phép biến đổi hệ vecto đầu vào p thành hệ vecto đầu ra a thông qua các giá trị trung gian là ma trận trọng số w, vecto ngưỡng b và hàm biến đổi f

1.3.2.2 Mạng neural nhiều lớp

Từ cấu trúc của mạng neural 1 lớp, chúng ta có thể kết hợp nhiều mạng 1 lớp để lập nên mạng nhiều lớp Trong liên kết mạng nhiều lớp, bắt buộc phải thỏa mãn một số yêu cầu sau đây:

- Một neural của lớp này chỉ được kết nối với các neural của lớp tiếp theo - Không cho phép các liên kết giữa các neural trong cùng một lớp, hoặc từ

neural lớp dưới lên neural lớp trên

- Không cho phép các liên kết neural nhảy qua một hay nhiều lớp

Cấu trúc tổng quát của mô hình mạng nhiều lớp được mô tả thông qua mô

Trang 22

+ Đầu ra của các lớp lần lượt kí hiệu là a1, a2, …, an

+ Đầu vào của mạng cũng là đầu vào lớp thứ nhất là vecto p=(p1,p2,…,pR) Hoạt động của mạng như sau:

- Xuất phát từ vecto đầu vào lớp thứ nhất là p, thông qua trọng số W1, ngưỡng b1 , ta tổng hợp được tín hiệu n1 Qua hàm biến đổi f1, ta thu được vecto đầu ra của lớp thứ nhất là a1 Khi đó

a1=f1(W1p+b1)

- Lấy vecto a1 làm vecto tín hiệu đầu vào của lớp thứ 2, tương tự, ta thu được vecto tín hiệu đầu ra của lớp thứ 2 là a2 Khi đó

a2=f2(W2a1+b2)= f2(W2 f1(W1p+b1) +b2) ………

- Lấy vecto ak làm vecto tín hiệu đầu vào của lớp thứ k+1, tương tự, ta thu được vecto tín hiệu đầu ra của lớp thứ k+1 là ak+1 Khi đó

ak+1=fk+1(Wk+1ak+bk+1)= fk+1(Wk+1 fk(Wkfk-1(….+b1))) k=2,…,n-1 Cuối cùng, ta thu được tín hiệu đầu ra của mạng n lớp là vecto

an=fn(Wnan-1+bn)= fn(Wn fn-1(Wn-1fn-1(….+b1)))

Trong cấu trúc mạng nhiều lớp trên, lớp thứ nhất được gọi là lớp vào, lớp cuối cùng được gọi là lớp ra, các lớp từ 2 đến n-1 được gọi là các lớp ẩn

Nhận xét:

+ Thông thường thì số tín hiệu đầu vào R sẽ khác với số tín hiệu đầu ra của các lớp và đồng thời số neural của các lớp là khác nhau

+ Tương tự như mạng 1 lớp, mạng neural n lớp cũng chính là một hệ thống tính toán cho phép biến đổi hệ vecto đầu vào p thành hệ vecto đầu ra an thông qua

Trang 23

các giá trị trung gian là các ma trận trọng số w, các vecto ngưỡng b và hàm biến đổi f của lần lượt các lớp

1.3.3 Hàm biến đổi tín hiệu

Tùy theo yêu cầu của tín hiệu đầu ra của hệ thống, trong các mạng neural, người ta thường sử dụng các hàm biến đổi tín hiệu như sau:

Trang 24

Mạng nơron với hàm biến đổi như trên được sử dụng trong mạng ADALINE

Hình 1.9: Hàm biến đổi Log – Sigmoid

Hàm Log – Sigmoid Logsig(n) = 1/(1+en)

1.4 Mô hình huấn luyện đối với mạng neural

Đặt vấn đề: Như chúng ta đã phân tích, mạng neural là một hệ thống cho phép biến đổi vecto tín hiệu đầu vào p thành vecto tín hiệu đầu ra a thông qua các giá trị trung gian là ma trận trọng số W và vecto ngưỡng b Một vấn đề đặt ra là đối với hệ

thống tính toán này, nếu chúng yêu cầu một đầu ra mong muốn cho trước thì cần

hiệu chỉnh các giá trị trung gian W và b như thế nào? Khi đó quá trình hiệu chỉnh W và b để mạng đạt được đầu ra mong muốn được gọi là quá trình huấn luyện

mạng hay cũng gọi là quá trình học của mạng

Bài toán huấn luyện mạng có giám sát (có mẫu học) được đặt ra như sau: Cho trước R cặp tập mẫu tín hiệu vào:  (1)(1)(2)(2)( )( ) 

Tttt) là ma trận tín hiệu mẫu (đầu ra mong muốn)

Khi đưa một tín hiệu vào là p(k) vào đầu vào của mạng neural, ở đầu ra ta thu

được tín hiệu a(k)

tương ứng Khi đó tổng hợp tất cả các tín hiệu đầu vào, ta thu

được tín hiệu đầu ra là ma trận A=(a(1)

,.a(2), ,a(R))

Trang 25

Đặt hàm ETA được gọi là hàm năng lượng của mạng Khi đó quá trình

huấn luyện mạng là quá trình hiệu chỉnh ma trận trọng số W và ngưỡng b để sau cho hàm năng lượng E đạt giá trị nhỏ nhất tức là sai lệch giữa đầu ra A và mẫu T đạt

giá trị nhỏ nhất

Do A=f(WP+b) nên ETf(Wp b , từ đó chúng ta thu được bài toán tối ưu hóa như sau:

Hãy xác định W và b để hàm năng lượng ETAMin

Như vậy, bài toán quá trình huấn luyện mạng neural chính là quá trình tìm lời

giải của bài toán tìm cực trị của hàm năng lượng E với các biến số là các phần tử

của ma trận W và tọa độ của vecto b

1.5 Một số quy tắc học với mạng truyền thẳng

1.5.1 Luật học trực chuẩn HEBB

Chúng ta xét mạng 1 lớp trong trường hợp đặc biệt là không có ngưỡng b và

hàm biến đổi f là hàm đồng nhất Khi đó với vecto đầu vào là P và ma trận trọng số W thì đầu ra của mạng được xác định bởi công thức : A=WP

Giả sử tập các vecto đầu vào  (1)(2)( )

Khi đó có thể chứng minh rằng nếu ta chọn ma trận trọng số theo công thức W=TPTthì với mọi đầu hệ vecto đầu vào T thì hệ vecto đầu ra A sẽ luôn luôn trùng với đầu vào tức là hàm năng lượng E=0

1.5.2 Thuật toán HEBB_Gram_schmidt

Xét mạng 1 lớp trong trường hợp đặc biệt là không có ngưỡng b và hàm biến đổi f là hàm đồng nhất

Chúng ta xét trường hợp khi hệ vecto  (1)(2)( )

, , , R

Pppp đầu vào không phải là hệ trực chuẩn Khi đó chúng ta có thể sử dụng quy tắc Gram_schmidt để

chuyển hệ P về hệ trực chuẩn từ đó áp dụng thuật toán HEBB trực chuẩn

Trang 26

Thuật toán

Input: {p ,p , ,p }(1) (2) ( )R là hệ vector đầu vào độc lập tuyến tính,T (t(1),t(2), ,t( )R )

Là ma trận mẫu học

Output: ma trận trọng số W để hàm năng lượng E đạt Min

// Thực hiện thuật toán Gram_Schmid chuyên hệ P về trực chuẩn

Bước 5 : Xác định đầu ra của mạng A=WP

Bước 6 : Xác định giá trị hàm năng lượng ETA

1.5.3 Thuật toán giả nghịch đảo

Chúng ta vẫn xét mạng 1 lớp trong trường hợp đặc biệt là không có ngưỡng b và hàm biến đổi f là hàm đồng nhất

Giả sử hệ vecto đầu vào  (1)(2)( )

, , , R

Pppp là hệ vecto bất kỳ ta xác định

ma trận giả nghịch đảo theo công thức P+=(PTP)-1PT

Khi đó có thể chứng minh rằng nếu ta chọn ma trận trọng số theo công thức

W=TP+, thì giá trị của hàm năng lượng E của mạng đạt giá trị bé nhất tức là sai số giữa đầu ra A và mẫu học T đạt giá trị nhỏ nhất

Trang 27

Bước 3 : Xác định đầu ra của mạng A=WP

Bước 4 : Xác định giá trị hàm năng lượng ETA

Bước 5: Output W Nhận xét chung

+ Các thuật toán dạng đại số tuyến tính chỉ áp dụng cho mạng 1 lớp dạng đặt biệt tức là không xét ngưỡng b và hàm biến đổi là đồng nhất Sai số giữa đầu ra A và mẫu học T đạt được là rất nhỏ (Khoảng 10-25)

+ Trong các thuật toán luôn luôn sử dụng các phép toán về tích vecto với ma trận, tính các giá trị của ma trận nghịch đảo nên khi số chiều lớn thì khối lượng tính toán của các thuật toán là rất lớn

+ Trong các thuật toán bắt buộc phải xác định đầy đủ và chính xác mẫu học T ngay từ đầu thuật toán (Điều này là không phù hợp với thực tế)

+ Các thuật toán trên có thể cài đặt đơn giản bằng ngôn ngữ lập trình Matlab hoặc các ngôn ngữ lập trình khác

1.5.4 Thuật toán LMS (Least Mean Square)

Thuật toán LMS là thuật toán giải bài toán tối ưu ETf(Wp b Min

dựa trên tư tưởng xây dựng các dãy lặp    ( )( )

W kn; bkn trên cơ sở của thuật toán gradient hội tụ nhanh nhất đến nghiệm tối ưu

Trang 28

Sử dụng thuật toán gradient, khi đó các giá trị của trọng số W và ngưỡng b trên từng bước lặp sẽ được xác định bởi các công thức:

Sử dụng các công thức tính đạo hàm riêng của hàm năng lượng E đối với các biến tương ứng, ta thu được các công thức:

Trong đó k là tham số lặp được lựa chọn để dãy lặp hội tụ

Xuất phát từ các cơ sở toán học trên, thuật toán LMS được mô tả chi tiết như sau:

Trang 29

1.5.5 Thuật toán lan truyền ngược MLP

Trong trường hợp có rất nhiều mẫu học {P(k), T(k)}, k=1, 2, … mà mạng một lớp không thể có được tri thức thông qua việc học các mẫu đó, tức là thuật toán xác định ma trận trọng số W và ngưỡng b là không hội tụ Người ta phải sử dụng mạng nhiều lớp (MLP) và đặc biệt mạng MLP này phải có quan hệ phi tuyến không chỉ nằm riêng ở lớp neural đầu ra

Tư tưởng: Từ một mẫu học cụ thể {P(k), T(k)} và các trọng số đã có của mạng, chẳng hạn như W(k), người ta xác định đầu ra thực A(k) của lớp cuối cùng So sánh với mẫu học T(k), ta hiệu chỉnh trong số lớp cuối thành W(k+1) Tiếp tục từ trọng số mới W(k+1) của lớp cuối cùng, người ta lại tiếp tục hiệu chỉnh trọng số của các lớp phía trước cho đến trọng số của lớp đầu tiên Qua trình trên được gọi là quá trình lan truyền ngược

Đối với mạng nhiều lớp thì đầu ra của một lớp là đầu vào của lớp tiếp theo, Đầu ra của lớp cuối cùng chính là đầu ra của mạng: A = AM

Thuật toán lan truyền ngược sai số MLP được thực hiện tương tự như thuật

Trang 30

cuối cùng, thì chúng ta dễ dàng xác định được giá trị của ma trận các lớp phía trước, tức là thực hiện tính toán theo sơ đồ lan truyền ngược

Hay viết dưới dạng ma trận: SM  2FM(nM)(TA) Như vậy từ SM ta có thể lần lượt tính SM-1, …, S1

Xuất phát từ các tính toán trên, ta có các bước thực hiện thuật toán MLP như sau

Thuật toán

Bước 1: Khởi tạo: W, b, T, P

+ Chọn tham số lặp

Trang 31

Nội dung chương 1 đã trình bày một số kiến thức cơ bản về mạng neural thẳng cùng với mô hình bài toán huẩn luyện mạng trên cơ sở về lý thuyết đại số tuyến tính và bài toán tối ưu hóa, luận văn đã đưa ra một số thuật toán huấn luyện mạng truyền thẳng dưới dạng các phép biến đổi đại số và dạng các phương pháp lặp gradient Các kết quả này sẽ là cơ sở để chúng ta nghiên cứu về mô hình mạng RBF và bài toán nội suy hàm nhiều biến số được đưa ra trong chương 2 của luận văn

Trang 32

Chương 2

BÀI TOÁN NỘI SUY VÀ MẠNG RBF

Nội dung chính của chương 2 sẽ nghiên cứu về mô hình tổng quát của bài toán nội suy hàm nhiều biến, khái niệm về hàm cơ sở xuyên tâm và cấu trúc tổng quát về mạng RBF Các thuật toán huấn luyện mạng RBF Các kết quả được tham khảo trong các tài liệu [2][5][6][7][8]

2.1 Mô hình bài toán nội suy

Đặt vấn đề: Nhiều bài toán trong thực tế đặc biệt là các bài toán dự báo đòi

hỏi cần tính giá trị của một hàm số tại những điểm của biến số trong miền D nào đó của không gian n-chiều, nhưng không có biểu diễn tường minh của hàm số mà chỉ xác định được giá trị của hàm số trên một tập hữu hạn điểm của D Hiển nhiên để

giải quyết đòi hỏi trên, ta cần xác định xấp xỉ công thức của hàm số thông qua một số điểm đã biết Việc xác định gần đúng hàm này dẫn tới bài toán nội suy và xấp xỉ hàm số Sau đây chúng ta sẽ nghiên cứu mô hình bài toán nội suy một biến và nhiều biến cùng một số phương pháp giải quyết

2.1.1 Mô hình bài toán nội suy hàm một biến

Đặt bài toán: Cho trước n mốc nội suy

Nếu hàm F x( ) tồn tại thì hàm số đó được gọi là hàm nội suy và bài toán xác định F x( ) được gọi là bài toán nội suy

Trang 33

Nhận xét: Bài toán này đóng vai trò quan trọng trong thực tế vì nếu biết được

công thức hàm F x( ) thì ta có thể xác định được mọi giá trị của hàm ứng với mọi 1, n

xx x Các giá trị đó được gọi là các giá trị nội suy

Để giải quyết bài toán trên, người ta dựa vào cơ sở toán học như sau: Chọn

trước một hàm F a a( ,1 2, ,a xn, ) thường là dạng tuyến tính phụ thuộc n tham số độc lập  n 1

 , thỏa mãn các điều kiện nhất định Khi đó các hệ số a a1, 2, ,an sẽ được xác định từ điều kiện nội suy F a a( ,1 2, ,a xn, k) yk, k 1, ,n

Trong thực tế tính toán, người ta thường chọn hàm F có dạng tuyến tính: tính cho trước thoả mãn điều kiện định thức ma trận det [i(xk)]0 Khi đó các hệ

số aj luôn tìm được duy nhất do hệ thức (2.2) khi thay xx kk( 1, 2 , )n trở thành hệ phương trình đại số luôn duy nhất nghiệm Các hệ hàm k( )xnk1 thường được sử dụng là các hệ cơ sở dạng đa thức, hàm mũ hoặc hàm số lượng giác

Một số phương pháp xác định hàm nội suy một biến số đã được nghiên cứu: đó là các phương pháp sử dụng đa thức nội suy Lagrange, đa thức nội suy Neuton, phương pháp hàm Spline …

2.1.2 Mô hình bài toán nội suy hàm nhiều biến 2.1.2.1 Mô hình tổng quát

Xét miền giới nội D trong Rn và N điểm X X1, 2, ,XN trong miền D

Chúng ta xét bài toán sau: Cho trước N mốc nội suy

1

Trang 34

trong đó Xk là các vecto n chiều; Yk là các vecto m chiều Cần xây dựng một hàm số Khi đó hàm ( )X sẽ được gọi là hàm nội suy

Chú ý rằng X là vecto n chiều và Y là vecto m chiều, do đó Khi m >1, bài toán nội suy luôn luôn tương đương với m bài toán nội suy m hàm nhiều biến giá trị thực Do đó để đơn giản, ta chỉ cần xét với m=1

2.1.2.2 Một số phương pháp giải quyết bài toán nội suy hàm nhiều biến

Các hàm nội suy ( )X cần được chọn dưới dạng thuận tiện cho sử dụng và tính toán đặc biệt là các dạng nội suy đa thức tương tự như nội suy hàm 1 biến số Tuy nhiên mặc dù các chuyên gia giải tích số đã có những nỗ lực để phát triển lý thuyết nội suy đa thức, nhưng tính toán thường phức tạp và dễ có hiện tượng mất ổn định dẫn tới sai số rất lớn trong nội suy Mặt khác, do đòi hỏi hàm nội suy cần tìm phải thoả mãn chặt điều kiện (2.3) do đó đã gây nên ra các khó khăn trong tính toán và việc chọn các lớp hàm nội suy mà vẫn có thể cho kết quả xấp xỉ không tốt

Một hướng đang được ứng dụng rộng rãi là tìm hàm xấp xỉ tốt nhất và dùng nó để nội suy giá trị hàm số tại các điểm khác mốc nội suy Trong trường hợp này ta xem nó là nghĩa suy rộng của bài toán nội suy

Sau đây chúng ta nghiên cứu cơ sở của một số phương pháp xấp xỉ hàm nhiều biến số

Phương pháp k lân cận gần nhất

Tư tưởng: Chọn trước số tự nhiên k, với mỗi XD, ta cần xác định giá trị của hàm ( )X qua giá trị của hàm f (X) tại k mốc nội suy gần nó nhất

Ký hiệu Z Z1, 2, ,ZN là k mốc nội suy gần X nhất, kí hiệu d(U,V) là khoảng cách của hai điểm U,V bất kỳ trong D Khi đó hàm ( )X xác định như sau:

Trang 35

Dễ thấy rằng khi X dần tới các mốc nội suy thì ( )X xác định như trên hội tụ

đến giá trị của f(X) tại mốc nội suy tương ứng khi đối số hội tụ tới mốc này

Nhận xét:

+ Phương pháp này có ưu điểm là cách tính toán đơn giản, tuy nhiên trên thực

tế việc xác định giá trị k phù hợp là một vấn đề khó (phụ thuộc rất nhiều vào kinh

nghiệm đánh giá bài toán thực tế)

+ Mỗi khi cần xác định giá trị của một điểm, phương pháp này lại tìm trong tất cả các giá trị đã biết để tìm được các mốc gần nhất mới xác định được hàm nội suy, chứ không tính trước hàm để dùng được như mạng neural Điều này tăng khối lượng tính toán

Phương pháp không đánh giá chặt chẽ về mặt toán học, tuy nhiên vẫn được ưa dùng trong tính toán thực nghiệm do cách tính là đơn giản

Phương pháp xấp xỉ bình phương tối thiểu

Chúng ta xét bài toán xấp xỉ hàm nhiều biến Để giải quyết bài toán này, một trong những phương pháp hiệu quả nhất là phương pháp xấp xỉ bình phương tối thiểu

Tư tưởng của phương pháp như sau:

Giả sử hàm Yf X X( ), DRn là một hàm nào đó xác định tại N điểm

Trang 36

Như vậy ta nhận được mô hình bài toán cực trị hàm nhiều biến số, các phương pháp thường được sử dụng là phương pháp Gradient, phương pháp Newton… Trong trường hợp nếu hàm ( )X là hàm tuyến tính thì bài toán dẫn tới việc giải hệ phương trình đại số tuyến tính cấp N với ẩn là các hệ số cần xác định

Chú ý:

+ Khác với phương pháp nội suy, phương pháp xấp xỉ chỉ cho kết quả gần đúng tức là về mặt hình học, đường cong của hàm ( )X không cần thiết phải đi qua các mốc nội suy

+ Trong trường hợp khi số mốc nội suy là lớn, để giảm bớt chi phí tính toán, người ta chỉ tính với M<N mốc bằng cách chọn M điểm gần X nhất làm mốc nội suy Phương pháp này thường được gọi là phương pháp hồi quy trọng số địa phương

Phương pháp xấp xỉ bằng mạng Nơron truyền thẳng

Xét cấu trúc mạng neural truyền thẳng 3 lớp (Hình 2.1)

Tầng ẩn: Số tầng ẩn và lượng neural của mỗi tầng tuỳ thuộc vào mục đích thiết kế

Như vậy nếu coi các mốc nội suy ( ,Y Y1 2, ,YN) chính là tập mẫu cần huấn luyện thì chúng ta có thể sử dụng mạng neural 3 lớp trên để xấp xỉ hàm nhiều biến số Bài toán huấn luyện mạng chính là cần xác định các giá trị trọng số W1, W2 của

các lớp của mạng để sao cho hàm năng lượng của mạng 2

Trang 37

Nhận xét

+ Thuật toán huấn luyện mạng 3 lớp trên thường sử dụng là thuật toán lan truyền ngược MLP Thuật toán có tốc độ hội tụ chậm và thường chỉ hội tụ đến cực trị địa phương

+ Để khắc phục có thể huấn luyện nhiều lần với các giá trị khởi tạo ngẫu nhiên hoặc khởi tạo theo kinh nghiệm hoặc kết hợp với thuật toán di truyền sau đó dùng thuật toán tối ưu hoá

Hình 2.1: Mạng neural truyền thẳng 3 lớp

Như vậy, việc tiếp cận giải quyết bài toán nội suy hàm nhiều biến là một bài toán phức tạp về mặt toán học cũng như mô hình tính toán Cần đưa ra những mô hình hiệu quả hơn trong thực tế Sau đây chúng ta sẽ nghiên cứu chi tiết vấn đề giải quyết bài toán xấp xỉ hàm nhiều biến bằng mạng RBF

Ngày đăng: 02/04/2024, 16:28

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan