Giới thiệu chƣơng trình máy tính

Một phần của tài liệu Mạng nơron RBF và ứng dụng (Trang 49)

4.1.1. Giới thiệu

Chƣơng trình máy tính đƣợc xây dựng bằng giao diện đồ họa trực quan theo chuẩn giao diện Microsoft Windows (tham khảo thêm trong Phần Phụ lục).

Chƣơng trình máy tính này có thể thực hiện đƣợc các công việc sau:

 Đọc dữ liệu từ file số liệu có sẵn (file dạng text, mỗi số liệu đƣợc lƣu trữ theo từng dòng).

 Ghi dữ liệu tính toán đƣợc từ chƣơng trình ra các file số liệu.

 Hiển thị số liệu đầu vào, số liệu trung gian, số liệu đầu ra ở dạng bảng hoặc ở dạng biểu đồ.

 Cho phép theo dõi quá trình huấn luyện mạng.

 Cho phép nội suy số liệu từ chƣơng trình.

Chƣơng trình máy tính này bao gồm các module sau:

 Đọc file số liệu huấn luyện mạng hoặc sinh mốc số liệu huấn luyện mạng theo quy tắc định sẵn.

 Thiết lập các thông số huấn luyện, huấn luyện và theo dõi quá trình huấn luyện mạng, thống kê thời gian huấn luyện mạng.

 Đọc file số liệu và nội suy dựa trên số liệu đầu vào.

// MÔ TẢ THUẬT TOÁN: XÁC ĐỊNH BÁN KÍNH CỦA MẠNG RBF InPut:

- Các tham số huấn luyện mạng q,  , cho trước.

- Các mốc huấn luyện mạng.

OutPut:

- Các bán kính tương ứng với các tâm.

Body: Begin

Bước 1: Khởi tạo: Khởi tạo các bán kính k=0;

Bước 2 : Tính     N k i i i k k q , 1 ,

 trong đó k,i là ma trận được xác định bởi các hàm bán kính;

Bước 3 : Nếu qk>q thay k=k. và trở về Bước 2 ngược lại sang Bước 4;

Bước 4 : Nếu qk<q thì thay k=k. và trở về Bước 2;

(Thuật toán dừng khi xác định được hết tất cả các bán kính)

End.

// MÔ TẢ THUẬT TOÁN: XÁC ĐỊNH TRỌNG SỐ KẾT NỐI W CỦA MẠNG RBF InPut:

- Ma trận k,i tương ứng với các bán kính vừa xác định được ở.

- Các giá trị lấy được từ mốc huấn luyện mạng.

OutPut:

- Các trọng số kết nối W sau khi huấn luyện.

Body: Begin

Bước 1: Khởi tạo: Khởi tạo các trọng số kết nối W0=Y;

Bước 2: Lặp Wk1 WkY cho đến khi  

 1 1 k k W W q q ,  là sai số cho trước; End.

// MÔ TẢ THUẬT TOÁN: NỘI SUY BẰNG MẠNG RBF InPut:

- Vecto mốc nội suy đã có giá trị xác định.

- Các thống số huấn luyện mạng (Tâm, Bán kính, Trọng số).

OutPut:

- Vecto giá trị nội suy từ mạng RBF.

Body: Begin

Bước 1: Khởi tạo: Khởi tạo các trọng số kết nối W0=Y;

Bước 2: Tính toán giá trị ma trận bán kính;

Bước 3: Nội suy các giá trị;

4.1.2. Cấu hình máy tính sử dụng chƣơng trình

Quá trình sử dụng chƣơng trình máy tính mô tả ở phần tiếp theo đƣợc chạy trên máy tính có cấu hình và các thông số nhƣ sau:

 Tốc độ CPU: 2GHz

 Bộ nhớ RAM: 1024 MB

 Hệ điều hành: Microsoft Windows XP

4.2. Sử dụng chƣơng trình máy tính

4.2.1. Cấu trúc dữ liệu vào

File số liệu đầu vào chƣơng trình có cấu trúc nhƣ sau:

