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: Rút trích luật từ mạng Nơron

70 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

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI (13)
    • 1.1. Tổng quan về Mạng nơ ron (13)
    • 1.2. Bài toán rút trích luật hồi qui từ Mạng nơ ron (18)
    • 1.3. Mục tiêu nghiên cứu của luận văn (19)
    • 1.4. Bố cục của luận văn (20)
  • CHƯƠNG 2 CƠ SỞ LÝ THUYẾT (21)
    • 2.1. Công trình của Towell và Shavlik (21)
    • 2.2. Công trình của Rudy Setiono và các cộng sự (22)
    • 2.3. Công trình của S. M. Kamruzzaman và Md. Monirul Islam: giải thuật REANN-Rule Extraction from ANNs (23)
      • 2.3.1. Giải thuật xây dựng (Constructive Algorithm) (25)
      • 2.3.2. Giải thuật cắt tỉa (Pruning Algorithm) (27)
      • 2.3.3. Giải thuật gom cụm (Clustering algorithm) (30)
      • 2.3.4. Giải thuật rút trích luật (Rule Extraction Algorithm-REx) (32)
    • 2.4. Tóm tắt chương 2 (34)
  • CHƯƠNG 3 PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ (35)
    • 3.1. Xây dựng mạng nơ ron (35)
    • 3.2. Thu giản mạng nơ ron (36)
    • 3.3. Rời rạc hóa giá trị kích hoạt các nút ẩn (37)
    • 3.4. Rút trích luật (38)
    • 3.5. Tóm tắt chương 3 (42)
  • CHƯƠNG 4 HIỆN THỰC VÀ THỬ NGHIỆM (43)
    • 4.1. Tập dữ liệu chứng khoán STOCK (44)
    • 4.2. Tập dữ liệu Lưu Lượng Thủy Điện Hòa Bình (50)
    • 4.3. Tập dữ liệu tỉ giá EURUSD (53)
    • 4.4. Tập dữ liệu nhiệt độ NewYork_100Years_Temperatures (59)
    • 4.5. Tổng kết chương 4 (62)
  • CHƯƠNG 5 KẾT LUẬN (64)
    • 5.1. Những kết quả đạt đƣợc của Luận văn (64)
    • 5.2. Những hạn chế của Luận văn (64)
    • 5.3. Hướng phát triển của Luận văn (64)

Nội dung

Các ứng dụng của mạng nơ ron được sử dụng trong rất nhiều lĩnh vực như điện, điện tử, kinh tế, quân sự,… để giải quyết các bài toán có độ phức tạp và đòi hỏi có độ chính xác cao như điều

TỔNG QUAN VỀ ĐỀ TÀI

Tổng quan về Mạng nơ ron

Mạng nơ ron nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý thông tin đƣợc mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lƣợng lớn các nơ ron đƣợc gắn kết để xử lý thông tin ANN giống nhƣ bộ não con người, được học bởi kinh nghiệm thông qua huấn luyện, có khả năng lưu giữ những kinh nghiệm hiểu biết - tri thức và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chƣa biết

Các ứng dụng của mạng nơ ron đƣợc sử dụng trong rất nhiều lĩnh vực nhƣ điện, điện tử, kinh tế, quân sự,… để giải quyết các bài toán có độ phức tạp và đòi hỏi có độ chính xác cao nhƣ điều khiển tự động, khai phá dữ liệu, nhận dạng…

Cấu trúc chung của một mạng lưới thần kinh nhân tạo (ANN) bao gồm ba thành phần chính: tầng nhập (input layer), tầng ẩn (hidden layer) và tầng xuất (output layer) Tầng ẩn đóng vai trò quan trọng trong quá trình xử lý thông tin, nhận dữ liệu từ các nơ-ron ở tầng nhập và chuyển đổi chúng cho các tầng sau Trong một ANN có thể có nhiều tầng ẩn, cho phép hệ thống xử lý thông tin phức tạp một cách hiệu quả.

Đơn vị xử lí (PE) trong mạng nơ ron nhân tạo (ANN) có tên gọi là nơ ron Mỗi nơ ron tiếp nhận dữ liệu đầu vào, xử lí và đưa ra một kết quả duy nhất Kết quả xử lí của một nơ ron có thể trở thành dữ liệu đầu vào của các nơ ron khác trong mạng Quá trình xử lí thông tin trong mạng nơ ron được minh họa trong Hình 1.2.

