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 3LỜ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 4LỜ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 5Chươ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 62.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 7BẢ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 8DANH 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 9DANH 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 10MỞ ĐẦ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 11cung 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 12Chươ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 13Thuậ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 X2aV1 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 Vk1 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 15Nhậ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 X b iJ ;gj(X)bj,jJ2;gk( )X b 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 *
X D 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 161.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 , X x x , xn Rn
Đị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: n R tại X nếu 0sao cho
, 0,
f X d f 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 , X x x , xn Rn 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 17Bướ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 181.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 19Neural 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 201.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 21Nhậ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à RS
+ 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 23cá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 24Mạ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)( )( )
T ttt) 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 E TA đượ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 E Tf(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
P ppp đầ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 26Thuậ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
P ppp 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 27Bướ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 E T f(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 28Sử 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 291.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 30cuố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)(T A) 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 31Nộ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 32Chươ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 33Nhậ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 x x 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( )x nk1 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 34trong đó 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 X D, 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 35Dễ 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 36Như 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 37Nhậ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