Trong đó:

 Dòng đầu tiên chứa thông số của file số liệu bao gồm: Số mốc và số chiều (số biến của hàm nội suy). Trên đây có thể thấy rằng file số liệu này có 474 mốc nội suy và có 3 chiều (hàm 3 biến), cột cuối cùng của file chính

là giá trị tƣơng ứng với các mốc nội suy. Từ nay trong tài liệu này, ta có thể gọi 3 biến là (x, y, h) và giá trị là (f).

 Với mỗi giá trị (x, y, h) sẽ có một giá trị (f) tính đƣợc. Hay nói cách khác, sau khi thực hiện huấn luyện mạng, mỗi khi đƣa vào các giá trị thuộc tính (x, y, h) thì mạng cần phải nội suy ra giá trị (f).

Đây sẽ là file số liệu sử dụng để huấn luyện mạng RBF.

4.2.2. Đọc dữ liệu vào

Chƣơng trình máy tính sẽ thực hiện đọc file số liệu vào, số liệu này đƣợc dùng để huấn luyện mạng. Dƣới đây là màn hình chƣơng trình máy tính cho phép ngƣời sử dụng mở file số liệu và hiển thị số liệu đó trên màn hình, số liệu quan trắc có thể đƣợc xem ở 2 dạng: Dạng danh sách và Dạng biểu đồ vị trí.

Dƣới đây là số liệu dạng danh sách:

4.2.3. Sinh mốc dữ liệu vào

Thay vì đƣa mốc dữ liệu vào chƣơng trình bằng file sẵn có, ngƣời sử dụng có thể tự sinh các mốc số liệu đầu vào theo các cách khác nhau:

 Sinh mốc theo khoảng cách ngẫu nhiên

 Sinh mốc trên lƣới đều

 Tính giá trị mốc theo hàm cố định hoặc hàm bất kỳ

Tại màn hình này, ngƣời dùng lần lƣợt đƣa vào khoảng giá trị của các mốc và số mốc theo từng chiều (x, y, h), có thể nhập hàm sinh mốc vào từ bàn phím hoặc sinh mốc theo hàm cố định.

4.2.4. Huấn luyện mạng RBF với các mốc nội suy đầu vào

Ngay sau khi đƣa các mốc nội suy đầu vào (từ file hoặc sinh mốc), các số liệu này đã sẵn sàng cho việc huấn luyện mạng RBF.

Thiết lập các thông số huấn luyện

Các tham số huấn luyện chính là: q,,

Trong đó:

q là hằng số dƣơng < 1

 là giá trị sai số

 là các hằng số dƣơng < 1

Các tham số này sẽ ảnh hƣởng tới độ hội tụ và độ sai số của mạng huấn luyện.

Huấn luyện mạng RBF

Sau khi các tham số chính đƣợc thiết lập, mọi thông số cần thiết đã đầy đủ cho việc huấn luyện.

Trong quá trình huấn luyện, các số liệu trung gian cùng với trạng thái hiện tại của quá trình huấn luyện cũng đƣợc hiển thị trên màn hình để cung cấp thông tin cần thiết cho ngƣời dùng.

4.2.5. Nội suy bằng mạng RBF vừa huấn luyện Đọc các file thiết lập cho mạng RBF Đọc các file thiết lập cho mạng RBF

Trƣớc khi nội suy các mốc lƣới, ngƣời dùng cần phải đọc vào các file để thiết lập hoạt động cho mạng RBF bao gồm:

 File số liệu thông số huấn luyện mạng bao gồm q, ,   File số liệu tâm huấn luyện

 File số liệu bán kính huấn luyện

 File số liệu trọng số huấn luyện

Đọc file số liệu cần nội suy giá trị

Chƣơng trình máy tính đọc file số liệu cần nội suy giá trị (file số liệu này có cấu trúc tƣơng tự file số liệu đầu vào).

Nội suy bằng mạng RBF đã huấn luyện

