Chương trình dự báo dữ liệu

Một phần của tài liệu tích hợp giải thuật di truyền với giiar thuật huấn luyện mạng nororon truyền thằng nhiều lớp và ứng dụng trong báo dữ liệu (Trang 64)

5.1. Sư lược về ứng dụng mạng nơ ron trong dự háo dữ liệu

Mạrm nơ ron truyền thằng có ứng dụng rộng rãi trong lĩnh vực dự báo dữ liệu, đặc hiệt là ứng dụng trong các bài toán dự báo tiêu thụ năng lượng, dự báo kinh tế, dự báo các hiện tượng tự nhiên...

Dự báo dữ liệu là bài toán rất phức tạp cả về số lượng dữ liệu cũng như độ chính xác của dữ liệu dự báo. Dữ liệu thu thập trong thực tế rất đa dạng và phong phú. Đẽ có thể sử dụng luyện mạng nơ ron, dữ liệu phải đủ, đảm bảo độ chính xác, phai được làm sạch, được lượng hóa và mã hóa đưa chúng về đoạn [0,1] hoặc [-1,1]. Để mạng có khả năng dự báo tốt, dữ liệu huấn luyện phải quét hết không gian dữ liệu thực. Mặt khác, việc chọn một cấu trúc mạng phù hợp với một bài toán thực tế cũng rất ảnh hưởng đến khả năng dự báo. Đối với một bài toán thực tế, việc chọn cấu trúc mạng chính là việc chọn số nơ ron trong lớp án (hay số nút ẩn), thông thường sử dụng phương pháp thử sai (trial and errors). Ngoài ra, việc khởi tạo các tham số ban đầu của mạng trong quá trình huấn luyện như giá trị các trọng số ban đầu, hằng số học ban đầu, hằng số học thích nghi, độ chính xác... cũng ảnh hưởng không nhỏ tới kha năng dự báo. Trong dự báo dữ liệu, ta chỉ có thể có được kết quả dự báo với độ

chính xác nào đó chấp nhận được chứ không có được kết quả dự báo với độ chính xác 100%.

5.2. Các bước chính trong việc thiết kè mô hình mạng nơ ron dự báo

Hước 1: Chon lựa các biến

Nắm bắt dược bài toán một cách tường minh sẽ quyết định sự thành công trong việc thiết kế mô hình mạng nơ ron dự báo dữ liệu. Đối với một bài toán cụ thể, cần xác định các nhân tố ảnh hướng đến bài toán và phân định rõ các nhàn tố nào là chính và nhân tố nào chỉ là các yếu tố ảnh hướng. Từ đó xác định được các biến đầu vào và biến đầu ra của mạng.

Về mặt dữ liệu, các biến có thể được chia thành hai loại dựa trên các đặc điểm và tính chất của chúng [15]. Việc phãn loại này làm cơ sở để mã hóa dữ liệu dưa vào mạng.

Biến phân lo ạ i (C a te g o rica l V a ria b le s)

Giữa chúng không xác định được các phép toán như “lớn hơn” hay “nhỏ hơn”, chúng không có trị số nhưng có thể được gán trị số khi đưa vào mạng. V í dụ

kiểu màu có thể nhận giá trị “xanh”, “đỏ” hoặc “vàng”...

Các biến thuộc loại này có thể được đưa vào mạng bằng sơ đồ mã hóa I-o f-c ,

sơ đồ này mã hóa các giá trị của biến thành các xâu nhị phân có chiều dài bằng số các giá trị mà biến có thể nhận trong phạm vi bài toán. Một bit sẽ được bật lên tuỳ

theo giá trị của biến, các bit còn lại sẽ được tắt. Trong ví dụ trên, biến kiểu màu cần

ba biến vào, tương ứng với ba màu dược thể hiện bàng các xâu nhị phân 100, 010 và

0 0 1 .

