1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Kỹ thuật điều khiển hệ mờ & nơron: Phần 2

67 7 0

Đ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

Định dạng
Số trang 67
Dung lượng 695,62 KB

Nội dung

Nối tiếp phần 1, phần 2 của tài liệu Hệ mờ & nơron trong kỹ thuật điều khiển tiếp tục trình bày các nội dung chính sau: Mạng Perceptrons; Mạng tuyến tính; Hệ mờ-nơron; Thông tin thêm về ANFIS và bộ soạn thảo ANFIS EDITOR GUI. Mời các bạn cùng tham khảo để nắm nội dung chi tiết.

Chương MẠNG PERCEPTRONS 4.1 MỞ ĐẨU Chương với mục tiêu là: Giới thiệu luật học, phương pháp để diễn giải thay đổi mà làm mạng, huấn luyện thủ tục mà nhờ mạng điều chỉnh để làm cơng việc đặc biệt Tiếp theo ta tìm hiểu hàm công cụ để thiết lập mạng Perceptron đơn giản đồng thời khảo sát hàm để khởi tạo mô mạng tương tự Ta sử dụng mạng Perceptron phương tiện biểu lộ khái niệm Rosenblatt thiết lập nhiều biến thể mạng perceptron Một dạng đơn giản mạng lớp đơn mà hàm trọng độ dốc huấn luyện để đưa véc tơ đích xác có véc tơ vào tương ứng gửi tới Kỹ thuật huấn luyện gọi luật học perceptron Perceptron làm phát sinh nhiều hội quan trọng cho khả khái quát hoá từ véc tơ huấn luyện chúng học từ điều kiện đầu phân bổ mối quan hệ cách ngẫu nhiên Perceptron đặc biệt phù hợp cho vấn đề đơn giản phân loại sản phẩm Chung mạng nhanh tin cậy cho vấn đề chúng giải Hơn nữa, thơng hiểu hoạt động Perceptron tạo sở cho hiểu biết mạng phức tạp Trong chương này, ta định nghĩa luật học, giải thích mạng Perceptron luật học nó, làm để khởi tạo mô mạng Perceptron Các vấn đề nêu vấn đề tóm lược bản, để hiểu sâu ta cần đọc [10] 4.1.1 Mơ hình nơron perceptron Một nơron Perceptron sử dụng hàm chuyển hardlim hình 4.1 Mỗi đầu pi có hàm trọng với trọng liên kết wlj tổng đầu vào kể độ dốc b n = ∑ wl j + b gửi đển hàm chuyển bước nhảy (hard-limit) (Hình 4.1b) Đầu nơron perceptron có giá trị n lớn có giá trị n nhỏ khơng: 98 Hình 4.1a,b Nơron với R đầu vào a) Mơ hình nơron, b) Hàm chuyển bước nhảy Với hàm chuyển hard-limit cho phép Perceptron có khả phân loại véc tơ vào cách phân chia không gian vào thành vùng, phân cách với đường biên giới L ứng với phương trình: W.p + b = Ví dụ: Xét nơron Perceptron có đầu vào với hàm trọng w1,1= -1, w1,2 = độ gốc b = Ta có: n = W.p + b = w1.1p1 + w1,2.p2 + b = -pl + p2 + Đường biên giới L hình Đường vng góc với ma trận trọng W di chuyển dọc theo độ dốc b Các véc tơ vào phía bên trái đường L có giá trị đầu vào mạng lớn 0, vậy, nơron hard-limit đưa Đường biên giới chuyển hướng di chuyển đển chỗ để phân loại không gian vào mong muốn cách lựa chọn hàm trọng giá trị độ dốc Nơron hard-limit khơng có độ dốc ln có đường biên giới qua gốc toạ độ Cộng thểm độ dốc cho phép nơron giải tốn tập véc tơ vào không nằm cạnh khác gốc toạ độ Độ dốc cho phép đường biên giới thay đổi rời xa khỏi gốc hình 4.2 Ta thay đổi hướng đường phân cách, chọn đầu vào để phân loại quan sát trình lặp luật học 99 Hình 4.2 Sự phân loại nơron Perceptron đầu vào 4.1.2 Kiến trúc mạng perceptron Hình 4.3a,b biểu diễn cấu trúc mạng Perceptron bao hàm lớp với S nơron Perceptron nối với R đầu vào thông qua tập hàm trọng WijI Luật học perceptron miêu tả ngắn gọn khả huấn luyện lớp đơn Do vậy, ta coi mạng lớp, có khả giải toán đơn giản Những hạn chế Perceptron đề cập đển phần cuối chương Hình 4.3a,b Kiến trúc lớp mạng Perceptron a) Kiến trúc đầy đủ, b) Ký hiệu tắt 4.2 THIẾT LẬP VÀ MÔ PHỎNG PERCEPTRON TRONG MATLAB 4.2.1 Thiết lập Để thiết lập mạng perceptron ta dùng hàm newp với cú pháp: 100 newp net = newp(PR,S) PR max giá trị R phần tử vào, S số nơron Hàm chuyển mặc định perceptron hardlim Ví dụ: để thiết lập mạng perceptron với phần tử, lớp, giới hạn véc tơ vào từ - ta dùng lệnh: net = newp([0 2],1); Ta thấy mạng thiết lập cách thực chuỗi lệnh: inputweights = net.inputweights{1,1} Kết cho inputweights = delays: initFcn: 'initzero' learn: learnFcn: 'learnp' learnParam: [ ] size: 11 11 userdata: [IXI structl weightFcn: 'dotprod' Hàm học mặc định cho mạng Perceptron hàm learnp (sẽ đề cập phần sau) Tích số véc tơ vào với ma trận liên kết cộng với độ dốc đưa đển hàm chuyển hardlim Hàm khởi tạo mặc định initzero sử dụng để thiết lập giá trị ban đầu trọng liên kết (thiết lập giá trị ban đầu zero) Mô mạng ta được: biases = net.biases{1} gives biases = initFcn: 'initzero' learn: learnFcn: 'learnp' learnparam: [ ] size: userdata: [1x1 struct] 101 Ta thấy giá trị mặc định ban đầu độ dốc 4.2.2 Mô (sim) Để thấy làm việc sim, ta xét ví dụ cần tạo Perceptron lớp có đầu vào (hình 4.4) Ta định nghĩa mạng với: net = newp([-2 2;-2 +2],1); Như biết trên, hàm trọng độ dốc ban đầu lấy giá trị mặc định 0, ta muốn tập khác 0, ta cần phải thiết lập chúng Ví dụ để thiết lập hàm trọng độ dốc là: w1,1 = -1, w1,2 = b = ta thực dòng lệnh: net.IW{1,1}= [-1 1]; net.b{1} = [1]; Để đảm bảo chắn tham số thiết lập xác, ta kiểu tra chúng với lệnh: net.IW{1,1} ans -1 net.b{1} ans = Bây ta thấy mạng đưa tín hiệu, cạnh đường biên giới perceptron P1 = [1;1]; a1 = sim(net,p1) a1 = and for p2 = [1;-1] a2 = sim(net,p2) a2 = 102 Như perceptron phân loại đầu vào cách xác Chú ý: Ta đưa đển đầu vào chuỗi liệu, đầu ơng nhận chuỗi liệu Ví dụ: p3 = {[1;1] [1;-1]}; a3 = sim(net,p3) a3 = [1] [0] 4.2.3 Khởi tạo Ta sử dụng hàm init để thiết lập lại (reset) hàm trọng độ dốc giá rị ban đầu Để làm điều đó, bắt đầu với mạng: net = newp(1-2 2;-2 +2],1); Để kiểm tra hàm trọng nó, ta dùng lệnh: wts = net.IW{1,1} Kết ta được: wts = 0 Tương tự, ta kiểm tra độ dốc b = bias = net.b{1} Kết quả: hias = Bây ta thiết lập hàm trọng có giá trị 4, độ dốc net.IW{1,1} = [3,4]; net.b{1} = 5; Kiểm tra lại kết wts = 34 bias = Sử dụng init để reset the hàm trọng độ dốc giá trị ban đầu net - init(net); 103 Kiểm tra wts 00 bias = Ta thay đổi cách thức perceptron khởi tạo với init Ví dụ, ta ó thể định nghĩa lại hàm trọng đầu vào mạng độ dốc intFcn ngẫu nhiên sau áp dụng inh sau: net.inputweights{1,1}.initFcn = 'rands'; net.biases{1}.initFcn = 'rands'; net = init(net); Kiểm tra hàm trọng độ dốc wts = 2309 0.5839 biases = -0.1106 Ta thấy hàm trọng độ dốc lấy số ngẫu nhiên 4.3 CÁC LUẬT HỌC 4.3.1 Khái niệm Luật học thủ tục nhằm sửa đổi hàm trọng độ dốc mạng (thủ tục coi thuật toán huấn luyện) Luật học áp dụng để huấn luyện mạng thực vài nhiệm vụ cụ thể Các luật học mạng phân thành loại: học có giám sát học khơng có giám sát + Đối với học có giám sát luật học cung cấp với tập ví dụ (tập huấn luyện) đặc trưng mạng: {P1,t1}; {p2,t2} ;{pQ,tQ} Trong PQ đầu vào mạng vả từ đầu đáp ứng xác tương ứng (đích) Giống đầu vào áp dụng cho mạng, đầu mạng so sánh với đích Luật học sử dụng để điều chỉnh hàm trọng độ dốc mạng nhằm dịch chuyển dần đầu mạng tiến dần đển đích + Đối với học không giám sát, hàm trọng độ dốc mạng thay 104 đổi tương ứng giá trị đầu vào mà khơng có sẵn đích đầu Phần lớn thuật toán biểu diễn thành tập bó Người ta chia mẫu vào thành số cụ thể hạng (loại) Điều đặc biệt hữu ích ứng dụng cụ thể véc tơ lượng tử hoá Trong chương ta đề cập đển thuật toán huấn luyện mạng perceptron theo kiểu học có giám sát Trong Matlab người ta sử dụng hàm để huấn luyện mạng hàm learnp hàm train 4.3.2 Luật học Perceptron (learnp) Perceptron huấn luyện theo mẫu mong muốn cho trước Mẫu mong muốn tập hợp thành tập cặp đầu vào, đầu ra: P1, t1; p2, t2; ; pQ, tQ đó: p đầu vào mạng, t đáp ứng tương ứng đầu Mục đích giảm sai lệch e đáp ứng nơron hàm mục tiêu t (e = t - a) Luật học perceptron (leranp) tính trước thay đổi mong muốn hàm trọng độ dốc gửi tới véc tơ vào p kết hợp với sai lệch e Do véc tơ đích t có giá trị 1, nơron perceptron (với hàm truyền dạng hardlim) đầu có giá trị Mỗi lần lệnh learnp thực hiện, mạng có giá trị kết đầu xác Luật học perceptron hội tụ đển kết cuối sau số hữu hạn lần lặp có tồn đáp án Nếu không sử dụng độ dốc, learnp làm việc để tìm đáp án việc thay đổi véc tơ trọng liên kết W để rõ véc tơ đầu vào thuộc lớp hay lớp Kết dùng để định đường biên giới đường trực giao với W phân loại xác véc tơ vào Trong q trình huấn luyện mạng xảy trường hợp véc tơ đầu vào (p) xuất đáp ứng mạng (a) tính tốn: + Trường hợp 1: véc tơ đầu vào xuất đáp ứng đầu (a = t, e = t - a = 0) véc tơ hàm trọng W không thay đổi + Trường hợp 2: đầu nơron cịn trước (a = 0; t = e = t - a = 1) véc tơ đầu vào P làm tăng véc tơ hàm trọng W Điều làm cho véc tơ trọng tiến gần tới véc tơ vào, khả véc tơ vào phân loại a = tương lai + Trường hợp 3: đầu nơron trước (a = 1; t = e = t - a = -l) véc tơ vào P trừ véc tơ hàm trọng W Điều làm cho véc tơ trọng ngày xa véc tơ vào, véc tơ vào phân loại a = tương lai Luật học perceptron viết cô đọng mối quan hệ sai lệch e = t - a thay đổi véc tơ trọng ∆W sau: Trường hợp 1: Nếu e = thay đổi giá trị ∆W 105 Trường hợp 2: Nếu e = thay đổi giá trị ∆W Trường hợp 3: Nếu e = -1 thay đổi giá trị ∆W trường hợp viết dạng biểu thức đơn giản: ∆W = (t - a)pT = epT Ta nhận biểu thức để thay đổi độ dốc nơron với ý rằng, độ dốc đơn giản hàm trọng có đầu vào 1: ∆b = (t - a).(1) = e Đối với trường hợp lớp nơron ta có: ∆W = (t - a)PT = epT ∆b = (t - a).(1) = e Luật học perceptron tóm tắt sau: Wmới = Wcũ + ePT bmới=bcũ + e Trongđó e = t-a Ví dụ: xét nơron đơn giản có véc tơ vào với phần tử net = newp([-2 2;-2 +2],1); Để đơn giản ta thiết lập độ dốc 0, hàm trọng 0,8 net.b{1} = [0]; w = [1 -0 8]; net.IW{1,1} = w; Cặp vào đích xác định bởi: p = [t; 2]; t = [1]; Ta tính toán đầu sai lệch với lệnh: a = sim(net,p) Kết quả: a = e = t- a = Và cuối sử dụng hàm learnp để nhận thay đổi hàm trọng dw - learnp(w, p, [ ], [ ], [ ], [ ], e, [ ], [ ], [ ]) dw : Hàm trọng thu là: 106 W = W + dW W = 2.0000 1.2000 Quá trình tìm hàm trọng (và độ dốc mới) lặp lặp lại cho đển khơng cịn sai lệch Chú ý: Luật học perceptron đảm bảo để hội tụ sau số hữu hạn bước tất tốn giải perceptron Nó bao hàm tất tốn phân loại “tách rời tuyến tính” (linearly separable) Các đối tượng để phân loại trường hợp cách li đường đơn 4.3.3 Huấn luyện mạng (train) Lệnh sim hàm learnp sử dụng lặp để đưa liều đầu vào đển perceptron để thay đổi hàm trọng độ dốc perceptron theo sai lệch đầu mạng đích, perceptron tìm hàm trọng độ dốc cuối để giải toán đặt (với điều kiện tốn perceptron giải được) Mỗi đường ngang xuyên qua tất đầu vào huấn luyện véc tơ đích gọi lệnh pass Hàm train đưa vòng lặp tính tốn Trong pass hàm trình thu thơng qua chuỗi tín hiệu vào, tính tốn đầu ra, sai số điều chỉnh mạng để véc tơ tín hiệu vào chuỗi giống đầu vào có Chú ý huấn luyện trình khơng đảm bảo kết mạng làm công việc Giá trị W b cần kiểm tra việc tính tốn đầu mạng theo véc tơ vào để thấy tất đích đạt Nếu mạng thực khơng thành cơng, cần huấn luyện thểm cách gọi lại train với hàm trọng độ dốc cho lần huấn luyện thểm, phân tích để thấy tốn khơng phù họp cho perceptron (Các tốn khơng thể giải mạng perceptron trình bày mục cuối chương này) Để minh hoạ cho thủ tục huấn luyện train, ta xét nơron perceptron với véc tơ vào có phần tử hình vẽ Đây mạng đơn giản cho phép ta thực tính tốn tay (nếu cần) Giả thiết ta sử dụng mạng để giải toán phân loại với cặp véc tơ đích sau: 107 điều chỉnh mẫu vượt giới hạn Anr's chọn tham số mơ hình có liên quan đển sai số kiểm tra tối thiểu Trong ví dụ này, tuỳ chọn kiểm tra anrs có hữu ích + Thử liệu tương phản với FIS huấn luyện (Testing Your Data Against thể Traincd FIS) Để thử FIS tương phản với liệu kiểm tra, chọn hộp kiểm tra Checking data phần Tesst FIS GUI, bấm Test now Ta kiểm tra liệu kiểm tra tương phản với FIS (hình 6.18) Chú ý: " Khi tải thêm liệu với anfis: Nếu tải liệu vào anfis sau xoá liệu tải trước đó, ta phải chắn liệu tải có số đầu vào liệu trước Nếu không ta cần phải khởi động lại anfisedit từ dòng lệnh " Khi lựa chọn liệu kiểm tra xố liệu: Nếu khơng muốn sử dụng phần lựa chọn liệu kiểm tra anfis, ta không cần tải liệu kiểm tra trước huấn luyện FIS Nếu ta định huấn luyện lại FIS mà không cần liệu kiểm tra, ta loại bỏ liệu kiểm tra hai cách: - Cách 1: Lựa chọn nút Checking phần Load data GUI sau bấm vào nút Clear Data để bỏ liệu kiểm tra - Cách 2: Đóng GUI tới dòng lệnh gõ lại anfisedit Trong trường hợp phải tải lại liệu kiểm tra Sau xóa liệu, ta cần tạo FIS 150 " Khi FIS tạo ta sử dụng kinh nghiệm huấn luyện kỳ để định số kỳ huấn luyện muốn huấn luyện kỳ hai b Ví dụ 2: Dữ liệu kiểm tra khơng hợp với mơ hình Trong ví dụ này, khảo sát điều xảy liệu huấn luyện kiểm tra khác hoàn toàn Để xem cách sử dụng soạn thảo ANFIS GUI để nghiên cứu số điều tập liệu khác chúng Ta thực theo bước sau: " Xoá tất liệu huấn luyện liệu kiểm tra Để làm điều bấm vào nút Clear Plot bên phải cửa sổ soạn thảo " Tải liệu huấn luyện liệu kiểm tra theo thứ tự định sẵn fuzex2trnData fuzex2chkData vào vùng làm việc MATLAB tương tự làm ví dụ trước Trên hình ta nhận liệu hình 6.19 Huấn luyện FIS cho hệ thống tương tự ví dụ trước, khác chọn kỳ huấn luyện 60 trước huấn luyện Ta nhận sai số huấn luyện sai số kiểm tra (hình 6.20) Hình 6.19 151 Hình 6.20 Ta thấy sai số kiểm tra lớn Dường sai số kiểm tra nhỏ lấy kỳ Chúng ta nhớ lại việc sử dụng tuỳ chọn liệu kiểm anfis cách tự động để thiết lập tham số có liên kết với sai số kiểm tra nhỏ Rõ ràng tập hàm liên thuộc lựa chọn tốt để tạo mẫu liệu kiểm tra Vậy, vấn đề gì? Ví dụ làm sáng tỏ vấn óc đề cập trên, liệu kiểm tra đưa đển anfis để huấn luyện khác hoàn toàn với liệu huấn luyện Nó thể tầm quan trọng việc.hiểu biết rõ đặc điểm liệu ta lựa chọn liệu huấn luyện kiểm tra Nếu không đúng, ta phân tích sơ đồ sai số kiểm tra để xem liệu kiểm tra có hoạt động hiệu với mơ hình huấn luyện hay khơng Trong ví dụ này, sai số kiểm tra đủ lớn thấy cần phải có nhiều liệu để lựa chọn cho việc huấn luyện thay đổi lựa chọn hàm liên thuộc (cả số lượng kiêu hàm liên thuộc) Hoặc huấn luyện lại hệ thống mà không cân liệu kiểm tra ta thấy liệu huấn luyện đủ mô tả nét đặc trưng mà ta cố gắng thực Sau ta thử huấn luyện mơ hình FIS đối lập với liệu kiểm tra Để làm việc này, lựa chọn Checking data mục Test FIS GUI, bấm vào Test Now Hình 6.21 thể khác đầu liệu kiểm tra với đầu FIS 152 Hình 6.21 6.6 SOẠN THẢO ANFIS TỪ DÒNG LỆNH Ở ta thấy rõ số tiện lợi đơn giản sử dụng soạn thảo ANFIS GUI để xây dựng mô hình mờ - nơron (FIS) Tuy nhiên, thấy trongví dụ 2, ta cần phái thận trọng thực chức công nhận giá trị liệu kiểm tra anfis phải kiểm tra xem sai số liệu kiểm tra có đảm bảo khơng Nếu khơng ta cần huấn luyện lại FIS Sau tìm hiểu cách thức sử dụng dịng lệnh anfis thơng qua ví dụ dự đốn chuỗi thời gian hỗn độn Chuỗi thời gian hỗn độn mô tả phương trình Mackey- Glass (MG) sau: ⋅ x (t) = 0,2x(− τ) − 0,1x(t) + x10 (t − τ) Chuỗi thời gian hỗn độn, khơng có khoảng thời gian xác định rõ ràng Chuỗi không hội tụ hay phân kỳ, đường cong có độ nhạy cao với điều kiện ban đầu Đây tốn điển hình số nghiên cứu mơ hình mạng nơron logic mờ Để thu giá trị chuỗi thời gian giá trị nguyên, áp dụng phương pháp Runge-kuna bậc để tìm giải pháp số cho cơng thức (Mackey- Glass) MG trên, kết lưu lại file mgdata.dat Ở đây, ta giả thiết x(0) = 1,2, T = 17 x(t) = t < Để vẽ đồ thị chuỗi thời gian MG (hình 6.22) ta thực lệnh sau: load mgdata.dai t = mgdata (: , 1); x - mgdata (:, 2); plot(t, x); 153 Hình 6.22 Đồ thị chuỗi MG Để dự đoán chuỗi thời gian, ta mong muốn dùng giá trị chuỗi thời gian đển điểm thời điểm t, để dự đoán giá trị chuỗi số thời điểm tương lai (t + P) Phương pháp chuẩn cho loại dự đoán tạo đồ từ điểm lấy mẫu liệu D, thời gian trích mẫu ∆ Tại thời điểm, (x(t - (D-1) ∆), x(t- ∆ x(t)) để dự đoán giá trị x(t + P) Theo quy ước để dự đoán chuỗi thời gian MG, đặt D = ∆ = P = Với t, liệu huấn luyện đầu vào cho anfls vecto bốn chiều theo công thức sau: w(t) = [x(t- 18) x(t- 12) x(t-6) x(t)] Dữ liệu huấn luyện đầu tương ứng với đường cong dự đoán: s(t) = x(t + 6) Với t, theo giá trị từ 118 đến 1117, liệu huấn luyện đầu vào/ đầu cấu trúc có thành phần đầu vào w bốn hướng, thành phần thứ hai đầu s Sẽ có 1000 giá trị liệu vào/ Chúng ta sử dụng 500 giá trị liệu để huấn luyện anfis (những giá trị trở thành liệu huấn luyện) giá trị khác sử dụng liệu kiểm tra để nhận dạng mơ hình mờ Đây kết cấu trúc liệu 500 điểm, tmData chkData Dưới lệnh để tạo liệu For t = 118: 1117, Data (t- 117, :) = [x(t-18) x(t-12) x(t-6) x(t) x(t + 6)]; End trnData : Data (1:500, :); 154 chkData = Data (501 : end, :); Để bắt đầu việc huấn luyện, cần cấu trúc FIS rõ tham số ban đầu cấu trúc FIS để học Đây công việc genrsl: fismat = genfisl (trnData) Vì không xác định rõ số lượng kiểu hàm liên thuộc sử dụng FIS nên giá trị mặc định khơng có thật Những giá trị mặc định cung cấp hai hàm liên thuộc hình chng đầu vào, tổng cộng Cấu trúc tạo FIS có 16 luật mờ với 140 tham số Theo thứ tự, để đạt khả phát tốt, quan trọng phải có điểm liệu huấn luyện lớn gấp vài lần số tham số ước tính Trong trường hợp này, tỷ lệ liệu tham số vào khoảng (500/104) Hình 6.23 Các hàm liên thuộc trước huấn luyện Hàm genfisl tạo hàm liên thuộc ban đầu xếp cân bao phủ tất khoảng đầu vào T vẽ hàm liên thuộc đầu lệnh sau: subplot(2,2,1) plotmf(rsmat, 'input', 1) suhplot(2,2,2) plotmf(rsmat, 'input', 2) subplot(2,2,3) plotmf(rsmat, 'input', 3) 155 subplot(2,2,4) plotmf(rsmat, 'input', 4) Các hàm liên thuộc ban đầu hình 6.23 Để bắt đầu việc huấn luyện, gõ: [rsmat1, error1,ss, rsmat2, error2]= anrs (trnData, fismat, [],[], chkData); Vì tuỳ chọn liệu kiếm tra anrs gọi ra, FIS chọn cuối thường liên kết với sai số kiểm tra nhỏ Nó lưu rsmat2 Các lệnh sau vẽ hàm liên thuộc mới: subplot(2,2,1) plotmf(fismat2, 'input', 1) subplot(2,2,2) plotmf(rsmat2, 'input', 2) subplot(2,2,3) plotmí(rsmat2, 'input', 3) subplot(2,2,4) plotmf(rsmat2, 'input', 4) Hàm liên thuộc chi hình 6.24 Hình 6.24 Các hàm liên thuộc sau huấn luyện 156 Hình 6.25a,b Tín hiệu sai số sau huấn luyện Để vẽ đồ thị sai số tín hiệu, gõ lệnh: plot ([error1; error2]); Ở error1 error2 bình phương trung bình sai số liệu huấn luyện kiểm tra theo thứ tự định sẵn Thêm vào đồ thị sai số này, ta muốn vẽ đồ thị đầu FIS trái với liệu huấn luyện kiểm tra Để so sánh chuỗi thời gian MG gốc dự đoán logic mờ mặt một, thử anfis_output = evamS([trnData; chkData1], fismat2); index = 125:1124; subplot(211), plot(t(index), [x(index) anfisoutput]); subplot(212), plot(t(index), x(index) - anfis_output); Chú ý: Sự khác chuỗi thời gian MG gốc giá trị anrs ước tính nhỏ Hai đồ thị gần trùng khít lên (hình 6.sa) Sai số chúng chi đồ thị hình 6.25b với tỉ lệ mịn nhiều Trong ví dụ này, ta chi huấn luyện cho 10 kỳ Nếu thêm số kỳ huấn luyện, thu kết tốt 6.7 THÔNG TIN THÊM VỀ ANFIS VÀ BỘ SOẠN THẢO ANFIS EDITOR GUI Lệnh anfis có nhiều đối số đầu vào, dạng tổng 157 quát là: [fismat1,trnError,ss,fismat2,chkError] = anfis(trnData,fismat,trnOpt,dispOpt,chkData,method); Ở trnOpt (các tuỳ chọn huấn luyện), dispopt (các tuỳ chọn hiển thị), chkData (dữ liệu kiểm tra) method (phương pháp huấn luyện) tuỳ chọn Tất đối số đầu tuỳ chọn Trong phần bàn đển đối số phạm vi thành phần hàm dòng lệnh anfis, hàm tương tự soạn thảo ANFIS GUI Khi soạn thảo ANFIS GUI gọi sử dụng anfsedit, có tập liệu huấn luyện ưu tiên việc thực anrs Thêm vào đó, bước tính cố định hệ thống nơron mờ thích nghi huấn luyện sử dụng dụng cụ 6.7.1 Dữ liệu huấn luyện (Training Data) Dữ liệu huấn luyện, trnData, đối số yêu cầu với anfis Cũng soạn thảo ANFIS GUI Mỗi dòng trnData cặp vào/ra hệ thống đích mơ hình hóa Mỗi dịng bắt đầu vecto đầu vào theo sau giá trị đầu Vì số dịng trnData với số cặp liệu huấn luyện có đầu nên số cột trnData với số đầu vào cộng 6.7.2 Cấu trúc đầu vào FIS (Input FIS Structure) Cấu trúc đầu vào FIS, fismat, có từ số soạn thảo logic mờ bất kỳ: Bộ soạn thảo FIS, soạn thảo hàm liên thuộc soạn thảo luật từ soạn tháo ANFIS GUI, (cho phép tải cấu trúc FIS từ đĩa vùng làm việc), từ hàm dòng lệnh, genfis1 (chỉ cần đưa số lượng kiểu hàm liên thuộc) Cấu trúc FIS chứa cấu trúc mơ hình (như số luật FIS, số hàm liên thuộc cho đầu vào, ) tham số, (như dạng hàm liên thuộc) Có hai phương pháp mà anfis huấn luyện để cập nhật tham số liên thuộc: truyền ngược tất tham số (Hạ thấp độ dốc - a steepest descent method) phương pháp lai (hybrid) bao gồm việc truyền ngược tham số có liên quan đến hàm liên thuộc đầu vào, ước lượng bình phương nhỏ với tham số có liên quan với hàm liên thuộc đầu Kết là, sai số huấn luyện giảm, khu vực, qua trình luyện Vì vậy, nhiều hàm liên thuộc ban đầu giống hàm tối ưu dễ hội tụ tham số huấn luyện mơ hình Sự hiểu biết người hệ thống đích dùng làm mẫu giúp cho việc thiết lập hàm tham số hàm liên thuộc ban đầu cấu trúc FIS 158 genfis1 tạo cấu trúc FIS dựa nhiều hàm liên thuộc cố định Điều gây phiền phức tạo nhiều nguyên tắc số đầu vào tương đối nhiều (4 đến đầu vào) Để giảm kích cỡ hệ thống suy luận mờ ta tạo cấu trúc FIS sử dụng thuật toán hồi (tham khảo mục Subtractive Clustering) từ soạn thảo ANFIS GUI, thuật toán lựa chọn trước tạo FIS Phương pháp hồi quy phân chia liệu thành nhóm gọi clusters tạo FIS với nguyên tắc tối thiểu theo yêu cầu để phân biệt tính chất mờ có liên quan đển cluster 6.7.3 Các tùy chọn huấn luyện (Training Options) ANFIS Editor GUI cho phép ta lựa chọn dung sai sai số số kỳ huấn luyện theo ý muốn Tuỳ chọn huấn luyện trnOpt cho dòng lệnh anfis vecto định rõ tiêu chuẩn dừng cỡ bước tính q trình thích nghi sau: trnOpt(1): number of training epochs, default =10 trnOpt(2): error tolerance, default = trnOpt(3): initial step-size, default = 0.01 trnOpt(4): step-size decrease nhe, default = 0.9 trnOpt(5): step-size increase nhe, default = 1.1 Nếu thành phần trnopt NaN thiếu, giá trị mặc định lấy Quá trình huấn luyện dừng chạy đủ kỳ huấn luyện thiết kế sai số nằm giới hạn cho trước sau số kỳ huấn luyện Thông thường ta muốn mơ tả sơ lược cỡ bước tính đường cong tăng vào lúc đầu, đạt tối đa, sau giảm thời gian huấn luyện cịn lại Mô tả sơ lược cỡ bước lý tưởng đạt cách điều chỉnh cỡ bước ban đầu tỷ lệ tăng, giảm (tmopt (3) - tmopt (5)) Giá trị mặc định đặt cho vùng rộng nhiệm vụ nghiên cứu Để ứng dụng đặc biệt, ta muốn sửa đổi tuỳ chọn cỡ bước để đánh giá tích cực việc huấn luyện Tuy nhiên, nói đển phần trước, có tuỳ chọn cỡ bước không sử dụng đặc biệt để huấn luyện hệ thống noron suy luận mờ thích ứng tạo để sử dụng soạn thảo ANFIS GUI 6.7.4 Tuỳ chọn hiển thị Display Options Tuỳ chọn hiển thị ứng dụng cho hàm lệnh anrs Đối với dòng lệnh anrs, đối số tuỳ chọn hiển thị, disopt, vectơ rõ thơng tin hiển thị (in cửa sổ dịng lệnh MATLAB), trước, sau 159 trình huấn luyện Số '1' sử dụng để biểu thị in phần lựa chọn biểu thị không in phần chọn disOpt(1): hiển thị thông tin, mặc định = dissOpt(2): hiển thị sai số (mỗi kỳ), mặc định = disOpt(3): hiển thị cỡ bước (mỗi kỳ), mặc định = disOpt(4): hiển thị kết cuối cùng, mặc định = Mẫu mặc định hiển thị tất thơng tin có sẵn Nếu phụ disOpt NaN bị giá trị mặc định lấy 6.7.5 Phương pháp huấn luyện (Method) Cả soạn thảo ANFIS GUI dòng lệnh anfis áp dụng dạng thức truyền ngược phương pháp hạ thấp độ dốc để ước tính tham số hàm liên thuộc kết hợp dạng truyền ngược phương pháp bình phương nhỏ để tính hàm tham số hàm liên thuộc Các đối số chọn hybrid backpropagation Các lựa chọn phương pháp thiết kế hàm dòng lệnh, anfis, = 0, theo thứ tự mặc định 6.7.6 Cấu trúc đầu FIS cho liệu huấn 1uyện Fismat1 cấu trúc đầu FIS tương ứng với sai số huấn luyện nhỏ Đây cấu trúc FIS mà ta sử dụng để trình bày hệ thống suy luận mờ khơng có liệu kiểm tra để công nhận giá trị mẫu Dữ liệu trình bày cấu trúc FIS lưu soạn thảo ANFIS GUI tuỳ chọn liệu kiểm tra không sử dụng Khi liệu kiểm tra sử dụng, đầu lưu đầu có liên hệ với sai số kiểm tra nhỏ 6.7.7 Sai số huấn luyện Sai số huấn luyện khác giá trị liệu đầu ra, đầu hệ thống suy luận mờ tương ứng với giá trị liệu đầu vào (có liên hệ với giá trị liệu huấn luyện đầu ra) Sai số huấn luyện trnError ghi lại sai số bình phương nhỏ ban đầu (RMSE) liệu kỳ huấn luyện Fismat1 ghi nhận nhanh cấu trúc FIS phép đo sai số huấn luyện nhỏ Bộ soạn thảo ANFIS GUI vẽ sơ đồ sai số huấn luyện đường cong kỳ huấn luyện hệ thống 6.7.8 Bước tính (Step-size) Trong soạn thảo ANFIS GUI ta khơng thể tùy ý chọn bước tính Sử dụng dịng lệnh anfis, chuỗi cỡ bước ss ghi lại cỡ nước suốt trình huấn luyện Vẽ đồ thị ss mô tả sơ cỡ bước phần tham khảo để điều chỉnh cỡ bước theo tỷ lệ tăng, giảm tương ứng Cỡ bước ss cho hàm 160 lệnh anfis cập nhật theo hướng dẫn sau: + Nếu sai số giảm lần liên tiếp, ta tăng bước tính cách nhân với số (ssinc) lớn + Nếu sai số tăng giảm lần liên tiếp, giảm bước tính cách nhân với số (ssdec) nhỏ Giá trị mặc định cho bước ban đầu 0.01, giá trị mặc định cho ssinc ssdec 1.1 0.9 theo thứ tự mặc định Tất giá trị mặc định thay đổi theo tuỳ chọn huấn luyện lệnh anfis 6.7.9 Dữ liệu kiểm tra (Checking Data) Dữ liệu kiểm tra, chkData, sử dụng để kiểm lực tổng quát hệ thống suy luận mờ kỳ huấn luyện Dữ liệu kiểm tra có dạng với liệu huấn luyện, có phần tử nói chung khác biệt với liệu huấn luyện Dữ liệu kiểm tra quan trọng việc nghiên cứu hệ thống có số đầu vào lớn, với liệu bị nhiễu Nói chung muốn hệ thống suy luận mờ train theo liệu vào/ra có thật tốt Vì cấu trúc mơ hình sử dụng sử dụng cho anfis cố định nên có xảy trường hợp khả mơ hình mơ hình vượt liệu huấn luyện, đặc biệt số kỳ huấn luyện lớn Nếu việc xảy ra, hệ thống suy luận mờ đáp ứng tốt với phần liệu độc lập khác, đặc biệt chúng bị tác động nhiễu Một liệu kiểm tra cơng nhận giá trị hữu ích tình Dữ liệu sử dụng để công nhận giá trị mô hình suy luận mờ Nó thực cách áp dụng liệu kiểm tra cho mơ hình, xem việc mơ hình phản hồi tới liệu tốt Khi tuỳ chọn liệu kiểm tra sử dụng với anfis, theo dòng lệnh sử dụng soạn thảo ANFIS GUI, liệu kiểm tra áp dụng cho mẫu kỳ huấn luyện Khi dòng lệnh anfis gọi ra, tham số mơ hình tương ứng với sai số kiểm tra nhỏ trở lại theo đối số đầu fismat2 Các hàm tham số hàm liên thuộc FIS tính cách sử dụng soạn thảo ANFIS GUI hai liệu huấn luyện kiểm tra nạp vào kết hợp với kỳ huấn luyện có sai số kiểm tra nhỏ Kỳ sai số liệu kiểm tra nhỏ dùng để thiết lập hàm tham số hàm liên thuộc thừa nhận: • Dữ liệu kiểm tra đủ giống liệu huấn luyện để sai số liệu kiểm tra giảm q trình huấn luyện bắt đầu • Dữ liệu kiểm tra tăng vài điểm trình huấn luyện, sau xảy việc điều chỉnh mức 161 Dựa vào đường cong sai số liệu kiểm tra để kết luận FIS sử dụng không sử dụng 6.7.10 Cấu trúc đầu FIS cho liệu kiểm tra (Output FIS Structure for Checking Data) Đầu dòng lệnh anfis, fismat2 cấu trúc đầu FIS có sai số kiểm tra nhỏ Đây cấu trúc FIS sử dụng để tính tốn thểm liệu kiểm tra sử dụng cho q trình cơng nhận giá trị 6.7.11 Sai số kiểm tra (Checking Error) Sai số kiểm tra khác giá trị liệu kiểm tra đầu đầu hệ thống suy luận mờ tương ứng với giá trị liệu kiểm tra đầu vào (có kết hợp với giá trị liệu kiểm tra đầu ra) Sai số kiểm tra chkError ghi lại RMSE cho liệu kiểm tra kỳ Fismat2 minh họa cấu trúc FIS sai số kiểm tra mức nhỏ Bộ soạn thảo ANFIS GUI vẽ sơ đồ sai số kiểm tra với đường cong kỳ huấn luyện hệ thống 162 TÀI LIỆU THAM KHẢO [1] Phan Xuân Minh & Nguyễn Doãn Phước (1999), "Lý thuyết điều khiển mờ", Nhà xuất khoa học kỹ thuật [2] Nguyễn Thương Ngô (1998), "Lý thuyết điều khiển tự động đại", Nhà xuất khoa học kỹ thuật [3] Nguyễn Như Hiển (2003) "Nghiên nâng cao chất lượng hệ chuyển động nhiều trục ", Luận án tiến sĩ kỹ thuật [4] Lại Khắc Lãi (2003), "Một số phương pháp tổng hợp tối ưu điều khiển sở logic mờ thích nghi", Luận án tiến sĩ kỹ thuật [5] Phan Xuân Minh, Nguyễn Tiến Hiếu "Điều khiển thích nghi tay máy sở hệ mờ" Tuyển tập báo cáo khoa học hội nghị tự động hóa tồn quốc lần thứ (2005), trang 370-375 [6] Phạm Hữu Đức Dục "Nghiên cứu ứng dụng tương nơron mờ điều khiển thích nghi rơbơt hai khâu" Tuyển tập báo cáo khoa học hội nghị tự động hóa tồn quốc lần thứ (2005), trang 107- 112 [7] H Yamamoto & T Furuhashi (1999), "New fuzzy Inference methodfor system Using symbolic stability analysis offuzzy control", The fourth Asian Fuzzy System Synposium, May 31 - June, Tsukuba, Japan pp.450-455 [8] Kenji IKEDA and Seiichi SHIN (2000), "Autonomous Decentralizrd Adaptive Control System Using Parameter Projection", The fourth Asian Fuzzy System Synposium, May 31 - June, Tsukuba, Japan pp.293-298 [9] Huganghan & Shuta Murakami (2000), "Adaptive Fuzzy Control of Nonlinear system Witht Various Shapes of Membership Funetions", The fouth Asian Fuzzy Systems Symosium, may 31 -June 3.2000 Tshkuba, Japan pp.426-467 [10] Kosko, B (1991), "Neuralnetworks andfuzzy control", Prentice Hall, [11] L.A Zadeh (1965), "fuzzy sét", Inf contr vol 8, pp 338-353 [12] Yih-Guang Leu, Wei-Yen Wang and Tsu-Tian lee (1999), "Robust Adaptive Fuzzy-Neural controllers for Uncertain Nonlinear Systems", IEEE Transaction on roboties and automation Vol 15 No 5, pp 805 - 817 [13] Matlab 7.4 [14] research reports Esprit, I.F.Croall, J.P.Mason) Industrial Applications of Neural Networks 163 NHÀ XUẤT BẢN KHOA HỌC TỰ NHIÊN VÀ CÔNG NGHỆ 18 đường Hoàng Quốc Việt, Cầu Giấy, Hà Nội Điện thoại Phòng phát thanh: 04.2149040; Biên tập: 04.2149034 Quản lý tổng hợp:04.2149041 Fax: 04.7910147, Email: nxb@vap.ac.vn; www.vap.ac.vn HỆ MỜ VÀ NƠRON TRONG KỸ THUẬT ĐIỀU KHIỂN Tác giả: TS Nguyễn Như Hiển TS Lại Khắc Lãi Chịu trách nhiệm xuất bản: GS.TSKH Nguyễn Khoa Sơn Tổng biên tập: GS.TSKH Nguyễn Khoa Sơn Kỹ thuật vi tính: Lê Thị Thiên Hương Trình bày bìa: Vương Quốc Cường In 1000 khổ 16 x 24 Nhà in Khoa Học Công Nghệ Số đăng ký KHXB: 124-2007/CXB/012-10/KHTNVCN Cấp ngày tháng năm 2007 164 ... 2x 0≤x≤- µA2 (u) = – 2| x - 0,5| µB2 = – 2| y| µB3 = y 0≤x≤1 ≤x≤l µA3 (u) = 2x -1 µB1 = -y -1 ≤ y ≤ - 1 ≤y≤ 2 ≤ y ≤ 1 32 + Tập liệu rút từ luật có dạng: {(A1,B1), (A2,B2), (A3,B3)} + Đặt [α1, ? ?2] ... hoàn toàn tự động Điều làm giảm bớt thời gian giảm bớt chi phí phát triển hệ (hình 6.1) Hình 6.1 Mơ hình hệ mờ - nơron 6.1 .2 Kết hợp điều khiển mờ mạng nơron a Cấu trúc chung hệ mờ - nơron Có nhiều... weights = -0 0615 -0 .21 94 bias = net.b(1) bias = [0.5899] Ta mơ mạng sau: A = sim(net, p) A= 0. 028 2 0.96 72 0 .27 41 0.4 320 , Sai số tính tốn: err = t - sim(net,P) err = 028 2 0.0 328 -0 .27 41 0.5680 Chú

