Tổng quan đồ án
Internet of Things (IoT) đang ngày càng phổ biến hơn và được áp dụng vào rất nhiều lĩnh vực, có thể kể đến như nhà thông minh, trong đó các thiết bị trong nhà đều có thể chia sẻ thông tin qua Wifi đến các thiết bị khác hay điện thoại để chủ nhà có thể theo dõi tình trạng của những thiết bị này. Ngoài ra ta còn có đô thị thông minh bằng cách tự động hoá các dịch vụ công cộng như tự động đếm các ô đỗ xe còn trống và vị trí của ô đó giúp cho tài xế dễ dàng đỗ xe. Hay lắp đặt các cảm biến để thu lại điều kiện thời tiết như nhiệt độ, độ ẩm, độ ồn của âm thanh, cường độ ánh sáng, …tại các trạm thời tiết được đặt khắp thành phố để phục vụ cho mục đích phân tích, thống kê và đưa ra dự đoán thời tiết.
Có thể thấy mạng Wifi đóng vai trò rất quan trọng về việc kết nối giữa các thành phần (node) trong mạng IoT, đường liên kết tốt sẽ giúp giảm thời gian truyền tải, giảm lỗi gói tin khiến cho mạng IoT đáng tin cậy hơn. Ngược lại nếu chất lượng đường liên kết thấp sẽ ảnh hưởng đến rất nhiều vấn đề như [SM22]:
- Lãng phí năng lượng của các node và suy giảm băng thông của mạng. Nếu gói tin được gửi từ một node bị lỗi hay thất lạc, node đó phải gửi lại một gói khác và chờ để nhận acknowledgement từ node đích. Việc truyền tài nhiều lần sẽ ảnh hưởng đến việc tiêu thụ tài nguyên của mạng và giảm độ tin cậy của mạng IoT.
- Tăng độ trễ và giảm thông lượng của mạng vì phải truyền lại các gói tin.
- Việc truyền các gói tin dữ thừa sẽ giảm độ tin cậy của các thiết bị đầu cuối.
Báo cáo này sẽ tập trung vào việc đánh giá mạng Wifi một cách tự động nhờ vào các thuật toán máy học từ đó giảm thiểu được việc sử dụng các đường liên kết không đáng tin cậy đồng thời kịp thời đưa ra các phương pháp khắc phục để giảm thiểu hiệu suất mất mát của hệ thống.
Bộ dữ liệu được sử dụng cho việc huấn luyện và đánh giá bằng mô hình máy học được thu từ thiết bị biên Rasnpberry PI và thực hiện các bước trích chọn đặc trưng để xoá bớt các đặc trưng, chỉ giữ lại những đặc trưng có ý nghĩa cho nghiên cứu này.
Các mô hình máy học sẽ được chọn lọc một cách kỹ càng dựa vào độ chính xác cho ra đối với một bộ dữ liệu cụ thể, sẽ có nhiều bộ dữ liệu dựa vào các cách encode, impute và scaler. Sau đó đưa ra mô hình kết quả tốt nhất đổi với tập dữ liệu cho độ chính xác trung bình cao nhất,
Phương pháp nghiên cứu
Dưới đây là pipeline tổng quát để tiền xử lý dữ liệu và tự động tối ưu các mô hình máy học. Cụ thể, tệp dữ liệu đầu vào đi qua một giai đoạn tiền xử lý dữ liệu (Data cleaning), tại đây thông qua 7 cách mã hoá các cột chỉ mục, 2 cách impute để điền giá trị còn thiếu vào các ô trống và 3 cách chuẩn hoá dữ liệu. Đầu ra của giai đoạn này là 42 tệp dữ liệu khác nhau (7 × 2 × 3 = 42).

Với bước đầu tiên, trước khi thực hiện các cách mã hoá cột chỉ mục, phải xử lý các ô chỉ mục còn thiểu bằng cách sử dụng impute với chiến lược là Most freqency (tần suất xuất hiện cao nhất) để điền giá trị xuất hiện nhiều nhất của cột chứa ô trống cần điền. Sau đó sử dụng mã hoá cột chỉ mục lên bộ dữ liệu, ở đây sẽ sử dụng 7 cách mã hoá khác nhau bao gồm Label encoding, One hot encoding, Binary encoding, Ordinal encoding, Frequency encoding, Target encoding, Loo encoding.






Sau khi thu được 42 tập dữ liệu, mỗi tập dữ liệu này lần lượt sẽ đi qua quá trình tìm kiếm tham số tối ưu sử dụng chiến lược tiến hoá PSO. Thu được độ chính xác của các mô hình sử dụng cho mỗi tập dữ liệu. Tính trung bình độ chính xác của các mô hình cho mỗi tập dữ liệu, lấy tập dữ liệu cho ra độ chính xác cao nhất.

Kết quả
Sau khi thu dữ liệu từ thiết bị Raspberry PI, đưa tập dữ liệu đó đi qua quy trình tiền xử lý dữ liệu, lấy được 42 tập dữ liệu khác nhau. Sau đó tính độ chính xác trung bình cho mỗi tập dữ liệu. Thu được bảng thống kê kết quả như hình.
Kết luận
Dựa vào pipeline được đề xuất như trên giúp người nghiên cứu tiết kiệm rất nhiều thời gian. Sử dụng hướng tiếp cận vét cạn để tiền xử lý dữ liệu, đảm bảo các cách thức mã hoá, impute hay chuẩn hoá dữ liệu đều được sử dụng, từ đó đánh giá được cách thức nào hiệu quả nhất bằng cách cho ra độ chính xác trung bình cao nhất, điều này đặc biệt hữu dụng khi không biết tập dữ liệu hiện tại phù hợp với các cách tiền xử lý nào. Sử dụng PSO để tìm kiếm tham số tối ưu mô hình cũng giúp tiết kiệm thời gian hơn việc tìm kiếm tham số bằng tay. Hoàn toàn có thể sử dụng pipeline này để phục vụ cho mục đích phân tích một bài toán, đưa ra các mô hình và chiến lược tiền xử lý tốt nhất cho tập dữ liệu của bài toán, hoặc tìm kiếm các mô hình cho ra kết quả cao và kết hợp chúng lại tạo thành một mô hình Ensemble.