Một cách khác để mã hóa các biến phân loại là thể hiện tất cả các giá trị có thể vào một biến đầu vào liên tục. V í dụ, các giá trị “đỏ”, ”xanh” , và “vàng” có thể được thể hiện bởi các giá trị số 0.0, 0.5, và 1.0. Điểm không tốt của phương pháp này là tạo ru một trật tự nhân tạo trên dữ liệu mà trên thực tế, thứ tự này không hề có. Nhưng đối với các biến với một số lượng lớn các phân loại, phương pháp này có thể giảm rất nhiều số đơn vị đầu vào. Các biến kiểu này có thể được đưa vào mạng bằng

Biến có th ứ tự (o rd in a l V ariables)

Các biến này có thứ tự tự nhiên xác định. Chúng có thể được chuyển trực tiếp thành các giá trị tương ứng của một biến liên tục với một tỷ lệ nào đó.

B ư ớ c 2 : T h u t h ậ p d ừ l i ệ u

Kế hoạch thu thập các dữ liệu chủ yếu bao gồm 3 nhiệm vụ chính:

Xác đ ịn h yêu cẩu dữ liệ u

Bước đầu tiên khi lập kế hoạch thu thập dữ liệu là quyết định các dữ liệu nào là cần thiết để có thể giải quyết bài toán, v ề tổng thể, có thể cần sự trợ giúp của các chuyên gia trong lĩnh vực của bài toán cần giải quyết để xác định được các dữ liệu chắc chắn có liên quan đến bài toán, các dữ liệu có thể liên quan và các dữ liệu phụ trợ. Các dữ liệu có liên quan và có thể liên quan đến bài toán có thể được xem là các đầu vào của hệ thống.

Xác dinh các nguồn dữ liệu

Bước tiếp theo là xác định nơi sẽ lấy dữ liệu, điểu này cho phép ước lượng được những khó khăn và chi phí cho việc thu thập dữ liệu. Nếu ứng dụng yêu cầu dữ liệu thời gian thực, ước lượng này cần tính đến khả năng chuyên đổi dữ liệu tương tự thành dạng số.

Xác đ ịn h lượng dữ liệu

Cần phải có một ước lượng số lượng dữ liệu cần thiết có thể sử dụng để huấn luyện mạng. Nếu dữ liệu quá ít sẽ không thể phản ánh toàn bộ các thuộc tính mà mạng cần phái học, và mạng sẽ không có được những phản ứng mong muốn đối với những dữ liệu mà nó chưa được huấn luyện. Mặt khác, cũng không cần thiết phải đưa vào luyện mạng quá nhiều dữ liệu, về tổng thể, lượng dữ liệu cần thiết bị ảnh hưởng bời số các trường hợp cần luyện cho mạng để mạng có thể có được khả nâng mong muốn.

Việc định lượng chính xác lượng dữ liệu cần đưa vào luyện mạng là hết sức cần thiết. Thông thường, dữ liệu thường thiếu hoàn chình, do đó nếu muốn mạng có

khá năng thực hiện chính xác những điều mong muốn thì nó cần phải được luyện với lượng dữ liệu lớn hơn.

Bước 3: Tiền xử lý dừ liệu

Tiền xứ lý dữ liệu thường mang lại nhữns hiệu quả nhất định trước khi những dữ liệu này được đưa vào mạng. Có rất nhiều các kỹ thuật liên quan đến tiền xứ lý dữ liệu. (adsbygoogle = window.adsbygoogle || []).push({});

Chuyển đ ổ i dữ liệ u vê khuôn dạng phù lìựp đ ố i với đầu vào mạng nơi on.

Các chuyển dổi này có thể bao gồm:

Áp dụng một hàm toán học cho đầu vào.

Mã hóa các dữ liệu văn bản trong cơ sở dữ liệu.

Chuyển đổi dữ liệu sao cho nó có giá trị nằm trong khoảng [0, 1 ].

Lấy biến đổi Fourier cho các dữ liệu thời gian.

Lựa chọn các dữ liệ u xác đáng nhất

Việc lựa chọn này có thể bao gồm các thao tác đơn giản như lọc hay lấy tổ

hợp của các đầu vào để tối ưu hóa nội dung của dữ liệu. Điều này đặc biệt quan trọng khi dữ liệu có nhiễu hoặc chứa các thông tin dư thừa.

T ô i thiếu hóa s ố các đầu vào mạng

Giám tối đa số chiểu của dữ liệu đầu vào và số các mẫu đưa vào mạng có thể đơn giản hóa được bài toán.

Hước 4. Phân chia dữ liệu thành tập huân luyện, kiểm tra và xác nhận

Dữ liệu sau khi đã qua tiền xử lý được chia thành ba tập, tập huấn luyện (training), tập kiểm tra (test) và tập xác nhận (validation). Tập huấn luyện là tập lớn nhất, dùng đê cập nhật các trọne số của mạng. Tập kiểm tra có kích thước khoủns 10% đến 30% tập huấn luyện, được dùng để đánh giá khả năng tổng quát hóa của mạng. Tập xác nhận kiểm tra hiệu năng của mạng sau khi luyện. Cần phải đảm bảo rằng:

Tập huấn luyện chứa đủ dữ liệu, các dữ liệu đó phân bỏ phù hợp sao cho có thể biểu diễn các ihuộc tính mà mạng sẽ học được.

• Không có dữ liệu trùng nhau hay tương tự nhau của các dữ liệu trong các tập dữ liệu khác nhau.

Bước 5: Xác định cấu trúc mạng

Như đã trình bày, việc chọn mô hình mạng nơ ron dự báo dữ liệu là việc chọn số nơ ron trong lớp ẩn. Không có một phương pháp nào để chọn số tối ưu các nơ ron sử dụng trong lớp ẩn. Đê’ có được số nơ ron trong lớp ẩn chấp nhận được thì phải thực hiện nhiều thí nghiệm trên mô hình đã chọn, cuối cùng chọn được mô hình tốt nhất. Công việc này được thực hiện bằng cách bắt đầu với một số nào đó dựa trên các luật (xem chương 3 phần 3.1.3 mục b). Sau khi thực hiện huấn luyện, kiểm tra lỗi tống quát hóa của tùng cấu trúc và tiếp tục tàng hoặc giảm số nơ ron.

Mục tiêu cuối cùng là chọn một cấu trúc mạng mà lỗi tổng quát hóa trên tập huấn luyện là nhỏ nhất.

Hước 6: Huân luvện mạng nư rơn

Huấn luyện mạng bằng cách lần lượt đưa các mẫu vào cùng với các giá trị mong muốn. Mục tiêu là tìm ra các tập trọng sô' cho ta giá trị nhỏ nhất toàn cục của hàm lỗi.

Vấn để đật ra là khi nào ngừng huấn luyện. Quan điểm thứ nhất cho rằng chỉ nên ngừng huấn luyện chừng nào không có tiến triển của hàm lỗi nữa, nói cách khác là mạng đã đạt đến điếm cực tiêu toàn cục. Quan điểm thứ hai cho rằng cần thường xuyên xem xét khả năng tổng quát hóa của mạng bằng cách thực hiện kiểm tra định kỳ sau một số chu kỳ.

Một phương pháp khác là thực hiện vẽ đồ thị để có thể theo dõi trạng thái lỗi của mạng, từ đó có thể quan sát các vùng mà mạng có trạng thái không thay đổi với dữ liệu vào. Thông thường, số lần tối đa thực hiện huấn luyện mạng thường có khoảng biến thiên khá lớn, từ vài nghìn đến vài chục nghìn chư kỳ, có thể thực hiện cập nhật đổ thị sau mỗi chu kỳ để có thể theo dõi được các tham số này.

Bước thực thi thực ra cần được xem xét trước cả bước thu thập dữ liệu bới vì, việc xác định dữ liệu, xác định hàm lỗi sử dụng và thời gian huấn luyện đều là những đặc trưng của môi trường triển khai mạng.

