1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nghiên cứu ứng dụng mạng nơron mờ nhận dạng hệ phi tuyến

115 8 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

Tiêu đề Nghiên Cứu Ứng Dụng Mạng Nơron Mờ Nhận Dạng Hệ Phi Tuyến
Tác giả Nguyễn Văn Cường
Người hướng dẫn PGS.TS Nguyễn Trọng Thuần
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Tự Động Hóa
Thể loại luận văn thạc sĩ
Năm xuất bản 2006-2008
Thành phố Hà Nội
Định dạng
Số trang 115
Dung lượng 8,28 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN (13)
    • 1.1. Mở đầu (13)
    • 1.2. Mục đích, đối tượng và phạm vi nghiên cứu, ý nghĩa khoa học và thực tiễn của đề tài (15)
      • 1.2.1. Mục đích, đối tượng và phạm vi nghiên cứu (15)
      • 1.2.2. Ý nghĩa khoa học và thực tiễn của đề tài (15)
    • 1.3. Tình hình nghiên cứu trong và ngoài nước (15)
      • 1.3.1. Tình hình nghiên cứu ngoài nước (15)
      • 1.3.2. Tình hình nghiên cứu trong nước (18)
  • CHƯƠNG 2 MẠNG NƠRON MỜ (20)
    • 2.1. Logic mờ và hệ suy diễn mờ (20)
      • 2.1.1. Tập mờ (21)
      • 2.1.2. Hệ suy diễn mờ (27)
      • 2.1.3. Nhận dạng hệ phi tuyến sử dụng logic mờ (34)
    • 2.2. Mạng Nơron (38)
      • 2.2.1. Khái niệm mạng nơron nhân tạo (38)
      • 2.2.2. Cấu trúc mạng nơron (40)
      • 2.2.3. Quá trình học của mạng nơron (41)
      • 2.2.3. Một số mạng nơron điển hình (43)
      • 2.2.5. Nhận dạng hệ phi tuyến sử dụng mạng Nơron (49)
    • 2.3. Mạng nơron mờ (54)
      • 2.3.1. Khái niệm mờ trong mạng nơron (57)
      • 2.3.2. Phương pháp xây dựng mạng nơron mờ (59)
      • 2.3.3. Thuật toán học của mạng nơron mờ (63)
  • CHƯƠNG 3 NHẬN DẠNG HỆ PHI TUYẾN SỬ DỤNG MẠNG NƠRON MỜ VÀ ỨNG DỤNG (66)
    • 3.1. Nhận dạng hệ phi tuyến sử dụng mạng nơron-mờ (66)
    • 3.2. Sử dụng mạng nơron mờ để nhận dạng hệ phi tuyến tĩnh (71)
      • 3.2.1. Sử dụng mạng nơron mờ nhận dạng hàm y = x 2 (71)
      • 3.2.2. Sử dụng mạng nơron mờ để nhận dạng hàm y = sinx+cosx (74)
    • 3.3. Sử dụng mạng nơron mờ để nhận dạng hệ phi tuyến động (77)
    • 3.4. Nhận dạng chuyển động của hệ cầu trục sử dụng mạng nơron mờ (80)
      • 3.4.1. Phương trình động học hệ cầu trục (80)
      • 3.4.2. Nhận dạng góc lệch hệ cầu trục sử dụng mạng nơron mờ. α (84)
    • 3.5. Một số kết luận và đề xuất hướng phát triển tiếp theo (89)

Nội dung

TỔNG QUAN

Mở đầu

Khoảng hai mươi năm trước, các hệ tuyến tính đã được nghiên cứu và điều khiển gần như hoàn hảo, trong khi việc tiếp cận các hệ phi tuyến gặp nhiều khó khăn Mặc dù các nhà khoa học đã nỗ lực phát triển nhiều phương pháp, nhưng hầu hết chỉ áp dụng được cho một số hệ phi tuyến đặc biệt với bậc thấp Vì vậy, việc tìm kiếm các phương pháp phân tích và điều khiển cho các hệ phi tuyến có bậc cao vẫn là một vấn đề nghiên cứu quan trọng cho đến ngày nay.

Ngày nay, sự phát triển của khoa học và công nghệ, đặc biệt là công nghệ máy tính số, đã mang lại nhiều phương pháp hiệu quả trong việc tiếp cận các hệ phi tuyến Ba trong số những phương pháp mới và nổi bật nhất có thể kể đến là:

- Phương pháp sử dụng hệ suy diễn mờ

- Phương pháp sử dụng mạng Nơron

- Phương pháp sử dụng mạng Nơron-mờ

Các phương pháp này đều có khả năng hoạt động tương tự như tư duy con người, cho phép áp dụng hiệu quả cho nhiều hệ phi tuyến phức tạp Phương pháp suy diễn mờ nổi bật với việc sử dụng kiến thức chuyên gia dưới dạng ngôn ngữ, trong khi phương pháp mạng nơron cho phép tự học từ mẫu và đạt độ chính xác cao Mạng nơron mờ kết hợp ưu điểm của cả hai phương pháp, mang lại hiệu quả tối ưu trong việc xử lý thông tin.

Nhận dạng hệ thống là quá trình xác định mô hình toán học để mô tả hệ thống, đóng vai trò quan trọng trong điều khiển, dự đoán và phân tích Trong khi nhận dạng hệ phi tuyến bằng các phương pháp kinh điển thường phức tạp và chỉ áp dụng cho hệ có bậc phi tuyến thấp, các phương pháp hiện đại, đặc biệt là mạng nơron-mờ, mang lại sự đơn giản và hiệu quả hơn trong quá trình nhận dạng.

Các hệ thống thực tế trong mọi lĩnh vực xã hội thường là các hệ phi tuyến Do đó, việc nhận dạng các hệ phi tuyến đóng vai trò quan trọng và có ý nghĩa thiết thực.

Mục đích, đối tượng và phạm vi nghiên cứu, ý nghĩa khoa học và thực tiễn của đề tài

1.2.1 Mục đích, đối tượng và phạm vi nghiên cứu

Nghiên cứu bài toán nhận dạng hệ phi tuyến bằng công cụ hiện đại là mạng nơron mờ

Xây dựng một mạng nơron mờ có khả năng nhận dạng hệ phi tuyến bất - kỳ Ứng dụng mạng nơron mờ để nhận dạng một đối tượng cụ- thể

1.2.2 Ý nghĩa khoa học và thực tiễn của đề tài

Bài viết giới thiệu một phương pháp mới, đơn giản và hiệu quả để nhận dạng hệ phi tuyến, phục vụ cho nhiều mục đích như điều khiển, phân tích, mô phỏng và dự đoán hệ thống.

Mạng nơron-mờ, với tính đơn giản và hiệu quả, là công cụ lý tưởng để nhận dạng các hệ phi tuyến trong thực tế Việc nghiên cứu và xây dựng loại mạng này giúp tối ưu hóa quy trình nhận diện, mang lại kết quả chính xác và dễ dàng áp dụng.

Tình hình nghiên cứu trong và ngoài nước

1.3.1 Tình hình nghiên cứu ngoài nước

Bài báo đầu tiên về nơron mờ được Ed Lee công bố vào năm 1975, nhưng nghiên cứu trong lĩnh vực này khá hạn chế cho đến khi H Takagi và I Hayashi phát minh ra hệ thống kết hợp logic mờ và mạng nơron vào năm 1988, mở ra cơ hội phát triển đa dạng cho nơron mờ Hiện nay, nơron mờ đã trở thành một lĩnh vực nghiên cứu phong phú với nhiều tài liệu và ứng dụng rộng rãi, đặc biệt trong ngành sản phẩm tiêu dùng Điều này đặt ra câu hỏi về lý do sự quan tâm đối với các hệ thống nơron mờ và những khả năng vượt trội của chúng so với các hệ thống khác.

Các hệ thống nơron mờ kết hợp giữa tính toán nơron và logic mờ, mang lại lợi ích từ cả hai lĩnh vực Chúng kế thừa công nghệ học và xấp xỉ từ tính toán nơron, đồng thời áp dụng phân tích ngôn ngữ và luật suy luận mờ “nếu-thì” từ logic mờ Điều này cho phép hệ thống nơron mờ tích hợp kiến thức chuyên gia và tri thức kinh nghiệm, tạo ra những giải pháp hiệu quả trong việc xử lý thông tin phức tạp.

Hệ nơron mờ, được phát triển bởi Arabshahi, sử dụng thuật toán lan truyền ngược và cải tiến khả năng bằng cách tích hợp các luật mờ "nếu thì" để điều chỉnh các thông số Cách tiếp cận này cho phép áp dụng cho nhiều loại thuật toán, trong đó sự hiểu biết và kinh nghiệm của con người đóng vai trò quan trọng trong việc lựa chọn giá trị các thông số và điều khiển các biến của hệ thống Trong các ứng dụng này, các luật mờ "nếu thì" được sử dụng như ngôn ngữ để diễn tả kiến thức và kinh nghiệm của con người.

Vào đầu những năm 90, một xu hướng quan trọng đã xuất hiện khi hệ suy luận mờ Takagi-Sugeno được xem như một mạng nơron nhiều lớp Việc điều chỉnh thông số trong các hệ thống này được thực hiện bằng kỹ thuật gradient Hệ ANFIS, do Roger Jang phát triển, là một ví dụ điển hình cho xu hướng này.

Một hướng quan trọng khác nữa được thực hiện bởi G Bortolan liên quan tới mờ hoá nhiều lớp, mạng nơron truyền thẳng, kết hợp trong một mạng nơron mờ

Mạng nơron mờ, thành phần chính trong tính toán mềm, là một hệ thống thông minh với khả năng điều chỉnh thích nghi và xử lý thông tin hiệu quả Vào giữa những năm 1970, Lee S C và Lee E T đã đề xuất các nơron mờ cùng với một số kết quả hệ thống hóa về mạng nơron mờ, được phát triển từ việc mờ hoá nơron McCulloch Pitts Tuy nhiên, những công trình này không được chú ý nhiều do sự giảm quan tâm đến mạng nơron Mãi đến năm 1987, khi Kosko giới thiệu lại khái niệm này, mạng nơron mờ mới được chú ý trở lại.

B đã phát triển bộ nhớ kết hợp mờ FAM (fuzzy associative memory) nhằm giải quyết bài toán thông tin thông minh thông qua việc tích hợp các toán tử mờ vào mạng nhớ Vào đầu những năm 1980, nghiên cứu về mạng nơron đã bùng nổ, bắt nguồn từ công trình của Hopfield J J., đồng thời mạng nơron mờ cũng thu hút sự quan tâm của nhiều học giả Nhiều nội dung mới như cấu trúc, luật huấn luyện và mô hình mạng nơron mờ đã được phát triển Thực tế, mạng nơron mờ đã chứng minh hiệu quả trong nhiều lĩnh vực ứng dụng như mô hình hoá hệ thống, phân tích độ tin cậy, nhận dạng mẫu, điều khiển gián tiếp, mô phỏng và dự đoán.