(Nguồn: bis.net.vn) nh 1 2: Qui tr nh xử lí thông tin của một ANN

Dữ liệu nhập là các thuộc tính của mẫu dữ liệu, tương ứng với các thông tin cụ thể của từng thực thể Chẳng hạn, trong ứng dụng xét duyệt khoản vay ngân hàng, dữ liệu nhập bao gồm các thuộc tính như thu nhập, nghề nghiệp, tuổi và số lượng con của khách hàng.

Dữ liệu xuất - output: Kết quả của một ANN là một giải pháp cho một vấn đề, ví dụ nhƣ với bài toán xem xét chấp nhận cho khách hàng vay tiền hay không thì dữ liệu xuất là yes (cho vay) hoặc no (không cho vay)

Trọng số liên kết đóng vai trò quan trọng trong mạng nơ-ron nhân tạo (ANN), phản ánh mức độ ảnh hưởng của dữ liệu đầu vào đến quá trình xử lý thông tin Trọng số này biểu thị "sức mạnh" của các mối liên hệ giữa các nơ-ron và xác định cách dữ liệu được chuyển đổi từ lớp nơ-ron này sang lớp khác trong ANN.

Quá trình học (pearning processing) của ANN thực ra là quá trình điều chỉnh các trọng số (weights) của các dữ liệu nhập để có đƣợc kết quả mong muốn

Hàm tổng - summation function: Tính tổng trọng số của tất cả các dữ liệu nhập đƣợc đƣa vào mỗi nơ ron (phần tử xử lý PE) Hàm tổng của một nơ ron đối với n dữ liệu nhập đƣợc tính theo công thức sau:

Hàm tổng đối với nhiều nơ ron trong cùng một tầng :

(Nguồn: bis.net.vn) nh 1 3:Ví dụ về các hàm tổng

Hàm truyền (transfer function) là hàm tổng của một nơ ron, biểu thị khả năng kích hoạt (activation) của nơ ron đó, còn được gọi là kích hoạt bên trong (internal activation) Các nơ ron này có thể tạo ra hoặc không tạo ra đầu ra trong mạng lưới nơ ron nhân tạo (ANN) Nói cách khác, đầu ra của một nơ ron có thể được truyền đến lớp tiếp theo trong mạng nơ ron hay không Mối quan hệ giữa kích hoạt bên trong và đầu ra được biểu thị bằng hàm truyền.

(Nguồn: bis.net.vn) nh 1 4: Ví dụ về hàm chuyển đổi và hàm tổng

Việc lựa chọn hàm chuyển đổi có tác động lớn đến kết quả của ANN Hàm chuyển đổi phi tuyến đƣợc sử dụng phổ biến trong ANN là sigmoid function

Trong đó : y T : hàm chuyển đổi y: hàm tổng

Kết quả của sigmoid function thuộc khoảng [0,1] nên còn gọi là hàm chuẩn hóa (normalized function)

Hàm chuyển được dùng để xử lý kết quả lớn ở đầu ra trước khi đưa sang tầng tiếp theo Thay thế cho hàm chuyển, người ta có thể dùng giá trị ngưỡng Giá trị ngưỡng kiểm soát đầu ra của nơron ở một tầng nào đó trước khi chuyển sang tầng tiếp theo Nếu đầu ra của nơron nhỏ hơn giá trị ngưỡng, nó sẽ không được đưa sang tầng tiếp theo.

Có nhiều kiến trúc mạng ANN đƣợc đề xuất Hình 1.5 mô tả một số kiến trúc có thể có của mạng ANN Kiến trúc thứ 2 từ trái sang chính là mạng nơ ron truyền thẳng nhiều lớp (multi-layer feed forward neural network) Hiện nay đây là kiến trúc thường được sử dụng bởi hiệu quả và độ chính xác mà nó mạng lại

(Nguồn: bis.net.vn) nh 1 5: Một số kiến trúc ANN

Quá trình học của ANN- learning processing: ANN đƣợc huấn luyện (training) hay đƣợc học (learning) theo 2 kỹ thuật cơ bản đó là học có giám sát (supervised learning) và học không giám sát (unsupervised learning)

Học có giám sát: Quá trình huấn luyện đƣợc lặp lại cho đến khi kết quả (dữ liệu đầu ra) của ANN đạt đƣợc giá trị mong muốn (desired value) đã biết Điển hình cho kỹ thuật này là mạng nơ ron lan truyền ngƣợc (backpropagation)

