2.1 .1Tổng quan
2.3 Các thuật toán máy học khác
Bên cạnh thuật tốn BP của mơ hình Neural Network MLP, cịn rất nhiều thuật tốn được ứng dụng để xử lý các dạng dữ liệu theo chuỗi thời gian và ứng dụng giải quyết các bài toán dự đoán như Logistic Regression, Naive Bayes, K-Nearest Neighbor, Decision Tree, Random Forest, Support Vector Machine cũng sẽ được giới thiệu và thực nghiệm với bài toán dự đoán thời tiết để so sánh hiệu xuất giữa các thuật toán. 2.3.1 Mơ hình thuật tốn SVM
Support Vector Machine (SVM) là một loại thuật tốn máy học có giám sát, sẽ phân chia chính xác hai lớp khác nhau, được mô tả bởi các điểm trong không gian nhiều chiều, bằng cách tìm một siêu phẳng (hyperplane) và phân chia hai lớp đó, tức là các điểm thuộc một lớp sẽ nằm cùng một phía của siêu phẳng đó và các điểm thuộc lớp cịn lại sẽ nằm trên phía cịn lại của siêu phẳng. Đồng thời, thuật tốn sẽ đi tìm siêu phẳng sao cho khoảng cách giữa các điểm gần siêu phẳng với siêu phẳng là lớn nhất. Khoảng cách đó gọi là margin [16].
Thuật tốn SVM sử dụng một tập hợp con các điểm huấn luyện trong hàm quyết định, điều này làm cho thuật toán này hoạt động hiệu quả trong không gian chiều cao. Bất lợi duy nhất là thuật tốn này khơng cung cấp trực tiếp các ước lượng xác suất [16]. 2.3.2 Mơ hình thuật tốn Naive Bayes
Đây là thuật toán phân loại dựa trên định lý Bayes với giả định về sự độc lập giữa các yếu tố dự đốn. Nói một các khác, phân loại Naive Bayes giả định rằng sự hiện diện của một đối tượng cụ thể trong một lớp không liên quan đến sự hiện diện của bất kỳ đối tượng nào khác. Ngay cả khi các đối tượng phụ thuộc vào nhau, tất các các đối tượng này đều đóng góp vào xác suất một cách độc lập. Mơ hình Naive Bayes tương đối dễ xây dựng và đặc biệt hữu ích cho các tập dữ liệu tương đối lớn vì khả năng mở rộng cao. Cùng với sự đơn giản thì Naive Bayes thường được đánh giá tốt hơn so với hầu hết các phương pháp máy học phân loại khác. Sau đây là định lý Bayes là cơ sở để thực hiện định lý Naive Bayes [23]:
𝑃(𝐶 |𝑥 , 𝑥 , … , 𝑥 ) = 𝑃(𝑥 , 𝑥 , … , 𝑥 |𝐶 ). 𝑃(𝐶 ) 𝑃(𝑥 , 𝑥 , … , 𝑥 )
(2.15)
Ưu điểm của mơ hình phân loại Naive Bayes chỉ yêu cầu một lượng nhỏ dữ liệu huấn luyện để ước tính các tham số cần thiết. Điểm bất lợi duy nhất là Naive Bayes được biết đến như là một công cụ không tốt cho việc ước lượng [17].
2.3.3 Mơ hình thuật tốn Decision Tree
Thuật tốn Decision Tree xây dựng mơ hình phân loại hoặc hồi quy dưới dạng cấu trúc cây. Quá trình thực hiện sẽ chia nhỏ dữ liệu thành các cấu trúc nhỏ và cuối cùng kết hợp nó với một cây quyết định, từ đó cây quyết định với các thành phần liên quan sẽ được phát triền dần dần. Cấu trúc cuối cùng sẽ có hình dạng như một cái cây với nhiều nút quyết định và nút lá. Một nút quyết định cao nhất trong cây tương ứng với
bộ giá trị bao gồm các quy tắc sẽ bị xóa. Q trình sẽ tiếp tục trên tập huấn luyện cho đến khi đáp ứng được điểm kết thúc [18].
Hình 2.15 Cấu trúc mơ hình Decision Tree
Mơ hình cây quyết định có ưu điểm là dễ hiểu và dễ hình dung, nó cũng địi hỏi rất ít về sự chuẩn bị cho dữ liệu. Điểm bất lợi là nó có thể tạo ra các cây phức tạp khơng có tính tổng qt tốt và khơng ổn định vì chỉ với một thay đổi đơn giản trong dữ liệu cũng có thể ảnh hưởng đến toàn bộ cấu trúc của cây [18].
2.3.4 Mơ hình thuật tốn Logistic Regression
Nó là một phương pháp thống kê để phân tích một tập dữ liệu trong đó có một hoặc nhiều biến độc lập để xác định kết quả. Kết quả sẽ được xác định bằng một biến nhị phân có nghĩa là chỉ có hai kết quả có thể xảy ra. Mục tiêu của Logistic Regression là tìm ra mơ hình phù hợp nhất để mơ tả mối quan hệ giữa biến phụ thuộc và tập hợp các biến độc lập. Nó tốt hơn các thuật toán phân loại nhị phân như Nearest Neighbor bởi sự giải thích mang tính định lượng cho các nhân tố dẫn đến phân loại [19]. Logistic regression có ý nghĩa đặc biệt về phân loại, nó hữu ích trong việc hiểu một tập hợp các biến độc lập ảnh hưởng như thế nào đến kết quả của biến phụ thuộc. Nhược điểm chính của thuật tốn này là nó chỉ hoạt động khi biến dự đốn là nhị phân và giả định rằng dữ liệu khơng có giá trị bị thiếu, đồng thời các yếu tố dự đoán là độc lập với nhau [19].
2.3.5 Mơ hình thuật tốn K-Nearest Neighbor
Thuật toán K-Nearest Neighbor (KNN) là kỹ thuật phân loại một đối tượng theo đa số phiếu bầu của các hàng xóm với đối tượng. Thuật tốn lấy một loạt các điểm được gắn nhãn và sử dụng chúng để tìm hiểu các gắn nhãn cho các điểm khác. Để gắn nhãn cho một điểm mới, nó sẽ xem xét các điểm được gắn nhãn gần với điểm mới đó nhất, cịn được gọi là hàng xóm gần nhất của nó. Nhãn được nhiều bầu chọn của hàng xóm sẽ trở thành nhãn của điểm mới. Giá trị “K” là số lượng hàng xóm mà nó kiểm tra. Việc sử dụng khoảng cách hình học để quyết định mục nào là mục gần nhất có thể khơng phải lúc nào cũng hợp lý và có thể thực hiện được [20].
Hình 2.16 Cấu trúc mơ hình K Nearest Neighbor [20]
Thuật toán này khá đơn giản trong việc triển khai và hiệu quả cao với dữ liệu nhiễu và tập dữ liệu huấn luyện lớn. Nhược điểm duy nhất của KNN là cần xác định giá trị K và tiêu tốn nhiều tài ngun cho việc tính tốn do cần tính tốn khoảng cách của từng cá thể đến tất cả các mẫu huấn luyện [26].
2.3.6 Mơ hình thuật tốn Random Forest
Thuật tốn hoạt động bằng cách xây dựng vơ số cây quyết định tại thời điểm huấn luyện. Đầu ra của thuật toán là các phân lớp đối với thực thi phân loại hoặc dự đốn trung bình của các cây riêng lẽ đối với thực thi hồi quy. Thuật tốn sẽ điều chỉnh thói quen của các cây quyết định sao cho phù hợp với tập huấn luyện của chúng [21].
Hình 2.17 Cấu trúc mơ hình Random Forest [21]
Ưu điểm của Random Forest là chính xác hơn Decision Tree do giảm đi sự kết hợp quá mức. Điểm bất lợi duy nhất là nó khá phức tạp trong việc triển khai và dự đoán thời gian thực khá chậm [21].
Chương 3:
THIẾT KẾ HỆ THỐNG 3.1 Tổng quan mơ hình
Việc dự báo thời tiết ở Việt Nam hiện nay vẫn có nhiều sai số giữa kết quả dự đốn so với thực tế do các thiết bị đo đạc cũng như kỹ thuật dự đốn chưa chính xác. Trên thế giới hiện nay công nghệ dự báo thời tiết hồn tồn có thể đưa ra các cảnh báo về thời tiết rất chính xác, nhiều nơi có thể dự báo hằng giờ và độ chính xác có thể kéo dài từ ba đến năm ngày. Trong đề tài này tác giả đã hình thành ý tưởng có thể khắc phục tình trạng dự báo thời tiết hiện nay ở Việt Nam bằng cách nghiên cứu và ứng dụng thuật tốn máy học để huấn luyện mơ hình dự đốn với tập dữ liệu có sẵn. Mơ hình sau khi được huấn luyện sẽ có khả năng dự đốn được thời tiết ở thời gian tương lai mà không phải đo đạc nhiều, giảm sai số ở mức thấp nhất có thể. Thuật tốn tác giả sẽ áp dụng vào trong đề tài này đó là lan truyền ngược với mơ hình mạng nơron thần kinh truyền thẳng nhiều lớp.
Các dữ liệu thời tiết để cập nhật cho tập dữ liệu đầu vào của mơ hình được đo lường trực tiếp bằng các cảm biến nhiệt độ, độ ẩm. Tuy nhiên, ở các vị trí khác nhau thì thơng số thời tiết sẽ có sự thay đổi nhất định, chính vì vậy trong đề tài này tác giả sẽ thiết kế nhiều nút cảm biến đặt ở nhiều vị trí khác nhau. Các thơng số nhiệt độ, độ ẩm của từng nút cảm biến sẽ được gửi đến bộ xử lý trung tâm, việc truyền nhận dữ liệu sẽ thơng qua thiết bị phần cứng có thể giao tiếp theo chuẩn không dây với khoảng cách phù hợp. Bộ xử lý trung tâm sẽ đưa dữ liệu đến máy chủ – nơi thực hiện quá trình huấn luyện của thuật toán lan truyền ngược. Dữ liệu trên máy chủ sẽ là đầu vào của mơ hình mạng nơron truyền thẳng nhiều lớp. Sau khi huấn luyện, kết quả đầu ra của mơ hình chính là kết quả dự báo sự kiện mưa.
hiểu, nghiên cứu các ưu điểm cũng như nhược điểm để đưa vào đề tài này một cách hợp lý. Nhiệt độ, Độ ẩm khơng khí Kết quả dự đốn của thuật tốn: 0 - khơng mưa 1- mưa
Hình 3.1 Sơ đồ hoạt động của hệ thống
Sơ đồ hoạt động ở hình 3.1 sẽ cho ta thấy được tổng quan cách thức hoạt động và ứng dụng của mà hệ thống đang hướng đến. Cách thức hoạt động của khối hệ thống dự báo thời tiết gồm những tác vụ như sau:
- Các nút cảm biến sẽ tiến hành thu thập các dữ liệu (nhiệt độ, độ ẩm khơng khí) trong mơi trường thực tế sau đó chuyển đến bộ xử lý trung tâm.
- Sau khi nhận được các dữ liệu môi trường từ các nút cảm biến, bộ xử lý trung tâm sẽ tiến hành chuyển các dữ liệu đã thu thập được từ các nút cảm biến đến máy chủ để lưu trữ.
- Với các dữ liệu được chuyển đến từ bộ xử lý trung tâm, máy chủ sẽ đưa các dữ liệu này vào mơ hình thuật tốn để huấn luyện mơ hình. Sau khi hồn thành
huấn luyện, các dự đốn sự kiện mưa (0 – khơng mưa, 1 – có mưa) từ mơ hình thuật tốn sẽ được chuyển đến bộ xử lý trung tâm.
- Bộ xử lý trung tâm sau khi nhận được tín hiệu kết quả dự đốn từ máy chủ sẽ tiến hành gửi các tín hiệu điều khiển đến bộ điều khiển để thực hiện các tác vụ đóng mở thiết bị.
- Các thiết bị sẽ được quyết định đóng mở hoạt động tùy thuộc vào kết quả dự đoán được gửi từ bộ xử lý trung tâm. Ví dụ với dự đốn khơng mưa, các tác vụ như khởi động máy bơm để tưới tiêu, mở mái che, … sẽ được thực thi đối với các ứng dụng nông nghiệp. Các tác vụ như phun sương, mở tản nhiệt, mở quạt hút, … sẽ được thực thi trong các ứng dụng cơng nghiệp. Với dự đốn có mưa thì các thiết bị cũng sẽ được quyết định hoạt động hay không để đảm bảo được các sản phẩm luôn ở trong môi trường tốt nhất để phát triển.
So với nhiều nghiên cứu trước đây về dự báo thời tiết đều đưa ra dự đốn là các thơng số thời tiết (nhiệt độ, độ ẩm, tốc độ gió, số giờ nắng …). Tác giả muốn xây dựng hệ thống có thể dự báo được sự kiện thời tiết sắp tới theo mơ hình phân loại (mưa hay không mưa), như vậy sẽ dễ dàng hơn cho người dùng hoặc các hệ thống tự động vì nếu kết quả dự báo là các thơng số thời tiết thì ta phải phân tích các thơng số dự đốn này sau đó mới có thể gửi đến người dùng. Với kết quả dự báo là sự kiện mưa mà tác giả đang hướng đến, từ phía người dùng hay các hệ thống tự động có thể đưa ra quyết định thực thi hay không các tác vụ như tưới tiêu, phun sương, ... để đảm bảo nông sản trong các ứng dụng nông nghiệp hay vận hành mày móc, che phủ sản phẩm, ... trong các ứng dụng công nghiệp.
3.2 Thu thập dữ liệu
Việc thu thập và xử lý dữ liệu môi trường sẽ được thực hiện với hai thành phần chính là các nút cảm biến và bộ xử lý trung tâm. Các nút cảm biến sẽ có các cảm biến đo
ra cảm biến cũng tích hợp bộ truyền dữ liệu với giao thức Zigbee. Đây là giao thức có khả năng linh hoạt trong phạm vi rộng nhưng giá thành và cơng suất tiêu thụ thấp, thích hợp cho các cảm biến không dây và chuyên dùng cho các ứng dụng giám sát, điều khiển. Chúng ta có thể thấy rằng trong hệ thống dự báo thời tiết này yêu cầu độ linh hoạt cao, công suất tiêu thụ nhỏ cùng với giá thành thấp thì chuẩn Zigbee là rất phù hợp.
Đối với bộ xử lý trung tâm sẽ là một máy tính nhúng có thể kết nối truyền nhận thông qua giao thức Zigbee để nhận dữ liệu đo được từ các nút cảm biến. Bên cạnh đó, quá trình gửi dữ liệu nhận được từ các nút cảm biến đến máy chủ để lưu trữ cũng được diễn ra song song bằng giao thức truyền nhận WiFi.
3.3 Máy chủ lưu trữ và giao diện giao tiếp thiết bị smartphone
Mọi thông số về nhiệt độ - độ ẩm khơng khí sẽ được các nút cảm biến thu thập, sau đó gửi đến máy chủ thơng qua WiFi từ bộ xử lý trung tâm. Những thông tin gửi lên sẽ được lưu trữ và là đầu vào của mơ hình thuật tốn dự báo thời tiết. Tại đây mơ hình máy học sẽ thực hiện quá trình huấn luyện để đưa ra kết quả cuối cùng là dự đốn về thời tiết trong tương lai. Vì u cầu lưu trữ khối lượng dữ liệu lớn phục vụ cho việc huấn luyện, đồng thời thực thi quá trình học của mơ hình máy học nên máy chủ cần khối lượng tài nguyên bộ nhớ lớn và khả năng xử lý dữ liệu, tính tốn nhanh chóng để đáp ứng được yêu cầu trên. Máy chủ sẽ được tác giả xây dựng trên máy tính cá nhân để thực hiện các tác vụ như nhận dữ liệu từ bộ xử lý trung tâm, lưu trữ dữ liệu được gửi đến và thực thi q trình huấn luyện mơ hình dự báo thời tiết.
3.4 Thuật toán
Thuật toán mà tác giả lựa chọn để xây dựng cho hệ thống dự báo thời tiết là lan truyền ngược với mơ hình nơron truyền thẳng nhiều lớp. Thuật tốn này sẽ được xử lý tại máy chủ với đầu vào là các dữ liệu nhiệt độ - độ ẩm đã được lưu trữ sau khi thu thập. Trải qua quá trình huấn luyện để hiệu chỉnh trọng số liên kết thì mơ hình cuối cùng sẽ được cập nhật cùng với những trọng số đã được hiệu chỉnh, mang thuộc tính tương ứng với các đầu ra mong muốn của mơ hình. Đồng thời đầu ra cuối cùng chính là kết
quả dự báo sự kiện mưa trong tương lai. Bên cạch thuật toán mà tác giả lựa chọn cho hệ thống thì các thuật tốn máy học khác thường được sử dụng cho các bài toán dự đoán như Logistic Regression, Naive Bayes, K-Nearest Neighbor, Decision Tree, Random Forest, Support Vector Machine cũng sẽ được thực nghiệm để đánh giá hiệu suất hoạt động so với thuật toán lan truyền ngược khi xử lý các dữ liệu là thông số mơi trường (nhiệt độ, độ ẩm khơng khí).
3.5 Sơ đồ phần cứng hệ thống
Sơ đồ chi tiết hệ thống phần cứng sẽ gồm các khối được thể hiện ở hình sau:
KHỐI TRUYỀN NHẬN DỮ LIỆU Nút CB 2 KHỐI NGUỒN KHỐI ĐIỀU KHIỂN Thuật tốn dự đốn Nút CB 1 WiFi ZIGBEE UART Hình 3.2 Sơ đồ phần cứng hệ thống Chức năng thành phần của hệ thống:
Khối nguồn có chức năng cung cấp nguồn cho tất cả các mạch trong hệ thống.
Khối xử lý trung tâm sẽ liên lạc giữa khối truyền nhận dữ liệu thông qua chuẩn truyền thông UART và với máy chủ thông qua WiFi. Tập hợp các giá trị thu thập được từ cảm biến sau đó lần lượt gửi về máy chủ. Đồng thời, khối trung tâm cũng sẽ gửi tín hiệu đến khối điều khiển sau khi máy chủ đưa ra dự đoán.
Máy chủ xử lý các dữ liệu nhận từ khối xử lý trung tâm và đưa tới đầu vào của mơ hình thuật tốn dự đốn và huấn luyện mơ hình dựa trên những dữ liệu được cung cấp. Đồng thời đưa ra kết quả dự đốn sau khi hồn thành huấn