Dựa trên quá trình mờ hóa của mạng nơron mờ từ cuối những năm 1980, các mô hình mạng nơron mờ được phân chia thành ba loại chính.

- Dựa trên các toán tử mờ:

- Các mạng nơron được mờ hoá:

+ Mạng nơron mờ chính tắc

+ Mạng nơron mờ cải tiến

- Các mạng suy luận mờ:

+ Kiểu Tổng quát hoá o Danh mục các công trình nghiên cứu ngoài nước có liên quan đến luận văn

[1] Hung T Nguyen, Nadipuram R Prasad, Carol L Walker, Elbert A

Walker: A first course in fuzzy and neural control Công trình đã đưa ra các khái niệm cơ bản về logic mờ, mạng nơron, mạng nơron mờ

[2] Jairo Espinosa, Joos Vandewalle and Vincent Wertz: Fuzzy Logic,

Nhận diện và điều khiển dự báo là hai khái niệm quan trọng trong nghiên cứu Bài viết trình bày các phương pháp cơ bản để phát triển một hệ thống suy luận mờ, nhằm ứng dụng hiệu quả trong việc nhận dạng và điều khiển dự báo.

[3] Hongxing, C.L Philip Chen, Han Pang Huang: Fuzzy Neural, -

Intelligent Systems Công trình đưa ra khái niệm mạng nơron mờ được xây dựng từ mạng nơron bằng cách thêm vào các toán tử mờ

[4] Puyin Liu, Hongxing Li: Fuzzy Neural Network Theory and

[5] Adedejib, John Y.Cheung: Fuzzy Engineering Expert Systems with

[6] Martin T.Hagan, Howard B.Demuth, Mark Beale: Neural Network

1.3.2 Tình hình nghiên cứu trong nước

Trong bối cảnh phát triển mạnh mẽ của khoa học công nghệ toàn cầu, các nhà khoa học Việt Nam đã tích cực nghiên cứu và phát triển các phương pháp mới, đạt được nhiều thành công đáng kể Đặc biệt, các phương pháp sử dụng mạng nơron, logic mờ và mạng nơron mờ đang được chú trọng Một số công trình nghiên cứu liên quan đến luận văn cũng đã được thực hiện, góp phần vào sự tiến bộ trong lĩnh vực này.

Trong cuốn sách “Điều khiển logic và ứng dụng” xuất bản năm 2000, PGS, TS Nguyễn Trọng Thuần đã trình bày những khái niệm cơ bản về logic mờ và hệ suy diễn mờ Tác phẩm cũng giới thiệu một số ứng dụng thiết thực của hệ suy diễn mờ, bao gồm điều khiển máy điều hòa không khí, máy giặt, tốc độ động cơ một chiều, vị trí, và lò nung clinker trong sản xuất xi măng.

Trong cuốn sách "Lý thuyết điều khiển mờ" do Nhà xuất bản Khoa học và Kỹ thuật phát hành năm 2004, các đồng tác giả Phan Xuân Minh và Nguyễn Doãn Phước đã trình bày những khái niệm cơ bản về mạng nơron và lôgic mờ, cung cấp nền tảng quan trọng cho việc ứng dụng trong lĩnh vực điều khiển mờ.

- “Hệ mờ mạng nơron và ứng dụng” Nhà xuất bản khoa học và kỹ thuật -

Vào năm 2006, Bùi Công Cường và Nguyễn Doãn Phước đã chủ biên một nghiên cứu nêu rõ các ứng dụng của logic mờ và mạng nơron trong nhiều lĩnh vực khác nhau, bao gồm điều khiển, toán học, công nghệ thông tin, kinh tế và ngân hàng.

- “Hệ thống chuẩn đoán lỗi ứng dụng mạng nơron mờ” –VICA 5 của PGS,TS Nguyễn Công Hiền

- “Nhận dạng hệ phi tuyến dùng logic mờ” VICA 5 của Huỳnh Thái Hoàng, - Nguyễn Thị Phương Hà, Nguyễn Thúc Loan

- “Ứng dụng bộ đièu khiển nơron mờ điều khiển thích nghi vị trí động cơ - một chiều”- VICA 6 của Phạm Đức Dục, Nguyễn Công Hiền

- “Nghiên Cứu ứng dụng mạng nơron mờ điều khiển thích nghi rôbốt hai - khâu”-VICA 6 của Phạm Đức Dục, Nguyễn Công Hiền.

MẠNG NƠRON MỜ

Logic mờ và hệ suy diễn mờ

Trước khi tìm hiểu về logic mờ, chúng ta cần hiểu khái niệm logic Logic được định nghĩa là tập hợp các quy tắc tư duy chặt chẽ, chính xác và phù hợp với thực tiễn khách quan Chúng ta đã quen thuộc với logic rõ (logic hai trạng thái), chỉ có hai giá trị đúng (1) và sai (0) Logic rõ đóng vai trò quan trọng trong nhiều lĩnh vực của đời sống xã hội và đã đạt được nhiều thành công Tuy nhiên, logic rõ cũng tồn tại một số hạn chế cơ bản.

- Suy luận cứng nhắc, nhiều khi không đúng với thực tế

- Quá trình tư duy là gián đoạn

- Nhiều tổ hợp không đúng với thực tế

Khi đánh giá một bài luận văn thạc sĩ, khái niệm "xuất sắc" với điểm số rõ ràng (trên 9) cho phép áp dụng logic rõ ràng Ví dụ, bài luận có điểm 10 được xem là xuất sắc, trong khi điểm 8 không được đánh giá là xuất sắc Tuy nhiên, khi khái niệm xuất sắc thiếu thông tin về điểm số, việc áp dụng logic rõ trở nên khó khăn, vì không thể xác định liệu bài luận có điểm 8 có phải là xuất sắc hay không Để khắc phục hạn chế này, cần thiết phải phát triển một khái niệm logic mới, đó là logic mờ.

Theo G.Cantor, tập hợp là một nhóm các đối tượng có chung một tính chất, được gọi là phần tử của tập hợp Mỗi đối tượng chỉ có thể thuộc về tập hợp đó hoặc không.

Có nhiều cách để biểu diễn một tập hợp, thông thường một tập hợp được biểu diễn bằng một trong hai cách đó là:

- Liệt kê các phần tử của tập hợp: A = { 0; 1; 2; 3; 4; 5; 6; 7; 8; 9}

- Biểu diễn thông qua tính chất tổng quát của các phần tử:

A = { x | x là số nguyên không âm và x 0}

Miền tin cậy của tập mờ A xác định trên tập nền E, được ký hiệu bởi T là tập con của E thoả món: T = {x∈E | àA(x) = 1}

Các phép toán trên tập mờ

Hợp hai tập mờ A, B có cùng tập nền E là một tập mờ xác định trên tập nền

E, cú hàm thuộc àA B ∪ (x) thoả món:

1) àA B ∪ (x) chỉ phụ thuộc vào àA(x), àB(x) (2.20)

2) àB(x) = 0 với mọi x thỡ àA B ∪ (x) = àA(x) (2.21)

3) Thoả món tớnh chất giao hoỏn: àA B ∪ (x) = àB A ∪ (x) (2.22)

4) Thoả món tớnh chất kết hợp:à(A B) C ∪ ∪ (x) = àA (B C) ∪ ∪ (x) (2.23)

5) Nếu A1 A⊆ 2 thỡ A1∪ ⊆B A2∪B hay àA B ∪ (x) cú tớnh khụng giảm tức là àA1∪B(x) ≤ àA2∪B(x) (2.24)

Có nhiều công thức khác nhau để tính hàm thuộc của hợp hai tập mờ A và B Dưới đây là 5 công thức tiêu biểu được liệt kê.

- àA B ∪ (x) = max{àA(x), àA(x)} (luật lấy max) (2.25)

- àA B ∪ (x) = min{1, àA(x) + àB(x)} (phộp hợp Lukasiewicz) (2.27) khi min {àA (x), àB (x)} ≠ 0 khi min {àA (x), àB (x)} = 0

- àA B ∪ (x) = àA(x) + àB(x) - àA(x)àB(x) (Tổng trực tiếp) (2.29)

Hợp hai tập mờ A và B, với A xác định trên tập nền X và B trên tập nền Y, tạo thành một tập mờ mới trên tập nền (X x Y) Hàm thuộc của tập mờ này là hàm hai biến (A, B): [0,1]² → [0,1], đáp ứng các điều kiện nhất định.

- Thoả món tớnh giao hoỏn: à à( A,àB) = à à( B,àA) (2.31)

- Thoả món tớnh kết hợp: à à à( ( A,àB), àC) = à à( A, à à( B,àC)) (2.32)

- Cú tớnh khụng giảm: à à( A,àB) ≤ à à ( C,àD), ∀àA≤àC, ∀àB≤àD.(2.33)

• Phép giao hai tập mờ

Giao hai tập mờ A, B có cùng tập nền E là một tập mờ xác định trên E, có hàm thuộc thoả mãn các tính chất sau:

1) àA B ∩ (x) chỉ phụ thuộc vào àA(x), àB(x) (2.34)

2) àB(x) = 1 với mọi x thỡ àA B ∩ (x) = àA(x) (2.35)

3) Thoả món tớnh chất giao hoỏn: àA B ∩ (x) = àB A ∩ (x) (2.36)

4) Thoả món tớnh chất kết hợp:à(A B) C ∩ ∩ (x) = àA (B C) ∩ ∩ (x) (2.37)

5) Cú tớnh khụng giảm: àA1(x) ≤ àA2(x) thỡ àA1∩B(x) ≤ àA2∩B(x) (2.38) Cỏc cụng thức thường dung để tớnh àA B ∩ (x) là:

- àA B ∩ (x) = max{0, àA(x) + àB(x) - 1}.(phộp giao Lukasiewicz) (2.41) khi max {àA (x), àB (x)} ≠ 1 khi max {àA (x), àB (x)} = 1

Giao hai tập mờ A và B, với A xác định trên tập nền X và B xác định trên tập nền Y, tạo thành một tập mờ mới trên tập nền X x Y Hàm thuộc của tập mờ này là hàm hai biến à à(A, àB): [0,1]² → [0,1], thỏa mãn điều kiện àA ∩ àB(x) = àA(x) àB(x).

- Thoả món tớnh giao hoỏn: à à( A,àB) = à à( B,àA) (2.45)

- Thoả món tớnh kết hợp: à à à( ( A,àB), àC) = à à( A, à à( B,àC)) (2.46)

- Cú tớnh khụng giảm: à à( A,àB) ≤ à à ( C,àD), ∀àA≤àC, ∀àB≤àD.(2.47)

• Phép bù của một tập mờ

Tập bù của tập mờ A xác định trên tập nền E là một tập mờ A C xác định trên