Với file số liệu cần nội suy, chƣơng trình máy tính sẽ thực hiện đƣa ra các giá trị nội suy (f_ns) tƣơng ứng các thuộc tính vào (x, y, h).

Sau khi hoàn thành nội suy các giá trị (f_ns). Chƣơng trình máy tính sẽ đƣa kết quả ra file dữ liệu. File dữ liệu này có cấu trúc bao gồm các dữ liệu đầu vào (x, y, h, f) và đƣợc bổ sung thêm giá trị đã đƣợc nội suy (f_ns).

Dƣới đây là màn hình hiển thị kết quả nội suy:

Nhận xét

Trong toàn bộ các quá trình thao tác ở trên, ngƣời sử dụng hoàn toàn chủ động thực hiện các chức năng từ việc tạo mốc nội suy, chọn các tham số huấn luyện, chọn mốc để nội suy giá trị, đánh giá thời gian huấn luyện, kiểm tra sai số kết quả nội suy.

Những điều trên mang ý nghĩa thực nghiệm rất lớn đối với những ngƣời tiếp cận nghiên cứu về mạng nơron RBF và hiệu quả của nó.

CHƢƠNG 5: BÀI TOÁN XẤP XỈ HÀM TRONG KHÍ TƢỢNG THỦY VĂN

Chƣơng này trình bày một số vấn đề trong công tác Khí tƣợng Thủy văn và nêu bài toán xấp xỉ hàm trong Khí tƣợng thủy văn. Đồng thời cũng đƣa ra đề xuất ứng dụng mạng RBF vào công tác này.

5.1. Phát biểu bài toán

5.1.1. Hoạt động thực tế

Công tác Khí tƣợng Thủy văn và Hải dƣơng học là một trọng những lĩnh vực đóng vai trò quan trọng tại Việt Nam. Lãnh thổ Việt Nam ở điều kiện địa lý tự nhiên bao gồm các vùng địa lý khác nhau (biển, núi, lục địa, …), môi trƣờng khí hậu khá đa dạng và phức tạp, đặc biệt phần lớn dân số hoạt động trong những lĩnh vực nông nghiệp, thủy hải sản (là những lĩnh vực phụ thuộc và bị ảnh hƣởng trực tiếp bởi khí hậu, thời tiết). Với những yếu tố nhƣ vậy, vai trò của công tác Dự báo các số liệu liên quan đến Khí tƣợng trở nên vô cùng quan trọng.

Trên thực tế, công tác Khí tƣợng Thủy văn và Hải dƣơng học là một lĩnh vực lớn bao gồm rất nhiều vấn đề khác nhau. Tuy nhiên vấn đề chính nằm trong hầu hết các hoạt động thực tế là vấn đề Dự báo, hay nói cách khác, đó là việc “đƣa ra các số liệu cần thiết của một địa điểm xác định nào đó khi số liệu tại các điểm xác định khác đã đƣợc biết”.

Trong công tác dự báo, hai đặc điểm quan trọng nhất cần phải quan tâm đó là Thời gian thực và Sai số dự báo. Đặc điểm thời gian thực quy định việc kết quả dự báo phải đƣợc đƣa ra tại thời điểm mong muốn. Đặc điểm sai số quy định mức độ chính xác so với thực tế của số liệu kết quả đƣa ra. Ta có thể thấy rằng hai yếu tố này thƣờng tỷ lệ nghịch với nhau. Hay nói cách khác nếu cần kết quả dự báo cho một khoảng thời gian xa thì sai số sẽ lớn và ngƣợc lại nếu quy định mức sai số cho phép là nhỏ thì thời gian để đƣa ra kết quả dự báo sẽ kéo dài và khó có thể dự báo tại thời điểm cách xa so với thời điểm đƣa ra kết quả.

Có rất nhiều yếu tố ảnh hƣởng đến kết quả của công tác dự báo, ở đây xin lƣu ý đến yếu tố các tập số liệu thu thập đƣợc. Khi tập số liệu thu thập đƣợc là phân bổ rải rác, với các khoảng biên giá trị của số liệu là cách xa nhau (trên thực tế

thƣờng là nhƣ vậy) thì việc dự báo sẽ rất khó khăn, hay nói cách khác, khi đó sẽ rất khó khăn để áp dụng các thuật toán hoặc các công cụ máy tính.

Ta có thể xét ví dụ về tập số liệu thu đƣợc nhƣ sau: Bộ số liệu về nhiệt độ. Thông thƣờng số liệu về nhiệt độ sẽ đƣợc các trạm quan trắc tổng hợp lại tại một thời điểm đã đƣợc quy định, số liệu về nhiệt độ ở đây bao gồm (vĩ độ, kinh độ, độ cao, nhiệt độ). Vì các trạm quan trắc là phân bổ ngẫu nhiên theo điều kiện địa lý, điều kiện xã hội, … nên bộ số liệu này sẽ đƣợc phân bổ không đều (tọa độ các điểm quan trắc là ngẫu nhiên và không theo quy luật). Biểu đồ dƣới thể hiện điều này:

Biểu đồ trên bao gồm 474 điểm quan trắc thu đƣợc ngày 14 tháng 02 năm 2005, nằm phân bổ rải rác trong khoảng vĩ độ (80.83, 129.87), kinh độ (-3.7, 34.92), độ cao (0, 4670) (số liệu này đƣợc cung cấp từ Khoa Khí tƣợng Thủy Văn – Đại học Khoa học Tự nhiên – Đại học Quốc gia Hà Nội). Ta dễ dàng nhận thấy các điểm quan trắc thu đƣợc tập trung cao trên vùng đất liền thuộc lãnh thổ Việt Nam và vùng phía Bắc, khu vực Biển Đông chỉ tồn tại rất ít các điểm số liệu. Và ta có thể dễ dàng thấy đƣợc rằng nếu cần dự báo nhiệt độ cho các điểm có tọa độ (vĩ độ, kinh độ, độ cao) nào đó cho trƣớc thì kết quả sẽ chính xác đối với điểm nằm trong vùng tập trung cao các số liệu quan trắc hơn là đối với điểm nằm tại vùng rất ít số liệu. Ví dụ một vùng số liệu cần phải nội suy nhƣ sau:

Biểu đồ trên bao gồm 12 822 điểm số liệu, các điểm số liệu này thuộc vào khoảng số liệu ở biểu đồ 474 điểm quan trắc bao gồm: vĩ độ (97.25, 117.25), kinh độ (7.13, 21.5), độ cao (0, 1767.14) (số liệu này đƣợc cung cấp từ Khoa Khí tƣợng Thủy Văn – Đại học Khoa học Tự nhiên – Đại học Quốc gia Hà Nội). Hay nói cách khác là từ 474 điểm quan trắc đã biết, ta cần đƣa ra giá trị của 12 822 điểm số liệu cần theo dõi.

Ở ví dụ trên, ta có thể thấy rằng đây chính là bài toán xấp xỉ hàm hay bài toán nội suy, từ những mốc đã biết trƣớc (những mốc quan trắc) ta cần phải tìm đƣợc giá trị của các điểm mốc chƣa biết (những mốc trên lƣới đều) nằm trong miền giá trị (nội suy). Chi tiết sẽ đƣợc đƣa ra ở các phần tiếp theo.

5.1.2. Đặt bài toán

Thực tế, khi giải các bài toán khí tƣợng bằng mô hình số, ngƣời ta cần giá trị của các biến trƣờng khí tƣợng tại các điểm nút lƣới điều hòa (có thể hiểu đó là các điểm nút của một lƣới ô vuông nếu sử dụng hệ tọa độ Đềcác, còn trong hệ tọa độ trái đất các ô vuông đó có các cạnh bằng nhau về độ đo kinh, vĩ, nhƣng có thể khác nhau về khoảng cách địa lý) để có thể tính đƣợc các đạo hàm theo phƣơng pháp sai phân hữu hạn, hoặc để có thể khai triển chuỗi. Tuy nhiên, số liệu ban đầu