Bài toán rút trích luật hồi qui từ Mạng nơ ron

Mạng nơ ron nhân tạo đã đƣợc ứng dụng rất thành công trong các bài toán trong lĩnh vực khai phá dữ liệu đặc biệt là bài toán phân lớp và dự báo (classification and prediction) Và mặc dù mạng nơ ron thể hiện sự vƣợt trội so với các phương pháp khác nó vẫn thường được nhắc đến như là một hộp đen, nghĩa là quá trình làm việc để đƣa ra các kết quả của nó không thể giải thích đƣợc nhƣ là đối với cây quyết định Tuy nhiên không phải mạng nơ ron hoàn toàn là hộp đen

Chúng ta có thể rút trích các luật từ mạng nơ ron và sử dụng các luật này để giải thích quá trình làm việc của mạng Neural hay nói cách khác có thể “hiểu” đƣợc mạng nơ ron tốt hơn

-Một số hướng giải quyết

Có nhiều hướng giải quyết được đề xuất cho bài toán này Phần tổng quan này chúng ta chỉ trình bày sơ qua một số hướng giải quyết đã được công bố Phần các công trình liên quan (Chương 2) sẽ trình bày cụ thể hơn về cách giải quyết bài toán rút trích luật từ mạng nơ ron

Vào năm 1993, Towell và Shavlik [6] đã chứng minh đƣợc chúng ta có thể rút trích luật từ mạng nơ ron Họ sử dụng giải thuật dựa trên phương pháp tìm kiếm

(search-based method) do đó khá phức tạp Những tập con đầu vào có trọng số vƣợt quá bias của một đơn vị đƣợc tìm kiếm Sau đó những tập con này đƣợc viết lại thành các luật Để đơn giản quá trình tìm kiếm (search) một số giả định đƣợc đƣa ra Một trong những giả định này là sự kích hoạt (the activation) của một đơn vị

(unit) rất gần 1 hoặc rất gần 0 Điều này giới hạn khả năng của mạng bởi vì khi hàm chuyển đổi sigmoid đƣợc sử dụng nhƣ là sự kích hoạt thì sự kích hoạt của các đơn vị có thể có bất kì giá trị nào trong khoản [0,1]

Một cách tiếp cận mới đƣợc đề xuất bởi Rudy Setiono và Huan Liu [1] đó là giải thuật ba bước: Đầu tiên một mạng lan truyền ngược phân rã trọng số được xây dựng : các kết nối quan trọng (connection) tương ứng với trọng số lớn hơn Sau đó, mạng sẽ đƣợc cắt tỉa (pruning) bớt các kết nối không quan trọng mà vẫn giữ nguyên độ chính xác của mạng và cuối cùng là rút trích các luật dựa trên sự rời rạc hóa các giá trị kích hoạt của các nút ở tầng ẩn (hidden units) Cách tiếp cận này đã chứng minh sự đúng đắn bằng cách thực hiện cùng lúc quá trình rút trích luật từ cây quyết định Và nó cũng biễu diễn rõ hơn cách hoạt động của mạng nơ ron thông qua 2 tập luật : từ tầng input đến tầng ẩn và từ tầng ẩn đến tầng output Điều này thể hiện sự vượt trội so với hướng giải quyết dựa trên phương pháp tìm kiếm bên trên Thông thường với phương pháp bên trên để giảm chi phí trong việc tìm kiếm, người ta thường giới hạn các điều kiện ban đầu Với phương pháp này chúng ta không cần phải giới hạn

Dựa trên công trình của Rudy Setiono và các cộng sự, Kamruzzaman và Monirul Islam đƣa ra một giải thuật rút trích luật có tên là REANN [2] Giải thuật này khắc phục hầu hết các vấn đề còn tồn tại trong các giải thuật đã trình bày ở trên Mục đích của giải thuật này là tìm kiếm các luật đơn giản có độ chính xác cao trong dự đoán Thêm vào đó tác giả của giải thuật REANN đã xây dựng một mạng nơ ron ngay từ ban đầu thay vì lấy một mạng nơ ron đã đƣợc huấn luyện sẵn, điều này khiến cho giải thuật REANN có đƣợc lợi thế về tốc độ cũng nhƣ hiệu quả so với các giải thuật khác Luận văn này cũng dựa trên ý tưởng của giải thuật REANN để giải quyết bài toán dự báo cho dữ liệu chuỗi thời gian.

