Đề tài này sẽ trình bày “Thuật toán 2 pha để huấn luyện mạng nội suy RBF với hàm cơ sở bán kính dạng Gauss” được đánh giá là có thời gian chạy nhanh, dễ ước lượng sai số và song song hó
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Hoàng Tiến Dũng
MẠNG NƠRON RBF VÀ ỨNG DỤNG
LUẬN VĂN THẠC SĨ
HÀ NỘI – 2006
Trang 2LỜI CẢM ƠN
Mặc dù vấn đề nội suy hàm số đã được nghiên cứu từ rất sớm, lý thuyết và công
cụ để nội suy hàm một biến là tương đối đầy đủ tuy nhiên các hàm thường gặp trong thực
tế lại là hàm nhiều biến Đến nay các công cụ toán học để nội suy hàm nhiều biến vẫn còn hạn chế Mạng RBF (Radial Basis Fuction) được Broomhead và Low giới thiệu lần đầu tiên từ năm 1988 vẫn là một công cụ rất hữu hiệu để nội suy và xấp xỉ hàm nhiều biến
Đề tài này sẽ trình bày “Thuật toán 2 pha để huấn luyện mạng nội suy RBF với hàm cơ sở bán kính dạng Gauss” được đánh giá là có thời gian chạy nhanh, dễ ước
lượng sai số và song song hóa (Thuật toán này được đề xuất bởi Tiến sĩ Hoàng Xuân Huấn
và Thạc sĩ Đặng Thị Thu Hiền [2]) Thuật toán này được kiểm chứng và ứng dụng thử nghiệm trong bài toán Khí tượng (Với sự giúp đỡ đặt bài toán của Thầy Phan Văn Tân)
Trước tiên tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo Hoàng Xuân Huấn Người đã định hướng tôi vào đề tài khoa học này Cảm ơn thầy đã cho tôi những lời khuyên bổ ích giúp tôi dần tháo gỡ những vướng mắc trong quá trình tìm hiểu lý thuyết cũng như xây dựng ứng dụng cho đề tài này
Tôi xin được gửi lời cảm ơn đặc biệt đến Thạc sĩ Đặng Thị Thu Hiền đã giúp đỡ rất nhiều trong quá trình làm khóa luận của tôi Chị đã có những góp ý rất thiết thực với chương trình máy tính mà tôi xây dựng
Tôi xin được gửi lời cảm ơn đặc biệt đến Thầy Phan Văn Tân Người đã đặt ra một bài toán rất thực tế từ kinh nghiệm Nghiên cứu và Hoạt động trong công tác Khí tượng Thủy văn và Hải dương học Thầy cũng là người cung cấp các dữ liệu thực tế và đánh giá kết quả của chương trình máy tính ứng dụng
Tôi xin được gửi lời cảm ơn chân thành đến các thầy cô giáo trong Đại Học Công Nghệ đã truyền đạt cho tôi những kiến thức tổng hợp rất quý giá Cảm ơn những người thân và bạn bè luôn ở bên cạnh, ủng hộ trong suốt quá trình thực hiện
Hà Nội ngày 24 tháng 11 năm 2006
Sinh viên thực hiện HOÀNG TIẾN DŨNG
Trang 3MỤC LỤC
LỜI CẢM ƠN 2
MỤC LỤC 3
MỞ ĐẦU 6
CHƯƠNG 1: BÀI TOÁN NỘI SUY VÀ XẤP XỈ HÀM 8
1.1 Giới thiệu chung 8
1.2 Bài toán nội suy và xấp xỉ hàm nhiều biến 8
1.2.1 Bài toán nội suy hàm nhiều biến 8
1.2.2 Phương pháp k-lân_cận_gần_nhất 8
1.2.3 Bài toán xấp xỉ hàm nhiều biến 9
CHƯƠNG 2: GIỚI THIỆU MẠNG NƠRON Error! Bookmark not defined
2.1 Giới thiệu chung Error! Bookmark not defined
2.2 Mạng nơron tự nhiên Error! Bookmark not defined
2.3 Mạng nơron nhân tạo (Artificial Neural Network) Error! Bookmark not defined
2.3.1 Cấu tạo của một nơron Error! Bookmark not defined
2.3.2 Ví dụ cách một nơron học Error! Bookmark not defined
2.3.3 Cấu tạo của mạng nơron Error! Bookmark not defined
2.3.4 Quá trình học của mạng nơron Error! Bookmark not defined
2.4 Luật học của mạng Nơron Error! Bookmark not defined
2.4.1 Khái niệm luật học của mạng nơron Error! Bookmark not defined
2.4.2 Học có giám sát Error! Bookmark not defined
2.4.3 Học không giám sát Error! Bookmark not defined
2.4.4 Học tăng cường Error! Bookmark not defined
2.5 Luật học Perceptron Error! Bookmark not defined
2.5.1 Mô hình tổng quát Error! Bookmark not defined
2.5.2 Luâ ̣t ho ̣c Perceptron Error! Bookmark not defined
2.5.3 Đặc tính hội tụ Error! Bookmark not defined
2.5.4 Nhận xét về thuật toán Error! Bookmark not defined
2.6 Mạng ADALINE Error! Bookmark not defined
2.6.1 Kiến trúc tổng quát Error! Bookmark not defined
2.6.2 ADALINE đơn Error! Bookmark not defined
2.6.3 Sai số trung bình bình phương Error! Bookmark not defined
2.6.4 Thuâ ̣t toán Trung bình bình phương nhỏ nhất (Least Mean Square)Error! Bookmark not def
2.6.5 Sự hô ̣i tụ Error! Bookmark not defined
2.6.6 Nhận xét Error! Bookmark not defined
Trang 42.7 Mạng Perceptron nhiều tầng MLP (Multi-Layer Perceptrons) Error! Bookmark not defined
2.7.1 Kiến trúc mạng Error! Bookmark not defined
2.7.2 Huấn luyện mạng bằng thuật toán lan truyền ngược (Back-Propagation).Error! Bookmark not CHƯƠNG 3: MẠNG NƠRON NỘI SUY RBF (RADIAL BASIC FUNCTION)Error! Bookmark not defined 3.1 Giới thiệu Error! Bookmark not defined
3.2 Mạng nội suy RBF và các vấn đề liên quan Error! Bookmark not defined
3.2.1 Bài toán nội suy nhiều biến với cách tiếp cận RBFError! Bookmark not defined
3.2.2 Kiến trúc mạng RBF và đặc điểm huấn luyện Error! Bookmark not defined
3.3 Phương pháp Trung bình bình phương nhỏ nhất huấn luyện mạng RBFError! Bookmark not defined
3.3.1 Huấn luyện đầy đủ Error! Bookmark not defined
3.3.2 Huấn luyện nhanh Error! Bookmark not defined
3.4 Phương pháp Lặp huấn luyện mạng RBF Error! Bookmark not defined
3.4.1 Định lý Error! Bookmark not defined
3.4.2 Mô tả thuật toán Error! Bookmark not defined
3.4.3 Đặc tính hội tụ Error! Bookmark not defined
3.5 Ứng dụng mạng RBF Error! Bookmark not defined
CHƯƠNG 4: CHƯƠNG TRÌNH MÁY TÍNH THỰC NGHIỆM Error! Bookmark not defined
4.1 Giới thiệu chương trình máy tính Error! Bookmark not defined
4.1.1 Giới thiệu Error! Bookmark not defined
4.1.2 Cấu hình máy tính sử dụng chương trình Error! Bookmark not defined
4.2 Sử dụng chương trình máy tính Error! Bookmark not defined
4.2.1 Cấu trúc dữ liệu vào Error! Bookmark not defined
4.2.2 Đọc dữ liệu vào Error! Bookmark not defined
4.2.3 Sinh mốc dữ liệu vào Error! Bookmark not defined
4.2.4 Huấn luyện mạng RBF với các mốc nội suy đầu vàoError! Bookmark not defined
4.2.5 Nội suy bằng mạng RBF vừa huấn luyện Error! Bookmark not defined
CHƯƠNG 5: BÀI TOÁN XẤP XỈ HÀM TRONG KHÍ TƯỢNG THỦY VĂNError! Bookmark not defined
5.1 Phát biểu bài toán Error! Bookmark not defined
5.1.1 Hoạt động thực tế Error! Bookmark not defined
5.1.2 Đặt bài toán Error! Bookmark not defined
5.2 Một vài phương pháp áp dụng Error! Bookmark not defined
5.2.1 Phương pháp địa phương Error! Bookmark not defined
5.2.2 Mạng MLP Error! Bookmark not defined
5.2.3 Dùng RBF và phương pháp lặp Error! Bookmark not defined
5.3 Ứng dụng chương trình máy tính Error! Bookmark not defined
Trang 55.3.1 Cấu trúc file dữ liệu quan trắc Error! Bookmark not defined
5.3.2 Đọc dữ liệu vào Error! Bookmark not defined
5.3.3 Huấn luyện mạng RBF với file số liệu quan trắc Error! Bookmark not defined
5.3.4 Nội suy với dữ liệu nằm trên mốc lưới Error! Bookmark not defined 5.4 Nhận xét ứng dụng mạng nội suy RBF Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined Các kết quả đạt được Error! Bookmark not defined Hướng nghiên cứu tiếp theo Error! Bookmark not defined TÀI LIỆU THAM KHẢO 10 PHỤ LỤC Error! Bookmark not defined Môi trường viết chương trình Error! Bookmark not defined Giới thiệu một số thủ tục chính của chương trình Error! Bookmark not defined
Trang 6MỞ ĐẦU
Sự phát triển mạnh mẽ của công nghệ thông tin trong thời gian qua đang nhanh chóng đưa hệ thống thông tin kỹ thuật số thay thế hệ thống thông tin văn bản cổ truyền Khi xử lý thông tin số, đặc biệt là khi giải quyết các bài toán kỹ thuật, ta thường gặp bài toán nội suy và xấp xỉ hàm Mặc dù bài toán này đã được nghiên cứu
kỹ và giải quyết khá trọn vẹn từ lâu cho các hàm một biến, đến nay đối với hàm nhiều biến vẫn còn nhiều vấn đề mở thu hút nhiều nhà nghiên cứu
Hiện nay, các phương pháp địa phương và mạng nơron là hai cách tiếp cận thông dụng để nội suy và xấp xỉ hàm nhiều biến tuy rằng việc ước lượng sai số còn chưa được giải quyết trọn vẹn Trong cách tiếp cận địa phương, các phương pháp k-láng giềng gần nhất và hồi quy địa phương có thời gian tính giá trị hàm tại mỗi biến nhanh nhưng chúng không dùng hết thông tin và với các điểm khác nhau thì thông tin đã biết
ở những điểm khác khó được sử dụng lại nên khi cần phải tính giá trị hàm tại nhiều điểm thì rất tốn thời gian và không tiện dùng Mạng MLP (Multilayer Perceptron) là một công cụ mạnh nhưng thời gian huấn luyện lâu nên không thích hợp cho các hệ thống thời gian thực
Một hệ thống thời gian thực có thể được hiểu như là một mô hình xử lý mà tính đúng đắn của hệ thống không chỉ phụ thuộc vào kết quả tính toán mà còn phụ thuộc vào thời gian đưa ra kết quả Bài toán thời gian thực này hầu như xuất hiện trong mọi lĩnh vực Trong kinh doanh, các doanh nghiệp luôn cần có những thông tin
“thời gian thực” từ thị trường, từ đối tác và bạn hàng, qua đó có thể đưa ra những chính sách hợp lý Trong kiểm soát giao thông, việc xác định “thời gian thực” mật độ
và lưu lượng giao thông giúp cho các đơn vị sử dụng điều khiển, phân luồng giao thông một cách hợp lý Trong truyền thông, việc duy trì kết nối “thời gian thực” giúp cho việc tương tác giữa các hệ thống khác nhau được vận hành đồng bộ và thực hiện đúng mục đích Trong điều khiển tự động, việc có được thông tin “thời gian thực” hoạt động của các thiết bị cho phép theo dõi và vận hành các thiết bị này một cách hợp lý và hiệu quả Có thể kể ra rất nhiều yêu cầu thực tế khác nhau đòi hỏi các hệ thống phải đảm bảo yếu tố “thời gian thực”
So với mạng MLP, mạng RBF có thời gian huấn luyện nhanh hơn, đặc biệt là thuật toán huấn luyện lặp được đề xuất trong [2, 3] nên thích hợp với nhiều bài toán đòi hỏi thời gian xấp xỉ hàm ngắn nói chung và bài toán “thời gian thực” nói riêng
Luận văn này trình bày các nội dung sau:
Khảo cứu về mạng nơron RBF để nội suy, xấp xỉ hàm số mà chủ yếu tập trung vào mạng nội suy và thuật toán huấn luyện
Xây dựng phần mềm huấn luyện lặp mạng RBF làm công cụ học tập và nghiên cứu
Trang 7 Xây dựng phần mềm tính giá trị gần đúng của hàm nội suy trên lưới đều dựa trên tập giá trị quan trắc cho trước dùng trong bài toán khí tượng
Phần trọng tâm của đề tài chính là xây dựng phần mềm cho phép thực nghiệm nội suy bằng mạng nơron RBF và bước đầu thực nghiệm nó vào bài toán khí tượng
Ngoài phần kết luận, các chương của đề tài được trình bày như sau:
CHƯƠNG 1: BÀI TOÁN NỘI SUY VÀ XẤP XỈ HÀM
Tr ình bày tóm tắt các điểm cơ bản về bài toán nội suy bao gồm nội suy hàm một biến và nội suy hàm nhiều biến
CHƯƠNG 2: GIỚI THIỆU MẠNG NƠRON
G iới thiệu ngắn gọn về mạng nơron bao gồm kiến trúc và luật học của Perceptron đơn, mạng ADALINE và mạng MLP
CHƯƠNG 3: MẠNG NƠRON NỘI SUY RBF
Trình bày khảo cứu về mạng RBF và một số ứng dụng Nội dung chính của Phương pháp Lặp huấn luyện mạng RBF
CHƯƠNG 4: GIỚI THIỆU CHƯƠNG TRÌNH MÁY TÍNH
Giới thiệu chương trình máy tính thực nghiệm bài toán nội suy bằng mạng RBF được huấn luyện bằng phương pháp lặp được trình bày tại chương 3
CHƯƠNG 5: BÀI TOÁN XẤP XỈ HÀM TRONG KHÍ TƯỢNG THỦY VĂN
Giới thiệu bài toán thực tế trong khí tượng thuỷ văn đòi hỏi áp dụng xấp
xỉ hàm nhiều biến Bài toán này được đặt ra dựa trên công tác nghiên cứu, hoạt động của Khoa Khí tượng Thủy văn và Hải dương học – Đại học KHTN – Đại học Quốc gia Hà Nội Đồng thời giới thiệu ứng dụng chương trình máy tính được xây dựng để nội suy giá trị theo các mốc quan trắc
Trang 8CHƯƠNG 1: BÀI TOÁN NỘI SUY VÀ XẤP XỈ HÀM
1.1 Giới thiệu chung
Nội suy và xấp xỉ hàm số là những bài toán đã được các nhà khoa học nghiên cứu từ rất sớm Lý thuyết về nội suy hàm số có thể ứng dụng ở rất nhiều lĩnh vực khoa học cũng như các lĩnh vực trong cuộc sống Bài toán nội suy là một trong những vấn
đề chính thúc đẩy các nhà khoa học trong ngành Khoa học máy tính phát triển các mạng nơron để giải quyết bài toán này Chương này trình bày những vấn đề cơ bản liên quan đến bài toán nội suy và xấp xỉ hàm Bài toán xấp xỉ hàm sẽ được trình bày
rõ hơn trong Chương 5 (Bài toán xấp xỉ hàm trong Khí tượng thủy văn) Chương này cũng giới thiệu phương pháp nội suy k-lân cận gần nhất, đây là phương pháp nội suy đơn giản và hiện nay được nhiều người ưa dùng
Mặc dù các lý thuyết và phương pháp về nội suy hàm một biến được nghiên cứu khá đầy đủ nhưng điều này vẫn còn rất hạn chế để áp dụng trong thực tế vì các hàm hay gặp trong thực tế thường là hàm nhiều biến
1.2 Bài toán n ội suy và xấp xỉ hàm nhiều biến
Giả sử D là một miền giới nội trong Rn
và f là một hàm liên tục xác định trên
D Người ta chỉ mới xác định được tại N điểm x 1
,x 2 ….x N
trong D: f(x i ) = y i với mọi i=1,2…,N và cần tính giá trị của f(x) tại các điểm x khác trong D
1.2.1 Bài toán nội suy hàm nhiều biến
Để tính f(x), ta cần một hàm (x) xác định trên D có dạng đơn giản dễ tính
giá trị sao cho (x i
)=y i tại mọi điểm x i đã biết và xấp xỉ f(x) bởi (x) Khi đó các điểm x iđược gọi là các mốc nội suy và hàm được gọi là hàm nội suy và được chọn dưới dạng đơn giản, dễ tính giá trị trong miền D
1.2.2 Phương pháp k-lân_cận_gần_nhất
Đây là phương pháp nội suy đơn giản và hiện nay được nhiều người ưa dùng Chọn trước số tự nhiên k, với mỗi xD, ta xác định giá trị (x)qua giá trị của f tại k mốc nội suy gần nó nhất
Ký hiệu z1,…,zklà k mốc nội suy gần x nhất và d(u,v) là khoảng cách của hai điểm u,v bất kỳ trong D, khi đó (x)xác định như sau:
k
j
j
j f z x
1
) ( )
Trong đó được xác định bởi: i
Trang 9
k
j
j
i i
z x d
z x d
1
1 1
) , (
) , (
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 dần tới giá trị của f tại mốc nội suy tương ứng Tuy sai số của phương pháp không đánh giá chặt chẽ được nhưng vẫn được ưa dùng trong thực nghiệm
Ta có thể nhận xét rằng phương pháp k-lân_cận_gần_nhất có ưu điểm là cách tính toán đơn giản và dễ thực hiệ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ế), đồng thời 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, điều này đòi hỏi chi phí tính toán nhiều
Ta có thể xem xét một ví dụ:
Bài toán phân loại văn bản: Cho mô ̣t số lớp văn bản đã được xác định trước
chủ đề, nhiê ̣m vụ của phân loa ̣i văn bản là : gán các văn bản vào một (hay một số) lớp văn bản thích hợp dựa vào nội dung của văn bản
Cách thực hiện: Khi cần phân loại một văn bản mới, phương pháp này sẽ tìm
trong tập các văn bản đã xác định được chủ đề để tìm ra k văn bản gần nhất với văn bản cần phân loại (k chính là chỉ số của thuật toán k-lân_cận_gần_nhất và văn bản được đánh giá là gần nhất dựa trên tiêu chí nào đó, ví dụ mức độ tương tự về nội dung) Dùng khoảng cách giữa k điểm thu được để đánh trọng số cho chính chủ đề của văn bản đó Như vậy, trọng số của một chủ đề chính là tổng tất cả các khoảng cách văn bản trong k-lân_cận_gần_nhất thu được ở trên và dễ thấy chủ đề nào không xuất hiện trong k-lân_cận_gần_nhất sẽ có tổng trọng số bằng 0 Sau đó, các chủ đề sẽ được sắp theo mức độ trọng số giảm dần và các chủ đề có trọng số cao sẽ được chọn
là chủ đề của văn bản cần phân loại
Cũng theo nhận xét ở phần trên, ta thấy trong ví dụ này, việc xác định chỉ số
k một cách hợp lý chỉ có thể dựa theo kinh nghiệm và rất khó để chứng minh k được chọn là tối ưu, hơn nữa nếu văn bản có “nhiễu” thì sẽ ảnh hưởng lớn đến kết quả phân loại
1.2.3 Bài toán xấp xỉ hàm nhiều biến
Bài toán xấp xỉ hàm nhiều biến được xem là bài toán chung, tổng quát mà trong đó cách tiếp cận nội suy là một trường hợp đặc biệt Trong bài toán nội suy hàm nội suy phải có giá trị trùng với các giá trị tính được tại các mốc nội suy đã biết Khi
số mốc nội suy lớn việc xác định hàm nội suy trở thành bài toán khó, khi đó ta
Trang 10chấp nhận các giá trị gần đúng tại các mốc nội suy đã biết và chọn hàm có dạng đơn giản sao cho sai số là tốt nhất
Bài toán được nêu ra như sau:
Hàm y f (x) đo được tại các điểm N
k k
x 1 thuộc D giới nội trong n
R là N
k x
f
y k ( k); với x k (x1k, ,x n k)D và k m
R
Để xấp xỉ hàm f (x) ta cần tìm một hàm có dạng cho trước sao cho sai số tại các điểm đã biết là tốt nhất có thể được
Hàm được chọn thường là hàm dưới dạng (x)(x,c1,c2, ,c k) và thường đánh giá sai số tốt nhất theo cách xác định các tham số c1,c2, ,c k theo phương pháp trung bình bình phương
N
i
i i
y x
1
2
) (
j
i j i j i
i
y x y
x
1
2
) ) ( ( )
Khi đó ta nói (x)là hàm xấp xỉ tốt nhất của f (x) theo cách tiếp cận trung bình bình phương nhỏ nhất Về mặt hình học, đồ thị hàm y(x) không đòi hỏi phải
đi qua các điểm mốc như trong phép nội suy
TÀI LIỆU THAM KHẢO Tài liệu Tiếng Việt
[1] Hoàng Xuân Huấn Giáo trình các phương pháp tính 2003, tr 19-41
[2] Hoàng Xuân Huấn và Đặng Thị Thu Hiền Thuật toán lặp huấn luyện mạng nội
suy RBF, Kỷ yếu hội thảo quốc gia một số vấn đề chọn lọc của CNTT, Hải Phòng
tháng 08 năm 2005, tr 314-323
[3] Hoàng Xuân Huấn và Đặng Thị Thu Hiền Mạng RBF nội suy địa phương , báo
cáo tại Hội thảo Quốc gia một số vấn đề chọn lọc của CNTT, Đà Lạt tháng 06 năm
2006
[4] Hoàng Xuân Huấn Bài giảng môn Mạng nơron và ứng dụng, Trường Đại học
Công nghệ, Đại học Quốc gia Hà Nội
Tài liệu Tiếng Anh
[5] Blazieri Theorical interpretations and applications of radial basis function
networks, University of Toronto, Technical report # DIT-03-023, May 2003
[6] R.Beale and T.Jackson, Adam Hilger Neural Computing: An Introduction,
(Bristol, Philadelphia and New York)