1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy

104 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề So sánh hiệu quả một số giải thuật metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Tác giả Nguyễn Phương Nhung
Người hướng dẫn PGS. TS. Dương Tuấn Anh
Trường học Đại học Quốc gia Tp.HCM, Trường Đại học Bách Khoa
Chuyên ngành Khoa học Máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2017
Thành phố Tp. HCM
Định dạng
Số trang 104
Dung lượng 1,74 MB

Cấu trúc

  • Chương 1 GIỚI THIỆU (13)
    • 1.1. ĐẶT VẤN ĐỀ (13)
    • 1.2. MỤC TIÊU CỦA ĐỀ TÀI (13)
    • 1.3. CÁC CÔNG VIỆC CHÍNH TRONG ĐỀ TÀI (13)
    • 1.4. CẤU TRÚC BÁO CÁO (14)
  • Chương 2 CƠ SỞ LÝ THUYẾT (15)
    • 2.1. SƠ LƯỢC VỀ MẠNG NEURAL NHÂN TẠO (15)
    • 2.2. NGUYÊN TẮC HOẠT ĐỘNG CỦA MẠNG NEURAL NHÂN TẠO (19)
    • 2.3. HUẤN LUYỆN MẠNG NEURAL VÀ GIẢI THUẬT LAN TRUYỀN NGƯỢC 13 2.4. ỨNG DỤNG MẠNG NEURAL TRONG CÔNG TÁC DỰ BÁO (25)
      • 2.4.1. ÁP DỤNG MẠNG NEURAL TRONG DỰ BÁO DỮ LIỆU CHUỖI THỜI GIAN (30)
      • 2.4.2. CÁC BƯỚC XÂY DỰNG MỘT MÔ HÌNH MẠNG NEURAL ĐỂ DỰ BÁO DỮ LIỆU CHUỖI THỜI GIAN (32)
    • 2.5. GIẢI THUẬT TÌM KIẾM TABU (39)
    • 2.6. GIẢI THUẬT MEMETIC (41)
    • 2.7. KẾT LUẬN CHƯƠNG (48)
  • Chương 3 CÁC CÔNG TRÌNH LIÊN QUAN (50)
    • 3.1. GIẢI THUẬT TÌM KIẾM TABU CĂN BẢN ĐỂ HUẤN LUYỆN MẠNG (50)
    • 3.2. GIẢI THUẬT TÌM KIẾM TABU MỞ RỘNG ĐỂ HUẤN LUYỆN MẠNG (52)
    • 3.3. GIẢI THUẬT MEMETIC HUẤN LUYỆN MẠNG NEURAL (56)
    • 3.4. KẾT LUẬN CHƯƠNG (60)
  • Chương 4 KẾT QUẢ THỰC NGHIỆM (61)
    • 4.1. CÁCH ĐÁNH GIÁ KẾT QUẢ HUẤN LUYỆN (61)
    • 4.2. KẾT QUẢ THỰC NGHIỆM (62)
    • 4.3. NHẬN XÉT CHUNG VỀ KẾT QUẢ THỰC NGHIỆM (87)
  • Chương 5 KẾT LUẬN (14)
    • 5.1. ĐÁNH GIÁ KẾT QUẢ (89)
      • 5.1.1. NHỮNG CÔNG VIỆC ĐÃ THỰC HIỆN (89)
      • 5.1.2. MẶT HẠN CHẾ (89)
      • 5.1.3. NHỮNG ĐÚC KẾT VỀ MẶT LÝ LUẬN (89)
    • 5.2. HƯỚNG PHÁT TRIỂN (90)
  • TÀI LIỆU THAM KHẢO (91)
    • B.1 CẤU TRÚC CHƯƠNG TRÌNH (96)
    • B.2 CẤU TRÚC LỚP NETWORK (97)
    • B.3 HƯỚNG DẪN SỬ DỤNG (98)

Nội dung

Tuy nhiên việc áp dụng giải thuật lan truyền ngược để huấn luyện mạng thần kinh nhân tạo vẫn còn một số hạn chế như dễ hội tụ vào điểm tối ưu cục bộ, phụ thuộc vào phương án khởi tạo hoặ

GIỚI THIỆU

ĐẶT VẤN ĐỀ

Mô hình mạng thần kinh nhân tạo (Artificial Neural Network - ANN) dùng giải thuật lan truyền ngược (Back Propagation Algorithm - BPA) đã được áp dụng trong nhiều ngành, đặc biệt trong ngành thủy văn và quản lý nguồn nước, để mô phỏng hoặc dự báo tiến trình dòng chảy do mưa, chuỗi lưu lượng và mực nước theo thời gian và các biến thủy văn khác Một số nhà nghiên cứu tập trung so sánh năng lực áp dụng của mô hình ANN với những giải pháp dùng phương pháp lý thuyết hoặc phân tích dữ liệu khác Nhiều nghiên cứu đã tiến hành so sánh mô hình ANN với mô hình cây M5 để dự báo dòng chảy do mưa, so sánh với mô hình ARMAX để tìm chuỗi dòng chảy, so sánh với mô hình AR và mô hình hồi quy để dự báo và thẩm đoán dòng chảy ngày ở các sông [13] Kết quả cho thấy, mô hình ANN là một phương án chọn lựa tốt nhất nếu có nguồn dữ liệu đầy đủ và thích hợp [13]

Tuy nhiên việc áp dụng giải thuật lan truyền ngược để huấn luyện mạng thần kinh nhân tạo vẫn còn một số hạn chế như dễ hội tụ vào điểm tối ưu cục bộ, phụ thuộc vào phương án khởi tạo hoặc quá khớp với tập dữ liệu huấn luyện

Do đó, đề tài sẽ khảo sát một số giải thuật metaheuristic thay thế giải thuật lan truyền ngược để huấn luyện mạng thần kinh nhân tạo và so sánh hiệu quả về tính chính xác dự báo của các giải thuật này với nhau để tìm ra giải thuật hữu hiệu nhất trong các giải thuật đề nghị cho bài toán dự báo dòng chảy tháng ở một số dòng sông Việt Nam.

MỤC TIÊU CỦA ĐỀ TÀI

Đề tài mong muốn đưa ra giải thuật tối ưu nhất trong các giải thuật đề nghị để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy tháng ở một số dòng sông Việt Nam, nhằm tối thiểu hóa sai số cho các dự báo dòng chảy trong tương lai Đề tài tập trung nghiên cứu và so sánh 2 giải thuật metaheuristic để huấn luyện mạng thần kinh nhân tạo: giải thuật tìm kiếm Tabu (Tabu Search), giải thuật Memetic cho bài toán dự báo dòng chảy.

CÁC CÔNG VIỆC CHÍNH TRONG ĐỀ TÀI

Từ mục tiêu đề ra ở trên, các công việc chính của đề tài sẽ là:

- Tìm hiểu về cấu trúc và nguyên lý hoạt động của mạng neural nhân tạo

2 - Tìm hiểu về các giải thuật huấn luyện mạng neural nhân tạo: giải thuật lan truyền ngược, giải thuật tìm kiếm Tabu và giải thuật Memetic

- Hiện thực một chương trình dự báo chuỗi thời gian bằng mạng neural nhân tạo cho phép người dùng lựa chọn một trong ba giải thuật huấn luyện: lan truyền ngược, tìm kiếm Tabu và Memetic

- Thực hiện chạy thử nghiệm chương trình trên tám bộ dữ liệu về dòng chảy của một số dòng sông ở Việt Nam.

CẤU TRÚC BÁO CÁO

Nội dung báo cáo được chia làm 4 chương như sau:

Chương 1: Giới thiệu về bài toán, nhiệm vụ đề tài và sơ lược về những kết quả đã đạt được trong luận văn này

Chương 2: Giới thiệu về cấu trúc, nguyên tắc hoạt động của mạng neural nhân tạo, cách huấn luyện mạng, giải thuật lan truyền ngược, giải thuật tìm kiếm Tabu, giải thuật Memetic

Chương 3: Các công trình liên quan đến dùng giải thuật tìm kiếm Tabu và giải thuật Memetic để huấn luyện mạng neural cho việc dự báo dữ liệu chuỗi thời gian

Chương 4: Trình bày cách đánh giá kết quả huấn luyện, kết quả thực nghiệm trên bảy bộ dữ liệu khác nhau và đánh giá kết quả

Chương 5: Kết luận về quá trình đúc kết lý luận, đánh giá kết quả và đề cập tới hướng phát triển trong tương lai

CƠ SỞ LÝ THUYẾT

SƠ LƯỢC VỀ MẠNG NEURAL NHÂN TẠO

Mạng neural nhân tạo (Artificial Neural Network) là một mô hình toán học định nghĩa một hàm số từ một tập đầu vào đến một tập đầu ra [1] Mạng neural nhân tạo được mô phỏng theo mạng neural sinh học trong bộ não người

Mạng neural nhân tạo là một mạng gồm một tập các đơn vị (unit) được kết nối với nhau bằng các cạnh có trọng số

Một đơn vị (Hình 2.1) thực hiện một công việc rất đơn giản: nó nhận tín hiệu vào từ các đơn vị phía trước hay một nguồn bên ngoài và sử dụng chúng để tính tín hiệu ra

Mỗi đơn vị có thể có nhiều tín hiệu đầu vào nhưng chỉ có một tín hiệu đầu ra duy nhất Đôi khi các đơn vị còn có một giá trị gọi là độ lệch (bias) được gộp vào các tính hiệu đầu vào để tính tín hiệu ra Để đơn giản ký hiệu, độ lệch của một đơn vị được xem như là trọng số nối từ một đơn vị giả có giá trị xuất luôn là 1 đến đơn vị đó

Hình 2.1: Đơn vị mạng neural

4 Trong một mạng neural có ba kiểu đơn vị:

 Các đơn vị đầu vào, nhận tín hiệu từ bên ngoài

 Các đơn vị đầu ra, gửi dữ liệu ra bên ngoài

 Các đơn vị ẩn, tín hiệu vào của nó được truyền từ các đơn vị trước nó và tín hiệu ra được truyền đến các đơn vị sau nó trong mạng

Khi nhận được các tín hiệu đầu vào, một đơn vị sẽ nhân mỗi tín hiệu với trọng số tương ứng rồi lấy tổng các giá trị vừa nhận được Kết quả sẽ được đưa vào một hàm số gọi là hàm kích hoạt (Activation function) để tính ra tín hiệu đầu ra Các đơn vị khác nhau có thể có các hàm kích hoạt khác nhau

Có 4 loại hàm kích hoạt thường dùng:

Các đơn vị liên kết với nhau qua các cạnh có trong số tạo thành mạng neural nhân tạo Tùy theo số lượng các đơn vị và cách thức liên kết của chúng mà tạo thành các mạng neural khác nhau có khả năng khác nhau Có hai loại hình dạng mạng neural nhân tạo cơ bản là mạng truyền thẳng (Hình 2.2) và mạng hồi quy (Hình 2.3):

 Mạng truyền thẳng (Feed-forward neural network): Một đơn vị ở tầng đứng trước sẽ kết nối với tất cả các đơn vị ở tầng đứng sau Tín hiệu chỉ được truyền theo một hướng từ tầng đầu vào qua các tầng ẩn (nếu có) và đến tầng đầu ra Nghĩa là tín hiệu ra của một đơn vị không được phép truyền cho các đơn vị trong cùng tầng hay ở tầng trước Đây là loại mạng rất phổ biến và được dung nhiều trong việc dự báo dữ liệu chuỗi thời gian Bài báo cáo này chỉ tập trung vào mô hình mạng này