Mục tiêu nghiên cứu của luận văn

Mục tiêu nghiên cứu của luận văn tập trung vào ba vấn đề chính :

-Thu giản, cắt tỉa mạng

Nếu mạng nơ ron không phải là tối giản, tập luật sinh ra sẽ có các luật dƣ thừa ảnh hưởng đến độ chính xác của tập luật cũng như thời gian xử lí

-Rút trích luật từ mạng đã được tối giản

Hầu hết các thuật toán trích luật tập trung vào việc rời rạc hóa các giá trị kích hoạt của lớp ẩn Độ chính xác mong muốn quyết định độ mịn của quá trình rời rạc hóa Độ mịn càng nhỏ thì độ chính xác càng cao, gần như không thay đổi so với mạng nơ ron trước khi rời rạc hóa Tuy nhiên, quá trình này tạo ra nhiều luật hơn và kéo dài thời gian chạy.

-Ứng dụng việc rút trích luật nói trên vào bài toán dự báo dữ liệu chuỗi thời gian.bằng ANN Đây là muc tiêu nghiên cứu chính của đề tài Các công trình nghiên cứu hiện tại về rút trích luật từ mạng nơ ron hầu hết tập trung vào bài toán phân lớp Với bài toán phân lớp thì số đầu ra (output) ít và đã biết trước Trong khi đó với bài toán dự báo, số đầu ra là rất lớn Do đó chúng ta không thể áp dụng giải thuật hiện có vào bài toán dự báo Nhiệm vụ quan trọng của luận văn này là tìm cách áp dụng giải thuật rút trích luật vào bài toán dự báo dữ liệu chuỗi thời gian.

Bố cục của luận văn

Luận văn được chia làm 5 chương Chương 1 trình bày tổng quan về mạng nơ ron, bài toán rút trích luật từ mạng nơ ron và nhiệm vụ chính của đề tài

Chương 2 trình bày các công trình liên quan để giải quyết bài toán rút trích luật từ mạng nơ ron Một số phương pháp rút trích luật được trình bày cùng các nhận xét về ưu khuyết điểm của từng phương pháp

Chương 3 trình bày chi tiết bốn bước để giải quyết quyết vấn đề chính của luận văn, đó là xây dựng mạng với số nút tầng ẩn ít nhất, thu giản mạng, rời rạc hóa giá trị tầng ẩn và cuối cùng là rút trích luật

Chương 4 trình bày chi tiết cách hiện thực và thực nghiệm rút trích luật trên bốn tập dữ liệu khác nhau: tập dữ liệu chứng khoán Stock, tập dữ liệu lưu lượng nước thủy điện Hòa Bình, tập dữ liệu tỉ giá EURUSD và tập dữ liệu nhiệt độ 100 năm NewYork

Chương 5 trình bày kết luận và kiến nghị của luận văn Tiếp theo là phần phụ lục trình bày một số chứng minh và thuật ngữ liên quan.

CƠ SỞ LÝ THUYẾT

Công trình của Towell và Shavlik

Hai phương pháp rút trích luật từ ANN được mô tả bởi Towell và Shavlik [6]:

Phương pháp đầu tiên là thuật toán tập hợp con (subset algorithm), tìm kiếm các tập con bao gồm các cạnh nối đến một đơn vị (unit) có tổng trọng số vƣợt ngƣỡng bias của nút đó Vấn đề chính gặp phải với giải thuật này là chi phí của việc tìm kiếm tất cả các tập con tăng lên khi kích thước của ANNs tăng lên

Phương pháp thứ hai (còn được gọi là MofN) là một sự cải tiến của phương pháp tập hợp con được thiết kế tìm kiếm một cách tường minh các luật có dạng M-of-M từ cơ sở tri thức ANNs Nó kiểm tra một nhóm các kết nối (connection) thay vì một kết nối duy nhất trong ANNs để tìm ra sự đóng góp của nó trong sự kích hoạt của node Điều này đƣợc thực hiện bằng cách phân nhóm các kết nối của ANNs (clustering) Vấn đề gặp phải ở đây là phương pháp MofN sử dụng hàm kích hoạt ngƣỡng, không phải là liên tục và sử dụng một số cố định các nút ẩn dẫn tới việc yêu cầu một số kiến thức được biết trước khi vấn đề được xử lí.

Công trình của Rudy Setiono và các cộng sự