E, cú hàm thuộc à ( à A ) : [0,1]→[0,1] thoả món cỏc tớnh chất:

2) àA(x)≤àB(x) thỡ à à( A(x))≥à à( B(x)) (2.49) Nếu hàm một biến à à( A(x)) liờn tục và: àA(x)à à( B(x)) thỡ phép bù mờ được gọi là phép bù mờ chặt

Nếu phộp bự mờ chặt thoả: à à à( ( A)) = àA, tức là ( ) A C C = A thỡ được gọi là phép bù mờ mạnh

Cấu trúc của hệ suy diễn mờ thường được biểu diễn như hình 2.2, trong đó x và y đại diện cho các biến đầu vào và đầu ra, còn χ và γ là các biến ngôn ngữ.

Trình tự làm việc của hệ logic mờ bao gồm các bước sau: đầu tiên, các biến vào x với giá trị vật lý được chuyển qua khâu mờ hoá, tạo ra tập các biến ngữ đầu vào χ Tiếp theo, các biến ngôn ngữ đầu vào này được xử lý qua cơ chế suy diễn, sử dụng các luật suy diễn để thu được tập các biến ngôn ngữ đầu ra Cuối cùng, các biến đầu ra này được đưa qua khâu giải mờ để xác định tập các biến ra thích hợp y.

Mạng Nơron

2.2.1 Khái niệm mạng nơron nhân tạo

Mạng nơron sinh học bao gồm vô số các nơron sinh học liên kết với nhau Một nơron (hình 2.7) bao gồm các thành phần cơ bản sau:

- Thân nơron được giới hạn trong một màng, trong cùng là nhân

- Các rễ vào để nhận thông tin và rễ ra để truyền thông tin xử lý tới các nơron khác

- Axon để liên kết nơron với các nơron khác trong mạng

Quá trình hoạt động của nơron là một quá trình điện hoá tự nhiên, trong đó tác động từ bên ngoài kích thích nơron, dẫn đến phản ứng hoá học và tạo ra lực tác động Khi lực này vượt ngưỡng cân bằng, nơron sẽ bị kích thích, và thế năng sinh ra sẽ được truyền qua axon, có khả năng tác động lên các nơron khác trong mạng Khả năng đáp ứng của nơron thay đổi theo thời gian, có thể tăng, giảm hoặc không có đáp ứng Sự liên kết giữa các nơron khiến thay đổi trạng thái của một nơron ảnh hưởng đến những nơron khác, dẫn đến sự thay đổi toàn bộ mạng Quá trình học tự nhiên có thể làm thay đổi trạng thái của mạng nơron, và những đặc điểm này đã được ứng dụng để thiết kế mô hình mạng nơron nhân tạo Mạng nơron nhân tạo tái tạo các chức năng cần thiết của nơron sinh học, đồng thời phát triển các chức năng mới để giải quyết các bài toán cụ thể.

Như vậy mạng nơron có thể được tạo ra bằng nhiều cách khác nhau, song về cơ bản một nơron gồm các phần như hình 2.8

- Các đầu vào xi, i=1,…,n tác động vào nơron với cường độ khác nhau được thể hiện qua các trọng số wi, i=1,…,n Tổng giá trị của các kích nhân

Các rễ vào axon rễ ra

Hình 2.7: Cấu trúc một nơron sinh học

Hình 2.8: Cấu trúc cơ bản của một nơron nhân tạo x 1 x 2 x n c f y thích đầu vào được thực hiện qua một bộ cộng ∑

là giá trị đo kích thích đầu vào tác động vào nơron

Giá trị đầu ra của bộ cộng được chuyển đến khâu tiền đáp ứng c, nơi có vai trò quan trọng trong việc tạo ra các đáp ứng tức thời và lưu giữ chúng theo thời gian.

Tín hiệu ra từ khâu tiền đáp ứng được chuyển đến khâu tạo tín hiệu ra f để xác định mối quan hệ giữa tín hiệu ra và các kích thích đầu vào Thông thường, f được biểu diễn dưới dạng hàm của tín hiệu ra y và các tín hiệu vào xi.

Mạng nơron được hình thành khi các đầu vào và đầu ra của nhiều nơron được liên kết với nhau Trong đó, các nơron đầu vào nhận thông tin từ môi trường bên ngoài, trong khi các nơron đầu ra truyền tín hiệu ra ngoài mạng Các nơron còn lại được gọi là nơron ẩn, không thể quan sát được đầu ra của chúng Mỗi nơron trong một lớp chỉ liên kết với các nơron ở lớp liền kề, và không liên kết với các nơron trong cùng một lớp Tất cả các nơron trong một mạng thường thuộc cùng một loại, nhưng được phân biệt bằng các trọng số wi.

Mạng nơron ba lớp trong hình 2.9 là một ví dụ về mạng truyền thẳng (feedforward network), không có mạch hồi tiếp Ngược lại, mạng nơron hồi tiếp (feedback network) có phản hồi từ đầu ra trở lại đầu vào của các nơron phía trước Nếu mạng nơron có một hoặc nhiều lớp ẩn, nó được gọi là mạng nơron MLP, trong khi mạng nơron chỉ có một lớp nơron được gọi là mạng nơron một lớp.

2.2.3 Quá trình học của mạng nơron

Mạng nơron ban đầu không có tri thức và tri thức này được hình thành qua quá trình học Trong giai đoạn học, mạng nơron tiếp nhận các kích thích đầu vào và tạo ra những đáp ứng tương ứng, sau đó lưu giữ các phản hồi này Khi đã có tri thức, mạng có khả năng giải quyết các vấn đề cụ thể một cách chính xác Nguyên tắc học áp dụng cho mạng với cấu trúc và các phần tử nơron cố định là điều chỉnh giá trị trong vectơ hàm trọng lượng và vectơ ghép nối giữa các phần tử nơron Để đạt được mục tiêu, mạng nhận nhiều tác động mẫu x(k), với k từ 1 đến n, và các giá trị đầu ra ~y(k) sẽ được so sánh với đáp ứng mẫu y(k) đã chọn trước Các phần tử wk trong vectơ trọng số sẽ được điều chỉnh để giảm thiểu sai lệch giữa ~y(k) và y(k).

Quá trình chỉnh định sẽ tiếp tục cho đến khi đạt được sai số mong muốn, đảm bảo mạng có đáp ứng đầu ra hoàn hảo với tác động của mẫu đầu vào Kết quả này sẽ được lưu trữ để sử dụng sau này.

Quá trình học thực chất là việc giải quyết bài toán tối ưu tham số, trong đó cần xây dựng một phiếm hàm mục tiêu để mô tả sai lệch.

Mạng nơron MPL ba lớp bao gồm lớp vào với m đầu vào x1, x2, …, xm, lớp ẩn với n nơron và lớp ra với p nơron cho các đầu ra y1, y2, …, yp Các nơron đầu vào chỉ có chức năng thu thập thông tin mà không tham gia vào quá trình học, trong khi quá trình học diễn ra qua các nơron ở lớp trung gian và lớp ra Mỗi nơron trong lớp trung gian có vectơ trọng số wi với m phần tử, và nơron trong lớp ra có vectơ trọng số wj với n phần tử Khi bắt đầu học với các cặp vectơ vào-ra {x (k), y (k)}, mỗi vectơ vào x (k) sẽ tạo ra một vectơ đầu ra ~y (k) Sai lệch Ek cho mẫu học thứ k được biểu diễn qua hàm mục tiêu.

1 (2.87) và hàm mục tiêu xây dựng cho toàn bộ chu trình học là:

Quá trình học nhằm tìm giá trị cực tiểu Emin cho hàm mục tiêu E bằng cách điều chỉnh các phần tử trong vectơ hàm trọng số Mỗi lần thay đổi, giá trị E sẽ giảm từ k1 xuống k2, với k2 < k1 Thông thường, bài toán tối ưu này được giải quyết qua phương pháp truy hồi nhiều bước Một trong những cách hiệu quả để điều chỉnh vectơ hàm trọng số nhằm giảm giá trị E là thay đổi theo hướng ngược gradient, dựa vào vectơ gradient của E.

∂ luôn có hướng chỉ chiều tăng giá trị của E Nguyên tắc này có thể diễn đạt dưới dạng: qr pr w s E w ∂

Cho lớp nơron ẩn và: qr pr w s E v ∂

Trong lớp nơron đầu ra, trọng số mới \( w_{pr} \) được xác định từ trọng số cũ \( w_{pr} \) cộng với một lượng gia tăng \( \Delta w_{pr} \) theo công thức: \( w_{pr} (mới) = w_{pr} (cũ) + \Delta w_{pr} \) Tương tự, trọng số \( v_{pr} \) mới được tính bằng cách cộng trọng số cũ \( v_{pr} \) với một lượng gia tăng \( \Delta v_{pr} \), được biểu diễn bằng công thức: \( v_{pr} (mới) = v_{pr} (cũ) + \Delta v_{pr} \).

Ngoài các phương pháp học truyền thống, mạng nơron còn có khả năng học một cách tự do mà không cần đến hàm mục tiêu Cụ thể, mỗi mẫu đầu vào sẽ tương ứng với một mẫu đầu ra nhất định Quá trình học diễn ra khi các nhóm tín hiệu đầu vào và đầu ra được sắp xếp phù hợp với nhau, và đây được gọi là học không có giám sát (học không thầy).

2.2.3 Một số mạng nơron điển hình

Xét mạng một lớp hình 2.10, với m đầu vào x x m x 1 và p đầu ra = y p y y

Gọi vectơ trọng lượng của nơron thứ i là wi im i w w 1 thì mạng với ~ y i = w T i x , i=1, …, p có tên gọi là mạng Adaline (mạng có phần tử thích nghi tuyến tính)

Quá trình học của mạng là quá trình xác định wij, i=1, 2, …, n; j=1, 2, …, m để đầu ra =

~ k n k k y y y ứng với tác động của x (k) ) (

( 1 k n k y y có sai lệch nhỏ như mong muốn, tức là để có:

( k ~ i k T i k i y w x y ≈ = , i=1, 2, …, n hay y ( k ) ≈ ~ y ( k ) = W x ( k ) (2.93) trong đó {x (k) , y (k) }, k=1, 2, …, p là những mẫu học cho trước. x 0 x 1 x 2 x m

Hệ phương trình (2.93) bao gồm n x p phương trình cho n x m ẩn số, trong đó để đạt được y(k) ≈ ~y(k) cho toàn bộ p mẫu học, yêu cầu cần có p ≥ m, điều này thường không được đảm bảo Do đó, việc dạy học cho mạng thường được thực hiện dưới sự hướng dẫn của hàm mục tiêu.

(trong đó s là bước học thông thường s lấy giá trị trong khoảng (0; 1)) vì wij chỉ ảnh hưởng tới một mình nơron thứ i

Như vậy theo (2.94) thì để hiệu chỉnh trọng số wij phải có ngay một lúc toàn bộ p mẫu học {x (k) , y (k) }, k=1, 2, …, p Để khắc phục nhược điểm này,

Widnow đã cải biên (2.94) thành công thức sau:

∆ (2.95) và với giá trị gia tăng ∆wij (k) trên ta có được sự hiệu chỉnh trọng số wij qua từng bước học như sau: w ( ij k + 1 ) = w ij ( k ) + ∆ w ( ij k ) (2.96)

Mạng Hopfield và mạng tuyến tính có ngưỡng LTU

Mạng Hopfield tương tự như mạng Adaline, là một mạng truyền thẳng một lớp với cấu trúc đặc trưng Giá trị đầu ra của mạng Hopfield được tính toán theo một công thức cụ thể.

Hàm mục tiêu cho quá trình xác định wij từ các mẫu huấn luyện {x (k) , y (k) }, k=1, 2, …, p như sau:

Công thức xác định ∆ ij ở bước học thứ k đã được cải biên theo công thức Widnow như sau:

( 1 k m k x x vì y i (k ) chỉ lấy giá trị 1 hoặc 1.-

Mạng tuyến tính có ngưỡng LTU là mạng một lớp, trong đó giá trị ra của mạng được xác định theo công thức:

~ x x thì mạng LTU sẽ đưa được về dạng Hopfield với:

Mạng LGU cũng có cấu trúc như hình 2.10 với giá trị ra của mạng xác định theo công thức:

Vậy công thức xác định sai lệch giữa ~ y ( k ) và y (k) sẽ là: nếu ( ) ~ i ( k ) k i y y ≠ cho các trường hợp còn lại cho các trường hợp còn lại nếu y i ( k ) ≠ ~ y i ( k )

1 α (2.103) với ( ) T i ( k ) k i w x c = , như vậy công thức xác định ∆wij là:

∆ (2.104) nếu sử dụng công thức cải biên của Widnow thì ta có công thức xác định wij tại bước học thứ k:

Mạng MLP truyền thẳng là mạng có cấu trúc tương tự như mạng ở hình 2.9 Giả sử lớp nơron ẩn có l nơron với l đầu ra z1, z2, …,zlvới zq = ( )

= và lớp ra có n nơron với n đầu ra ~y 1, ~y 2,…,y~ n với

~ α ( α α α (2.107) công thức cập nhật thông số cho mạng trong quá trình huấn luyện là:

( ) k j q k q n i cu iq i k i k i qj q q qj qj x c dc w d dc d y y v s c c s E v

∆ (2.109) wiq (mới) = wiq (cũ) + ∆wiq (2.110) vqj (mới) = vqj (cũ)+ ∆vqj (2.111)

Thuật toán xác định thông số từ (2.108) đến (2.111) yêu cầu sử dụng toàn bộ mẫu học đồng thời, điều này không khả thi Để giải quyết vấn đề này, thuật toán lan truyền ngược được áp dụng.

Thuật toán lan truyền ngược

Thuật toán lan truyền ngược được dùng phổ biến nhất trong việc dạy mạng nhiều lớp, kể cả mạng với nơron có tính động học BSB x

Mạng nơron mờ

Logic mờ và mạng nơron đều có khả năng ứng dụng trong nhận dạng hệ thống, đặc biệt là hệ phi tuyến Việc lựa chọn phương pháp phụ thuộc vào dạng dữ liệu có sẵn; nếu dữ liệu là các cặp số học, mạng nơron thường được sử dụng, trong khi logic mờ phù hợp với dữ liệu dạng luật mờ Mạng nơron mang lại khả năng học tập, trong khi logic mờ cung cấp khả năng tượng trưng tri thức mềm dẻo Dưới đây là một số so sánh về ưu nhược điểm của từng phương pháp.

Cả logic mờ và mạng nơron đều có khả năng được thiết kế với chất lượng hệ thống nhất định, đạt được độ chính xác tùy ý và hoạt động dựa trên nguyên lý tư duy của con người.

Tính năng của mạng nơron phụ thuộc vào loại nơron và cấu trúc kết nối của chúng, không liên quan đến đối tượng nhận dạng Kiến thức về đối tượng không hỗ trợ trong việc chọn nơron hay xây dựng mạng, nhưng lại rất quan trọng trong thiết kế hệ thống mờ Những hiểu biết này có thể chỉ là kinh nghiệm thu thập từ quá trình tiếp cận, và nếu thiếu, người thiết kế sẽ gặp khó khăn trong việc xây dựng luật hợp thành và mờ hóa giá trị tín hiệu Trong thực tế, khi thiết kế hệ thống mờ, người thiết kế thường gặp khó khăn trong việc xác định hàm thuộc cho các giá trị ngôn ngữ, vì điều này yêu cầu hiểu biết chi tiết và định lượng, khác với việc xây dựng luật hợp thành chỉ cần hiểu biết định tính Đây là điểm khác biệt chính giữa hệ mờ và mạng nơron.

Mạng nơron khi mới thiết kế không có tri thức, mà tri thức này được hình thành qua quá trình học từ các mẫu học Sự đa dạng và số lượng mẫu học càng lớn thì tri thức của mạng càng gần với thực tế Nếu cần thiết, tri thức của mạng có thể được bổ sung và hoàn thiện khi tương tác với đối tượng Ngược lại, hệ thống mờ đã có một cơ chế làm việc nhất định ngay khi thiết kế xong, và cơ chế này sẽ không thay đổi trong suốt thời gian hoạt động Do đó, mạng nơron có khả năng học hỏi, trong khi hệ thống mờ thì không.

Khi cần nhận dạng một “black box”, mạng nơron thường được chọn làm giải pháp, vì tri thức của nó được lưu trữ ở các trọng số phân bố khắp mạng Một thay đổi nhỏ trong giá trị trọng số không đủ để thay đổi tính năng của mạng nơron, khiến việc đánh giá tri thức của nó trở nên khó khăn nếu không có mẫu so sánh Ngược lại, trong hệ thống mờ, một thay đổi nhỏ ở hàm thuộc hay luật hợp thành sẽ dẫn đến sự thay đổi dễ nhận biết về bản chất hệ thống Do đó, hệ thống mờ có tính thích nghi cao hơn so với mạng nơron.

Việc so sánh hai phương pháp cho thấy rằng ưu điểm của mạng nơron lại trở thành nhược điểm của hệ thống mờ và ngược lại Do đó, việc kết hợp hai phương pháp này sẽ tận dụng được những lợi ích của cả hai và khắc phục các hạn chế riêng của từng phương pháp Có nhiều cách để kết hợp chúng, nhưng có thể nêu ra hai phương pháp kết hợp cơ bản.

1) Logic mờ được đưa vào mạng nơron để nâng cao khả năng trình bày tri thức cho mạng nơron Điều này có thể thực hiện bằng cách đưa nội dung mờ vào trong mạng nơron, cụ thể là vào trong: các giá trị vào, giá trị ra, các hoạt động kết hợp hay các hàm tạo tín hiệu ra Mô hình toán chuẩn của nơron có thể được chuyển thành mô hình toán của nơron mờ với các luật t- norm và t-conorm được dùng để xây dựng các hoạt động kết hợp

2) Mạng nơron được sử dụng trong mô hình mờ để cung cấp khả năng học cho hệ thống mờ

2.3.1 Khái niệm mờ trong mạng nơron

Cấu trúc cơ bản của một nơron hình 2.16 cho thấy rằng khái niệm mờ có thể được tích hợp vào nơron ở nhiều cấp độ khác nhau Do đó, có thể phân loại nơron thành nhiều loại nơron mờ khác nhau.

- Nơron mờ với các tín hiệu là rõ, được sử dụng để ước lượng các trọng số mờ như hình 2.17 w 1 w 2 w n

Hình 2.16: Cấu trúc cơ bản của một nơron nhân tạo x 1 x 2 x n f y

Hình 2.17: Cấu trúc một nơron mờ với trọng số mờ x 1 x 2 x n f y

- Nơron mờ với các tín hiệu mờ kết hợp với các trọng số mờ như hình 2.18

- Nơron với quan hệ vào ra được thực hiện bởi các toán tử mờ, ví dụ - như: y = ( wi xi )

Một mạng nơron với các loại nơron mờ điển hình như trên trở thành một mạng nơron mờ nhiều lớp

Xét một tập các luật mờ có dạng sau:

Ri: Nếu x là A i thì y là B i (2.120) với i =1, 2, …, n và A i , B i là tích của các tập mờ:

Mỗi luật trong (2.120) có thể được coi là một mẫu huấn luyện cho mạng nơron nhiều lớp, trong đó phần đầu của luật (“Nếu x là A i …”) đóng vai trò là đầu vào.

Hình 2.18: Cấu trúc một nơron mờ với tín hiệu mờ kết hợp trọng số mờ

~x 2 x~ n f y i=1 n mạng nơron và phần phía sau của luật (“…thì y là B i ”) là đầu ra mong muốn của mạng Các phương trình (2.120) do đó tạo thành một:

- Hệ thống MISO nếu N>1 và M = 1.

Tập huấn luyện bao gồm các cặp giá trị vào-ra (A i , B i ) cho:

- Một hệ thống MIMO với tập huấn luyện dưới dạng:

- Một hệ thống MISO với tập huấn luyện dưới dạng:

- Một hệ thống SISO với tập huấn luyện:

Chúng ta cũng cần kết hợp các hoạt động giải mờ vào trong mạng nơron, thực hiện ở mức cuối cùng của mạng nơron

2.3.2 Phương pháp xây dựng mạng nơron mờ

Có hai cách chính để thực hiện các luật mờ "Nếu thì " thông qua mạng nơron lan truyền ngược sai lệch Phương pháp đầu tiên được Umano và Ezawa giới thiệu vào năm 1991, sau đó được Uehara và Fujise cải biên vào năm 1992, sử dụng một số hữu hạn các tập để biểu diễn các số mờ Năm 1993, Jang đã mở rộng phương pháp này để phát triển mạng nơron thích nghi mờ ANFIS, đây là mạng mà luận văn này sẽ tập trung nghiên cứu.

Trong phương pháp của Umano và Ezawa, một tập mờ được biểu diễn bằng một số hữu hạn các giá trị hàm thuộc Chúng ta có thể xem xét một tập hợp các luật mờ được trình bày dưới dạng cụ thể.

Nếu x thuộc tập Ai thì y sẽ thuộc tập Bi, với Ai và Bi là các tập mờ xác định trên các khoảng [a1, a2] và [b1, b2] Giả sử các cặp giá trị xj và yk được xác định bởi công thức xj = a1 + ( ).

− (2.125) với N ≥ 2, M 2 và 1 j N, 1 k M Khi đó chúng ta sẽ có các mẫu huấn ≥ ≤ ≤ ≤ ≤ luyện rời rạc bao gồm các cặp giá trị vào ra như sau:-

Mạng nơron mờ được định nghĩa bởi (Ai(x), Bi(y)) = ((Ai(x1),…,Ai(xN)), (Bi(y1),…,Bi(yM))) (2.126), trong đó có N đầu vào và M đầu ra Mạng này có khả năng được huấn luyện bằng các quy luật luyện mạng nơron thông thường.

Xét một tập luật mờ gồm ba luật sau:

R1: Nếu x là nhỏ thì y là âm

R2: Nếu x là trung bình thì y là gần không

R3: Nếu x là lớn thì y là dương với các hàm thuộc được định nghĩa như sau: lấy M = N = 5 và

Hình 2.19 Các hàm thuộc vào ra xj= (j 1)/4, 1≤ j ≤- 5 yk= (k 3)/2, 1≤ k ≤ 5.-

Do đó ta có: x = (x1, x2, x3, x4, x5) = (0,0.25,0.5,0.75,1) y= (y1, y2, y3, y4, y5) = (- -1, 0.5,0,0.5,1) tập các mẫu để luyện mạng sẽ là:

Bây giờ ta xét mô hình Sugeno Takagi vớ- i hai mệnh đề:

R1: Nếu x1 là A1 và x2 là B1 thì y = f1(x) (2.127)

R2: Nếu x1 là A2 và x2 là B2 thì y = f2(x)

Trong đó A1, A2, B1, B2 là những tập mờ và f1(x) = z11x1 + z12x2 + z13 (2.128) f2(x) = z21x1 + z22x2 + z23 Vậy với x = (x1, x2) thì kết quả ra sẽ là: y = ( ) ( ) ( ) ( )

Mạng nơron mờ của mô hình được thiết kế như hình 2.20 Các đầu vào (x1, x2) được coi là lớp 0 của mạng (lớp đầu vào) Đầu ra của lớp 1 sẽ là:

(O11, O12, O13, O14) = (A1(x1), A2(x1), B1(x2), B2(x2)) (2.130) với các hàm thuộc của Ai, Bi, i=1.2 có thể là các hàm tam giác, sigmoid hay gaussian

Lớp 2 bao gồm các nơron mờ với hoạt động kết hợp là các mệnh đề t- norm (sử dụng phép nhân) Giá trị đầu ra của lớp 2 là:

Các nơron ở lớp 4 có giá trị ra:

Cuối cùng đầu ra của mạng sẽ là: y= O41+O42 y

Lớp 0 Lớp 1 Lớp 2 Lớp 3 Lớp 4 Lớp ra

Hình 2.20 Cấu trúc mạng nơron mờ với hai giá trị vào.

Bài viết này trình bày phương pháp xây dựng mạng nơron mờ cho mô hình Sugeno-Takagi với hai mệnh đề, đồng thời có thể mở rộng cho các mô hình với số lượng luật tùy ý và áp dụng cho nhiều mô hình khác nhau.

2.3.3 Thuật toán học của mạng nơron mờ

Trong mạng nơron, thuật toán phổ biến nhất là thuật toán lan truyền ngược, được sử dụng để học và điều chỉnh trọng số của các nơron dựa trên các mẫu huấn luyện đầu vào và đầu ra.

NHẬN DẠNG HỆ PHI TUYẾN SỬ DỤNG MẠNG NƠRON MỜ VÀ ỨNG DỤNG

Nhận dạng hệ phi tuyến sử dụng mạng nơron-mờ

Việc áp dụng mạng nơron mờ kết hợp ưu điểm của mạng nơron và hệ logic mờ, cho phép học hỏi và sử dụng kiến thức chuyên gia một cách hiệu quả Mạng nơron mờ là phương pháp khả thi để giải quyết bài toán nhận diện hệ phi tuyến, có khả năng xấp xỉ vạn năng với độ chính xác tùy ý cho nhiều quá trình khác nhau.

Để xác định hàm f trong hệ phi tuyến y = f(u,t), trong đó y là tín hiệu ra và u là vectơ tín hiệu vào, cần dựa vào kinh nghiệm của nhà thiết kế và yêu cầu hội tụ của hệ thống Việc ứng dụng mạng nơron mờ cho nhận dạng hệ thống sử dụng vectơ tín hiệu vào u cùng với sai lệch giữa tín hiệu ra thực tế y và tín hiệu ra ước lượng yˆ để điều chỉnh véc tơ thông số của mạng Tập giá trị yêu cầu m của tín hiệu học vào-ra (ui,yi) được coi là tập huấn luyện mạng, phục vụ cho nhận dạng hệ thống Các bước cơ bản trong bài toán nhận dạng hệ thống bằng mạng nơron mờ bao gồm việc xác định và điều chỉnh các tham số để tối ưu hóa quá trình nhận dạng.

1) Thực hiện khảo sát, và thu thập tập dữ liệu vào ra của hệ để huấn luyện mạng

2) Chia tập dữ liệu thu được thành 2 tập, một tập để huấn luyện, một tập để kiểm tra

3) Lựa chọn cấu trúc mạng, các tín hiệu vào ra phù hợp cho quá trình - nhận dạng

4) Thực hiện nhận dạng hệ thống thông qua các mẫu huấn luyện của mạng

5) Thực hiện kiểm tra đánh giá mạng thu được sau khi huấn luyện bằng tập dữ liệu kiểm tra

6) Kết thúc quá trình và đánh giá kết quả

Trong quá trình học, các thông số hàm thuộc được điều chỉnh để hệ suy diễn mờ phù hợp với dữ liệu huấn luyện, tương tự như mạng nơron Các thông số như độ rộng và tâm sẽ được tối ưu hóa theo hàm mục tiêu, thường là hàm tổng bình phương sai lệch Quá trình nhận dạng diễn ra qua tập dữ liệu vào-ra, từ đó tạo ra cấu trúc hệ suy diễn mờ, với các thông số hàm thuộc được điều chỉnh bởi thuật toán học của mạng Kết quả là một mạng nơron nhân tạo có khả năng ánh xạ dữ liệu vào thông qua hàm thuộc để tạo ra dữ liệu ra Trong trường hợp dữ liệu huấn luyện bị nhiễu, cần một mô hình kiểm chứng để đánh giá và dự báo dữ liệu đầu ra của hệ.

Trong bài viết này, tác giả áp dụng mạng nơron mờ thích nghi ANFIS để nhận diện các hệ phi tuyến Hệ thống (3.1) được mô hình hóa thông qua phương pháp suy luận mờ Sugeno-Takagi.

Ri : Nếu x1 là A1 i và x2 là A2 i và…và xn là An i thì yi là fi(x) (3.2)

Trong đó: fi(x) = a0 i +a1 ix1+a2 ix2+…+an ixn i = 1 m.

Nếu áp dụng phép nhân thay cho phép AND và sử dụng t-norm cho phép OR, đồng thời thực hiện giải mờ theo phương pháp trung bình trọng tâm, cấu trúc mạng nơron mờ sẽ tương ứng với hệ thống (3.2) như được minh họa trong hình 3.1.

Lớp 1: Trong lớp này, mỗi nơron tương ứng là một nơron thích nghi, giá trị đầu ra của nơron thứ i trong lớp cho bởi công thức:

Trong đú x là tớn hiệu vào, Ai(x) là tập mờ tương ứng, àAi (x) là hàm thuộc của

Ai Cỏc thụng số xỏc định àAi (x) cú thể được hiệu chỉnh trong quỏ trỡnh học của mạng

Lớp 2: Mỗi nơron trong lớp ha là một nơron cố định, giá trị ra của nơron thứ i lớp này là tích của các tín hiệu vào nơron đó thể hiện phép AND mờ, được xác định theo công thức:

Lớp 3: Cũng giống như lớp 2, mỗi nơron thuộc lớp 3 cũng là một nơron cố định với giá trị ra được xác định theo công thức:

Lớp 4: Mỗi nơron trong lớp 4 là một nơron thích nghi với giá trị ra của nơron thứ i trong lớp xác định theo công thức:

O4i = ( n ) i n i i i i i i f w a a x a x a x w ˆ = ˆ 0 + 1 1 + 2 2 + + (3.6) Các thông số a0 i, a1 i, a2 i,…,an i có thể được ước lượng, hiệu chỉnh trong quá trình học của mạng

Lớp ra trong mạng nơron bao gồm các nơron cố định, trong đó giá trị đầu ra của nơron thứ i được tính bằng tổng các giá trị đầu vào của nó Công thức tính toán này được biểu diễn như sau: yˆ i = ∑ = ∑ ∑ i i i i i i i w f f w w ˆ (3.7).

Mạng sẽ được huấn luyện để tối ưu hàm mục tiêu là tổng bình phương sai lệch giữa giá trị ra ước lượng và giá trị ra mong muốn:

E (3.8) trong đó k là số mẫu huấn luyện

Các thông số trong mạng đóng vai trò là trọng số, xác định hàm thuộc cho các tập mờ vào và ra Những thông số này sẽ được cập nhật bằng phương pháp giảm dốc nhanh nhất Giả sử θi là thông số thứ i cần ước lượng, thì θi sẽ được cập nhật theo công thức: θi(k+1) = θi(k) + ∆θi.

∆ (3.10) trong đó là hệ số học của mạng, lấy giá trị trong khoảng (0;1).η η

Sử dụng mạng nơron mờ để nhận dạng hệ phi tuyến tĩnh

Trong bài viết này, chúng tôi sẽ minh họa khả năng nhận dạng các hệ phi tuyến tĩnh của mạng nơron mờ thông qua hai ví dụ cụ thể Đầu tiên, chúng tôi sẽ sử dụng mạng nơron mờ để nhận dạng hàm số y = x^2, tiếp theo là hàm y = sin(x) + cos(x) Những ví dụ này sẽ làm rõ cách mà mạng nơron mờ có thể áp dụng trong việc nhận diện các hàm phi tuyến một cách hiệu quả.

3.2.1 Sử dụng mạng nơron mờ nhận dạng hàm y = x 2

Giả sử ta thu được tập các giá trị vào-ra của hàm y=x 2 như sau: x (k) = {0.5;0.6;0.7;0.8;0.9;1;2;3;4;5;6;7;8;9;10} y (k) = {0.25;0.36;0.49;0.64;0.81;1;4;9;16;25;36;49;64;81;100}

Thực hiện mô hình hoá hệ bằng hệ suy luận mờ sau:

R1: Nếu x là gần không (A1) thì y là a 1 0 + a 1 1 x

R2: Nếu x là nhỏ (A2) thì y là a 0 2 + a 1 2 x

R3: Nếu x là vừa (A3) thì y là a a 1 3 x

R4: Nếu x là lớn (A4) thì y là a 0 4 + a 1 4 x

R5: Nếu x là khá lớn (A5) thì y là a 0 5 + a 1 5 x

Các hàm thuộc của các tập mờ “gần không”, “nhỏ”, “vừa”, “lớn”, “khá lớn” (A1, ,A5) là các hàm Gauss xác định theo công thức:

Các thông số đóng vai trò là các trọng số của mạng cần hiệu chỉnh trong quá trình học là:

- Các thông số xác định hình dạng của các hàm thuộc: c1, σ1, c2, σ2, c3, σ3, c4, σ4, c5, σ5

Các thông số xác định giá trị ra bao gồm a0 1, a1 1, a0 2, a1 2, a0 3, a1 3, a0 4, a1 4, a0 5 và a1 5 Để biết thêm chi tiết, bạn có thể tham khảo phần phụ lục của phần mềm chương trình huấn luyện mạng Dưới đây là một số kết quả thu được sau khi huấn luyện mạng.

Thông số ước lượng Giá trị khởi tạo ban đầu Giá trị thu được sau huấn luyện c1 0.5000 1.0689 c2 2.8800 2.5573 c5 5.2500 3.9151 c 4 7.6250 7.0305 c 5 10.0000 9.3241

Hình 3.2a: Các hàm thuộc ban đầu Hình3.2b: Các hàm thuộc đã huấn luyện σ1 1.0090 1.2322 σ2 1.0090 1.4953 σ3 1.0090 -2.0437 σ4 1.0090 2.9932 σ5 1.0090 3.4964 a0 1 0 -0.4960 a1 1 1 0.4574 a0 2 1 0.8629 a1 2 1 1.1910 a0 3 1 1.4894 a1 3 1 3.8739 a0 4 0 0.2200 a1 4 1 3.7373 a0 5 1 2.0590 a1 5 1 12.2147 k y (k) y ˆ ( k )

Từ đồ thị hình 3.2c ta thấy giá trị ra ước lượng của mạng hầu như trùng khớp với giá trị ra mong muốn

3.2.2 Sử dụng mạng nơron mờ để nhận dạng hàm y = sinx+cosx

Một ứng dụng thú vị của mạng nơron mờ là nhận dạng hàm phi tuyến tĩnh y = sinx + cosx Khi x được lấy từ các giá trị rời rạc trong khoảng (0÷π), ta thu được tập mẫu huấn luyện với các giá trị x (k) như sau: {0; 0.2; 0.4; 0.6; 0.8; 1; 1.2; 1.4; 1.6; 1.8; 2; 2.2; 2.4; 2.6; 2.8; 3; 3.2; 3.4; 3.6; 3.8; 4; 4.2; 4.4; 4.6; 4.8; 5; 5.2; 5.4; 5.6; 5.8; 6; 6.2} Tương ứng, các giá trị y (k) được xác định là: {1; 1.1787; 1.3105; 1.3900; 1.4141; 1.3818; 1.2944; 1.1554; 0.9704; 0.7466; 0.4932; 0.2200; -0.0619; 0.3414; 0.6072; 0.8489; 1.0567; 1.2223; 1.3393; 1.4028; 1.4104; 1.3618; 1.2589; 1.1058; 0.9087; 0.6753; 0.4149; -0.1381; 0.1443; 0.4209; 0.6808; 0.9135}.

Vẫn áp dụng mạng nơron mờ với cấu trúc đã trình bày trong mục 3.2.1 để nhận diện hệ thống Thông tin chi tiết về phần mềm huấn luyện mạng có thể tham khảo trong phụ lục Kết quả đạt được sau quá trình huấn luyện được trình bày như sau:

Thông số ước lượng Giá trị khởi tạo ban đầu Giá trị thu được sau huấn luyện c1 0 0.1241 c2 1.55 1.3988 c5 3.1 2.3661 c4 4.65 4.6208 c5 6.2 5.9633 σ1 0.6582 0.8871 σ2 0.6582 0.9165 σ3 0.6582 0.9173 σ4 0.6582 1.3268 σ5 0.6582 1.2368 a0 1 0 1.0208 a1 1 1 1.0633 a0 2 1 0.7684 a1 2 1 0.4564 a0 3 1 0.5456 a1 3 1 -0.4768 a0 4 0 -0.3803 a1 4 1 -0.3264 a0 5 1 0.8320

Hình 3.3c: Đồ thị giá trị ra mong muốn và giá trị ra ước lượng

Sai lệch giữa giá trị ước lượng và giá trị mong muốn rất nhỏ, chỉ dưới 0.015, cho thấy hai đường trên đồ thị gần như trùng khớp với nhau.

Sử dụng mạng nơron mờ để nhận dạng hệ phi tuyến động

Trong mục 3.2, các ứng dụng của mạng nơron mờ đã được trình bày để nhận dạng các hệ phi tuyến tĩnh Tiếp theo, luận văn sẽ áp dụng mạng nơron mờ để nhận dạng các hệ phi tuyến động, với đối tượng nghiên cứu là một hệ phi tuyến động được mô tả bởi phương trình sai phân rời rạc.

( u u k k e e k y k u k k y y (3.11) trong đó u(k), y(k) tương ứng là hiệu vào và ra của hệ

Dữ liệu huấn luyện được thu thập bằng cách đưa tín hiệu vào u, lấy 1000 giá trị ngẫu nhiên rời rạc trong khoảng (0;1), và sau đó tác động vào hệ thống Quá trình thu thập dữ liệu này được thực hiện thông qua đoạn chương trình đã được thiết lập.

>> for i=2:1000 y(i+1)= (y(i)*u(i))/(1+((abs(y(i-1)))^0.3))-(1 exp( u(i)))/(1+exp( u(i)));- - -Hình 3.3d: Đồ thị sai lệch giữa giá trị ra mong muốn và giá trị ra ước lượng end

Để đảm bảo hệ động hoạt động hiệu quả, việc xác định giá trị đầu vào phù hợp với tín hiệu đầu ra là rất quan trọng Quá trình này có thể được thực hiện thông qua đoạn chương trình sau: input = [[0; y(1:1000)]

[0; 0; 0; 0; 0; 0; u(1:995)]]; data = [input y]; data(1:6, :) = []; input_name = str2mat('y(k-1)','y(k 2)','y(k 3)','y(k 4)','u(k 1)','u(k 2)','u(k- - - - 3)','u(k 4)','u(k 5)','u(k 6)');- - - trn_data = data(1:300, :); chk_data = data(301:600, :);

Chương trình sử dụng hàm seqsrch để tìm kiếm ba đầu vào phù hợp nhất là y(k-1), u(k+1), và u(k-2) với thông số RMSE đạt được là 0.0024 Thời gian thực hiện của quá trình này được ghi lại là elapsed_time.

Hệ (3.3) được mô hình hoá bởi hệ suy luận mờ sau:

Ri : Nếu u(k-2) là Ajvà u(k 1) là B- k và y(k 1) là C- s

Thì y(k) là a0 i + a1 iu(k-2) + a2 iu(k-1) + a3 iy(k 1).- với i = 1, ,27, j = 1, 3, k = 1, ,3, s = 1,…,3 các tập mờ Aj, Bk, Cs, có các hàm liên thuộc dạng hàm Gauss

Sử dụng mạng nơron mờ có cấu trúc như hình 3.1 để nhận dạng hệ, thu được kết quả như sau:

Hình 3.4: Đồ thị tín hiệu vào ra hệ phi tuyến (3.11).-

Nhận dạng chuyển động của hệ cầu trục sử dụng mạng nơron mờ

3.4.1 Phương trình động học hệ cầu trục

Cầu trục là thiết bị quan trọng trong việc vận chuyển hàng hóa, vật liệu và thiết bị Nó được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm bốc xếp hàng hóa tại các bến cảng, vận chuyển vật liệu và thiết bị trong các công trình xây dựng, cũng như trong các nhà máy và phân xưởng.

Mô hình động lực học của cầu trục được thể hiện trong Hình 3.7, trong đó xe được coi là một chất điểm với khối lượng M tập trung tại tâm Tải trọng và móc cũng được xem xét trong mô hình này.

Hình 3.6 mô tả đồ thị tín hiệu ra kiểm tra và tín hiệu ra ước lượng của một chất điểm có khối lượng m, được kéo bởi động cơ truyền động một chiều với lực kéo F trên đường ray Các bánh xe giả thiết lăn không trượt và có hệ số ma sát lăn k Ngoài ra, có các ngoại lực tác động lên hệ thống, bao gồm trọng lực P tác dụng lên tải trọng, trọng lực G tác dụng lên xe, lực ma sát Fims, các phản lực Ni (i=1 4) tác động lên bánh xe, và lực kéo F từ động cơ Hệ tọa độ được chọn với góc lệch α của cáp treo so với phương thẳng đứng và quãng đường dịch chuyển x theo phương ngang.

Phương trình động lực học của hệ được xây dựng dựa trên phương trình lagơrăng II có dạng: d q i

Hình 3.7: Mô hình động lực học hệ cầu trục.

Trong hệ cơ học, F 2ms thể hiện mối quan hệ giữa động năng T và thế năng ∏ của hệ, với qi là các toạ độ suy rộng (α, x) Đồng thời, Qi đại diện cho các lực suy rộng từ các lực hoạt động không thế.

Trước tiên ta tính động năng của hệ

Trong đó T1 là động năng của xe, T2 là động năng của tải trọng

Vì xe chuyển động tịnh tiến theo phương ngang nên:

Tải trọng chuyển động trong mặt phẳng (oxy) nên:

2 m x y mv = + (3.15) trong đó: x2= x lsinα- ; x 2 = x − l cos α α y2= lcosα; y 2 = − l sin α α l là chiều dài cáp treo.

1 2 2 2 2 2 α α α α α α α l m l x l x l x m − + − = + − Động năng của cơ hệ sẽ là:

Tính các biểu thức đạo hàm của hàm động năng:

Tiếp theo ta tính thế năng của hệ Thế năng của hệ xác định duy nhất bởi trọng lực P Vậy ta có: α cos mgl

Cuối cùng tính các lực suy rộng của các lực không thế Qx và Qα:

- Để tính Qx ta cho hệ một di chuyển khả dĩ δ x ≠ 0 và δα = 0 trong di chuyển này xe di chuyển theo phương ngang nên: δ A = ( − F F ms ) δ x do đó

F ims là lực ma sát tổng tác dụng lên xe

- Để tính Qα ta cho hệ một di chuyển khả dĩ δ x = 0và δα ≠ 0trong di chuyển này xe không di chuyển nên: δ A = ( − F F ms ) δ x= 0 do đó

Qα= = 0 δα δ A (3.21) Áp dụng phương trình lagơrăng II (3.12) và sau khi rút gọn ta thu được hệ phương trình động học của cơ hệ như sau:

( + − α α + α 2 α = − + Điện áp phần ừng động cơ và lực F có mối quan hệ sau:

Trong công thức, km biểu thị hệ số mômen của động cơ, ki là hệ số truyền của hệ bánh răng truyền động, r là bán kính bánh xe cầu trục, và R là điện trở của phần ứng động cơ truyền động.

Thay (3.23) vào (3.22) ta được hệ:

Phương trình động học của cầu trục được mô tả qua mối quan hệ giữa góc lệch và độ dịch chuyển x, tạo thành một hệ phương trình vi phân phi α tuyến Việc điều khiển cầu trục theo góc mong muốn bằng các phương pháp truyền thống gặp nhiều khó khăn và hiệu quả không cao Một giải pháp hiện đại là sử dụng mạng nơron hoặc nơron mờ để điều khiển hệ thống, cả trực tiếp và gián tiếp Trong phương pháp điều khiển gián tiếp, nhận dạng là một bước quan trọng và cần thiết Bài viết tiếp theo sẽ ứng dụng mạng nơron mờ để nhận dạng góc lệch dựa trên các tham số chuyển động của cầu trục.

3.4.2 Nhận dạng góc lệch hệ cầu trục sử dụng mạng nơron mờ.ααααα

Trong quá trình di chuyển và nâng hạ hàng hóa của cầu trục, tải trọng và cáp treo thường dao động, tạo với phương thẳng đứng một góc α, là chỉ số quan trọng ảnh hưởng đến năng suất và độ chính xác của hệ điều khiển tự động Khi góc dao động vượt quá giới hạn cho phép, có thể xảy ra tai nạn lao động như đứt cáp, rơi vãi hàng hóa, và ảnh hưởng đến độ dừng chính xác trong lắp đặt thiết bị, gây nguy hiểm cho tính mạng con người Do đó, việc nhận diện góc dao động không chỉ hỗ trợ điều khiển hệ cầu trục mà còn phục vụ cho việc phân tích hệ thống Luận văn này sẽ áp dụng mạng nơron mờ để nhận dạng góc dao động, một thông số quan trọng trong điều khiển hệ cầu trục.

Hệ thống (3.24) được mô phỏng trong Simulink của phần mềm Matlab, với đầu vào duy nhất là điện áp U cung cấp cho động cơ của hệ cầu trục Theo các thông số đã được chỉ định trong hình 3.8, giá trị đầu ra của hệ thống là góc dao động.

Tập giá trị vào-ra được thu thập bằng đoạn chương trình trong Matlab:

>> [t,x,u,y]=sim('MP1'); giá trị vào ra được thể hiện như hình 3.9

Hình 3.8: Sơ đồ mô phỏng hệ cầu trục (3.24)

Thực hiện lựa chọn các tín hiệu vào phù hợp cho nhận dạng hệ thống, quá trình này được thực hiện bằng đoạn chương trình sau: input = [[0; y(1:1000)]

[0; 0; 0; 0; 0; 0; u(1:995)]]; data = [input y]; data(1:6, :) = []; input_name = str2mat('y(k-1)','y(k 2)','y(k 3)','y(k 4)','u(k 1)','u(k 2)',…- - - - -

'u(k 3)','u(k 4)','u(k 5)','u(k 6)');- - - - trn_data = data(1:300, :); chk_data = data(301:600, :);

[input_index, elapsed_time]=seqsrch(3, trn_data, chk_data, input_name); fprintf('\nElapsed time = %f n', elapsed_time); \ winH1 = gcf;

Các đầu vào phù hợp nhất cho nhận dạng góc lệch α là: y(k 1), y(k 2), u(k-1) với giá trị RMSE = 0.004

Thực hiện mô hình hoá hệ bằng hệ suy luận mờ sau:

Ri : Nếu y(k-1) là Ajvà y(k 2) là B- k và u(k 1) là C- s

Mạng nơron mờ được xây dựng theo cấu trúc hình 3.1 để nhận dạng hệ thống, với công thức y(k) = a0 i + a1 iy(k-2) + a2 iy(k-1) + a3 iu(k 1), trong đó i = 1, ,27, j = 1, 3, k = 1, ,3, s = 1,…,3 và các tập mờ Aj, Bk, Cs sử dụng hàm Gauss Tổng số thông số cần ước lượng là 108, tương ứng với 27 mệnh đề kết luận "thì" trong hệ suy luận mờ Kết quả thu được sau 100 lần luyện mạng theo các công thức (3.3) và (3.10) sẽ được trình bày trong phần mềm huấn luyện, chi tiết có thể xem trong phụ lục.

Hình 3.9: Đồ thị tín hiệu vào (điện áp U) và tín hiệu ra (góc lệch)

Kết luận, hệ cầu trục (3.24) có tính phi tuyến mạnh dẫn đến sự khác biệt trong các đồ thị hình 3.10 và 3.11, tuy nhiên sai số này là nhỏ và có thể chấp nhận được Để giảm thiểu sai số, có thể áp dụng nhiều phương pháp như tăng số lần học cho mạng, tăng số tập mờ cho các tín hiệu đầu vào, điều chỉnh hệ số học phù hợp, hoặc sử dụng phương pháp huấn luyện khác Do đó, mạng nơron mờ đã thành công trong việc nhận dạng thông số góc lệch α của hệ cầu trục.

Mô hình góc dao động phi tuyến α phức tạp như hệ (3.14) có thể được nhận dạng nhanh chóng thông qua hệ nơron mờ tương ứng Độ chính xác của kết quả nhận dạng có thể đạt được theo yêu cầu bằng cách tăng số lần học, số tập mờ và lựa chọn bước học tối ưu Trong thực tiễn, với một độ dao động α cho phép, ta có thể xác định số lần học tối thiểu để thời gian học phù hợp với thời gian điều khiển thực Những kết quả nhận dạng này có thể được nghiên cứu và ứng dụng để phát triển các hệ điều khiển cầu trục hiện đại.

Một số kết luận và đề xuất hướng phát triển tiếp theo

Luận văn đã đạt được mục tiêu nghiên cứu nhận dạng hệ phi tuyến bằng mạng nơron mờ Cụ thể, tác giả đã xây dựng một mạng nơron mờ có khả năng nhận dạng hệ phi tuyến bất kỳ, ứng dụng thành công trong việc nhận dạng các đối tượng như hệ phi tuyến tĩnh y = x^2 và y = sinx + cosx, cũng như hệ phi tuyến động và hệ cầu trục phức tạp Tuy nhiên, trong quá trình nghiên cứu, tác giả đã nhận thấy một số vấn đề còn tồn tại và đề xuất hướng phát triển tiếp theo.

- Vấn đề lựa chọn bước học η phù hợp để đạt được tốc độ học tối ưu

- Vấn đề lựa chọn cấu trúc mạng tối ưu cho một lớp rộng các hệ phi tuyến

Ngoài các phương pháp học của mạng nơron hiện có, cần nghiên cứu và phát triển các phương pháp riêng biệt để huấn luyện mạng nơron mờ hiệu quả hơn.

- Mạng nơron mờ còn có thể được sử dụng để điều khiển, phân tích, dự báo một đối tượng phi tuyến bất kỳ

Phụ lục 1 Mã nguồn chương trình huấn luyện mạng nơron mờ nhận dạng hàm y = x 2 function main()

%TAP DU LIEU VAO RA MAU - u=[0.5;0.6;0.7;0.8;0.9;1;2;3;4;5;6;7;8;9;10]; y=[0.25;0.36;0.49;0.64;0.81;1;4;9;16;25;36;49;64;81;100]; ul=[];

Trong bài viết này, chúng ta sẽ khám phá cách khởi tạo các thông số có vai trò quan trọng trong mạng Đầu tiên, các thông số được xác định là c=[0.5 2.88 5.25 7.625 10], đại diện cho các giá trị cần thiết cho hàm thuộc Tiếp theo, giá trị x=[1.009 1.009 1.009 1.009 1.009] được thiết lập để xác định các thông số liên quan Các hệ số a0, a1, b0, b1, d0, d1, e0, e1, f0, và f1 cũng được định nghĩa, với a0=0, a1=1, b0=1, b1=1, d0=1, d1=1, e0=0, e1=1, f0=1, và f1=1 Những thông số này đóng vai trò quan trọng trong việc xác định giá trị của mệnh đề "thi".

%CAC THONG SO XAC DINH DIEU KIEN DUNG THUAT TOAN et=0.003; ett00000; maxt000; ep=0.001; bl=0; e; t=0; g=0;

% VE CAC HAM THUOC KHOI TAO BAN DAU figure(1); ve_mf(u,c,x);

%BAT DAU QUA TRINH LUYEN MANG while (blep) e=0;

Trong quá trình tính giá trị ước lượng và sai số tổng bình phương, ta thực hiện một vòng lặp từ i=1 đến 15, trong đó giá trị ước lượng ul(i) được tính bằng hàm giatri_uocluong với các tham số đầu vào như u(i), c, x, a0, a1, b0, b1, d0, d1, e0, e1, và f0, f1 Sai số e được cập nhật bằng cách cộng thêm một nửa bình phương hiệu giữa giá trị thực y(i) và giá trị ước lượng ul(i) Sau khi hoàn thành vòng lặp, các biến điều chỉnh del_a0, del_a1, del_b0, del_b1, del_d0, del_d1, del_e0, del_e1, del_f0, del_f1 cùng với del_c và del_x đều được khởi tạo về giá trị 0, phục vụ cho các bước tính toán tiếp theo.

The algorithm iteratively updates parameters using gradient descent, adjusting values for a0, a1, b0, b1, d0, d1, e0, e1, f0, and f1 based on calculated gradients for each iteration from i=1 to 15 Each parameter is modified by the product of the learning rate (et) and the gradient derived from the current values of y, ul, u, and various constants (c and x) After processing all iterations, the updated parameters are accumulated, and the algorithm checks the convergence criteria by comparing the error (e) with a threshold (ett) If the error decreases, the learning rate is reduced, while an increase triggers a boost in the learning rate The loop continues until the specified conditions are met, ensuring efficient optimization of the model parameters.

%IN CAC GIA TRI MAU VA GIA TRI UOC LUONG fprintf('gia tri ra mau gia tri ra uoc luong\n');

%IN CAC TRONG SO DA DUOC HUAN LUYEN fprintf('cac trong so sau huan luyen\n');

%VE CAC HAM THUOC SAU KHI HUAN LUYEN hold off; figure(2); ve_mf(u,c,x); hold off;

The provided code snippet outlines a function for plotting Gaussian curves based on given parameters It defines a plotting function that takes inputs for variables 'u', 'c', and 'x', where 'u' represents the range of values, 'c' contains coefficients, and 'x' denotes scaling factors The function calculates the minimum and maximum of 'u' to create a fine resolution array 'a' It iterates through the coefficients and computes the corresponding Gaussian values, storing them in the array 'y' Finally, it plots the results, allowing for multiple curves to be displayed simultaneously This approach effectively visualizes the relationship between the input parameters and the resulting Gaussian distributions.

%title('\bfDang Ham Thuoc Ban Dau'); end

%TINH GIA TRI HAM GAUSS function [a]=gauss(u,c,x)

%XAC DINH GIA TRI MAU SO CUA BIEU THUC TINH GIA TRI RA UOC LUONG function [a]= mau_value(u,c1,x1,c2,x2,c3,x3,c4,x4,c5,x5) a= exp(-((u-c1)/x1)^2)+ exp(-((u-c2)/x2)^2)+exp(-((u-c3)/x3)^2)+exp(-((u- c4)/x4)^2)+exp( ((u c5)/x5)^2);- - end

%XAC DINH GIA TRI TU SO CUA BIEU THUC TINH GIA TRI RA UOC LUONG function [b] tu_value(u,c1,x1,a0,a1,c2,x2,b0,b1,c3,x3,d0,d1,c4,x4,e0,e1,c5,x5,f0,f1) b=exp( ((u c1)/x1)^2)*(a0+a1*u)+exp(- - -((u-c2)/x2)^2)*(b0+b1*u)+exp(-((u- c3)/x3)^2)*(d0+d1*u)+ exp(-((u c4)/x4)^2)*(e0+e1*u)+exp( ((u c5)/x5)^2)*(f0+f1*u);- - - end

The provided article discusses the implementation of gradient functions in a mathematical context, specifically for calculating the gradients of certain parameters The `grad_a0` function computes the gradient based on the difference between two values, `y` and `y1`, using an exponential decay formula influenced by multiple parameters The `grad_a1` function builds upon `grad_a0`, incorporating the variable `u` to further refine the gradient calculation Additionally, the `grad_c` function calculates a more complex gradient involving several parameters and their interactions, applying exponential functions and multipliers to derive a final value based on the inputs This structure showcases the interdependence of the functions and their roles in gradient computation.

[a]=grad_x(et,u,c1,x1,y,y1,a0,a1,c2,x2,b0,b1,c3,x3,d0,d1,c4,x4,e0,e1,c5,x5,f0,f1 ) b=(2*(u c1)^2)/(x1^3);- c=exp( ((u- -c1)/x1)^2); d=(a0+a1*u)*mau_value(u,c1,x1,c2,x2,c3,x3,c4,x4,c5,x5); a=(et*(y-y1)*b*c*(d- tu_value(u,c1,x1,a0,a1,c2,x2,b0,b1,c3,x3,d0,d1,c4,x4,e0,e1,c5,x5,f0,f1)))/ (mau_value(u,c1,x1,c2,x2,c3,x3,c4,x4,c5,x5)^2); end

%TINH GIA TRI RA UOC LUONG CUA MANG function

1) a=tu_value(u,c1,x1,a0,a1,c2,x2,b0,b1,c3,x3,d0,d1,c4,x4,e0,e1,c5,x5,f0,f1)/ mau_value(u,c1,x1,c2,x2,c3,x3,c4,x4,c5,x5); end

Phụ lục 2 Mã nguồn chương trình huấn luyện mạng nơron mờ nhận dạng hàm y = sinx+cosx function main()

%THU THAP TAP DU LIEU VAO RA HE u=0:0.2:2*pi; y=sin(u)+cos(u); ul=[];

%KHOI TAO CAC TRONG SO CUA MANG c=[0 1.55 3.1 4.65 6.2]; x=[0.6582 0.6582 0.6582 0.6582 0.6582]; a0=0; a1=1; b0=1; b1=1; d0=1; d1=1; e0=0; e1=1; f0=1; f1=1;

%CAC YEU CAU DUNG THUAT TOAN et=0.003; ett00000; maxt000; ep=0.001; bl=0; e; t=0; g=0;

%VE HAM THUOC KHOI TAO BAN DAU figure(1); ve_mf(u,c,x);

%BAT DAU QUA TRINH HUAN LUYEN MANG while (blep) e=0;

Trong quá trình tính toán giá trị ra ước lượng và sai số tổng bình phương, chúng ta lặp qua từng chỉ số từ 1 đến 32, sử dụng hàm `giatri_uocluong` để tính toán giá trị ước lượng `ul(i)` dựa trên các tham số đầu vào Sau đó, sai số được cập nhật bằng cách cộng thêm nửa bình phương của hiệu giữa giá trị thực `y(i)` và giá trị ước lượng `ul(i)` Cuối mỗi vòng lặp, biến `bl` được tăng lên 1, và các biến điều chỉnh như `del_a0`, `del_a1`, `del_b0`, `del_b1`, `del_d0`, `del_d1`, `del_e0`, `del_e1`, `del_f0`, `del_f1` cùng với các mảng `del_c` và `del_x` đều được khởi tạo bằng 0 để chuẩn bị cho các phép tính tiếp theo.

The algorithm iteratively updates parameters in a neural network model through gradient descent For each iteration, it calculates the gradients for various parameters (a0, a1, b0, b1, c, d, e, f) based on the input data and updates their values accordingly The learning rate (et) is adjusted dynamically; it decreases when the error (e) is above a threshold (ett) and increases if the error is consistently low The process continues until convergence is achieved, ensuring optimal parameter values for the model's performance.

%IN CAC KET QUA HUAN LUYEN fprintf('gia tri ra mau gia tri ra uoc luong\n');

[y',ul'] fprintf('cac trong so sau huan luyen\n');

%VE CAC HAM THUOC SAU KHI HUAN LUYEN hold off; figure(2); ve_mf(u,c,x) hold off;

%VE DO THI GIA TRI RA UOC LUONG VA GIA TRI RA MAU figure(3); plot(u,y); hold all; plot(u,ul); sl=[]; for i=1:length(u) sl(i)=y(i)-ul(i); end

%VE SAI SO GIUA GIA TRI RA UOC LUONG VA GIA TRI RA MAU hold off figure(4); plot(u,sl); end

%VE HAM THUOC function ve_mf(u,c,x) n=length(c); a=min(u):0.1:max(u); m=length(a); y=[]; for i=1:n for k=1:m y(k)=exp(-((a(k) c(i))/x(i))^2); - end plot(a,y); hold all; end end

%TINH GIA TRI HAM THUOC function [a]=gauss(u,c,x)

%TINH GIA TRI MAU SO BIEU THUC XAC DINH GIA TRI RA UOC

LUONG function [a]= mau_value(u,c1,x1,c2,x2,c3,x3,c4,x4,c5,x5) a= exp(-((u-c1)/x1)^2)+ exp(-((u-c2)/x2)^2)+exp(-((u-c3)/x3)^2)+exp(-((u- c4)/x4)^2)+exp( ((u c5)/x5)^2);- - end

%TINH GIA TRI TU SO BIEU THUC XAC DINH GIA TRI RA UOC LUONG function [b] tu_value(u,c1,x1,a0,a1,c2,x2,b0,b1,c3,x3,d0,d1,c4,x4,e0,e1,c5,x5,f0,f1) b=exp( ((u c1)/x1)^2)*(a0+a1*u)+exp(- - -((u-c2)/x2)^2)*(b0+b1*u)+exp(-((u- c3)/x3)^2)*(d0+d1*u)+ exp(-((u c4)/x4)^2)*(e0+e1*u)+exp(- -((u-c5)/x5)^2)*(f0+f1*u); end

Chức năng grad_a0 tính giá trị sai lệch trong số cần cập nhật bằng cách sử dụng công thức a=(y-y1)*(exp(-((u-c1)/x1)^2)/mau_value(u,c1,x1,c2,x2,c3,x3,c4,x4,c5,x5)) Hàm grad_a1 tiếp tục xử lý giá trị từ grad_a0 và nhân với u để trả về kết quả a=grad_a0(y,y1,u,c1,x1,c2,x2,c3,x3,c4,x4,c5,x5)*u Cuối cùng, hàm grad_c tính toán các biến b, c và d để xác định giá trị a với công thức phức tạp, kết hợp các yếu tố như et, y, y1 và các tham số khác, nhằm tối ưu hóa sai lệch trong mô hình.

[a]=grad_x(et,u,c1,x1,y,y1,a0,a1,c2,x2,b0,b1,c3,x3,d0,d1,c4,x4,e0,e1,c5,x5,f0,f1 ) b=(2*(u c1)^2)/(x1^3);- c=exp( ((u- -c1)/x1)^2); d=(a0+a1*u)*mau_value(u,c1,x1,c2,x2,c3,x3,c4,x4,c5,x5); a=(et*(y-y1)*b*c*(d- tu_value(u,c1,x1,a0,a1,c2,x2,b0,b1,c3,x3,d0,d1,c4,x4,e0,e1,c5,x5,f0,f1)))/ (mau_value(u,c1,x1,c2,x2,c3,x3,c4,x4,c5,x5)^2); end

%TINH GIA TRI UOC LUONG function

1) a=tu_value(u,c1,x1,a0,a1,c2,x2,b0,b1,c3,x3,d0,d1,c4,x4,e0,e1,c5,x5,f0,f1)/ mau_value(u,c1,x1,c2,x2,c3,x3,c4,x4,c5,x5); end

Phụ lục 3 Mã nguồn chương trình huấn luyện mạng nơron mờ nhận dạng hệ phi tuyến động function main()

%THU THAP TAP DU LIEU VAO/RA CUA HE u=rand(1000,1); y=[]; y(1)=0; y(2)=0; for i=2:1000 y(i+1)= (y(i)*u(i))/(1+((abs(y(i-1)))^0.3)) (1- -exp(-u(i)))/(1+exp( u(i)));- end y=y';

%LUA CHON TIN HIEU VAO PHU HOP input = [[0; y(1:1000)]

[0; 0; 0; 0; 0; 0; u(1:995)]]; data = [input y]; data(1:6, :) = []; input_name = str2mat('y(k-1)','y(k 2)'- ,'y(k 3)'- ,'y(k-4)','u(k 1)','u(k 2)', - - 'u(k 3)'- ,'u(k-4)','u(k-5)' 'u(k-6)');, trn_data = data(1:300, :); chk_data = data(301:600, :);

The code snippet initializes a sequence search function, capturing the elapsed time for processing training and checking datasets It displays the elapsed time and retrieves the current figure handle The training data is then sliced to include specific columns, while the checking data is similarly processed The variables are assigned to various data columns from both datasets, preparing them for further analysis.

%KHOI TAO CAC GIA TRI TRONG SO for i=1:27 a0(i)=0; a1(i)=0; a2(i)=0; a3(i)=0; dt_a0(i)=0; dt_a1(i)=0; dt_a2(i)=0; dt_a3(i)=0; end c1=[-0.8103 0.4071 0.003876]; - - x1=[0.1712 0.1712 0.1712]; c2=[0.004634 0.5004 0.9961]; x2=[0.2105 0.2105 0.2105]; c3=[0.004634 0.5004 0.9961]; x3=[0.2105 0.2105 0.2105];

%CAC DIEU KIEN DUNG THUAT TOAN ett00000; t=0; g=0; e0; bl=0; blmax0; ep=0.001; eta=0.055;

%THUC HIEN HUAN LUYEN MANG while (e>ep)&&(bl

Ngày đăng: 16/10/2022, 08:16

w