của các biến trƣờng khí tƣợng lại chỉ có thể có đƣợc ở các trạm quan trắc mà sự phân bố của nó đƣợc xác định bởi tọa độ địa lý và độ cao trạm (phân bố một cách ngẫu nhiên). Bài toán đặt ra ở đây là cần xác định giá trị của biến trƣờng khí tƣợng tại các điểm nút lƣới điều hòa khi cho trƣớc giá trị của nó tại các điểm nào đó.

Có thể phát biểu bài toán dƣới dạng sau :

Cho tập giá trị quan trắc của một biến trƣờng khí tƣợng F(xl,yl,hl), l=1…n

trong đó xl, yl, hl tƣơng ứng là tọa độ theo phƣơng vĩ tuyễn, kinh tuyến và độ cao của trạm quan trắc thứ l. Hãy xác định giá trị của biến trƣờng F~(xi,yj,hk), tại các điểm nút lƣới cho trƣớc (xi,yj) mà độ cao của các điểm này là hk, trong đó

i=1…nx, j=1…ny, xi1xi x, yj1xj y, hơn nữa xy.

Một dạng khác của bài toán này là số liệu ban đầu đƣợc cho tại các điểm nút lƣới, cần xác định giá trị của biến trƣờng tại các vị trí trạm cho trƣớc.

Một ví dụ ứng dụng đơn giản là: Giả sử kết quả dự báo nhiệt độ không khí của một mô hình đƣợc cho tại các điểm nút lƣới của mô hình. Để đánh giá độ chính xác của kết quả dự báo, ngƣời ta cần so sánh nó với số liệu quan trắc. Có hai phƣơng pháp so sánh: 1) Nội suy số liệu quan trắc về các điểm nút lƣới của mô hình rồi so sánh chúng với kết quả dự báo. Đây là trƣờng hợp sử dụng dạng thứ nhất của bài toán. 2) Nội suy kết quả dự báo của mô hình về các vị trí trạm quan trắc rồi so sánh chúng với chính số liệu quan trắc tại trạm. Đây là trƣờng hợp sử dụng dạng thứ hai của bài toán.

5.2. Một vài phƣơng pháp áp dụng

5.2.1. Phƣơng pháp địa phƣơng

Các phƣơng pháp địa phƣơng thƣờng lƣu lại các mẫu (các điểm đã biết). Các mẫu này đƣợc lƣu lại cho đến khi một tập mẫu mới cần đƣợc phân lớp. Mỗi lần bắt gặp một phân lớp mẫu mới, mối quan hệ với các mẫu đã đƣợc lƣu trữ trƣớc đây lại đƣợc kiểm tra để gán cho hàm mục tiêu một giá trị tƣơng ứng với trƣờng hợp mẫu mới này.

Các phƣơng pháp địa phƣơng có thuận lợi là thay vì chỉ ƣớc lƣợng hàm mục tiêu một lần cho toàn bộ không gian mẫu, thì các phƣơng pháp này có thể ƣớc lƣợng hàm mục tiêu một cách cục bộ cho mỗi tập mẫu mới đƣợc phân lớp.

Tuy nhiên các phƣơng pháp địa phƣơng cũng có những hạn chế. Hầu hết các tính toán đều xảy ra ở lúc phân lớp hơn là khi lần đầu tiên bắt gặp các mẫu huấn luyện, điều này khiến cho chi phí tính toán cao và đôi khi không đáp ứng kịp với yêu cầu đặt ra (nhƣ yêu cầu về thời gian). Hạn chế tiếp theo là các phƣơng pháp địa phƣơng xem xét điển hình mọi thuộc tính của các ví dụ khi cố gắng tìm ra các ví dụ huấn luyện tƣơng tự đã đƣợc lƣu trữ. Nếu khái niệm mục tiêu chỉ dựa trên một vài

Một phần của tài liệu Mạng nơron RBF và ứng dụng (Trang 49)