Thuật toán X2R được H Liu và S.T.Tan phát triển vào năm 1995 Đây là một thuật toán đơn giản và nhanh chóng, có thể áp dụng cho cả dữ liệu số và dữ liệu rời rạc X2R có khả năng tạo ra các luật ngắn gọn từ dữ liệu thô thông qua việc vận dụng thông tin bậc nhất Độ chính xác của các luật mà X2R tạo ra khá cao, đạt tỷ lệ lỗi không lớn hơn tỷ lệ không thống nhất của dữ liệu ban đầu.

Vấn đề của X2R là các luật sinh ra bởi nó phụ thuộc vào thứ tự (order sensitive) nghĩa là các luật đƣợc chạy theo thứ tự

Rudy Setiono và H.Liu trình bày một cách mới để hiểu ANNs bằng cách rút trích luật với thuật toán 3 bước (3 phases algorithm) [1]

Trong mạng backpropagation phân rã trọng số, các kết nối quan trọng được biểu thị bằng trọng số lớn hơn, phản ánh tầm quan trọng của chúng trong mô hình Quá trình này bao gồm xây dựng một mạng neural nơi trọng số được cập nhật thông qua quá trình truyền ngược để tối ưu hóa kết quả đầu ra dựa trên tập dữ liệu được cung cấp.

Trong bước thứ hai,mạng được cắt tỉa (pruning) theo cách mà các kết nối có đóng góp không đáng kể(không quan trọng-insignificant) sẽ bị xóa mà vẫn bảo toàn đƣợc độ chính xác của mạng

Trong bước thứ ba, các luật được rút trích một cách đệ quy bằng cách rời rạc hóa các giá trị kích hoạt của các đơn vị ẩn (hidden units)

Nhược điểm của thuật toán ba bước này nằm ở việc giải thuật rời rạc hóa được sử dụng để rời rạc hóa giá trị đầu ra của các nút ẩn vẫn chưa hiệu quả.

Năm 2002, Rudy Setiono đề xuất một phương pháp mới REFANN (rule extraction from function approximating neural network) [24] để rút trích luật từ ANNs đã đƣợc huấn luyện cho sự hồi quy phi tuyến Nó thể hiện rằng REFANN có đƣợc sử dụng để rút trích Trong một số bài toán, REFANN rút trích một số ít các luật biểu diễn tri thức hữu dụng cho việc giải thích vấn về một cách dễ dàng

REFANN xấp xỉ tiếp tuyến hyperbolic của hàm kích hoạt của nút ẩn bằng cách sử dụng một hàm 3 mẫu hoặc 5 mẫu đơn giản (3-piece or 5 piece) Nó sinh ra các luật có dạng tuyến tính tương đương với ANNs đã được huấn luyện Vấn đề của REFANN là nó cần phải chia kích hoạt của nút ẩn vào hàm 3-mẫu hay 5-mẫu Điều này có thể không khả thi với các bài toán phức tạp

Những vấn đề của hai thuật toán đã tr nh bày được tóm tắt như sau:

(1) Sử dụng số xác định trước và số cố định các nút ẩn dẫn đến việc đòi hỏi về kinh nghiệm của chuyên gia con người và một số tiền kiến thức trước khi giải quyết vấn đề

(2) Thuật toán Clustering sử dụng để rời rạc hóa giá trị đầu ra của nút ẩn chưa thực sự hiệu quả

(3) Chi phí tính toán đắt (4) Không thể sinh ra các luật ngắn gọn.

Công trình của S M Kamruzzaman và Md Monirul Islam: giải thuật REANN-Rule Extraction from ANNs

REANN-Rule Extraction from ANNs

Dựa trên công trình của Rudy Setiono và các cộng sự [24], Kamruzzaman và Monirul Islam đƣa ra một giải thuật rút trích luật có tên là REANN [2] Giải thuật này khắc phục hầu hết các vấn đề còn tồn tại trong các giải thuật đã trình bày ở trên Mục đích của giải thuật này là tìm kiếm các luật đơn giản có độ chính xác cao trong dự đoán

So sánh với các giải thuật đã đƣợc trình bày bên trên , lợi thế chính của giải thuật REANN bao gồm:

(i) Nó có thể xác định kiến trúc gần tối ƣu của kiến trúc ANN một cách tự động sử dụng chiến thuật cắt tỉa và xây dựng (constructive-pruning strategy)

(ii) Nó sử dụng một phương pháp hiệu quả để rời rạc hóa giá trị đầu ra của các nút ẩn