Hình 2.2: Mạng neural truyền thẳng

 Mạng hồi quy (Recurrent neural network): Khác với mạng truyền thẳng, mạng hồi quy có chứa các liên kết ngược từ một đơn vị đến các đơn vị ở tầng trước nó

Hình 2.3: Mạng neural hồi quy

6 Chức năng của một mạng neural được quyết định bởi các nhân tố như: hình dạng mạng (số tầng, số đơn vị trên mỗi tầng, cách mà các tầng được liên kết với nhau) và các trọng số của các liên kết bên trong mạng Hình dạng của mạng thường là cố định, và các trọng số được quyết định bởi một thuật toán huấn luyện (training algorithm) Tiến trình điều chỉnh các trọng số để mạng “nhận biết” được quan hệ giữa đầu vào và đầu ra mong muốn được gọi là học (learning) hay huấn luyện (training) Rất nhiều thuật toán huấn luyện đã được phát minh để tìm ra tập trọng số tối ưu làm lời giải cho các bài toán Các thuật toán đó có thể chia làm hai nhóm chính: Học có giám sát (Supervised learning) (Hình 2.4) và Học không có giám sát (Unsupervised Learning) [8]

 Học có giám sát: Mạng được huấn luyện bằng cách cung cấp cho nó các cặp mẫu đầu vào và các đầu ra mong muốn (target values) Các cặp này có sẵn trong quá trình thu nhập dữ liệu Sự khác biệt giữa các đầu ra theo tính toán trên mạng so với các đầu ra mong muốn được thuật toán sử dụng để thích ứng các trọng số trong mạng Điều này thường được đưa ra như một bài toán xấp xỉ hàm số - cho dữ liệu huấn luyện bao gồm các cặp mẫu đầu vào x, và một đích tương ứng t, mục đích là tìm ra hàm f(x) thoả mãn tất cả các mẫu học đầu vào [8] Đây là mô hình học rất phổ biến trong việc áp dụng mạng neural vào bài toán dự báo dữ liệu chuỗi thời gian

Hình 2.4: Mô hình học có giám sát

 Học không có giám sát: với cách học không có giám sát, không có phản hồi từ môi trường để chỉ ra rằng đầu ra của mạng là đúng Mạng sẽ phải khám phá các đặc trưng, các điều chỉnh, các mối tương quan, hay các tầng trong dữ liệu vào một cách tự động

Trong thực tế, đối với phần lớn các biến thể của học không có giám sát, các đích trùng

7 với đầu vào Nói một cách khác, học không có giám sát luôn thực hiện một công việc tương tự như một mạng tự liên hợp, cô đọng thông tin từ dữ liệu vào [8].

NGUYÊN TẮC HOẠT ĐỘNG CỦA MẠNG NEURAL NHÂN TẠO

Để hiểu rõ về nguyên tắc hoạt động và cách huấn luyện các mạng Neural nhân tạo trước hết ta khảo sát một mô hình mạng Neural đơn giản được xây dựng trên một đơn vị gọi là perceptron Một perceptron nhận một vector các giá trị thực, tính tổ hợp tuyến tính của chúng và xuất ra 1 nếu kết quả lớn hơn một ngưỡng nào đó và xuất ra -1 trong các trường hợp còn lại

Hình 2.5: Đơn vị mạng Neural

Một cách hình thức, khi nhận một vector đầu vào n chiều gồm các giá trị x 1 đến x n , giá trị xuất sẽ được tính như sau:

 Ở đây các số thực w i là các trọng số biểu diễn mức độ đóng góp của giá trị nhập x i vào giá trị xuất của perceptron Đại lượng (-w 0 ) là ngưỡng mà tổ hợp tuyến các giá trị nhập phải vượt qua để kết quả xuất là 1 Đặt x 0 = 1, ta viết lại phương trình trên dưới dạng vector như sau

   Ở đây x và w là các vector có n + 1 chiều Hàm sgn(y) được định nghĩa như sau:

Nếu xem các vector nhập (x 0 , x 1 ,…, x n ) là các điểm trên không gian n +1 chiều

(x 0 luôn là 1) thì perceptron biểu diễn một mặt quyết định (decision surface) xem một điểm có nằm trên một siêu phẳng (hyperplane) có phương trình là w x  0 hay không

Perceptron sẽ xuất ra giá trị 1 cho các điểm nằm trên siêu phẳng này và xuất ra -1 cho các điểm còn lại

Trong thực tế, ta thường có sẵn một bộ dữ liệu mẫu gồm một tập các điểm được gán nhãn dương và âm Bài toán huấn luyện perceptron là bài toán xác định vector w sao cho siêu phẳng w x  0 phân chia các điểm trong tập mẫu một cách chính xác theo các nhãn của nó Thực tế có một số bộ dữ liệu mà không thể tìm thấy bất kỳ siêu phẳng nào có thể phân chia đúng các điểm của nó, các bộ dữ liệu đó được gọi là tập dữ liệu không khả phân tuyến tính (not linearly separable) Ngược lại nếu một bộ dữ liệu có thể được phân chia đúng bởi một siêu phẳng nào đó thì gọi là khả phân tuyến tính (linearly separable)

Hình 2.6: Mặt quyết định biểu diễn bởi perceptron hai đầu nhập

Hình 2.6 (a) là một tập mẫu khả phân tuyến tính có thể được phân ra bởi một mặt quyết định của perceptron Hình 2.6 (b) là một tập mẫu không khả phân tuyến tính

Quá trình huấn luyện một perceptron là một quá trình tìm kiếm một vector w trên một không gian thực n + 1 chiều sao cho nó có khả năng phân xuất ra các giá trị +1, -1 một cách đúng đắn cho một tập dữ liệu nào đó Có hai giải thuật huấn luyện cơ bản là luật huấn luyện perceptron (perceptron training rule) và luật delta (delta rule)

9 a) Luật huấn luyện perceptron : Để tìm một vector w thích hợp, trước hết ta áp dụng một perceptron với trọng số w ngẫu nhiên qua từng mẫu của tập dữ liệu huấn luyện và hiệu chỉnh các trọng số này khi có sự phân loại sai tập mẫu Quá trình này được lặp đi lặp lại cho đến khi perceptron đã phân loại đúng tất cả các mẫu của tập huấn luyện Các trọng số được cập nhập theo luật w i   w i w i

 w i (t)x i Ở đây o là giá trị xuất của perceptron, t là giá trị đích của mẫu huấn luyện hiện thời, x i là giá trị nhập thứ i,  là hệ số học (learning rate) có vai trò điều tiết mức độ thay đổi của trọng số trong các bước cập nhập Nó thông thường được gán một giá trị dương nhỏ (ví dụ 0.1) và được điều chỉnh giảm khi số lần cập nhập trọng số tăng lên

Giải thuật học này được chứng minh hội tụ sau một số hữu hạn lần cập nhập các trọng số đối với các tập dữ liệu mẫu khả phân tuyến tính và một hệ số học đủ nhỏ nhưng đối với các tập dữ liệu không khả phân tuyến tính thì sự hội tụ là không chắc b) Luật delta: Luật perceptron không đảm bảo tính hội tụ đối với các tập mẫu khả phân tuyến tính do đó người ta thiết kế giải thuật luật delta để vượt qua khó khăn này Luật delta sẽ hội tụ về một xấp xỉ tốt nhất cho các tập không khả phân tuyến tính Ý tưởng chính của luật delta là áp dụng phương pháp giảm độ dốc (gradient descent) để tìm kiếm vector trọng số đáp ứng tốt nhất tập huấn luyện Xét một perceptron thực hiện việc lấy tổ hợp tuyến tính các giá trị nhập nhưng không phân ngưỡng kết quả Perceptron này gọi là perceptron không phân ngưỡng (unthresholded perceptron) hay còn gọi là đơn vị tuyến tính (linear unit) Giá trị xuất của perceptron được tính như sau

   x   w x Để áp dụng luật delta ta cần định nghĩa một hàm đánh giá, hay còn gọi là hàm lỗi (training error function) Có nhiều hàm lỗi được sử dụng nhưng thường dùng nhất là hàm sau

10 Ở đây D là tập dữ liệu huấn luyện, d là một mẫu trong tập D, t d là giá trị đích của mẫu d, o d là giá trị xuất của perceptron Mục đích của luật delta là tìm vector w sao cho

E w đạt giá trị nhỏ nhất Hình 2.7 là một biểu diễn hàm lỗi của một đơn vị tuyến tính

Trục thẳng đứng của đồ thị là giá trị hàm lỗi, hai trục ở mặt phẳng ngang là giá trị của các trọng số

Phương pháp giảm độ dốc bắt đầu tìm với một vector trọng số ngẫu nhiên và duyệt qua các mẫu của tập huấn luyện, mỗi lần duyệt qua các trọng số sẽ được cập nhập theo hướng làm giảm giá trị hàm lỗi Quá trình này được lặp đi lặp lại cho đến khi đạt được giá trị cực tiểu của hàm lỗi

Hướng cập nhập các trọng số để làm giảm giá trị hàm lỗi được xác định theo vector độ dốc (gradient) của hàm lỗi E theo w , ký hiệu là  E w ( )

      Về mặt toán học vector độ dốc biểu diễn hướng làm tăng giá trị hàm E trong không gian trọng số, do đó  E w ( ) sẽ là hướng làm giảm giá trị hàm E Trong hình 2.7 nó được biểu diễn bằng dấu mũi tên Các trọng số sẽ được cập nhập theo quy luật sau: w    w w

Luật huấn luyện này có thể được viết lại cho từng trọng số như sau: w i    w i w i i i w E

Hình 2.7: Hàm lỗi của một đơn vị tuyến tính Để thực hiện cập nhập các trọng số, ta thực hiện tính đạo hàm riêng phần của hàm E theo từng trọng số:

Thay (2.2) vào (2.1) ta được giá nhập cập nhập trọng số qua từng bước ta được: i ( d d ) id d D w  t o x

    (2.3) Ở đây giá trị x id là giá trị đầu vào thứ i của mẫu d

Phương pháp giảm độ dốc có hai hạn chế chính là tốc độ hội tụ đôi khi khá chậm và nếu có nhiều cực tiểu cục bộ (local minimum) trên bề mặt của hàm lỗi thì giải thuật dễ rơi vào cực tiểu cục bộ mà không đạt được cực tiểu toàn cục (global minimum) Để

12 giải quyết các khó khăn này người ta đã phát triển phương pháp giảm độ dốc thành phương pháp giảm độ dốc tăng cường (incremental gradient descent) Khác với phương pháp giảm độ dốc ở trên phương pháp giảm độ dốc tăng cường thực hiện việc tính toán lỗi và cập nhập các trọng số ngay khi duyệt qua một mẫu của tập dữ liệu Giá trị cập nhập cho các trọng số của phương pháp giảm độ dốc tăng cường là

HUẤN LUYỆN MẠNG NEURAL VÀ GIẢI THUẬT LAN TRUYỀN NGƯỢC 13 2.4 ỨNG DỤNG MẠNG NEURAL TRONG CÔNG TÁC DỰ BÁO