Sau khi cài đặt và triển khai, khả năng hoạt động của mạng nơ ron sẽ giảm đi theo thời gian nếu không thực hiện huấn luyện lại, bới vì các tham biến được chọn không đảm bảo luôn đóng vai trò quyết định đối với các kết quả mong muốn theo thời gian. Tần số thực hiện huấn luyện lại mạng cần hợp lý sao cho mạng luôn đạt được trạng thái hoạt động tốt nhất.

5.3. ứng dụng mạng no' ron truvền thẳng nhiều lớp trong dự báo đinh lũ sông T rà Khúc trạm Sưn Giang

Dự báo đính lũ trên sông là một trong những bài toán quan trọng trong lĩnh vực dự báo thuỷ vãn, nó có ý nghĩa to lớn trong đời sống xã hội vì nó giúp con người dự báo được các trận lũ lớn trước một thời gian dài, tránh được thiệt hại về người và vật chất do chúng gây ra.

Dòng cháy sông suối được hình thành dưới ảnh hưởng của nhiều nhân tố. Song trong số đó nổi lèn hai nhân tố quan trọng là lượng mưa và lượng trữ nước trên lưu vực sông. Mưa là nhân tố quyết định độ lớn của đỉnh lũ, tuy nhiên, cùng một lượng mưa trên cùng một lưu vực, vẫn có thể sinh ra các đỉnh lũ khác nhau. V í dụ, trên sông Hồng lượng mưa sinh ra trận lũ lớn nhất năm 1969 và 1996 tương ứng là 250 và 300 mm, lớn hơn lượne mưa gây trận lũ tháng 8/1971 là 218 mm, song do lượng trữ nước tại thời điểm trước lũ năm 1971 lớn hơn đã làm cho đỉnh lũ tháng 8/1971 lớn hơn nhiều so với hai trận lũ kia. Như vậy, lượng trữ nước trước lũ, hay gọi là chân lũ, có thể xem là nhân tố quan trọng thứ hai, quyết định độ lớn của đỉnh lũ. Ngoài ra còn có các yếu tố khác tác động đến lũ lụt như điều kiện thời tiết... chúng chỉ là các nhân tố gián tiếp.

Chương trình dự báo dữ liệu sử dụng mạng nơ ron truyền thẳng huấn luyện bằng giải thuật lai GA - BP được thử nghiệm với bài toán dự báo đính lũ sông Trà Khúc trạm Sơn Giang. Sône Trà Khúc bắt nguồn từ vùng rừng núi Giá Vực, phía tây

nam tính Quáng Ngãi, ở vào khoảng 14°34’30” B và 108°25’20” Đ. Độ cao neuồn sông khoảng 900 m, chiều dài sông 135 km, chiều dài lưu vực 123 km, diện tích lưu vực 3240 knr, độ dốc lưu vực 18,5%, chiều rộng lưu vực 26,3 km. Có hai dạng lũ trên sông, lũ đơn và lũ kép. Sô liệu mực nước đỉnh lũ được đo theo mực nước chân lũ và lượng mưa tương ứng tại trạm Sơn Giang từ năm 1997 đến nay làm số liệu huấn luyện mạng và kiểm tra khả năng dự báo của mạng. Nguồn số liệu này được lấy từ Trung tâm Thông tin tư liệu - Tổng cục Khí tượng Thuỷ văn.

D ữ liệ u đầu vào (adsbygoogle = window.adsbygoogle || []).push({});

Dữ liệu được lấy tại trạm Sơn Giang từ năm 1995 đến nay được chia thành hai tập, tập huấn luyện và tập kiểm tra. Sô liệu này được lun trữ dưới dạng sau:

Năm Thời gian Lượng mưa

trung bình Mực nước lũ trung bình Bắt đầu Kết thúc Chân lu Đỉnh lũ 1995 lh/6/10 13h/6/10 191.5 2831 3352 lh/7/10 13h/7/10 184 5 3088 3594 19h/9/10 13h /10/10 118.5 3041 3414 7h/l 1/10 13h/l 1/10 74.5 3185 3340 1996 lh /9 /1 1 19 h /10/11 289 3025 3717 7h/22/10 7h/23/10 199 2931 3449 lh/12/9 13 h /12/9 67 2820 3084 7H/2/Í 1 lh /3 /ll 298 3077 4020 19h/17/10 7 h /18/10 82 2955 3203 lh/25/10 13H/25/10 121.5 3143 3578 9h/28/10 19h/28/10 62 3159 3382 1 lh/29/10 1 lh/29/10 84.5 3312 3548 7 h /l6/11 19h/16/11 173.5 3112 3643 lh /1 9 /1 1 7h /19/1 1 95.5 3362 3585 2 lh /1 9 /1 1 7h/20/l 1 121 3433 3615 7h/30/l 1 19h/30/11 150.5 3097 3572 21 h/30/11 3h/i/12 60 3519 3710 7 h /19/12 3h/20/12 165.5 3004 3451

Năm : Năm lấy mẫu số liệu, không tham gia vào dữ liệu dự báo

Lượng mưa trung bình : lượng mưa trung bình đo được trong khoáng thời gian trên tính bằng mm, là một đầu vào của dữ liệu dự báo

Mực nước chân lũ : giá trị mực nước chân lũ tính bằng cm, là đầu vào thứ hai

của dừ liệu dự báo

Mực nước đính lũ : giá trị mực nước đinh lũ tính bằng cm, là giá trị dự báo.

T iền x ử lý

Với dữ liệu đã cho, có thể thiết lập mô hình gồm có ba hiệu ứng sau :

Lượng mưa trung bình : nhận giá trị thực của nó.

Mực nước chân lũ : nhận giá trị thực của nó.

Mực nước đỉnh lũ : nhận giá trị thực của nó.

Tất cả các dữ liệu đưa vào mạng sẽ được chuẩn hóa về khoảng (0,1) theo

phương pháp s v = 0 v * ( 0 .9 - 0 .1 ) / (M A X - M IN ), trong đ ó :

s v : Giá trị sau khi biến đổi (giá trị đưa vào mạng) M A X , M IN : Giá trị lớn nhất và nhỏ nhất của tập giá trị 0.9, 0.1 : Giá trị lớn nhất và nhỏ nhất của hàm sigmoid

M ô h ìn h d ự báo

Ký hiệu

X : Lượng mưa trung bình

H c : Mực nước chân lũ

H j : Mực nước đinh lũ

Mô hình dự báo mực nước đỉnh lũ sông Trà Khúc trạm Sơn Giang theo mực nước chân lũ và lượng mưa trung bình được biểu diễn bằng hàm số như sau :

H ă = f ( H c^C) K iế n trú c m ạng

Mạng bao gồm một lớp ra và một lớp ẩn. Đầu vào của mạng là lượng mưa

trung bình X và mực nước chân lũ H c, đầu ra của mạng là giá trị dự báo mực nước

Mạng sẽ yêu cầu số nơ ron trong lớp ẩn vừa đủ để học được các đặc trưng tổng quát về mối quan hệ giữa đầu vào và đầu ra. Mục tiêu là sử dụng số nơ ron trong lớp ẩn càng ít càng tốt. Số nơ ron trong lớp ẩn được xác định bằng cách huấn luyện với một số tập kiếm tra.

Hàm kích hoạt của các nơ ron trong lớp ẩn là hàm sigmoid. Hàm kích hoạt của các nơ ron ở lớp ra chọn là hàm đồng nhất.

5.4. Chương trình dự báo dữ liệu

Một phần của tài liệu tích hợp giải thuật di truyền với giiar thuật huấn luyện mạng nororon truyền thằng nhiều lớp và ứng dụng trong báo dữ liệu (Trang 64)