Ngày đăng: 17/12/2021, 10:01

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phan Xuân Minh &amp; Nguyễn Doãn Phước (1999), "Lý thuyết điều khiển mờ", Nhà xuất bản khoa học và kỹ thuật Sách, tạp chí
Tiêu đề: Lý thuyết điều khiển mờ
Tác giả: Phan Xuân Minh &amp; Nguyễn Doãn Phước
Nhà XB: Nhà xuất bản khoa học và kỹ thuật
Năm: 1999
[2] Nguyễn Thương Ngô (1998), "Lý thuyết điều khiển tự động hiện đại", Nhà xuất bản khoa học và kỹ thuật Sách, tạp chí
Tiêu đề: Lý thuyết điều khiển tự động hiện đại
Tác giả: Nguyễn Thương Ngô
Nhà XB: Nhà xuất bản khoa học và kỹ thuật
Năm: 1998
[3] Nguyễn Như Hiển (2003) "Nghiên cơ nâng cao chất lượng hệ chuyển động nhiều trục ", Luận án tiến sĩ kỹ thuật Sách, tạp chí
Tiêu đề: Nghiên cơ nâng cao chất lượng hệ chuyển động nhiều trục
[4] Lại Khắc Lãi (2003), "Một số phương pháp tổng hợp tối ưu bộ điều khiển trên cơ sở logic mờ và thích nghi", Luận án tiến sĩ kỹ thuật Sách, tạp chí
Tiêu đề: Một số phương pháp tổng hợp tối ưu bộ điều khiển trên cơ sở logic mờ và thích nghi
Tác giả: Lại Khắc Lãi
Năm: 2003
[5] Phan Xuân Minh, Nguyễn Tiến Hiếu "Điều khiển thích nghi tay máy trên cơ sở hệ mờ" Tuyển tập các báo cáo khoa học hội nghị tự động hóa toàn quốc lần thứ 6 (2005), trang 370-375 Sách, tạp chí
Tiêu đề: Điều khiển thích nghi tay máy trên cơ sở hệ mờ
Tác giả: Phan Xuân Minh, Nguyễn Tiến Hiếu "Điều khiển thích nghi tay máy trên cơ sở hệ mờ" Tuyển tập các báo cáo khoa học hội nghị tự động hóa toàn quốc lần thứ 6
Năm: 2005
[6] Phạm Hữu Đức Dục "Nghiên cứu ứng dụng tương nơron mờ điều khiển thích nghi rôbôt hai khâu" Tuyển tập các báo cáo khoa học hội nghị tự động hóa toàn quốc lần thứ 6 (2005), trang 107- 112 Sách, tạp chí
Tiêu đề: Nghiên cứu ứng dụng tương nơron mờ điều khiển thích nghi rôbôt hai khâu
Tác giả: Phạm Hữu Đức Dục "Nghiên cứu ứng dụng tương nơron mờ điều khiển thích nghi rôbôt hai khâu" Tuyển tập các báo cáo khoa học hội nghị tự động hóa toàn quốc lần thứ 6
Năm: 2005
[7] H. Yamamoto &amp; T. Furuhashi (1999), "New fuzzy Inference methodfor system Using symbolic stability analysis offuzzy control", The fourth Asian Fuzzy System Synposium, May 31 - June, Tsukuba, Japan. pp.450-455 Sách, tạp chí
Tiêu đề: New fuzzy Inference methodfor system Using symbolic stability analysis offuzzy control
Tác giả: H. Yamamoto &amp; T. Furuhashi
Năm: 1999
[8] Kenji IKEDA and Seiichi SHIN (2000), "Autonomous Decentralizrd Adaptive Control System Using Parameter Projection", The fourth Asian Fuzzy System Synposium, May 31 - June, Tsukuba, Japan. pp.293-298 Sách, tạp chí
Tiêu đề: Autonomous Decentralizrd Adaptive Control System Using Parameter Projection
Tác giả: Kenji IKEDA and Seiichi SHIN
Năm: 2000
[9] Huganghan &amp; Shuta Murakami (2000), "Adaptive Fuzzy Control of Nonlinear system Witht Various Shapes of Membership Funetions", The fouth Asian Fuzzy Systems Symosium, may 31 -June 3.2000 Tshkuba, Japan.pp.426-467 Sách, tạp chí
Tiêu đề: Adaptive Fuzzy Control of Nonlinear system Witht Various Shapes of Membership Funetions
Tác giả: Huganghan &amp; Shuta Murakami
Năm: 2000
[10] Kosko, B (1991), "Neuralnetworks andfuzzy control", Prentice Hall Sách, tạp chí
Tiêu đề: Neuralnetworks andfuzzy control
Tác giả: Kosko, B
Năm: 1991
[11] L.A. Zadeh (1965), "fuzzy sét", Inf. contr. vol. 8, pp. 338-353 Sách, tạp chí
Tiêu đề: fuzzy sét
Tác giả: L.A. Zadeh
Năm: 1965
[12] Yih-Guang Leu, Wei-Yen Wang and Tsu-Tian lee (1999), "Robust Adaptive Fuzzy-Neural controllers for Uncertain Nonlinear Systems", IEEE Transaction on roboties and automation. Vol. 15. No. 5, pp. 805 - 817.[13] Matlab 7.4 Sách, tạp chí
Tiêu đề: Robust Adaptive Fuzzy-Neural controllers for Uncertain Nonlinear Systems
Tác giả: Yih-Guang Leu, Wei-Yen Wang and Tsu-Tian lee
Năm: 1999
[14] research reports Esprit, I.F.Croall, J.P.Mason) Industrial Applications of Neural Networks Khác

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

TÀI LIỆU LIÊN QUAN

w