Bản chất của huấn luyện mạng neural là huấn luyện từng perceptron thông qua việc thay đổi vector trọng số của chúng Quá trình này thường thay đổi tất cả vector trọng số cùng một lúc để tạo ra một mạng mới phù hợp hơn

Giải thuật lan truyền ngược áp dụng trong một mạng neural nhiều tầng Các mạng neural nhiều tầng ít khi sử dụng các đơn vị tuyến tính hay đơn vị phân ngưỡng mà chúng sử dụng các đơn vị có các hàm kích hoạt là các hàm khả vi Một trong những đơn vị hay dùng nhất là đơn vị sigmoid (sigmoid unit) Một đơn vị sigmoid sẽ tính tổ hợp tuyến tính các giá trị đầu vào và đưa kết quả này vào hàm sigmoid để tính giá trị đầu ra

Công thức tính giá trị đầu ra của đơn vị sigmoid: o = 𝜎(𝑤 ⃗⃗ 𝑥 )

14 Một thuận lợi khi sử dụng các đơn vị sigmoid là nhờ đạo hàm của hàm sigmoid rất dễ tính ('( )y ( )*(1y ( ))y ) Điều này làm cho việc áp dụng phương pháp giảm độ dốc được dễ dàng

Giải thuật lan truyền ngược tìm tập các trọng số thích hợp cho một mạng neural truyền thẳng nhiều tầng Nó áp dụng phương pháp giảm độ dốc (gradient descent) để tối thiểu hóa bình phương sai số giữa kết quả xuất của mạng với kết quả xuất mong muốn Ý tưởng chính của giải thuật là giá trị lỗi sẽ được lan truyền ngược từ tầng xuất về tầng nhập để tính E w( )

Hàm lỗi của giải thuật lan truyền ngược được định nghĩa tổng quát như sau:

    Ở đây outputs là tập các đầu ra của mạng neural, t kd và o kd lần lượt là giá trị đích và giá trị xuất của đầu ra thứ k của mẫu huấn luyện d

Giải thuật lan truyền ngược áp dụng phương pháp giảm độ dốc để tìm ra điểm tối ưu của hàm lỗi Với mỗi mẫu trong tập huấn luyện, mạng neural được áp dụng để tính đầu ra sau đó giá trị độ dốc của hàm lỗi được tính cho từng đơn vị của mạng Cuối cùng giải thuật áp dụng phương pháp giảm độ dốc để cập nhập các giá trị trọng số Để áp dụng phương pháp giảm độ dốc trước hết ta cần thông tin về đạo hàm riêng phần của hàm lỗi cho từng trọng số

Ta tính đạo hàm riêng phần này như sau:

   với i i i '( i ) j (2.6) ij i ij o o net f net o w net w

15 o w ij là trọng số của cạnh nối đơn vị j đến đơn vị i o o j là kết quả xuất của đơn vị j o f() là hàm kích hoạt của các đơn vị o pred(i) là các đơn vị đứng trước đơn vị i trong mạng

 được tính theo hai trường hợp tùy theo đơn vị i là đơn vị ở tầng xuất hay tầng ẩn:

 Nếu đơn vị i là đơn vị ở tầng xuất thì:

 bằng 0 đối với mỗi giá trị k khác i nên:

Thay (2.8) và (2.6) vào (2.5) ta được công thức tính đạo hàm riêng phần của hàm lỗi theo trọng số w ij của đơn vị xuất i

 Nếu đơn vị i là đơn vị ở tầng ẩn ở tầng ẩn thì việc tính toán phức tạp hơn bởi vì giá trị xuất của i không ảnh hưởng trực tiếp lên giá trị xuất của mạng neural mà ảnh hưởng gián tiếp thông qua các đơn vị ở sau nó

Thay (2.10) và (2.6) vào (2.5) ta được công thức tính đạo hàm riêng phần của hàm lỗi theo trọng số w ij của đơn vị ẩn i

    Ở đây succ(i) là các đơn vị ở tầng ngay sau đơn vị i Các công thức này cho phép ta xây dựng một thủ tục tính đạo hàm riêng của hàm lỗi E theo các trọng số w ij như sau:

Bắt đầu tính toán từ các đơn vị ở tầng xuất, sau đó sử dụng kết quả vừa tính được vào việc tính toán ở các đơn vị ở tầng trước Nói cách khác thông tin về độ dốc được lan truyền từ tầng xuất đến tầng nhập Do đó giả thuật này được gọi là giải thuật lan truyền ngược

Mỗi khi thông tin về đạo hàm riêng phần đã biết, bước tiếp theo trong giải thuật lan truyền ngược là cập nhập các trọng số w ij

    Ở đây  là hệ số học có vai trò điều tiết mức độ thay đổi của trọng số trong các bước cập nhập

Cơ bản có hai phương pháp cập nhập các trọng số phân loại theo thời điểm cập nhập: học theo mẫu (learning by pattern) và học theo epoch (learning by epoch) Một epoch là một lần học duyệt qua tất cả các mẫu trong tập dữ liệu mẫu dùng để học

Trong phương pháp học theo mẫu đôi khi còn dược gọi là học trực tuyến (online learning) áp dụng phương pháp giảm độ dốc tăng cường, cứ mỗi lần một mẫu trong tập dữ liệu được duyệt qua thì các trọng số sẽ được cập nhập Phương pháp này cố gắng tối thiểu hàm lỗi tổng thể (overall error) bằng cách tối ưu hàm lỗi cho từng mẫu trong tập

17 dữ liệu học Phương pháp này làm việc tốt cho các tập dữ liệu mẫu có kích cỡ lớn và chứa đựng nhiều thông tin dư thừa [4]

Phương pháp học theo epoch thực hiện lấy tổng tất cả thông tin về độ dốc

(gradient) cho toàn bộ tập mẫu (pattern set) sau đó mới cập nhập các trọng số theo phương pháp giảm độ dốc thông thường, nghĩa là nó thực hiện việc cập nhập trọng số sau khi đã duyệt qua hết các mẫu trong tập dữ liệu Phương pháp này còn có tên gọi khác là học theo bó (batch learning)

Mặc dù giải thuật lan truyền ngược tương đối đơn giản nhưng trong thực tế việc lựa chọn một hệ số học phù hợp là không hề đơn giản Hệ số học quá nhỏ sẽ dẫn đến thời gian hội tụ của giải thuật quá lâu, ngược lại hệ số học quá lớn sẽ dẫn đến hiện tượng giao động (oscillation), ngăn không cho giá trị hàm mục tiêu hội tụ về một diểm nhất định Hơn nữa, mặc dù điểm tối ưu cục bô có thể được chứng minh là luôn có thể đạt được ở một vài trường hợp cụ thể nhưng không có gì đảm bảo giải thuật sẽ tìm được cực toàn cục của hàm lỗi [4] Một vấn đề khác nữa là kích cỡ của đạo hàm cũng ảnh hướng đến sự cập nhập các trọng số Nếu đạo hàm riêng phần quá nhỏ thì w nhỏ, nếu đạo hàm riêng phần lớn thì w lớn Độ lớn của đạo hàm riêng phần thay đổi không thể biết trước được theo hình dạng của hàm lỗi E trong mỗi lần lặp Do đó quá trình học không ổn định Để cho quá trình học ổn định người ta thêm vào một hệ số quán tính (momentum term)

Hệ số quán tính có tác dụng điều chỉnh mức độ ảnh hưởng của giá trị  w t ij (  1) ở bước lặp trước lên giá trị  w t ij ( ) Hệ số này có tác dụng giúp cho giải thuật không bị dừng ở tối ưu cực tiểu và các vùng phẳng của bề mặt lỗi Nó cũng giúp tăng giá trị cập nhập ở những vùng mà độ dốc không đổi, do đó tăng tốc độ hội tụ [2]

Sau đây là mã giả cho giải thuật lan truyền ngược theo phương pháp học trực tuyến có áp dụng hệ số quán tính:

Khởi tạo tất cả các trọng số bằng các số nhỏ ngẫu nhiên While điều kiện dừng chưa thỏa

For each mỗi mẫu trong tập dữ liệu Nhập mẫu vào mạng và tính toán giá trị đầu ra

For each mỗi giá trị xuất của đơn vị k

For each đơn vị ẩn h, từ tầng ẩn cuối cùng đế tầng ẩn đầu tiên

For each w ij trong mạng

GIẢI THUẬT TÌM KIẾM TABU

Tìm kiếm Tabu (Tabu Search - TS) là một metaheuristic giúp cho thủ tục tìm kiếm cục bộ khám phá không gian giải pháp vượt qua tối ưu cục bộ Một trong những thành phần chính của tìm kiếm Tabu là sự sử dụng bộ nhớ thích nghi (adaptive memory), giúp cho hành vi tìm kiếm linh hoạt hơn [9]

Tìm kiếm Tabu dựa trên tiền đề rằng muốn giải quyết vấn đề một cách thông minh phải kết hợp bộ nhớ thích nghi và thăm dò phản ứng Bộ nhớ thích nghi của tìm kiếm Tabu cho phép sự thực thi thủ tục có khả năng tìm kiếm không gian giải pháp kinh tế và hiệu quả hơn Việc nhấn mạnh vào thăm dò phản ứng trong tìm kiếm Tabu xuất phát từ giả thiết một sự lựa chọn chiến lược xấu thường có thể mang lại nhiều thông tin hơn một sự lựa chọn ngẫu nhiên tốt, và do đó cung cấp cơ sở cho các chiến lược dựa trên lịch sử tìm kiếm ngày càng được cải thiện

Trong hình thức được biết đến nhiều nhất, tìm kiếm Tabu có thể bắt đầu theo cùng một cách của tìm kiếm cục bộ hay lân cận thông thường, tiến hành lặp đi lặp lại từ một giải pháp sang một giải pháp khác cho đến khi điều kiện dừng được thỏa mãn Mỗi giải pháp x có một lân cận liên kết N(x), và mỗi giải pháp x’ N(x) đạt được từ x bởi một bước di chuyển (move)

Chúng ta có thể so sánh TS với một phương pháp giảm dần (descent) đơn giản mà mục tiêu là tối thiểu hóa hàm f(x) Phương pháp này chỉ cho phép những bước di chuyển cải thiện được hàm mục tiêu hiện thời và kết thúc khi không tìm ra giải pháp cải thiện nào Giá trị x cuối cùng đạt được bởi phương pháp suy giảm được gọi là điểm tối ưu cục bộ (local optimum), là giải pháp tốt hơn tất cả các giải pháp trong lân cận của mình Sự thiếu sót rõ ràng của một phương pháp suy giảm như vậy là điểm tối ưu cục bộ trong hầu hết các trường hợp sẽ không là điểm tối ưu toàn cục (global optimum) hay nói cách khác phương pháp này sẽ không tối thiểu hóa được f(x) với tất cả x  X

Tìm kiếm Tabu cho phép bước di chuyển làm xấu đi hàm mục tiêu hiện tại và lựa chọn bước di chuyển từ lân cận sửa đổi N*(x) Các cấu trúc bộ nhớ ngắn hạn và dài hạn sẽ quyết định thành phần cụ thể của N*(x) Nói cách khác, hàm lân cận sửa đổi là kết quả của việc duy trì một lịch sử chọn lọc của các trạng thái gặp phải trong quá trình

28 tìm kiếm Trong chiến lược TS ngắn hạn, N*(x) là một tập con của N(x), và sự phân loại Tabu (tabu classification) được dùng để để xác định các yếu tố của N(x) bị loại khỏi N*(x) Trong chiến lược TS dài hạn, N*(x) cũng có thể được mở rộng để bao gồm các giải pháp không thường được tìm thấy trong N(x), chẳng hạn như các giải pháp phát hiện và đánh giá trong quá khứ tìm kiếm, hoặc được xác định như là các hàm lân cận chất lượng cao của các giải pháp trong quá khứ Với đặc trưng này, TS có thể được xem như là một hàm lân cận động Điều đó có nghĩa là lân cận của x không phải là một tập hợp tĩnh mà là một tập hợp có thể thay đổi theo lịch sử của quá trình tìm kiếm

TS sử dụng bộ nhớ thuộc tính (attributive memory) với mục đích tính toán N*(x)

Thay vì ghi nhận các giải pháp đầy đủ, cấu trúc bộ nhớ thuộc tính dựa trên các thuộc tính được ghi nhận Loại bộ nhớ này ghi nhận lại thông tin các thuộc tính của giải pháp bị thay đổi khi chuyển từ giải pháp này sang giải pháp khác Các phương pháp tiếp cận bộ nhớ thuộc tính phổ biến là bộ nhớ dựa trên truy cập gần đây (recency-based memory) và bộ nhớ dựa trên tần số (frequency-based memory)

Bộ nhớ dựa trên truy cập gần đây là cấu trúc bộ nhớ thông dụng nhất trong sự thực thi giải thuật tìm kiếm Tabu Cấu trúc bộ nhớ này theo dõi các thuộc tính của giải pháp đã thay đổi trong thời gian gần đây Để khai thác bộ nhớ, các thuộc tính của các giải pháp được viếng thăm gần đây sẽ được gán nhãn “cấm hoạt động” (tabu-active), và các giải pháp bao gồm các thuộc tính bị gán nhãn hay sự kết hợp của các thuộc tính bị gán nhãn này sẽ bị cấm Điều này giúp ngăn chặn các giải pháp đã được viếng thăm gần đây sẽ không thuộc về N*(x) từ đó sẽ không bị viếng thăm lại Các giải pháp khác mà chia sẻ thuộc tính bị cấm cũng tương tự bị ngăn cản truy cập Vì có chứa các thuộc tính cấm mà các bước di chuyển đến các giải pháp bị cấm cũng sẽ bị cấm

Bộ nhớ dựa trên tần số bổ sung thêm thông tin cho bộ nhớ dựa trên truy cập gần đây, mở rộng cơ sở cho việc lựa chọn bước di chuyển tốt Giống như bộ nhớ dựa trên truy cập gần đây, bộ nhớ dựa trên tần số có thể được chia thành các lớp con tham khảo đến từng tiểu vùng cụ thể của không gian tìm kiếm Ngoài ra, 2 loại bộ nhớ này có thể kết hợp với nhau thành một cấu trúc tổng hợp cho việc tạo ra giá trị phạt (penalties) và giá trị khích lệ (inducements) để thay đổi việc đánh giá bước di chuyển

29 Yếu tố quan trọng của bộ nhớ thích ghi của tìm kiếm Tabu là tạo ra sự cân bằng giữa tăng cường (intensification) và đa dạng hóa (diversification) Các chiến dịch tăng cường dựa trên việc sửa đổi các quy tắc lựa chọn để khuyến khích các sự kết hợp di chuyển và các đặc trưng giải pháp tốt trong lịch sử tìm kiếm Chúng cũng có thể khởi tạo một bước trở về các vùng hấp dẫn (attractive regions) để tìm kiếm các vùng này triệt để hơn Các chiến dịch đa dạng hóa thì ngược lại, tìm kiếm sự kết hợp thuộc tính mới và các sự kết hợp thuộc tính mà không được bao gồm trong các giải pháp tạo ra trước đó Các chiến lược đa dạng hóa sẽ hướng việc tìm kiếm tới các vùng chưa từng được kiểm tra Cần phải lưu ý rằng tăng cường và đa dạng không đối lập nhau mà củng cố cho nhau

Hầu hết các loại chiến lược tăng cường đòi hỏi phải có phương tiện để xác định một tập các giải pháp tối ưu làm căn cứ tích hợp các thuộc tính tốt vào các giải pháp mới tạo ra Thành phần của tập tối ưu được xác định bằng cách thiết lập một ngưỡng kết nối với giá trị hàm mục tiêu của giải pháp tốt nhất được tìm thấy trong quá trình tìm kiếm

Các chiến lược đa dạng hóa trong TS thường dựa trên việc sửa đổi các quy tắc lựa chọn để đưa các thuộc tính vào các giải pháp thường được sử dụng Các chiến lược đa dạng hóa là đặc biệt hữu ích khi có thể đạt được các giải pháp tốt hơn bằng cách vượt qua các rào cản trong mô hình không gian giải pháp.

GIẢI THUẬT MEMETIC

Giải thuật Memetic (MA) là một lớp của các heuristic tìm kiếm toàn cục ngẫu nhiên mà cách tiếp cận dựa trên giải thuật tiến hóa (evolutionary algorithms) được kết hợp với một phương pháp giải quyết vấn đề cụ thể (problem-specific) giúp đẩy nhanh tiến độ khám phá ra một giải pháp tốt mà nếu dùng một mình giải thuật tiến hóa hay giải thuật tìm kiếm cục bộ sẽ tốn rất nhiều thời gian hoặc không tìm được [12] Trong luận văn này, chúng ta chỉ tập trung vào cách kết hợp giữa giải thuật tìm kiếm cục bộ (local search) và giải thuật tiến hóa (evolutionary algorithm) Trong khi tìm kiếm tiến hóa sẽ cung cấp một sự khám phá rộng trên không gian tìm kiếm thì tìm kiếm cục bộ sẽ tập trung vào các vùng hứa hẹn của không gian giải pháp

 Giải thuật tìm kiếm cục bộ:

Các giải thuật tìm kiếm cục bộ (local search) thường dựa trên một ý tưởng khá đơn giản và tổng quát Cho P là một bài toán tối ưu tổ hợp (combinatorial optimization problem) mà chúng ta cần giải và s là lời giải hiện hành, mà giả sử s là lời giải khả thi đối với bài toán P, s có giá trị hàm đánh giá là z(s) Một vùng lân cận (neighborhood) được định nghĩa cho s với loại bước chuyển N là N(s), một tập con của không gian lời giải Nói cách khác, N(s) chứa tất cả các lời giải khả thi của bài toán P mà có thể đạt tới từ lời giải hiện hành s bằng một bước dịch chuyển (move) thuộc loại N Một bước chuyển là một sự chế biến để di chuyển lời giải hiện hành s đến một lời giải khác x ∈ N(s)

Khung thức giải thuật tìm kiếm cục bộ thăm dò vùng lân cận để tìm ra một lời giải x* ∈

N(s) sao cho độ sai biệt δz = z(s) – z(x*) được cực đại hóa (đối với bài toán cực tiểu hóa)

Nếu δz > 0, thì ta đã tìm thấy một lời giải tốt hơn lời giải hiện hành, ta chấp nhận lời giải x* này và chuyển nó thành lời giải hiện hành cho bước lặp kế tiếp Ngược lại, nếu δz ≤

0, thì s là một lời giải tối ưu cục bộ và sẽ có nhiều kỹ thuật được áp dụng để giúp ta thoát ra khỏi nó.

Giải thuật tìm kiếm cục bộ sẽ lặp theo cách vừa nêu trên cho đến khi thỏa một điều kiện dừng nào đó

Trong một giải thuật tìm kiếm cục bộ có ba vấn đề thiết kế mà cần phải quan tâm xem xét:

- Cách biểu diễn lời giải - Cách định nghĩa vùng lân cận - Chiến lược tìm kiếm

Giải thuật tiến hóa là một phương pháp tìm kiếm dựa trên quần thể, sử dụng tái tổ hợp (recombination) để kết hợp thông tin của các giải pháp ứng viên vào giải pháp mới với lược đồ như sau:

KHỞI TẠO quần thể với các giải pháp ứng viên ngẫu nhiên ĐÁNH GIÁ từng ứng viên;

CHỌN LỌC các cá thể cha mẹ;

KẾT HỢP các cặp cha mẹ; ĐỘT BIẾN các cá thể con sinh ra; ĐÁNH GIÁ các cá thể con;

CHỌN LỌC cá thể cho thế hệ tiếp theo

Until điều kiện dừng được thỏa mãn END

Hình 2.11: Lược đồ tổng quát của giải thuật tiến hóa

Các thành phần quan trọng của giải thuật tiến hóa bao gồm:

 Cách biểu diễn – Representation (Định nghĩa các cá thể)

 Cơ chế chọn lọc cha mẹ - Parent selection mechanism

 Các toán tử biến dị - Variation operators (Lai ghép - Crossover và Đột biến – Mutation)

 Cơ chế chọn lọc sống sót - Survivor selection mechanism

Các toán tử biến dị có vai trò tạo nên các cá thể mới từ các cá thể cũ Đột biến là một toán tử một ngôi (unary operator) được áp dụng cho một cá thể Đột biến sẽ gây ra một sự thay đổi ngẫu nhiên trên cá thể, đảm bảo không gian giải pháp được kết nối Lai ghép là một toán tử hai ngôi (binary operator) hợp nhất các thông tin từ cha mẹ vào một hoặc hai cá thể con Tương tự như đột biến, lai ghép là một toán tử ngẫu nhiên: sự lựa chọn các cá thể cha mẹ được kết hợp, và cách thức các cá thể này được kết hợp, phụ thuộc vào các xác suất ngẫu nhiên Nguyên tắc đằng sau sự lai ghép rất đơn giản: bằng cách kết hợp hai cá thể với các tính năng khác nhau nhưng đáng mong muốn, chúng ta có thể tạo ra một con cái kết hợp cả hai tính năng đó

Vai trò của việc chọn lọc cha mẹ là để phân biệt giữa các cá thể dựa trên chất lượng của chúng để cho phép các cá thể tốt hơn trở thành cha mẹ của thế hệ tiếp theo

Lựa chọn cha mẹ là xác suất để các cá thể chất lượng cao có cơ hội trở thành cha mẹ cao hơn những cá thể có chất lượng thấp Các cá thể có chất lượng thấp thường có cơ hội nhỏ, nhưng vẫn có cơ hội, nếu không thì toàn bộ quá trình tìm kiếm có thể trở nên quá tham lam và bị kẹt trong một tối ưu cục bộ

Vai trò của việc lựa chọn cá thể sống sót là phân biệt các cá thể dựa trên chất lượng của chúng Trong giải thuật tiến hóa, quy mô quần thể là không đổi, vì vậy cần phải lựa chọn những cá thể nào được phép trong thế hệ tiếp theo Quyết định này dựa trên giá trị phù hợp của chúng, ưu tiên cho những cá thể có chất lượng cao hơn Khác với lựa chọn cha mẹ là ngẫu nhiên, lựa chọn cá thể sống sót thường là xác định

Sự kết hợp giữa giải thuật tiến hóa và giải thuật tìm kiếm cục bộ sẽ mang lại các lợi ích:

33 Các bài toán phức tạp có thể được phân tích ở một chừng mực nào đó thành các bài toán khác nhau và các bài toán khác nhau thì nên được giải quyết bằng các phương pháp khác nhau

Các giải thuật tìm kiếm cục bộ có thể được dùng như là tiến trình tiền xử lý các giải pháp Sử dụng tìm kiếm cục bộ song song với tìm kiếm tiến hóa là một phương tiện để tinh chỉnh hay sửa đổi các giải pháp tốt được tạo ra bởi giải thuật tiến hóa Ngược lại, nếu chúng ta đã có một giải pháp tìm kiếm cục bộ tốt nhưng muốn tăng cường tính đa dạng cho giải thuật thì có thể sử dụng giải thuật tiến hóa sau khi đã thực thi tìm kiếm cục bộ

Các thông tin cụ thể của bài toán có thể được đưa vào các toán tử biến dị (ví dụ như lai ghép hay đột biến) hoặc đưa vào tìm kiếm cục bộ để khích lệ quá trình tìm kiếm tới các vùng tiềm năng của không gian tìm kiếm

Bài toán có nhiều ràng buộc cho các giải pháp và tìm kiếm cục bộ được sử dụng để chỉnh sửa các giải pháp được tìm được bởi giải thuật tiến hóa

Tuy nhiên, những lợi ích trên sẽ bị đánh đổi bằng việc tăng độ phức tạp trong việc thiết kế giải thuật Do đó cần phải xem xét cẩn thận quá trình lai tạo sẽ diễn ra chính xác như thế nào

Hình 2.12 cho ta một cấu trúc cơ bản của một giải thuật tiến hóa với các vòng tròn nhỏ màu đen là các điểm mà sự kết hợp có thể diễn ra Tuy nhiên, hình thức phổ biến nhất của sự kết hợp là áp dụng một hoặc một vài giai đoạn của tìm kiếm cục bộ (dựa trên một vài tham số xác suất) vào các cá thể của quần thể trong mỗi thế hệ Các quyết định thiết kế quan trọng nhất cần làm khi thiết kế một MA có liên quan tới một hoặc nhiều yếu tố sau đây: ảnh hưởng Lamarck với Baldwin, duy trì tính đa dạng với sự cần thiết phải nhanh chóng tìm ra các giải pháp tốt và việc lựa chọn lân cận cho tìm kiếm cục bộ

Hình 2.12: Một mẫu giải thuật memetic

 Ảnh hưởng Lamarck với Baldwin:

Khi tích hợp tìm kiếm địa phương với tìm kiếm tiến hóa chúng ta phải xem xét những gì cần làm với giải pháp được cải thiện sinh bởi tìm kiếm cục bộ Tức là, giả sử rằng cá thể i thuộc về quần thể P trong thế hệ t và độ phù hợp của i là f(i) Tìm kiếm cục bộ tạo ra một cá thể mới i’ và f (i') < f (i) với bài toán tối thiểu hóa Người thiết kế thuật toán phải chọn giữa hai lựa chọn thay thế Hoặc là (tùy chọn 1) người đó thay thế i với i', trong trường hợp đó P = P- {i) + {i'} và thông tin di truyền trong i bị mất và được thay thế bằng thông tin của i', hoặc (tùy chọn 2) thông tin di truyền của i được giữ lại nhưng tính phù hợp của nó bị thay đổi: f(i) = f(i') Tùy chọn đầu tiên thường được gọi là cách học Lamarck trong khi lựa chọn thứ hai được gọi là cách học Baldwin (Baldwin, 1896) Nhà thiết kế của thuật toán memetic có thể muốn sử dụng một trong hai cơ chế thích ứng này Hinton và Nowlan (1987) cho thấy rằng hiệu quả Baldwin có thể được sử dụng để cải thiện giải thuật tiến hóa cho mạng thần kinh nhân tạo, và một số nhà

KẾT LUẬN CHƯƠNG

Quá trình huấn luyện mạng neural nói chung và huấn luyện mạng neural cho công tác dự báo dữ liệu chuỗi thời gian nói riêng là một công việc không đơn giản Những nền tảng lý thuyết và các công trình liên quan đã được xây dựng từ thế hệ này qua thế hệ khác để nhằm cải tiến chất lượng huấn luyện thông qua các giải thuật

37 Một trong những giải thuật thông dụng nhất hiện nay trong việc huấn luyện mạng neural là giải thuật lan truyền ngược Giải thuật này rất hiệu quả trong việc cải thiện chất lượng mạng Tuy nhiên, giải thuật này rất dễ đưa mạng neural rơi vào điểm tối ưu cục bộ, việc thay thế hoặc kết hợp nó với một giải thuật metaheuristic sẽ có khả năng khắc phục điểm yếu này Giải thuật tìm kiếm Tabu, giải thuật Memetic đều có khả năng vượt qua điểm tối ưu cục bộ Các công trình liên quan đến xây dựng mô hình huấn luyện với 2 giải thuật này sẽ được trình bày trong chương tiếp theo

CÁC CÔNG TRÌNH LIÊN QUAN

GIẢI THUẬT TÌM KIẾM TABU CĂN BẢN ĐỂ HUẤN LUYỆN MẠNG

Giải thuật tìm kiếm Tabu có thể được xem như là một phương pháp giảm dần lặp đi lặp lại (interative descent) [10] Một giải pháp ban đầu được tạo ngẫu nhiên và một lân cận xung quanh giải pháp đó được kiểm tra Nếu một giải pháp mới được tìm thấy trong vùng lân cận tốt hơn giải pháp gốc, thì giải pháp mới sẽ thay thế giải pháp cũ và quá trình lặp lại Nếu không tìm thấy giải pháp mới nào cải thiện được hàm đánh giá chức năng, thì không giống như thủ tục giảm dần độ dốc sẽ dừng lại tại điểm đó (điểm tối ưu cục bộ), thuật toán TS có thể tiếp tục bằng cách chấp nhận một giá trị mới tệ hơn giá trị cũ Do đó, một tập hợp các giải pháp trong một lân cận nhất định được tạo ra và giải pháp cuối cùng sẽ được dựa trên giải pháp tốt nhất được tìm thấy cho lân cận cụ thể đó Chúng ta sẽ cần thêm một bước là cấm các giải pháp lặp lại với số giải pháp bị cấm do người dùng định nghĩa Danh sách bị cấm này được tạo ra bằng cách thêm giải pháp cuối cùng vào đầu danh sách và loại bỏ các giải pháp cũ nhất khỏi danh sách Trong thủ tục này, giải pháp tốt nhất được tìm ra cho đến nay vẫn được giữ lại Giải pháp tốt nhất được chọn từ tập hợp con của các lân cận chấp nhận được Một giá trị nhất định cho số lần lặp lại tối đa có thể được sử dụng để chấm dứt quá trình Khi số lần lặp lại này diễn ra mà không cải thiện được giải pháp tốt nhất, thuật toán sẽ chấm dứt

Vì không gian giải pháp cho bất kỳ mạng thần kinh nhân tạo nào là phức tạp, và khả năng có nhiều giải pháp cục bộ là rất lớn, nếu tăng số lượng các lân cận tìm kiếm, xác suất tìm kiếm một giải pháp toàn cục sẽ tăng lên Để đánh giá phỏng đoán này, ba cấp độ khác nhau cho số lượng các lân cận đã được sử dụng (100, 200, 500) Khi hiện thực, các lân cận chỉ đơn giản là các điểm ngẫu nhiên từ một phân bố chuẩn (uniform

39 distribution) Số lượng tìm kiếm cục bộ trong mỗi lân cận cũng được đặt ở ba cấp độ tương tự Các tìm kiếm địa phương được tiến hành như những tìm kiếm ngẫu nhiên trong lân cận Vùng lân cận (neighborhood) là vùng giới hạn trong khoảng ± 0.1% cho mỗi giá trị tham số (trọng số) của điểm lân cận ban đầu Chúng ta chưa tăng hoặc giảm kích thước của tìm kiếm lân cận vào thời điểm này Thuật toán này sẽ được sử dụng như một cơ sở cho sự phát triển trong tương lai của thuật toán tìm kiếm Tabu

Một tham số khác được sử dụng trong TS là danh sách tabu (Tabu List - TL)

Bằng cách tăng kích thước của danh sách tabu, khả năng từ chối các bước di chuyển mới tăng và thuật toán buộc phải tìm ra các giải pháp mới xung quanh điểm hiện tại mà gần đây đã không được thử nghiệm Kích thước của danh sách Tabu cũng được đánh giá ở ba mức (1, 50, 100) và được duy trì cho cả giá trị hàm mục tiêu và các giải pháp tương ứng Vì chúng ta làm việc với các giá trị thực, nên khả năng tìm ra các giải pháp giống hệt nhau là rất nhỏ, do đó, để một danh sách tabu được sử dụng, một tiêu chí “gần”

(proximity) được đưa ra Tiêu chí tabu (Tabu Criterion - TC) làm dịu sự so sánh nghiêm ngặt của giải pháp mới với các giải pháp trong danh sách tabu Vì vậy, bằng cách thực hiện tiêu chí Tabu này, một giải pháp sẽ được coi là Tabu nếu giải pháp mới rơi vào một phạm vi nhất định của các giải pháp trong danh sách Ví dụ, nếu TC được đặt thành 01, giải pháp mới của trọng số sẽ được so sánh với trọng số bị cấm trong khoảng ± 0,01% trọng số tương ứng Để bị loại bỏ, tất cả các trọng số cho các giải pháp mới sẽ cần phải được trong phạm vi này cho bất kỳ các giải pháp trong danh sách cấm TC được đặt ở hai cấp độ (0,01, 0,03)

Một điều kiện về mức độ kỳ vọng (aspiration level) cũng được đưa vào để cho phép bỏ qua việc loại bỏ một giải pháp mới đáp ứng các tiêu chí tabu Khi giải pháp cho vấn đề hội tụ đến điểm cực tiểu, sự giảm của hàm lỗi sẽ có thể ngày càng ít Vì vậy, để cho phép khả năng này, một giải pháp mới thông thường được coi là tabu sẽ được chấp nhận nếu giải pháp mới này tốt hơn giải pháp tốt nhất được tìm thấy cho đến nay, cho dù mức độ cải thiện nhỏ như thế nào

Mã giả của giải thuật Tabu căn bản như sau:

40 Input NH {Số lượng lân cận}

NS {Số lượng tìm kiếm cục bộ}

TL {Chiều dài của danh sách Tabu}

Z {Ma trận m × k of m mẫu của biến k chiều}

Y {Ma trận m × 1 of m mẫu của biến phụ thuộc}

Maxitt {Số lần lặp tối đa}

Chọn X0 {vector các trọng số, mỗi thành phần được sinh ngẫu nhiên trong (-10,10)} Đánh giá NN(Z,Y,X0) {Mạng neural được đánh giá với dữ liệu Z và Y và các trọng số X0}

Numitt=1 While j  NS Chọn XN {vector các trọng số, mỗi thành phần được sinh ngẫu nhiên từ X0 ± 1%} Đánh giá NN(Z,Y,XN) If NN(Z,Y,XN) < NNBEST Then NNBEST = NN(Z,Y,XN) XBEST=XN

Di chuyển các thành phần của Tabu vectors qua 1 vị trí TABUNN(1) = NN(Z,Y,XN)

TABUX(1) = XN Numitt = 1 ElseIf XN không nằm trong ± TC của mọi thành phần của ma trận TABUX And

NN(Z,Y,XN) không nằm trong ± TC của mọi thành phần của vector TABUNN Di chuyển các thành phần của Tabu vectors qua 1 vị trí

TABUNN(1) = NN(Z,Y,XN) TABUX(1) = XN

If Numitt > Maxitt Then go to Output Next i

GIẢI THUẬT TÌM KIẾM TABU MỞ RỘNG ĐỂ HUẤN LUYỆN MẠNG

Thuật toán tìm kiếm Tabu căn bản ở trên đã được sử dụng như là một cơ sở để xác định tiềm năng tối ưu hóa ANN Kể từ khi các kết quả sử dụng thuật toán Tabu căn

41 bản đã được khuyến khích, một thuật toán Tabu mở rộng đã được xây dựng kết hợp với một số sửa đổi được đề xuất Giải thích thuật toán này như sau

Xem xét một hàm f của n biến, x, trong đó x là một vector trọng số tương ứng với lớp đầu vào của mạng thần kinh nhân tạo Một giải pháp ban đầu x 0 được lấy ngẫu nhiên từ một phân bố chuẩn trong khoảng [-10,10] Sau đó, giá trị hàm f(x 0 ) (SSE của ANN) sẽ được tính toán Vì x 0 là giải pháp tối thiểu hiện tại và f(x 0 ) là giá trị hàm tối thiểu, cả hai đều được sử dụng để thiết lập các giải pháp và các tham số giá trị chức năng tốt nhất, x best = x 0 và f(x best ) = f(x 0 ), cũng như được nhập vào danh sách tabu

Giải pháp tiếp theo x 1 sẽ được sinh ra ngẫu nhiên từ cùng một phân bố và được xem xét có chấp nhận hay không bằng cách kiểm tra mức độ kỳ vọng và điều kiện tabu

Mức độ kỳ vọng được kiểm tra bằng cách kiểm tra trực tiếp giá trị hàm f(x new ) với f(x best )

Nếu f(x new ) < f(x best ) thì giải pháp được tự động chấp nhận và cả hai x best và f(x best ) đều được cập nhật, cũng như nhập cả hai vào các danh sách tabu tương ứng Nếu f(x new )> f(x best ) thì các điều kiện tabu được kiểm tra để chấp nhận giải pháp

Kích thước danh sách tabu là một biến cần phải xem xét, phụ thuộc vào số lần di chuyển tabu hiện tại đã diễn ra trong quá trình tìm kiếm Khi chưa có bước di chuyển nào bị cấm, kích thước danh sách sẽ là 1.000 Khi di chuyển tabu được phát hiện, danh sách sẽ được giảm với tỉ lệ (1.000 / số di chuyển tabu), đến số nguyên gần nhất Nếu có hơn 1.000 lần di chuyển tabu, kích thước danh sách sẽ là 1

Một khi 1.000 giải pháp ngẫu nhiên đã được chấp nhận, sẽ có thêm 1000 lần lặp bắt đầu, cả danh sách tabu và giải pháp tốt nhất sẽ được lưu lại Quá trình này sẽ liên tục lặp lại nếu ít nhất một f(x new ) được tìm thấy là giá trị hàm tốt nhất cho đến nay, trong vòng lặp 1000 lần Sau khi chu kỳ lặp 1000 kết thúc mà không giảm được f(x best ), thuật toán sẽ chấp nhận giải pháp tốt nhất này như là điểm khởi đầu để bắt đầu tìm kiếm lân cận

Việc tìm kiếm lân cận được dựa trên một quá trình đa dạng hóa và tăng cường xen kẽ Quá trình tăng cường hội tụ vào giải pháp tốt nhất được tìm thấy Thay vì chọn ngẫu nhiên các giải pháp mới, quá trình tăng cường tập trung vào giải pháp x best Các

42 điểm mới được rút ra bằng cách sửa đổi giải pháp x best bởi một giá trị nhỏ Giá trị này được tính theo công thức sau: change random x step 0 1 * x best ( i )  0 2 * best ( i ) *

Biến random là một số ngẫu nhiên sinh ra từ một phân bố đều trong khoảng [0,1]

Biến change cho biết sự thay đổi từ quy trình này sang quy trình khác Với quá trình đầu tiên, biến change được thiết lập là 1 Khi thuật toán tiến hành và các quá trình thay đổi từ tăng cường sang đa dạng hóa và trở lại, thuật toán tiếp tục giảm kích thước của những thay đổi từ vector giải pháp tốt nhất cho quá trình tăng cường Quá trình này tiếp tục khi f(x best ) có sự suy giảm trong một chu kỳ lặp 1000 lần và tối đa là 20 chu kỳ Khi có một chu kỳ kết thúc mà không làm giảm f(x best ) thì quá trình đa dạng hoá bắt đầu, tăng biến change thêm một đơn vị

Quá trình đa dạng hoá cố gắng mở rộng phạm vi tìm kiếm và chỉ khác với quá trình tăng cường ở công thức tính step Thay vì giảm kích cỡ của thay đổi trọng số của giải pháp x best , quá trình đa dạng hoá sẽ làm tăng sự thay đổi đó, do đó mở rộng không gian tìm kiếm xung quanh giải pháp tốt nhất để thoát khỏi điểm tối ưu cục bộ step = [(0.1* xbest(i)) - (0.2* xbest(i)*random)] * change

Khi quá trình thay đổi tiếp tục, kích thước của những thay đổi từ vector giải pháp tốt nhất được tăng lên Quá trình này tiếp tục khi f(x best ) có sự suy giảm trong một chu kỳ lặp 1000 lần Khi có một chu kỳ xảy ra mà không làm giảm f(x best ) thì tiến trình quay trở lại giai đoạn tăng cường, tăng biến loop thêm một đơn vị

Các quá trình tăng cường và đa dạng hoá xen kẽ tiếp tục cho đến khi có năm lần thay đổi cho mỗi quá trình, chấm dứt việc tìm kiếm lân cận quanh giải pháp x best Lúc đó toàn bộ quá trình bắt đầu lại Các danh sách tabu được lưu lại để so sánh với lần tìm kiếm tiếp theo nhưng x best và f(x best ) được khởi tạo lại để tìm kiếm các giải pháp mới trong không gian trọng số Toàn bộ quá trình lặp lại cho 10 lần tìm kiếm hoàn chỉnh

Mã giả của giải thuật Tabu mở rộng như sau:

43 Input NH {Số lượng lân cận}

NS {Số lượng tìm kiếm cục bộ}

TL {Chiều dài của danh sách Tabu}

Z {Ma trận m × k of m mẫu của biến k chiều}

Y {Ma trận m × 1 of m mẫu của biến phụ thuộc}

Maxitt {Số lần lặp tối đa} search = 1

Chọn XN{vector các trọng số, mỗi thành phần được sinh ngẫu nhiên trong (-10,10)} Đánh giá NN(Z,Y,XN)

If NN(Z,Y,XN) < NNBEST or if i = 1 Then

Di chuyển các thành phần của Tabu vectors qua 1 vị trí TABUNN(1) = NN(Z,Y,XN)

ElseIf XN không nằm trong ± TC của mọi thành phần của ma trận TABUX And

NN(Z,Y,XN) không nằm trong ± TC của mọi thành phần của vector TABUNN

Di chuyển các thành phần của Tabu vectors qua 1 vị trí TABUNN(1) = NN(Z,Y,XN)

TABUCNT =TABUCNT+1 TL= Max{1 or Nearest Integer to (1000/TABUCNT) i = i -1

EndIf If i = 1000 and first > 1 And count < 20

If NNBEST < OLDBEST i=0 count=count + 1

XN = (.1*XBEST -.2*XBEST*Random)/Change

XN = (.1*XBEST -.2*XBEST*Random)*Change

EndIf Đánh giá NN(Z,Y,XN)

If NN(Z,Y,XN) < NNBEST Then

XBEST=XN Di chuyển các thành phần của Tabu vectors qua 1 vị trí TABUNN(1) = NN(Z,Y,XN)

ElseIf XN không nằm trong ± TC của mọi thành phần của ma trận TABUX And NN(Z,Y,XN) không nằm trong ± TC của mọi thành phần của vector

TABUNN Di chuyển các thành phần của Tabu vectors qua 1 vị trí TABUNN(1) = NN(Z,Y,XN)

End While Loop (m) search = search +1

GIẢI THUẬT MEMETIC HUẤN LUYỆN MẠNG NEURAL

Phần trình bày này dựa trên chương 11 được đề xuất bởi Krasnogor và các cộng sự trong tuyển tập Metaheuristic Procedures for Training Neural Networks, nhà xuất bản Springer năm 2006 [12]

Giải thuật memetic cho huấn luyện mạng thần kinh nhân tạo chỉ tìm kiếm các giá trị trọng số cho lớp ẩn, các giá trị trọng số của nút đầu ra sẽ được tính bằng phương pháp bình phương tối thiểu để đảm bảo kết quả thu được là tốt

45 Giải thuật tìm kiếm cục bộ được sử dụng là giải thuật leo đồi Giải thuật leo đồi bắt đầu từ một giải pháp khởi tạo (vector trọng số w), lấy mẫu một tập nhỏ các vector trọng số quanh w và lựa chọn vector tối thiểu hóa sai số E làm vector tiếp theo Đặc biệt, cho w là một giải pháp bất kỳ với w l thành phần và bán kính radius là một số thực nhỏ phù hợp, định nghĩa thủ tục như sau:

Thủ tục Change_Weight (w, radius, w’)

Tạo một giải pháp w’ với các thành phần w l ’ nhận các giá trị ngẫu nhiên trong khoảng (w l – radius, w l + radius)

Tương tự như vậy, cho w 0 là một giải pháp bất kỳ của tham số n_neighbours 

N và radius  R; định nghĩa thủ tục sau:

Thủ tục Best_Neighbour (w 0 , radius, n_neighbours, w’) min = ∞

Change_Weight (w, radius, w’’) If E(w’’) < min do w’ = w’’ và min = E(w’’)

Cuối cùng, cho w là một giải pháp khởi tạo, chúng ta định nghĩa:

Thủ tục Best_Environment (w, radius, n_neighbours, w')

Execute Best_Neighbour (w, radius, n_neighbours, w') If E(w') < E(w) do w = w'

46 Thủ tục Best_Environment là một phương pháp cải tiến: trong mỗi lần lặp, một tập hợp các điểm được tạo ra bởi những thay đổi xung quanh giải pháp hiện tại Sau đó, giải pháp tốt nhất được xác định và nếu điều này cải thiện giải pháp hiện tại, thay đổi được thực hiện Quá trình dừng khi giữa các giải pháp tạo ra trong một lần lặp, không tìm thấy giải pháp nào cải thiện được giải pháp hiện tại

 Phương pháp cải thiện Radius thay đổi:

Phương pháp Variable_Radius_Improvement bao gồm việc sửa đổi thuật toán

Best_Environment rằng giá trị của radius thay đổi tùy thuộc vào việc cải tiến được tìm thấy hay không: nếu giải thuật leo đồi tìm được giải pháp tốt hơn, giải pháp mới được chấp nhận và giá trị của radius mà giải thuật leo đồi tìm kiếm được tăng lên Mặt khác, nếu không cải thiện nào được tìm thấy, giá trị của radius bị giảm đi và có hiệu lực trong các lần lặp lại sau Thuật toán kết thúc khi một số lần lặp đi lặp lại đã xảy ra mà không có bất kỳ cải tiến nào

Thủ tục Variable_Radius_Improvement (w, radius0, alpha, n_neighbours, max_int)

Repeat Execute Best_Neighbour (w, radius, n_neighbours, w') If E(w') < E(w) do: w = w', radius = radius*alpha and n_int = 0 Otherwise: radius = radius/alpha and n_int = n_int + l

Giải thuật memetic được trình bày là sự kết hợp giữa giải thuật leo đồi làm giải thuật tìm kiếm cục bộ và giải thuật di truyền là giải thuật tiến hóa

Toán tử lai ghép được sử dụng là toán tử lai ghép một điểm (one-point crossover), nếu w và w’ là hai giải pháp cha mẹ:

Lai ghép điểm (point_crossover) được sinh một cách ngẫu nhiên trong khoảng 1 và m(n+1)-1, cá thể con sẽ được định nghĩa như sau: w* = (w 1 , w 2 , …, w point_crossover , w’ point_crossover+1, …, w’ m(n+1) ) w** = (w’ 1 , w’ 2 , …, w’ point_crossover , w point_crossover+1, …, w m(n+1) )

Mã giả của giải thuật memetic như sau:

Tạo một quần thể ban đầu của các giải pháp Cải thiện chúng bằng một phương pháp thiết lập trước Lặp lại các bước sau:

- Tạo một tập ghép đôi (mating pool) bằng cách lấy mẫu trong quần thể với xác suất tỷ lệ phù hợp

- Lai ghép: Bắt cặp ngẫu nhiên từ tập ghép đôi và áp dụng các toán tử lai ghép tạo ra 2 con từ mỗi cặp Con mới tạo được thêm vào tập hợp các con

- Đột biến: áp dụng với xác suất thấp toán tử đột biến đến lên tập hợp các con

- Thực hiện tìm kiếm cục bộ với bán kính hill-climber bắt đầu từ mỗi thành viên của tập hợp các con

- Thay thế các giải pháp tồi tệ nhất trong quần thể với cá thể mới

- Thực hiện các tham số đột biến Thủ tục được lặp lại cho đến khi đạt một số tiêu chí dừng

Các trọng số của mỗi giải pháp con mới có thể thay đổi hay bị đột biến với một xác suất thấp, p_mut Để quyết định xem một trọng số nhất định thay đổi hay không, một giá trị ngẫu nhiên được được tạo ra trong đoạn (0, 1); nếu giá trị này ít hơn p_mut thì các thay đổi được thực hiện Điều này bao gồm việc gán cho nó một điểm ngẫu nhiên mới trong đoạn (-0.5, 0.5) Quá trình đột biến này nhằm mục đích tăng thêm sự đa dạng cho quá trình xử lý và ngăn không cho nó bị bẫy trong một tối thiểu cục bộ Giá trị tham

48 số p_mut không cố định mà thay đổi giữa hai giá trị cho trước p_mut_min và p_mut_max

Mục đích là: khi giải pháp mới và tốt hơn được tìm thấy, xác suất đột biến giảm, và do đó tìm kiếm được tăng cường trong những khu vực như vậy Khi các thế hệ vượt qua (lặp lại) mà không có sự cải thiện nào, xác suất đột biến gia tăng để tăng cường việc tìm kiếm trong các khu vực khác Ba quy tắc điều chỉnh việc thích nghi của tỷ lệ đột biến như sau:

 Nếu ở lần lặp hiện tại, giải pháp mới và tốt hơn được tìm thấy thì p_mut = p_mut_min

 Trường hợp ngược lại thì p_mut = p_mut + p_mut_inc

 Nếu p_mut > p_mut_max thì p_mut = p_mut_max Hai giá trị p_mut_min và p_mut_max thể hiện xác suất đột biến tối đa và tối thiểu.

KẾT LUẬN CHƯƠNG

Các công trình được trình bày trong chương 3 cho thấy việc xây dựng mô hình huấn luyện với hai giải thuật tìm kiếm Tabu và giải thuật Memetic sẽ có thể cải thiện chất lượng huấn luyện cho mạng neural Quá trình đánh giá kết quả thực nghiệm các giải thuật huấn luyện mạng neural sẽ được trình bày trong chương tiếp theo

KẾT QUẢ THỰC NGHIỆM

CÁCH ĐÁNH GIÁ KẾT QUẢ HUẤN LUYỆN

Chương trình hiện thực cho phép người dùng tiến hành đánh giá mạng neural vừa huấn luyện trên một tập dữ liệu nằm ngoài tập dữ liệu huấn luyện Giá trị các hàm lỗi dự báo sau đây sẽ được tính và xuất ra cho người dùng:

 Hàm trung bình tuyệt đối lỗi (mean absolute error):

 Hàm phần trăm trung bình tuyệt đối lỗi (mean absolute percentage error)

 Hàm tổng bình phương lỗi (sum of squared error):

 Hàm trung bình bình phương lỗi (mean squared error)

  Ở đây n là số điểm trong tập kiểm tra, t k và o k lần lượt là giá trị thực trong tập dữ liệu và giá trị xuất của mạng neural Dựa trên các giá trị này người dùng sẽ quyết định mạng có phù hợp không, có cần được huấn luyện hay xây dựng lại không

50 Các kết quả này được chạy thực nghiệm với chương trình demo được bằng C# trên hệ điều hành Window 7, cài đặt sẵn NET framework với cấu hình máy: CPU Intel Core i5 1.7 GHz.

KẾT QUẢ THỰC NGHIỆM

Trong giai đoạn này chúng tôi thực hiện chạy các giải thuật trên các bộ dữ liệu lưu lượng dòng chảy (runoff) trên sông Các dữ liệu được thực nghiệm là:

(1) Dòng chảy ở trạm Trị An, sông Đồng Nai, Đồng Nai - 216 điểm (2) Dòng chảy ở trạm Phước Long, sông Bé, Bình Phước - 204 điểm (3) Dòng chảy ở trạm Ghềnh Ga, sông Lô, Hà Giang - 239 điểm (4) Dòng chảy ở trạm Chiêm Hóa, sông Lô, Hà Giang - 239 điểm (5) Mực nước ở trạm Châu Đốc, sông Hậu Giang, An Giang - 365 điểm (6) Dòng chảy ở trạm Buôn Hồ, sông Serepok, Tây Nguyên - 4000 điểm (7) Dòng chảy ở trạm Cầu 14, sông Serepok, Tây Nguyên - 4000 điểm (8) Dòng chảy ở trạm Đức Xuyên, sông Serepok, Tây Nguyên - 3000 điểm

Các bộ dữ liệu được chia thành hai nhóm dựa vào số điểm trong bộ Trong đó, năm bộ (1) tới (5) là dữ liệu đo hàng tháng được coi là bộ dữ liệu nhỏ, còn ba bộ còn lại là dữ liệu lớn Đối với 5 bộ dữ liệu nhỏ, chúng tôi chọn sử dụng mạng neural có cấu hình 6 đơn vị tầng nhập, 6 đơn vị tầng ẩn và 1 đơn vị tầng xuất (6-6-1) Đối với 3 bộ dữ liệu lớn là dữ liệu đo hàng ngày, chúng tôi chọn sử dụng mạng neural có cấu hình 10 đơn vị tầng nhập, 10 đơn vị tầng ẩn và 1 đơn vị tầng xuất (10-10-1) Ứng với mỗi bộ dữ liệu, chúng ta sẽ thống kế số liệu trong ba chặng riêng biệt Mỗi chặng sẽ huấn luyện 5 mạng neural được khởi tạo ngẫu nhiên với cùng một giải thuật nhưng các hệ số huấn luyện có thể thay đổi Cụ thể, ba giải thuật huấn luyện mạng neural bao gồm:

BP: Giải thuật lan truyền ngược Về chi tiết, trong 5 lần huấn luyện của cả 3 chặng các hệ số của giải thuật lan truyền ngược lần lượt thay đổi như sau:

51 Điều kiện dừng: residual = 1,0E-6 (ngưỡng độ sai lệch về chất lượng lời giải)

TS: Giải thuật tìm kiếm Tabu Hệ số của giải thuật tìm kiếm Tabu được giữ nguyên trong 5 lần huấn luyện: NH = 50 (số lượng lân cận), NS = 30000 (số lượng tìm kiếm cục bộ), TL = 30000 (chiều dài khởi tạo của danh sách Tabu), TC = 0.01 (tiêu chuẩn Tabu)

MA: Giải thuật memetic Hệ số của giải thuật tìm kiếm Tabu được giữ nguyên trong 5 lần huấn luyện: NOP = 100 (số lượng cá thể của quần thể), poolSize = 20 (số lượng cá thể của hồ ghép đôi), p_mut_min = 0.05 (xác suất đột biến thấp nhất), p_mut_max = 0.1 (xác suất đột biến cao nhất), p_mut_inc = 0.0005 (xác suất tăng đột biến), radius0 = 0.1 (bán kính khởi tạo cho giải thuật leo đồi), alpha = 2 (mức hiệu chỉnh bán kính), n_neighbours = 10 (số lân cận của giải thuật leo đồi), max_int = 2 (số lần lặp tối đa cho giải thuật leo đồi)

1) Kết quả trên bộ dữ liệu Dòng chảy ở trạm Trị An, sông Đồng Nai - 216 điểm:

- Kết quả dự báo trên 21 điểm cuối của dữ liệu với lần chạy BP (hình và bảng 4.1) đường liên tục chỉ giá trị thực và đường gián đoạn chỉ giá trị dự báo:

Hình 4.1: Đồ thị kết quả dự báo trên tập dữ liệu Trị An qua lần huấn luyện BP

Bảng 4.1: Số liệu các hàm lỗi trên tập dữ liệu Trị An qua lần huấn luyện BP

- Kết quả dự báo trên 21 điểm cuối của dữ liệu với lần chạy TS (hình và bảng 4.2) đường liên tục chỉ giá trị thực và đường gián đoạn chỉ giá trị dự báo:

Bảng 4.2: Số liệu các hàm lỗi trên tập dữ liệu Trị An qua lần huấn luyện TS

- Kết quả dự báo trên 21 điểm cuối của dữ liệu với lần chạy MA (hình và bảng 4.3) đường liên tục chỉ giá trị thực và đường gián đoạn chỉ giá trị dự báo:

Hình 4.2: Đồ thị kết quả dự báo trên tập dữ liệu Trị An qua lần huấn luyện TS

Hình 4.3: Đồ thị kết quả dự báo trên tập dữ liệu Trị An qua lần huấn luyện MA

Bảng 4.3: Số liệu các hàm lỗi trên tập dữ liệu Trị An qua lần huấn luyện MA

- Nhận xét: Ở bộ dữ liệu này, lần chạy MA cho kết quả tốt hơn so với lần chạy BP Lần chạy TS có chỉ số MAE tốt hơn BP nhưng lại có chỉ số MAPE tệ hơn Điều này có thể cho thấy các hàm lỗi không hẳn khi nào cũng cho ra cùng một đánh giá

2) Kết quả trên bộ dữ liệu Dòng chảy ở trạm Phước Long, sông Bé - 204 điểm:

- Kết quả dự báo trên 21 điểm cuối của dữ liệu với lần chạy BP (hình và bảng 4.4) đường liên tục chỉ giá trị thực và đường gián đoạn chỉ giá trị dự báo:

Hình 4.4: Đồ thị kết quả dự báo trên tập dữ liệu Phước Long qua lần huấn luyện BP

Bảng 4.4: Số liệu các hàm lỗi trên tập dữ liệu Phước Long qua lần huấn luyện BP

- Kết quả dự báo trên 21 điểm cuối của dữ liệu với lần chạy TS (hình và bảng 4.5) đường liên tục chỉ giá trị thực và đường gián đoạn chỉ giá trị dự báo:

Hình 4.5: Đồ thị kết quả dự báo trên tập dữ liệu Phước Long qua lần huấn luyện TS

Bảng 4.5: Số liệu các hàm lỗi trên tập dữ liệu Phước Long qua lần huấn luyện TS

- Kết quả dự báo trên 21 điểm cuối của dữ liệu với lần chạy MA (hình và bảng 4.6) đường liên tục chỉ giá trị thực và đường gián đoạn chỉ giá trị dự báo:

Hình 4.6: Đồ thị kết quả dự báo trên tập dữ liệu Phước Long qua lần huấn luyện MA

Bảng 4.6: Số liệu các hàm lỗi trên tập dữ liệu Phước Long qua lần huấn luyện MA

- Nhận xét: Ở bộ dữ liệu này, lần chạy TB, MA cho chỉ số MAPE tốt hơn lần chạy BP nhưng có chỉ số MAE tệ hơn Lần chạy MA cho kết quả tốt hơn TB

3) Kết quả trên bộ dữ liệu Dòng chảy ở trạm Ghềnh Ga, sông Lô, Hà Giang - 239 điểm:

- Kết quả dự báo trên 24 điểm cuối của dữ liệu với lần chạy BP (hình và bảng 4.7) đường liên tục chỉ giá trị thực và đường gián đoạn chỉ giá trị dự báo:

Hình 4.7: Đồ thị kết quả dự báo trên tập dữ liệu Ghềnh Ga qua lần huấn luyện BP

Bảng 4.7: Số liệu các hàm lỗi trên tập dữ liệu Ghềnh Ga qua lần huấn luyện BP

Ngày đăng: 09/09/2024, 02:03

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] J. Heaton. Introduction to Neural Networks with C#. ISBN 1-60439-009-3, Second Edition, 2008 Sách, tạp chí
Tiêu đề: Introduction to Neural Networks with C#
[2] T. M. Mitchell. Machine Learning. McGraw-Hill Science/ Engineering/ Math, ISBN 0070428077, 1997 Sách, tạp chí
Tiêu đề: Machine Learning
[3] D. T. Anh. Slide bài giảng Data Mining: Classification and Prediction. Đại học Bách khoa TP.Hồ Chí Minh, 2016 Sách, tạp chí
Tiêu đề: Slide bài giảng Data Mining: Classification and Prediction
[4] M. Riedmiller. Advanced Supervised Learning In Multi-layer Perceptrons – From Backpropagation To Adaptive Learning Algorithms. Int. Journal of Computer Standards and Interfaces, 1994 Sách, tạp chí
Tiêu đề: Advanced Supervised Learning In Multi-layer Perceptrons – From Backpropagation To Adaptive Learning Algorithms
[5] I. Kaastra, M. Boyd. Designing A Neural Network For Forecasting Financial And Economic Time Series. Neurocomputing, vol. 10, pages 215-236, 1996 Sách, tạp chí
Tiêu đề: Designing A Neural Network For Forecasting Financial And Economic Time Series
[6] T. Kolarik, G. Rudorfer. Time Series Forecasting Using Neural Networks. ACM Sigapl Apl Quote Quad, vol. 25, no. 1, pages 86-94, 1994 Sách, tạp chí
Tiêu đề: Time Series Forecasting Using Neural Networks
[7] E. Keogh. URC Time series. www.cs.ucr.edu/~eamonn/time_series_data University of California - Riverside, 2016 Sách, tạp chí
Tiêu đề: URC Time series
[8] T. Đ. Minh. Luận văn thạc sĩ Mạng Neural Truyền Thẳng Và Ứng Dụng Trong Dự Báo Dữ Liệu. Đại học quốc gia Hà Nội, 2002 Sách, tạp chí
Tiêu đề: Mạng Neural Truyền Thẳng Và Ứng Dụng Trong Dự Báo Dữ Liệu
[9] F.Glover and R.Marti. Tabu Search in Metaheuristic Proceedings for Training Neural Networks. E.Alba &amp; R.Marti (Eds.), Springer, 2006 Sách, tạp chí
Tiêu đề: Tabu Search in Metaheuristic Proceedings for Training Neural Networks
[10] R. S. Sexton, B. Alidaee, R. E. Dorsey, J. D. Johnson. Global Optimization for Artificial Neural Networks: A Tabu Search Application. European Journal of Operational Research, Vol. 106, 570-584 Sách, tạp chí
Tiêu đề: Global Optimization for Artificial Neural Networks: A Tabu Search Application. European Journal of Operational Research
[11] E. Aarts, P. van der Horn, J. Korst, W. Michiels, and H. Sontrop. Simulated Annealing. Metaheuristic Procedures for Training Neural Networks. E. Alba &amp; R.Martí (Eds), Springer, 2006 Sách, tạp chí
Tiêu đề: Simulated Annealing. Metaheuristic Procedures for Training Neural Networks
[12] N.Krasnogor, A.Aragon and J.Pacheco. Memetic Algorithms. Metaheuristic Procedures for Training Neural Networks. E.Alba &amp; R.Marti (Eds.), Springer, 2006 Sách, tạp chí
Tiêu đề: Memetic Algorithms. Metaheuristic Procedures for Training Neural Networks
[13] Lê Văn Dực. Applicability of Artificial Neural Network Model for Simulation of Monthly Run-off in comparison with some other traditional Models.Tạp chí phát triển khoa học &amp; Công nghệ, Đ.H.Q.G TP Hồ Chí Minh, Vol 12, No 04, 2009 Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.9: Mô hình học với chuỗi thời gian - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 2.9 Mô hình học với chuỗi thời gian (Trang 32)
Hình 2.12: Một mẫu giải thuật memetic - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 2.12 Một mẫu giải thuật memetic (Trang 46)
Hình 4.1: Đồ thị kết quả dự báo trên tập dữ liệu Trị An qua lần huấn luyện BP - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.1 Đồ thị kết quả dự báo trên tập dữ liệu Trị An qua lần huấn luyện BP (Trang 64)
Bảng 4.2: Số liệu các hàm lỗi trên tập dữ liệu Trị An qua lần huấn luyện TS - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Bảng 4.2 Số liệu các hàm lỗi trên tập dữ liệu Trị An qua lần huấn luyện TS (Trang 65)
Hình 4.3: Đồ thị kết quả dự báo trên tập dữ liệu Trị An qua lần huấn luyện MA - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.3 Đồ thị kết quả dự báo trên tập dữ liệu Trị An qua lần huấn luyện MA (Trang 66)
Hình 4.4: Đồ thị kết quả dự báo trên tập dữ liệu Phước Long qua lần huấn luyện BP - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.4 Đồ thị kết quả dự báo trên tập dữ liệu Phước Long qua lần huấn luyện BP (Trang 67)
Hình 4.5: Đồ thị kết quả dự báo trên tập dữ liệu Phước Long qua lần huấn luyện TS - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.5 Đồ thị kết quả dự báo trên tập dữ liệu Phước Long qua lần huấn luyện TS (Trang 68)
Hình 4.7: Đồ thị kết quả dự báo trên tập dữ liệu Ghềnh Ga qua lần huấn luyện BP - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.7 Đồ thị kết quả dự báo trên tập dữ liệu Ghềnh Ga qua lần huấn luyện BP (Trang 70)
Hình 4.9: Đồ thị kết quả dự báo trên tập dữ liệu Ghềnh Ga qua lần huấn luyện MA - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.9 Đồ thị kết quả dự báo trên tập dữ liệu Ghềnh Ga qua lần huấn luyện MA (Trang 72)
Hình 4.11: Đồ thị kết quả dự báo trên tập dữ liệu Chiêm Hóa qua lần huấn luyện TS - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.11 Đồ thị kết quả dự báo trên tập dữ liệu Chiêm Hóa qua lần huấn luyện TS (Trang 74)
Hình 4.13: Đồ thị kết quả dự báo trên tập dữ liệu Châu Đốc qua lần huấn luyện BP - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.13 Đồ thị kết quả dự báo trên tập dữ liệu Châu Đốc qua lần huấn luyện BP (Trang 76)
Hình 4.14: Đồ thị kết quả dự báo trên tập dữ liệu Châu Đốc qua lần huấn luyện TS - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.14 Đồ thị kết quả dự báo trên tập dữ liệu Châu Đốc qua lần huấn luyện TS (Trang 77)
Hình 4.15: Đồ thị kết quả dự báo trên tập dữ liệu Châu Đốc qua lần huấn luyện MA - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.15 Đồ thị kết quả dự báo trên tập dữ liệu Châu Đốc qua lần huấn luyện MA (Trang 78)
Hình 4.16: Đồ thị kết quả dự báo trên tập dữ liệu Buôn Hồ qua lần huấn luyện BP - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.16 Đồ thị kết quả dự báo trên tập dữ liệu Buôn Hồ qua lần huấn luyện BP (Trang 79)
Hình 4.17: Đồ thị kết quả dự báo trên tập dữ liệu Buôn Hồ qua lần huấn luyện TS - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.17 Đồ thị kết quả dự báo trên tập dữ liệu Buôn Hồ qua lần huấn luyện TS (Trang 80)
Hình 4.19: Đồ thị kết quả dự báo trên tập dữ liệu dòng chảy ở trạm Cầu 14 qua lần huấn luyện BP - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.19 Đồ thị kết quả dự báo trên tập dữ liệu dòng chảy ở trạm Cầu 14 qua lần huấn luyện BP (Trang 82)
Hình 4.20: Đồ thị kết quả dự báo trên tập dữ liệu dòng chảy ở trạm Cầu 14 qua lần huấn luyện TS - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.20 Đồ thị kết quả dự báo trên tập dữ liệu dòng chảy ở trạm Cầu 14 qua lần huấn luyện TS (Trang 83)
Hình 4.22: Đồ thị kết quả dự báo trên tập dữ liệu Đức Xuyên qua lần huấn luyện BP - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 4.22 Đồ thị kết quả dự báo trên tập dữ liệu Đức Xuyên qua lần huấn luyện BP (Trang 85)
Bảng 4.22: Số liệu các hàm lỗi trên tập dữ liệu Đức Xuyên qua lần huấn luyện BP - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Bảng 4.22 Số liệu các hàm lỗi trên tập dữ liệu Đức Xuyên qua lần huấn luyện BP (Trang 85)
Hình 0.2: Giao diện khởi tạo thành công - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 0.2 Giao diện khởi tạo thành công (Trang 99)
Hình 0.5: Giao diện kết quả của quá trình huấn luyện - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 0.5 Giao diện kết quả của quá trình huấn luyện (Trang 101)
Hình 0.4: Giao diện cài đặt huấn luyện sử dụng giải thuật lan truyền ngược - Luận văn thạc sĩ Khoa học máy tính: So sánh hiệu quả một số giải thuật Metaheuristic để huấn luyện mạng thần kinh nhân tạo cho bài toán dự báo dòng chảy
Hình 0.4 Giao diện cài đặt huấn luyện sử dụng giải thuật lan truyền ngược (Trang 101)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN