Khai thác mô hình

Một phần của tài liệu Mô hình hóa hệ thức hợp ứng dụng mạng nơron (Trang 76 - 110)

* Sử dụng mô hình cho công tác nghiên cứu: Một mạng nơron đã được huấn luyện với cơ sở dữ liệu hoàn chỉnh sẽ là một công cụ rất tốt cho công tác nghiên cứụ Bản thân mạng đã chứa đựng những thông tin về quá trình mà nó “học” được nên ta có thể sử dụng để khảo sát mỗi liên hệ giữa đầu vào và đầu ra của bài toán dự báo dữ liệu điều này góp phần hoàn thiện hơn các lý thuyết của quá trình dự báo dữ liệụ

* Sử dụng mô hình cho thiết kế: Khi thiết kế bất kỳ hệ thống nào, các quá trình xử lý thường được ước tính thông qua các công cụ mô phỏng. Mạng nơron sau khi được huấn luyện tỏ ra rất hữu ích khi thiết kế các hệ thống tương tự mà nó đã được huấn luyện. Mạng sẽ cung cấp các thông số hữu ích hỗ trợ quá trình đưa ra quyết định và lựa chọn các thông số vận hành phù hợp với các thông số đầu vào công cụ hệ thống cần thiết kế.

5.4.2. Xây dựng chƣơng trình máy tính

Có rất nhiều chương trình được hỗ trợ để chạy các ứng dụng của mạng nơron. Có thể kể đến như: Neural Works Predict, Neural Solution, Neural Network Toolbox,…Trong đó, bộ công cụ Neural Network Toolbox của Matlab được xem là rất hữu ích cho các ứng dụng kỹ thuật.

Matlab (Matrix Laboratory) là một ngôn ngữ lập trình thực hành bậc cao được sử dụng để giải các bài toán về kỹ thuật. Matlab tích hợp được việc tính toán, thể hiện kết quả, cho phép lập trình, giao diện làm việc rất dễ dàng cho người sử dụng. Với Matlab, tất cả các vấn đề và giải pháp đều được trình bày bằng ngôn ngữ các ký hiệu toán học rất quen thuộc và dễ hiểụ Có thể kể ra một số mảng ứng dụng tiêu biểu của Matlab như:

 Sử dụng các hàm có sẵn trong thư viện, các phép tính toán học thông thường.

 Cho phép lập trình tạo ra những ứng dụng mới

 Cho phép mô phỏng các mô hình thực tế

 Phân tích, khảo sát và hiển thị dữ liệu

 Cho phép phát triển, giao tiếp với một số phần mềm khác như C++.

Matlab là một hệ thống tương giao, các phần tử dữ liệu là một mảng (mảng này không đòi hỏi về kích thước). Chúng cho phép giải quyết các vấn đề liên quan đến lập trình bằng máy tính, đặc biệt sử dụng các phép tính về ma trận hay véctơ.

Bộ công cụ mạng nơron (Neural Network Toolbox) nằm trong nhóm công cụ phân tích dữ liệu và thống kê của Matlab. Ta có thể sử dụng công cụ này để tạo ra các mạng nơron; luyện và mô phỏng mạng với các dữ liệu đầu vào, đầu ra trên môi trường Matlab. Xem [10].

Trong phạm vi luận văn này, tác giả xây dựng giao diện ứng dụng được thiết kế bằng công cụ “Graphic User Interface” dựa trên ngôn ngữ lập trình của Matlab.

Giao diện bao gồm các phần sau:

* Dữ liệu: gồm hai phần chính: thao tác dữ liệu và xử lý dữ liệu

Thao tác dữ liệu (khung số liệu): cho phép người dùng upload dữ liệu từ các file trên máy tính (nút Nhập) cũng như lưu các dữ liệu sau khi xử lý (nut Lưu), sau khi luyện vào ổ cứng. Ngoài ra chương trình còn cung cấp thêm tính năng xóa các dữ liệu không cần thiết (nút Xóa), liên kết với workspace của Matlab (nút Workspace), hiển thị các đặc tính của dữ liệu được chọn.

*Xử lý dữ liệu (khung xử lý số liệu): Cung cấp các tính năng xử lý dữ liệu đầu vào và đầu ra như các phương pháp chuẩn hóa, khử chuẩn hóạ Sau khi xử lý dữ liệu được hiển thị trong phần “Số liệu”.

Vẽ đồ thị minh họa: Phần này cung cấp công cụ trực quan bằng đồ thị để biểu diễn dữ liệu trước và sau xử lý, trước và sau khi luyện mạng nơron,…cho phép người dùng các tùy chọn rất linh hoạt, cụ thể là:

- Có thể vẽ dữ liệu đầu vào, đầu ra hoặc lỗi sau khi luyện mạng hoặc mô phỏng và nhất là biểu diễn kết quả tối ưu hóạ

- Đối với lỗi, có thể biểu thị ở giá trị phần trăm hoặc trực tiếp.

- Ngoài ra phần này còn cho phép hiển thị các thông số khác như: giá trị sai số bình phương trung bình gốc: RMSE (Root Mean Squared Errors) và sai số tuyệt đối trung bình: MAE (Mean Absoluted Errors).

Mạng nơron: Hỗ trợ các thao tác liên quan đến mạng nơron, gồm hai phần chính:

* Tạo mạng nơron: Cho phép ta tạo một mạng lan truyền ngược hai lớp với các thông số như: tên mạng, hàm luyện mạng, số nơron và hàm truyền của từng lớp.

* Luyện và kiểm chứng mạng: Như ta đã biết, số liệu thu thập được sẽ được chia làm hai phần: Phần để luyện mạng (chiếm khoảng 70%) và phần còn lại dùng để kiểm chứng mạng (chiếm khoảng 30%).

Hình 5.6. Phân chia số liệu đã thu thập được

Phần này gồm có hai chức năng chính là: Luyện mạng (nút Luyện) và kiểm chứng mạng (nút Mô phỏng). Sau khi xác định được các thông số như mạng, đầu

vào, đích, số thế hệ luyện, thao tác luyện mạng sẽ được thực hiện với tùy chọn so sánh.

Tùy chọn so sánh: Đây là một kỹ thuật nhằm hạn chế khả năng luyện mạng

quá khớp của mạng đối với dữ liệu đã chọ Nếu không có tùy chọn này, mạng sẽ luyện cho hết số thế hệ luyện và trong nhiều trường hợp, mạng sẽ đạt được sai số rất nhỏ, nghĩa là rất khớp vơi 70% số liệu để luyện, nhưng đối với 30% còn lại dùng để kiểm chứng, mạng sẽ cho kết quả mô phỏng với sai số lớn. Điều này nói lên mạng đã không tổng quát hóa tốt được. Để hạn chế điều này, trong quá trình luyện mạng có so sánh, sai số của tập kiểm chứng (30%) cũng được giảm dần và luôn được theo dõi, khi mạng bắt đầu quá khớp, sai số của tập kiểm chứng bắt đầu tăng, lúc đó quá trình luyện mạng sẽ được dừng. Thông thường, với nguồn số liệu dồi dào, người ta sẽ chia dữ liệu thành ba phần: luyện mạng (Training), so sánh (Validating) và kiểm chứng mạng (Testing). Nhưng đối với các trường hợp số lượng mẫu quan sát hạn chế, ta có thể sử dụng tập kiểm chứng đóng vai trò làm tập so sánh trong quá trình luyện mạng. Miễn là tập luyện và tập kiểm chứng phải độc lập với nhaụ

5.5. ỨNG DỤNG MÔ HÌNH CHO TRẠM XỬ LÝ NƢỚC THẢI

Trong môi trường nước thì thành phần các chất có mối liên hệ với nhau, đặc biệt là các chất DO là lượng oxy hòa tan trong nước, BOD là nhu cầu oxy sinh hóa và COD nhu cầu oxy hóa học.

DO là lượng oxy hòa tan trong nước cần thiết cho sự hô hấp của các sinh vật trong nước, thường được tạo ra do sự hòa tan từ khí quyển. Nồng độ oxy tự do nằm trong khoảng 8-10ppm, khi nồng độ DO thấp, các loài sinh vật nước giảm hoặc bị chết. Do vậy DO là một chỉ số quan trọng để dánh giá sự ô nhiễm nguồn nước.

BOD là lượng oxy cần thiết để sinh vật oxy hóa các chất hữu cơ theo phản ứng:

Vi khuẩn:

Chất hữu cơ + O2 = CO2 + H2O + tế bào mới + sản phẩm trung gian (5.1)

trình phân huỷ sinh học là phép đo quan trọng đánh giá ảnh hưởng của một dòng thải đối với nguồn nước. BOD có ý nghĩa biểu thị lượng các chất thải hữu cơ trong nước có thể bị phân huỷ bằng các vi sinh vật.

COD là lượng oxy cần thiết để oxy hoá các hợp chất hoá học trong nước bao gồm cả vô cơ và hữu cơ. Như vậy, COD là lượng oxy cần để oxy hoá toàn bộ các chất hoá học trong nước, trong khi đó BOD là lượng oxy cần thiết để oxy hoá một phần các hợp chất hữu cơ dễ phân huỷ bởi vi sinh vật.

Toàn bộ lượng oxy sử dụng cho các phản ứng trên được lấy từ oxy hoà tan trong nước (DO). Do vậy nhu cầu oxy hoá học và oxy sinh học cao sẽ làm giảm nồng độ DO của nước, có hại cho sinh vật nước và hệ sinh thái nước nói chung. Nước thải hữu cơ, nước thải sinh hoạt và nước thải hoá chất là các tác nhân tạo ra các giá trị BOD và COD cao của môi trường nước. Hay nói cách khác sự tăng hay giảm giá trị của BOD và COD cũng làm cho giá trị của DO thay đổi theọ

5.5.1. Tổng quát chung

Trước khi đi vào tìm hiểu trạm xử lý nước thải cụ thể, ta sẽ trình bày những bước chung nhất của quá trình ứng dụng mạng nơron để dự báo đầu ra trạm xử lý nước thải sẽ phải khảo sát các phần sau:

Giới thiệu hệ thống xử lý nước thải

Thu thập số liệu

Xử lý số liệu

- Tổ chức dữ liệu:

Dữ liệu đầu vào và đầu ra sau khi đã thu thập được sẽ tổ chức dưới dạng 1x3cell như sau:

Inputs = {ix1 cell} [i x a double] [i x b double] Outputs = {kx1 cell} [k x a double] [k x b double] Trong đó:

Cell thứ nhất chứa tên thông số đầu vào, đầu ra: i là thông số đầu vào còn k

Cell thứ hai chứa dữ liệu dùng để luyện mạng, gồm một ma trận [i x a] phần tử, với a là số mẫu quan sát dùng để luyện mạng.

Cell thứ ba chứa dữ liệu dùng để kiểm chứng mạng, gồm một ma trận [i x b]

phần tử, với b là số mẫu quan sát dùng để kiểm chứng mạng.

Tổng số mẫu quan sát được là: a + b

- Luyện và mô phỏng mạng.

Cấu trúc mạng nơron được sử dụng trong luận văn này như sau:

Hình 5.7 Sơ đồ mạng nơron 3 lớp

Trong đó:

 I, J, K ký hiệu cho 3 lớp nhập, ần và xuất đồng thời là số nơron của lớp đó.

 X, Y, Z là các véctơ giá trị đầu vào, kết xuất của nút ẩn và kết xuất của nút

nhập.

 xi, yi, zk lần lượt là các kết xuất của các nơron i, j, k trong các lớp I, J, K.

 aij chỉ trọng số giữa lớp nhập và lớp ẩn, khi i=0 nó trở thành trọng ngưỡng.

 bjk chỉ trọng số giữa lớp ẩn và lớp xuất, khi j=0 nó trở thành trọng ngưỡng.

Giá trị đầu vào của nút ẩn j được tính như sau:

I i i ij j j a a x u     1 0 (5.2)

Kết xuất của nút j được tính: yjg(uj) với g là hàm truyền. Khi hàm truyền là hàm logistic:

) exp( 1 1 ) ( i j j u u g y     (5.3)

Giá trị đầu vào của nút xuất k được tính như sau:

I j j jk k k b a x v     1 0 (5.4)

Kết xuất của nút k được tính: zkg(vk) với g là hàm truyền. Khi hàm truyền là hàm logistic:

) exp( 1 1 ) ( k k k v v g z     (5.5)

Khi hàm truyền là tuyến tính:zkg(vk)vk (5.6)

Đây là cấu trúc của một mạng nơron kinh điển nhất bao gồm: một lớp nhập, một lớp xuất và một lớp ẩn. Trong đó, số nút lớp nhập đươc xác đinh bằng số thông số đầu vào, số nút lớp xuất được xác định bằng số thông số đầu rạ

Tiêu chí luyện và mô phỏng mạng: Trong luận văn này, tác giả sử dụng hai tiêu chí sau để đánh giá quá trình luyện và mô phỏng mạng, tìm kiếm cấu trúc tối ưu của mạng phù hợp với dữ liệu đã chọ

Sai số MAE (Mean Absoluted Errors): Sai số tuyệt đối trung bình, được tính toán như sau:

n T e MEA n t i i    1 (5.7) Trong đó:

ei là sai số dự báo của quan sát thứ i Ti là giá trị thực tế của quan sát thứ i n là số quan sát.

Sai số RMSE (Root Mean Squared Errors): Sai số bình phương trung bình gốc, được tính toán như sau:

n e RMSE n i i    1 2 (5.8) Trong đó:

ei là sai số dự báo của quan sát thứ i n là số quan sát.

Trong cả hai trường hợp ei = Pi – Ti, với Pi là giá trị dự báo quan sát thứ ị Quá trình luyện mạng được chia thành hai bước: Phần luyện mạng đối với dữ liệu được huấn luyện và phần mô phỏng (kiểm chứng mạng) đối với phần dữ liệu dành cho kiểm chứng mạng. Cứ mỗi lần thay đổi số nút lớp ẩn, ta lại tiến hành cả hai bước, ghi nhận các giá trị sai số. Từ đó có thể chọn được cấu trúc mạng tối ưu cho tập dữ liệu đã chọ

- Tối ưu hóa mạng.

Trong quá trình luyện mạng, mỗi lần tiến hành luyện mạng nơron sẽ cho những kết quả khác nhau, cho dù có cùng cấu trúc mạng. Vì mỗi lần tạo mạng nơron, mạng sẽ được khởi tạo những trọng số ban đầu khác nhaụ

Nhiệm vụ đặt ra cho quá trình luyện và mô phỏng mạng là lựa chọn được cấu trúc tốt nhất để cho sai số dự báo là nhỏ nhất. Do đó, ta phải lần lượt tăng dần số nút ẩn và tiến hành các bước tạo mạng, luyện mạng và mô phỏng mạng sau đó khảo sát sai số. Mạng có sai số thấp nhất là mạng phù hợp với bộ dữ liệu đã có.

5.5.2. Trạm xử lý nƣớc thải Công ty TNHH NatSteel Vina Thái Nguyên

5.5.2.1. Giới thiệu trạm xử lý nƣớc thải

Công ty TNHH NatSteel Vina đóng trên địa bàn Phường Cam Giá, TP Thái Nguyên. Là đơn vị sản xuất thép xây dựng. Hiện tại, công ty có một lò nung 35 tấn,

một dàn cán thô, một dàn cán trung, một dàn cán cuộn, một dàn cán cây, một máy cuốn, hệ thống làm mát cùng hệ thống xử lý nước thảị

Hệ thống xử lý nước thải tại công ty này 917.303 m3/tháng. Bao gồm các công đoạn: bể thu gom, bể sục khí sinh học, bể lắng sinh học, bể keo tụ tạo bông, bể lắng.

Hình 5.8 Sơ đồ công nghệ hệ thống xử lý nước thải

5.5.2.2. Thu thập số liệu

Số liệu thu thập ở các vị trí đầu vào và đầu ra của hệ thống xử lý nước thải với những đặc trưng như saụ

 Thông số đầu vào: Độ pH, nhu cầu oxy sinh hóa BOD, nhu cầu oxy hóa

học COD và lượng oxy hòa tan DỌ

 Thông số đầu ra: DO

 Số mẫu quan sát: 155

 Số liệu được trình bày ở phụ lục: bảng 5.2 và 5.3.

5.5.2.3. Xử lý số liệu

 Tổ chức dữ liệu:

Dữ liệu sau khi thu thập được tổ chức dưới dạng 1x3 cell như sau: NSVinaip = {4x1 cell} [4x115 double] [4x40 double]

Dữ liệu đầu vào: gồm có 4 thông số: pH, BOD, COD và DỌ Dữ liệu được chia là hai tập: tập để huấn luyện là một ma trận [4 x 115] và tập để kiểm chứng là một ma trận [4 x 40].

Dữ liệu đầu ra: là DỌ Dữ liệu được chua làm hai tập: tập để luyện mạng là một ma trận [1 x 115] và tập để kiểm chứng mạng là một ma trận [1 x 40].

5.5.2.4. Luyện và mô phỏng

Từ đồ thị trên ta thấy rằng với số lần lặp từ 13 trở đi sai số trong quá trình luyện mạng và kiểm chứng mạng sẽ ổn định. Do đó ta chọn số lần lặp là 18 để tiến hành tối ưu hóa mạng với tập dữ liệu nàỵ Kết quả thu được khi tối ưu mạng từ 1 đến 31 nút ẩn, số lần lặp là 18.

Quá trình luyện mạng:

Quá trình kiểm chứng mạng:

Hình 5.11. Tối ưu hóa quá trình kiểm chứng mạng nhà máy NatSteel Vina

Qua phân tích đồ thị ta nhận thấy mạng có 15 nút ẩn có kết quả tốt nhất. Kết quả chi tiết của mạng 15 nút ẩn như sau:

Quá trình luyện mạng.

Hình 5.12. Quá trình luyện mạng của “LM 15Trained” nhà máy NatSteel Vina

Quá trình kiểm chứng mạng.

Hình 5.13. Quá trình kiểm chứng mạng của “LM 15Sim” nhà máy NatSteel Vinạ

5.6. MỘT SỐ VẤN ĐỀ VỀ TỰ ĐỘNG HOÁ XỬ LÝ NƢỚC THẢI 5.6.1. Mục đích áp dụng tự động hoá xử lý nƣớc thải

Một phần của tài liệu Mô hình hóa hệ thức hợp ứng dụng mạng nơron (Trang 76 - 110)