(iii) Nó không tốn nhiều chi phí về tính toán

(iv) Nó rút trích các luật đơn giản, dễ hiểu , không phụ thuộc vào thứ tự và có độ chính xác cao

Các bước chính của REANN được tóm tắt ở hình minh họa Hình 2.1 Các giải thích rõ hơn được trình bày bên dưới nh 2.1: Lưu đồ giải thuật REANN

Bước 1: Khởi tạo một kiến trúc ANN ban đầu Kiến trúc ban đầu có ba lớp tức là một đầu vào, đầu ra và một tầng ẩn Số lƣợng các nút trong các đầu vào và đầu ra tầng là số lượng đầu vào và đầu ra của vấn đề tương ứng Ngẫu nhiên khởi tạo tất cả trọng số kết nối của ANN trong một phạm vi nhỏ

Bước 2: Xác định số lượng các nút ẩn trong ANN bằng cách sử dụng các thuật toán xây dựng cơ bản

Bước 3: Loại bỏ các nút đầu vào và kết nối thừa bằng thuật toán cắt tỉa cơ bản, sau đó kiến trúc ANN chỉ giữ lại các nút và kết nối quan trọng.

Bước 4: Rời rạc hóa các kết quả đầu ra của các nút ẩn bằng cách sử dụng một giải thuật gom cụm (clustering) có heurictis hiệu quả Lý do cho việc rời rạc hóa kết quả là kết quả đầu ra của các nút ẩn là liên tục do đó các luật không thể dễ dàng đƣợc rút trích từ ANN

Bước 5: Sinh các luật ánh xạ các quan hệ giữa đầu vào và đầu ra Nhiệm vụ của việc sinh ra các luật được phân ra thành ba bước

Trong bước đầu tiên, các luật được sinh ra sử dụng giải thuật rút trích luật REx để mô tả đầu ra của ANNs dựa trên sự rời rạc hóa các giả trị của các nút ẩn

Trong bước tiếp theo, các luật được sinh ra bởi giải thuật REx để mô tả các giá trị của nút ẩn đƣợc rời rạc hóa dựa trên đầu vào của chúng

Bước cuối cùng , các luật được sinh ra bằng cách kết hợp 2 tập luật được sinh ra ở 2 bước trên

Giải thuật REANN trông có vẻ rất đơn giản Thực ra REANN bao gồm bốn bước được thực hiện tuần tự từng bước một Sau đây chúng ta sẽ đi vào chi tiết từng phần một cách tỉ mỉ hơn bao gồm cả các giải thích về các kĩ thuật đƣợc chọn: a Giải thuật xây dựng b Giải thuật cắt tỉa c Giải thuật gom cụm heuristic d Giải thuật rút trích luật (REx: Rule extraction algorithm)

2.3.1 Giải thuật xây dựng (Constructive Algorithm)

Một nhƣợc điểm của thuật toán lan truyền ngƣợc truyền thống (backpropagation) là cần phản xác định số lượng các nút trong tầng ẩn trước khi huấn luyện REANN sử dụng một giải thuật xây dựng cơ bản dựa trên giải thuật tạo ra các nút động đƣợc đề xuất bởi T Ash [31] Các bước chính của thuật toán xay đựng được sử dụng trong REANN đƣợc tóm tắt trong Hình 2.2

Bước 1:Tạo một ANN ban đầu bao gồm ba tầng: tầng nhập, tầng ẩn và tầng xuất Số lƣợng các nút trong tầng nhập và tầng xuất giống nhƣ số lƣợng đầu vào và đầu ra của bài toán Ban đầu, tầng ẩn chỉ có một nút Ngẫu nhiên khởi tạo tất cả các trọng số kết nối trong một phạm vi nhất định

Bước 2: Sử dụng tập huấn luyện (training set) để huấn luyện cho mạng bằng cách sử dụng giải thuật lan truyền ngược cho đến khi tỉ lệ lỗi nhỏ hơn cho trước bởi người sử dụng nh 2.2: Lưu đồ giải thuật xây dựng trong REANN

Bước 3: Tính toán lỗi của ANN dựa trên tập kiểm tra (validation set) Nếu tỉ lệ lỗi đƣợc tìm thấy không thể chấp nhận đƣợc (quá lớn) có nghĩa là kiến trúc hiện tại của ANN là không phù hợp , ta chuyển qua bước tiếp theo Nếu không, ta dừng qua trình huấn luyện Lỗi được tính toán theo các công thức dưới đây:

