Đánh giá hiệu suất các phân loại máy học cho bài toán định vị xe
Bạn đang xem tài liệu "Đánh giá hiệu suất các phân loại máy học cho bài toán định vị xe", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- danh_gia_hieu_suat_cac_phan_loai_may_hoc_cho_bai_toan_dinh_v.pdf
Nội dung text: Đánh giá hiệu suất các phân loại máy học cho bài toán định vị xe
- Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XIII về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR), Nha Trang, ngày 8-9/10/2020 DOI: 10.15625/vap.2020.00227 ĐÁNH GIÁ HIỆU SUẤT CÁC PHÂN LOẠI MÁY HỌC CHO BÀI TOÁN ĐỊNH VỊ XE Văn Khánh Hưng, Huỳnh Khả Tú, Nguyễn Quang Phú, Nguyễn Văn Sinh, Lý Tú Nga Khoa Công nghệ thông tin, Trường Đại học Quốc tế - Đại học Quốc gia TP. HCM cuti2668@gmail.com, hktu@hcmiu.edu.vn, nqphu@hcmiu.edu.vn, nvsinh@hcmiu.edu.vn, ltnga@hcmiu.edu.vn TÓM TẮT: Hệ thống định vị trong nhà (ILS) là một ngành kiểm tra quan trọng trong lĩnh vực nghiên cứu và phát triển. Nó đóng vai trò quan trọng của hệ thống định vị toàn cầu (GPS) cho phép định vị ngoài trời bao gồm độ chính xác. Tuy nhiên, GPS không thể dùng trong các cấu trúc nơi con người sống không có đường truyền thẳng giữa ăngten và tàu vũ trụ, dữ liệu tín hiệu bị suy hao bởi sự hấp thụ, nhiễu và tán xạ. Sự chính xác định vị xe trong nhà rất quan trọng đối với một số ứng dụng như hỗ trợ theo dõi sinh hoạt và sức khỏe con người. Các phân loại máy học (ML) có thể giảm thiểu hiệu quả sự biến đổi dữ liệu cảm biến và tiếng ồn do các điều kiện môi trường khi triển khai. Vì vậy, nhóm thiết kế và triển khai hệ thống định vị trong nhà giao tiếp qua thiết bị Zigbee dựa trên các chỉ báo cường độ tín hiệu thu để thu thập vị trí tọa độ x và y thông qua thiết kế phần mềm và hệ thống cấu trúc mạng lưới. Chiếc xe đóng một vai trò như một thiết bị và có thể di chuyển dễ dàng và kiểm tra vị trí, sự tương tác giữa slaves và master. Trong bài báo này, nhóm sử dụng cơ sở dữ liệu thử nghiệm được thu thập từ hệ thống mô hình đề xuất diện tích 3 m × 3 m để phân tích và đánh giá hiệu suất các phân loại máy học bằng phần mềm mô phỏng Weka. Nhóm so sánh độ chính xác lỗi định vị, tỷ lệ chính xác và tỷ lệ tái hiện. Kết quả cho thấy lỗi định vị trung bình khi áp dụng thuật toán máy học khoảng 85,4 % (hay 0,087 m) với 96 thể hiện (instances). Từ khóa: MQTT, Zigbee, zigbee2mqtt, các phân loại máy học, định vị trong nhà. I. GIỚI THIỆU Hệ thống định vị trong nhà (ILS) là cơ chế định vị được thiết kế hoạt động định vị môi trường trong nhà. Các thiết bị này được sử dụng trong các ngành điều tra khác nhau có dùng mạng WiFi hoặc Bluetooth. Tuy nhiên, do chi phí lớn hoặc khoảng cách tín hiệu kém [1] dẫn đến hiệu quả trong dự đoán lỗi của các giải pháp này không tốt. Với sự phát triển của hệ thống, nhiều ứng dụng đang xuất hiện như tiếp xúc của con người với công nghệ ở nhà, cyborg/robot được hướng dẫn, ghế lăn tự động hoặc hệ thống cứu hộ và cứu thương. Trong bài báo này, cấu trúc mạng lưới cung cấp tính linh hoạt cao được áp dụng cho hệ thống Zigbee, phương pháp đo ba cạnh (trilateration) của chỉ số cường độ tín hiệu thu được áp dụng để tính toán và định vị mục tiêu [8]. Bài viết được chia thành năm phần. Phần I, các công trình nghiên cứu về lý thuyết cơ bản, cũng như các khái niệm cơ bản của cấu trúc liên kết của Zigbee và ứng dụng máy học của XBee. Phần II tập trung vào cách thiết kế và triển khai hệ thống phần cứng. Phần III giới thiệu về mô hình hệ thống. Trong phần IV, các thí nghiệm hệ thống được đánh giá và thảo luận. Phần cuối là kết luận và định hướng nghiên cứu sắp tới. II. NGHIÊN CỨU LIÊN QUAN Trước tiên, Sugano và các cộng sự [8] đã giới thiệu một mạng cảm biến không dây dựa trên tiêu chuẩn ZigBee. Hệ thống này tự động ước tính khoảng cách giữa các nút cảm biến bằng cách đo chỉ báo cường độ tín hiệu thu [2] tại một số nút cảm biến thích hợp. Bên cạnh đó, Tariq và các cộng sự [6] đã thử nghiệm và đề xuất huấn luyện dữ liệu thu thập trên modem XBee 802.15.4, truyền các phép đo đến một nút trung tâm xử lý hậu kỳ và định vị người bằng cách áp dụng các thuật toán phân loại máy học như Random Forest, AdaBoostM1. Nghiên cứu gần đây của nhóm [10] đã giải quyết thành công số lượng hạt trung bình tối thiểu sử dụng cho tái lấy mẫu khoảng cách Kullback-Leibler (KLD) bộ lọc đa phần tử bằng cách tìm ra lỗi ràng buộc (bound error) kết hợp thuật toán máy học Support Vector Machine (SVM) bằng ngôn ngữ lập trình Python. Nhóm đã triển khai một mô hình kiến trúc để thu thập và lưu trữ giá trị lỗi của mỗi lần lặp vào cơ sở dữ liệu. Ứng dụng này được sử dụng cho huấn luyện trực tuyến. Đóng góp của nhóm bao gồm: Thứ nhất, thiết kế và triển khai xe định vị trong nhà với bốn nút cảm biến theo tiêu chuẩn Zigbee. Hệ thống này được thiết kế với chi phí giá rẻ cũng như tiêu thụ thấp, vì vậy sản phẩm có thể được coi là lựa chọn của người tiêu dùng. Hơn nữa, sản phẩm này phải là phần cứng nguồn mở và đơn giản để thiết lập và phát triển dự án. Thứ hai, thu thập các phép đo dựa vào chỉ báo chất lượng đường truyền, chỉ báo giá trị cường độ tín hiệu thu, tọa độ x và y từ bốn cảm biến được lắp đặt trong phòng diện tích 3 m × 3 m. Thứ ba, xử lý dữ liệu cảm biến ở bước thứ hai bằng cách áp dụng phần mềm Weka [7] giúp hỗ trợ lựa chọn các thuật toán máy học tối ưu nhằm đánh giá hiệu suất định vị xe. Thứ tư, phân tích hiệu suất của các thuật toán phân loại máy học về độ chính xác định vị, lỗi khoảng cách trung bình, tỷ lệ chính xác và tỷ lệ tái hiện. III. CẤU TRÚC PHẦN CỨNG Thiết kế phần cứng của sản phẩm bao gồm ba môđun: Zigbee CC2530, USB dongle và Raspberry Pi.
- 672 ĐÁNH GIÁ HIỆU SUẤT CÁC PHÂN LOẠI MÁY HỌC CHO BÀI TOÁN ĐỊNH VỊ XE A. Zigbee CC2530 Zigbee là một kỹ thuật theo tiêu chuẩn IEEE 802.15.4 cho các giao thức truyền thông không dây ở mức cao trên cơ sở mạng PAN (Personal Area Network). Ưu điểm phương thức này ứng dụng khi yêu cầu kết nối an toàn, tốc độ truyền dữ liệu thấp và nguồn pin có tuổi thọ cao. Hệ thống được thiết kế là môđun ZigBee CC2530 + PA 2.4 GHz công suất 2.5 mW, sử dụng chip cao tần CC2530 của hãng ES. Đây là môđun truyền sóng 2.4 GHz rất xa dùng giao tiếp SPI, xem Hình 1. Hình 1. Hệ thống Zigbee Để đánh giá dữ liệu vị trí, nhóm đề xuất phương pháp đo ba cạnh: sử dụng khoảng cách để ước tính vị trí của mục tiêu trong mặt phẳng hai chiều bằng phương pháp đo ba cạnh. Phương pháp đo ba cạnh là cách đo khoảng cách từ ba điểm không thẳng hàng đã biết trên mặt phẳng. Khoảng cách được tính bằng ba ăngten. Các ăngten này có đường kính đạt tới vị trí của điểm và ba chu vi sẽ quyết định vùng giới hạn vị trí của mục tiêu. Khi biết vị trí khoảng cách r từ một điểm (a, b) nằm trên đường tròn theo phương trình (1). ( ) ( ) (1) Nếu biết được ba khoảng cách từ ba điểm khác nhau, chúng ta sẽ thành lập ba phương trình đường tròn như phương trình (1) và bài toán được giải quyết. Quá trình này cũng có thể khái quát hóa cho bài toán không gian ba chiều. Gọi rA, rB, rC lần lượt là các khoảng cách từ ba điểm: B (d, 0), C (p, q), phương trình (1) được triển khai (2) ( ) (3) ( ) ( ) (4) Bằng cách trừ phương trình (2) và phương trình (1), tọa độ x và y được tính như sau ( ) (5) √ ( ( ) ) (6) B. USB dongle CC2531 CC2531 là bộ thu phát ZigBee theo tiêu chuẩn IEEE 802.15.4 với CPU 8051 và thiết bị USB trên một chip duy nhất như trong Hình 1. Vì thiết bị này có cổng lập trình, nhóm có thể tích hợp một chương trình tùy chỉnh có chức năng như bộ tập trung Zigbee. C. Raspberry Pi 3 Model B Raspberry Pi, xem Hình 1, là một thiết bị có kích thước thẻ nhớ giá rẻ, cắm vào màn hình máy tính hoặc Tivi, sử dụng bàn phím và chuột thông thường. Đây là một thiết bị nhỏ có khả năng cho phép mọi người ở mọi lứa tuổi trải nghiệm máy tính và biết cách lập trình bằng các ngôn ngữ như Scratch và Python. Bên cạnh đó, khả năng làm mọi thứ mà người lập trình mong muốn như là lướt trình duyệt cho đến xem phim độ nét cao, kết xuất bảng tính, xử lý văn bản và chơi trò chơi [4]. MQTT là một giao thức nhắn tin nhanh được tối ưu hóa cho các mạng băng thông thấp hạn chế. Phương pháp này giúp gửi lệnh (commands) để giám sát đầu ra, đọc và xuất bản dữ liệu từ các nút cảm biến và dễ dàng thiết lập liên hệ giữa nhiều thiết bị [3].
- Văn Khánh Hưng, Huỳnh Khả Tú, Nguyễn Quang Phú, Nguyễn Văn Sinh, Lý Tú Nga 673 Để truyền hoặc xuất bản thông tin về một chủ đề (topic) cụ thể đến một máy chủ hoạt động như một đối tác thứ ba gửi tin nhắn MQTT. Đối tác này, sau đó chuyển tiếp các chi tiết cho những khách hàng đã đăng ký trước đó. Chủ đề có thể hiểu như một định tuyến phân cấp tệp. Khách hàng có thể đăng ký đơn lẻ một chủ đề phân cấp hoặc sử dụng ký tự đại diện để đăng ký theo nhiều cấp độ, xem Hình 2. Hình 2. Hoạt động truyền và nhận MQTT IV. MÔ HÌNH HỆ THỐNG Mosquitto Broker và Zigbee2mqtt là hai phần mềm được cài đặt trong Raspberry Pi và npm Nodejs. Mô hình hệ thống cài đặt và áp dụng phần mềm npm Nodejs để vận hành Zigbee2mqtt giao tiếp với bộ điều khiển Zigbee qua thiết bị ngoại vi USB, xem Hình 1. Việc này giúp điều khiển các thiết bị Zigbee thông qua giao thức Zigbee như xuất bản hay đăng ký. Mosquitto Broker là một máy chủ lọc các tin nhắn xuất bản. Ngoài ra, laptop và Raspberry Pi phải được kết nối với cùng một bộ định tuyến, có cùng địa chỉ IP, để truyền các tin nhắn giữa Windows và Raspberry Pi. Giả sử rằng tất cả các thiết bị đều được chuẩn bị sẵn sàng, nếu muốn xuất bản một thông báo để bật đèn trên nút Zigbee, thì nội dung xuất bản tin nhắn với chủ đề zigbee2mqtt/0x00124b00071a060f/set và thông tin BẬT (ON). Sau đó, tin nhắn được chuyển đến Raspberry thông qua mạng LAN Wifi và đến Mosquitto Broker để lọc và tiếp tục gửi đến Zigbee2mqtt, chủ đề đăng ký có dạng như sau: -t zigbe2mqtt/[Device’s eui64 name]/set -m "ON" Sau đó, tin nhắn được nhận bởi bộ điều khiển Zigbee Chủ và nó xuất bản tới Zigbee Con (Node) mà có tên dạng eui64 trùng khớp với [Device’s eui64 name] ở trong chủ đề được xuất bản ở trên. Ngay lập tức, đèn sẽ bật [5]. Hệ thống điều khiển xe được giới thiệu ở Hình 3. Giả sử một tin nhắn điều khiển xe được gửi đến Mosquitto Broker từ Laptop. Khối Zigbee2mqtt sẽ nhận tin nhắn đó và truyền vào mã Python. Mã này sẽ lọc tin nhắn là gì và gửi tin nhắn phù hợp. Nó sẽ BẬT hoặc TẮT bốn đầu ra được đặt trong mã. Sau đó, các đầu ra được chuyển đổi từ 3,3 V sang 5 V để bảo vệ Raspberry khỏi các sự cố về điện mà còn tăng tốc độ điều khiển cho các động cơ thông qua L198N. Cầu điều khiển động cơ kép L298N H-Bridge là thành phần chính của xe điều khiển từ xa, Raspberry Pi điều khiển tất cả các động cơ và gửi tín hiệu để theo dõi hướng và tốc độ của động cơ. Thiết bị này cấp nguồn cho 2 động cơ tín hiệu điều chế độ rộng xung (PWM), xem Hình 3. Hình 3. Hệ thống điều khiển xe Một bộ L198N 5V cần có để giải quyết sự tương thích nguồn 3,3 V cho Raspberry Pi. Việc cần một bộ chuyển đổi nguồn có thể thay đổi 3,3 V đến 5 V; hoặc 5 V xuống 3,3 V để cung cấp nguồn điện tương thích. Hình 4. Mặt trên của xe điều khiển
- 674 ĐÁNH GIÁ HIỆU SUẤT CÁC PHÂN LOẠI MÁY HỌC CHO BÀI TOÁN ĐỊNH VỊ XE Hình 5. Mặt dưới của xe điều khiển Cuối cùng, mô hình khối nguyên mẫu của một chiếc xe điều khiển từ xa được tạo ra như Hình 4 và Hình 5. V. KẾT QUẢ THỰC NGHIỆM Trước tiên, nhóm thiết kế giao diện phần mềm để thu thập chỉ số chất lượng đường truyền (LQI) và theo dõi xe, (Hình 6), cho bốn nút được bố trí trong phòng diện tích 3 m 3 m (Hình 7). Kế tiếp, khoảng cách vị trí xe được tính theo phương trình (5) và (6). Hình 6. Quỹ đạo xe và giá trị chỉ số đường truyền Nhóm sắp xếp hệ thống các nút cảm biến theo dạng hình chữ nhật để mô phỏng môi trường làm việc trong phòng, khoảng cách từ nút chủ đến điều phối là một mét trong 30 giây. Hình 7. Cách bố trí các Zigbee trong phòng
- Văn Khánh Hưng, Huỳnh Khả Tú, Nguyễn Quang Phú, Nguyễn Văn Sinh, Lý Tú Nga 675 Thiết lập các thông số thuật toán Nhóm thực hiện tất cả các phân loại máy học trong nghiên cứu với các giá trị tham số mặc định được sử dụng từ tài liệu Weka. Trong đó, nhóm chỉ thử các thuật toán cơ bản được đề cập trong Bảng 1 và Bảng 2, các tham số mặc định này có thể được tìm thấy trong tài liệu Weka [9]. Dữ liệu cấu trúc mạng của hệ thống được thiết kế gồm 4 thuộc tính: thời gian, tọa độ x và y và lớp (Class). Tổng số thể hiện là 96. Nhóm thiết lập mặc định số batchsize là 100 cho tất cả các phân loại máy học và tỷ lệ phần trăm phân chia dữ liệu là 70. Trong thuật toán tìm kiếm Logistic được thiết lập theo mặc định mô hình hồi quy Logistic đa phương thức với bộ ước Ridge. Thuật toán tìm kiếm tuyến tính được đặt thiết lập theo mặc định với hệ số kNN=1. Với thuật toán IBK Randomizabler Filter Calssifier được thiết lập theo bộ lọc IBK nêu trên và mặc định thông số RandomProjection. Thuật toán PART, thông số minnumObj được chọn là 2. Đối với thuật toán Random Forest, số lần lặp được chọn là 10 và độ sâu của cây không giới hạn. Nhóm đánh giá trường hợp kết quả xác thực chéo 10 lần (cross-validation) và dữ liệu phân tách 70 % (được cho trong dấu ngoặc đơn), với dữ liệu trung bình 4 lần chạy. Trước tiên, nhóm so sánh hiệu suất định vị về độ chính xác và sai số khoảng cách trung bình được tính bằng cách tính tổng tất cả các lỗi định vị, xem Bảng 1. Và đánh giá trung bình tỷ lệ chính xác và tỷ lệ tái hiện được cho Bảng 2. Bảng 1. Độ chính xác trung bình và lỗi định vị trong 4 lần Thuật toán Độ chính xác Lỗi % Phương sai (σ) [m] Phương sai (σ) Logistic 80,46 0,4546 0,1237 0,0037 (83,61) (6,1696) (0,1134) (0,0239) IBK 84,11 0,8620 0,0922 0,0040 (85,34) (1,4911) (0,2833) (0,3324) Randomizable Filter Classifier 83,59 1,3533 0,0949 0,0064 (85,34) (1,4928) (0,0902) (0,0070) PART 80,46 2,0 0,1101 0,0074 (81,03) (1,724) (0,1106) (0,0044) Random Forest 83,59 1,3533 0,1086 0,0014 (81,03) (1,724) (0,1178) (0,0102) Bảng 1 đánh giá về độ chính xác và lỗi trong 4 lần chạy. Khẳng định hiệu suất độ chính xác và lỗi của thuật toán Randomizable Filter Classifier là tốt nhất so với các thuật toán khác. Tỷ lệ chính xác và tỷ lệ tái hiện của thuật toán Randomizable Filter Classifier là tốt nhất so với các thuật toán khác, xem Bảng 2 (trang kế tiếp). Bảng 2. Tỷ lệ chính xác và tỷ lệ tái hiện trong 4 lần Thuật toán Tỷ lệ chính xác [%] Tỷ lệ tái hiện [%] Logistic 80,32 80,47 (84,65) (83,65) IBK 84,17 84,1 (86,47) (85,35) Randomizable Filter Classifier 83,85 83,6 (87,67) (85,35) PART 80,62 80,5 (82,75) (81,05) Random Forest 83,52 83,6 (81,75) (81,05) VI. KẾT LUẬN Nhóm đề xuất phương pháp điều khiển thiết bị thông qua hệ thống Zigbee và định vị thiết bị với các nút và điều phối theo tiêu chuẩn Zigbee. Bên cạnh đó, áp dụng phần mềm Weka đánh giá hiệu suất của các thuật toán theo phân loại máy học như độ chính xác định vị, lỗi khoảng cách trung bình, tỷ lệ chính xác và tỷ lệ tái hiện. Hệ thống này sẽ được mở rộng và áp dụng khi tăng số phòng hoặc áp dụng trên ứng dụng điện thoại điều khiển xe. Trong tương lai, nhóm sẽ áp dụng bộ lọc đa phần tử kết hợp với các thuật toán tối ưu để cải thiện độ chính xác lỗi. TÀI LIỆU THAM KHẢO [1] Gutierrez Pascual, M. D., “Indoor Location Systems Based on Zigbee Networks”, Bachelor’s Thesis Information Technology, 2012. [2] Ash, J. and L. Potter, “Sensor network localization via received signal strength measurements with directional antennas”, In Proceedings of the 2004 Allerton Conference on Communication, Control, and Computing, pp. 1861-1870, 2004. [3] Rouse, M., MQTT (MQ Telemetry Transport), retrieved 17 January, 2020, from 2015.
- 676 ĐÁNH GIÁ HIỆU SUẤT CÁC PHÂN LOẠI MÁY HỌC CHO BÀI TOÁN ĐỊNH VỊ XE [4] Upton, E., Raspberry Pi 3 Model B+ on sale now at $35, retrieved September 15th, 2019, from 2018. [5] Kanters, K., Zigbee2mqtt, retrieved September 15th, 2019, from 2012. [6] Tariq, O. B., Lazarescu, M. T., Iqbal, J., & Lavagno, L., “Performance of machine learning classifiers for indoor person localization with capacitive sensors”, Ieee Access, Vol.5, pp.12913-12926, 2017. [7] Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., & Witten, I. H., “The WEKA data mining software: an update”, ACM SIGKDD explorations newsletter, Vol.11, No.1, pp.10-18, 2009. [8] Sugano, M., Kawazoe, T., Ohta, Y., & Murata, M., “Indoor Localization System using RSSI Measurement of Wireless Sensor Network based on ZigBee Standard”, Wireless and Optical Communications, Vol. 538, pp.1-6, 2006. [9] Witten, I. H., Frank, E., & Mark, A. Hall, and Christopher J Pal, “Data Mining: Practical machine learning tools and techniques”, Acm Sigmod Record, Vol.31, No.1, pp.76-77, 2016. [10] Ly-Tu, N., Vo-Phu, Q., & Le-Tien, T., “Using Support Vector Machine to Monitor Behavior of an Object Based WSN System”, In Proceedings of the International Conference on Computer Science, Applied Mathematics and Applications, Springer, pp.174-185, 2019. APPLIED WEKA TO EVALUATE THE PERFORMANCE OF MACHINE LEARNING CLASSIFIERS FOR INDOOR CAR LOCALIZATION Van Khanh Hung, Huynh Kha Tu, Nguyen Quang Phu, Nguyen Van Sinh, Ly Tu Nga ABSTRACT: Indoor-Location-Systems (ILS) is a significant examination branch in R&D (Research-and-Development) area. It had an extreme significance after the existence of Global Positioning System (GPS) that permits outdoor location including an exact accuracy. Nevertheless, GPS is not usable in structures where humans live, since no clear line-of-sight between antenna and spacecraft, the signal-data is distorted by absorption, interference and diffraction. Accurate car localization is important for several applications, such as assisted living and health monitoring. Machine learning (ML) classifiers can effectively mitigate sensor data variability and noise due to deployment-specific environmental conditions. Therefore, we design and implement ILS to manipulate Zigbee devices with a computer based on RSSI (Received Signal Strength Indicator) values for collected the coordinator x and y location based on our mess topology with our designed GUI. Here, the car is played a role in the master device because it is movable easily to check the location and response between slaves and the master. In this paper, we use our experimental data collected from our proposal system in a 3 m × 3 m room to comparatively analyze the performance of Weka collection ML classifiers. We compare the localization accuracy, precision, and recall. Our experiments show that the best algorithm is about 85.4 % and 0.087 m average localization error with 96 instances.