Chương 1. Tổng quan Chương này trình bày khái quát về dự báo thời tiết và các ứng dụng của dự báo thời tiết trong cuộc sống. Giới thiệu mô hình cảm biến không dây và thuật toán dự đoán mà đề tài sẽ sử dụng. Nội dung chương cũng đề cập đến lý do chọn đề tài, mục tiêu, giới hạn và phương pháp nghiên cứu sẽ sử dụng trong đề tài.
5 Luan van Chương 2. Cơ sở lý thuyết Trong chương này, các khái niệm về mạng cảm biến không dây, các mô hình và phương pháp xây dựng chúng sẽ được trình bày. Giới thiệu về mạng Neural Network và ưu điểm của mạng trong việc dự đoán mưa sẽ được trình bày trong chương này. Xây dựng hệ thống Trong chương này, thiết kế hệ thống mạng cảm biến không dây để thu thập các thông số môi trường bao gồm lựa chọn phần cứng và thiết kế mô hình sẽ được trình bày.
Bên cạnh đó, chương này cũng sẽ trình bày cách mà hệ thống thu thập dữ liệu cũng như phương thức triển khai thuật toán dự đoán với thông số môi trường đã thu thập được, đồng thời cách thức lựa chọn các thông số của mô hình cũng sẽ được giới thiệu trong chương này. Thực nghiệm và đánh giá Trong chương này, việc thực nghiệm với hệ thống đã được xây dựng ở chương 3 sẽ trình bày. Các bước thực thi trong thu thập dữ liệu và huấn luyện mô hình mạng ANN dự đoán trong hệ thống cũng sẽ được phân tích làm rõ. Bên cạnh đó các kết quả thực nhiệm thực tế mà mô hình đạt được cũng sẽ được đánh giá và phân tích.
Việc kiểm thử và so sánh độ chính xác trong dự đoán của mô hình ANN với các mô hình thuật toán khác sẽ được trình bày và nhận xét trong chương này. Kết luận Chương này sẽ tiến hành đánh giá các kết quả đạt được của hệ thống. Từ đó, so sánh với mục tiêu ban đầu đề ra và kết luận. Bên cạnh đó, chương này cũng sẽ trình bày hướng phát triển đề tài trong tương lai.
6 Luan van Chương 2.1 Mạng nơron nhân tạo 2.1Tổng quan Mạng nơron nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Neuron được gắn kết để xử lý thông tin và kết nối với nhau thông qua các liên kết (gọi là trọng số liên kết), làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó. ANN giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết. Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ liệu.) thông qua một quá trình học từ tập các mẫu huấn luyện. Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa các nơron.
[10] Các ứng dụng của mạng Neuron được sử dụng trong rất nhiều lĩnh vực như điện, điện tử, kinh tế, quân sự, .để giải quyết các bài toán có độ phức tạp và đòi hỏi có độ chính xác cao như điều khiển tự động, khai phá dữ liệu, nhận dạng, … Điển hình là các ứng dụng: xử lý ngôn ngữ, nhận dạng kí tự, nhận dạng tiếng nói, nhận dạng mẫu, xử lý tín hiệu, lọc dữ liệu, … 2.2 Nơron sinh vật Mạng nơron là một tập hợp các dây thần kinh kết nối với nhau. Nơron là đơn vị cơ bản cấu tạo hệ thống thần kinh và là một phần quan trọng nhất của não. Não chúng ta gồm khoảng 10 triệu nơ-ron và mỗi nơ-ron liên kết với 10. Các nơron có khả năng nhận, xử lý và truyền các tín hiệu điện hóa trên các đường mòn nơron, các con đường này tạo nên hệ thống giao tiếp của bộ não.
7 Luan van Thông thường, một mạng nơron bao gồm một hoặc nhiều nhóm các nơron được kết nối vật lý với nhau hoặc có liên quan với nhau về chức năng. Một nơ-ron đơn có thể được nối với nhiều nơron khác nên tổng số nơron và kết nối trong một mạng có thể là một giá trị cực kỳ lớn. Ở mỗi nơ-ron có phần thân (soma) chứa nhân, các tín hiệu đầu vào qua sợi nhánh (dendrites) và các tín hiệu đầu ra qua sợi trục (axon) kết nối với các nơ-ron khác. Hiểu đơn giản mỗi nơ-ron nhận dữ liệu đầu vào qua sợi nhánh và truyền dữ liệu đầu ra qua sợi trục, đến các sợi nhánh của các nơ-ron khác.
Mỗi nơron nhận xung điện từ các nơron khác qua sợi nhánh. Nếu các xung điện này đủ lớn để kích hoạt nơ-ron, thì tín hiệu này đi qua sợi trục đến các sợi nhánh của các nơron khác. Vậy nên ở mỗi nơ-ron cần quyết định có kích hoạt nơron đấy hay không [10]. Mọi thông tin đi vào và đi ra khỏi hệ thần kinh đều được truyền qua nơron dưới dạng các xung động thần kinh.
Các xung động này truyền đi theo một chiều nhất định nhờ chức năng dẫn truyền đặc biệt của các khớp thần kinh. Các khớp thần kinh có cấu trúc màng đặc biệt để tiếp nhận các tín hiệu khi có sự chênh lệch về nồng độ ion giữa bên trong và bên ngoài. Nếu độ lệch về nồng độ càng lớn thì việc truyền các ion càng nhiều và ngược lại. Mức độ thẩm thấu của các ion có thể coi là một đại lượng thay đổi tùy thuộc vào nồng độ như một giá trị đo thay đổi được gọi là trọng số [10].1: Nơron sinh học [11] 8 Luan van 2.3 Nơron nhân tạo Một mạng nơron được cấu thành bởi các nơron đơn lẻ được gọi là các perceptron.
Trên cơ sở mô hình nơron sinh vật tổng quát và các nó hoạt động, người ta đề xuất mô hình nơron nhân tạo gồm 2 thành phần chính: bộ tổng các liên kết đầu vào và bộ kích hoạt.2 Nơron nhân tạo [12] Công việc cơ bản của một nơron nhân tạo là cộng các mức kích hoạt ở đầu vào rồi tạo một mức tác động ở đầu ra nếu tổng các mức kích hoạt ở đầu vào lớn hơn một giá trị ngưỡng nào đó. Toàn bộ công việc này được được thực hiện qua các thành phần của nơron bao gồm [10]: Tập các đầu vào: Là các tín hiệu vào của nơron, các tín hiệu này thường được đưa vào dưới dạng một vector N chiều. Mỗi đầu vào tương ứng với 1 thuộc tính của dữ liệu. Ví dụ như trong ứng dụng của ngân hàng xem xét có chấp nhận cho khách hàng vay tiền hay không thì mỗi đầu vào là một thuộc tính của khách hàng như thu nhập, nghề nghiệp, tuổi, số con, … Đầu ra: Kết quả của một ANN là một giải pháp cho một vấn đề, ví dụ như với bài toán xem xét chấp nhận cho khách hàng vay tiền hay không thì đầu ra là có (cho vay) hoặc không (không cho vay).
Trọng số liên kết: Mỗi liên kết được thê hiện bởi một trọng số (gọi là trọng số liên kết). Trọng số liên kết giữa tín hiệu vào thứ i với nơron j thường được kí hiệu là 𝑊. Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học mạng. Đây là thành phần rất 9 Luan van quan trọng của một ANN, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thông tin (quá trình chuyển đổi dữ liệu từ lớp này sang lớp khác).
Quá trình học của ANN thực ra là quá trình điều chỉnh các trọng số của các tập đầu vào để có được kết quả mong muốn. Hàm tổng: Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết của nó. Hàm tổng của một nơron đối với n đầu vào được tính theo công thức sau: (2.1) 𝑌= 𝑋 𝑊 Hàm tổng đối với nhiều nơron trong cùng một lớp: (2.2) 𝑌 = 𝑋 𝑊 Hàm chuyển đổi: Hàm tổng của một nơron cho biết khả năng kích hoạt của nơron đó còn gọi là kích hoạt bên trong. Kích hoạt bên trong là sự quyết định đầu ra của một nơron có thể được chuyển đến lớp tiếp theo trong mạng nơron hay không.
Mối quan hệ giữa kích hoạt bên trong và đầu ra được thể hiện bằng hàm chuyển đổi. Hàm này được dùng để giới hạn phạm vi đầu ra của mỗi nơron. Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho. Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1] hoặc [-1,1].
Các hàm chuyển đối rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến. Việc lựa chọn hàm truyền nào là tùy thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng. 10 Luan van Hình 2.3 Hàm chuyển đổi [12] Kết quả xử lý tại các nơron đầu ra đôi khi rất lớn, vì vậy hàm chuyển đổi được sử dụng để xử lý đầu ra này trước khi chuyển đến lớp tiếp theo. Đôi khi thay vì sử dụng hàm chuyển đổi người ta sử dụng giá trị ngưỡng (Threshold value) để kiểm soát các đầu ra của các nơron tại một lớp nào đó trước khi chuyển các đầu ra này đến các lớp tiếp theo.
Nếu đầu ra của một nơron nào đó nhỏ hơn giá trị ngưỡng thì nó sẽ không được chuyển đến lớp tiếp theo [10]. Việc lựa chọn hàm chuyển đổi có tác động lớn đến kết quả của ANN. Các hàm chuyển đổi phi tuyến được sử dụng phổ biến trong ANN là: Hình 2.4 Các hàm chuyển đổi phổ biến [13] 2.4 Mạng nơron nhân tạo Mạng nơ ron nhân tạo là hệ thống bao gồm nhiều nơ ron nhân tạo kết hợp với nhau. Mỗi nơron có các đặc tính đầu vào, đầu ra và thực hiện một số chức năng tính 11 Luan van toán cục bộ.
Mạng nơron có khả năng học, khái quát hóa tập dữ liệu học thông qua việc gán và hiệu chỉnh các trọng số liên kết. Kiến trúc tổng quát của một ANN [10]: Hình 2.5 Kiến trúc tổng quát của một ANN [12] Processing Elements (PE): Các PE của ANN là các perceptron đơn lẻ, mỗi nơron nhận các dữ liệu đầu vào, xử lý chúng và cho ra một kết quả duy nhất. Kết quả xử lý của một nơron có thể làm đầu vào cho các nơron khác Kiến trúc chung của một ANN gồm 3 tầng chính [10]: - Lớp vào (Input Layer): Là lớp bao gồm các giá trị đầu vào của mạng, cung cấp cho mạng các số liệu cần thiết.