Trong đó k là số lƣợng mẫu và C là số các nút đầu ra t pi và S pi là giá trị đầu ra mục tiêu và thực tế (target and actual output) của mẫu thứ i của nút đầu ra thứ p

Giá trị S pi đƣợc tính theo công thức sau:

   (2) Ở đây h là số lƣợng các nút ẩn trong mạng, x i là một mẫu đầu vào n-chiều, i=1,2,…k, w m là một vector trọng số p-chiều của các cạnh kết nối tầng nhập và nút ẩn thứ m, m = 1,2…h, v m là một vector trọng số c chiều của các cạnh nối giữa nút tầng ẩn thứ m và tầng xuất Hàm kích hoạt cho tầng xuất là hàm sigmoid:

 và hàm tiếp tuyến hyperbol của tầng ẩn:

Bước 4: Thêm một nút ẩn vào tầng ẩn Khởi tạo ngẫu nhiên trọng số của nút mới add và chuyển tới Bước 2

Mặc dù các thuật toán xác định kiến trúc khác , chẳng hạn nhƣ cắt tỉa (pruning) và các thuật toán tiến hóa (genetic) có thể đƣợc sử dụng trong REANN, những lí do để sử dụng thuật toán xây dựng gồm 4 điểm chính:

Tóm tắt chương 2

Chương này chúng ta đã trình bày qua ba công trình nghiên cứu tiêu biểu giải quyết bài toán rút trích luật từ mạng nơ ron Khởi đầu với công trình của

Công trình nghiên cứu của Towell & Shavlik [6] đánh dấu một bước tiến quan trọng, tiếp nối những đóng góp của Rudy Setiono và cộng sự [1, 4, 5, 9, 16, 21, 24] Nổi bật trong số đó, nghiên cứu thứ ba của Kamruzzaman và Monirul Islam [2] đã tích hợp các ưu điểm và khắc phục nhiều hạn chế tồn tại ở các công trình trước đó.

Một giải thuật khá hiệu quả để rút trích luật đƣợc đề xuất trong công trình thứ ba đã đáp ứng đƣợc mục tiêu thứ nhất và thứ hai của luận văn đó là tìm ra giải thuật để cắt tỉa và rút trích luật từ mạng nơ ron Tuy nhiên nó chỉ áp dụng cho bài toán phân lớp (classification) Như ta đã trình bày ở phần tổng quan (Chương 1) bài toán dự báo (prediction) trên dữ liệu chuỗi thời gian có đầu ra khác hẳn so với bài toán phân tầng Do đó để giải quyết mục tiêu thứ ba của luận văn : rút trích luật được cho mạng nơ ron của bài toán dự báo chúng ta cần phải cải tiến giải thuật này Phần giải quyết mục tiêu thứ ba của luận văn sẽ được trình bày trong chương Phương pháp giải quyết vấn đề (Chương 3) của luận văn.

PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ

Xây dựng mạng nơ ron

Bài toán rút trích luật từ mạng nơ-ron ban đầu xuất phát từ một mạng nơ-ron đã được huấn luyện sẵn để giải quyết một bài toán cho trước nào đó, với kiến trúc của mạng thường được tối ưu hóa bằng các thuật toán tinh chỉnh cấu hình mạng nơ-ron như giải thuật tiến hóa hay giải thuật cắt tỉa Tuy nhiên, giải thuật REANN đề xuất xây dựng mạng nơ-ron ngay từ ban đầu sẽ giúp quá trình thu giản mạng được tốt hơn.

Mục đích của giải thuật xây dựng mạng trong REANN là tìm ra cấu hình mạng có số node ẩn ít nhất thỏa mãn độ chính xác cho phép Đầu tiên ta tạo một ANN ban đầu bao gồm ba tầng: tầng nhập, tầng ẩn và tầng xuất Số lƣợng các nút trong tầng nhập và tầng xuất giống nhƣ số lƣợng đầu vào và đầu ra của bài toán

Ban đầu, tầng ẩn chỉ có một nút Ngẫu nhiên khởi tạo tất cả các trọng số kết nối trong một phạm vi nhất định Sau đó sử dụng tập huấn luyện để huấn luyện cho mạng bằng cách sử dụng giải thuật lan truyền ngƣợc với số lần lặp  hợp lí

Tính toán lỗi của ANN dựa trên tập kiểm tra Nếu tỉ lệ lỗi đƣợc tìm thấy không thể chấp nhận đƣợc (quá lớn) có nghĩa là kiến trúc hiện tại của ANN là không phù hợp , ta chuyển qua bước tiếp theo Nếu không, ta dừng qua trình huấn luyện Lỗi được tính toán theo các công thức tổng bình phương sai số Hàm kích hoạt đƣợc sử dụng là hàm tiếp tuyến hyperbol  cho tầng ẩn và hàm sigmoid  cho tầng xuất

Hàm kích hoạt cho tầng ẩn:   y y y e y y e e

Hàm kích hoạt cho tầng xuất:   1

Nếu tỉ lệ lỗi ở bước trên không chấp nhận được khi đó ta tiến hành thêm một nút mới vào tẩng ẩn, khởi tạo ngẫu nhiên trọng số của nút mới thêm vào và tiếp tục training cho đến khi tỉ lệ lỗi chấp nhận đƣợc

Mặc dù các thuật toán xác định cấu trúc khác như cắt tỉa (pruning) và các thuật toán tiến hóa (genetic) có thể được sử dụng trong REANN, nhưng ở đây giải thuật xây dựng thể hiện nhiều ưu điểm hơn.

Thứ nhất, nó là đơn giản nhất trong các thuật toán xây dựng để xác định mộ mạng ban đầu trong khi giải thuật cắt tỉa tồn tại một vấn đề thông thể xác định trong thực tế đó là mạng ban đầu nên đƣợc xay dựng lớn đến mức nào

Thứ hai, giải thuật xây dựng luôn luôn tìm lời giải là các mạng nhỏ trước

ANN có hiệu suất tính toán cao hơn các thuật toán cắt tỉa khác, vì chúng tiêu tốn nhiều thời gian hơn trong quá trình huấn luyện mạng Ngược lại, kích thước đầu ra nhỏ hơn khiến ANN ít có khả năng vượt quá dữ liệu huấn luyện, từ đó cải thiện khả năng tổng quát hóa.

Thứ ba, sự hội tụ mạnh mẽ của thuật toán xây dựng theo sát khả năng xấp xỉ phổ quát của nó

Cuối cùng, phương pháp tiếp cận xây dựng thường yêu cầu một số ít các tham số đặc biệc Việc sử dụng nhiều các thông số yêu cầu người sử dụng phải biết một số kiến thức thường rất khó để nắm bắt trong những bài toán thực tế.

Thu giản mạng nơ ron

Nhƣ ta đã trình bày, giải thuật xây dựng mạng nơ ron sẽ cố gắng xây dựng một mạng nơ ron với số nút trong tầng ẩn là ít nhất Do đó quá trình thu giản mạng nơ ron chỉ tập trung vào cắt tỉa các kết nối không cần thiết Thông thường, phương pháp sử dụng để loại bỏ các kết nối của ANNs bao gồm thêm vào một yếu tố phạt cho hàm lỗi Với hy vọng rằng với việc thêm vào một yếu tố phạt cho hàm lỗi, những kết nối không cần thiết sẽ bị suy giảm và có trọng số nhỏ và sau đó việc cắt tỉa sẽ giảm sự phức tạp đáng kể

Thuật toán cắt tỉa loại bỏ các cạnh của mạng nơ-ron nhân tạo (ANN) dựa trên độ lớn của trọng số Mục đích là thu được một tập các quy tắc đơn giản mô tả quá trình phân loại, loại bỏ các cạnh và nút không cần thiết Để đạt được điều này, các trọng số phải không quá lớn và trọng số kết nối không liên quan phải hội tụ về không Một hàm phạt được sử dụng để thực hiện mục đích này.

Bước 1: Huấn luyện mạng cho đến khi đạt được một độ chính xác mong muốn cho trước thỏa điều kiện tất cả các mẫu đầu vào phân loại chính xác: max pi max pi pi 1 , 1, 2, , p e  p S  t   p  C

Cho  1 và  2 là 2 số vô hướng dương với :  1 +  2

Ngày đăng: 24/09/2024, 13:40

HÌNH ẢNH LIÊN QUAN

Hình 1.6 thể hiện  phân loại các thuật toán học và kiến trúc của ANN - Luận văn thạc sĩ Khoa học máy tính: Rút trích luật từ mạng Nơron
Hình 1.6 thể hiện phân loại các thuật toán học và kiến trúc của ANN (Trang 17)