BỘ GIÁO DỤC VIỆN HÀN LÂM VÀ ĐÀO TẠO KHOA HỌC VÀ CÔNG NGHỆ VN HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ NGUYỄN VIỆT ANH Nguyễn Việt Anh HỆ THỐNG THÔNG TIN NGHIÊN CỨU VÀ THỬ NGHIỆM PHẦN MỀM PHÂN LOẠI HÀNH VI BÒ SỬ DỤNG THUẬT TOÁN CÂY QUYẾT ĐỊNH LUẬN VĂN THẠC SĨ Hệ thống thông tin 2021 Hà Nội - 2021 Luan van BỘ GIÁO DỤC VIỆN HÀN LÂM VÀ ĐÀO TẠO KHOA HỌC VÀ CÔNG NGHỆ VN HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ Nguyễn Việt Anh NGHIÊN CỨU VÀ THỬ NGHIỆM PHẦN MỀM PHÂN LOẠI HÀNH VI BÒ SỬ DỤNG THUẬT TOÁN CÂY QUYẾT ĐỊNH Chuyên ngành: Hệ thống thông tin Mã số: ITT801 LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH CÁN BỘ HƯỚNG DẪN KHOA HỌC TS. TRẦN ĐỨC NGHĨA Hà Nội – tháng 7 năm 2021 Luan van 1 LỜI CAM ĐOAN Tôi xin cam đoan đề tài nghiên cứu trong luận văn này là công trình nghiên cứu của tôi dựa trên những tài liệu, số liệu do chính tôi tự tìm hiểu và nghiên cứu. Chính vì vậy, các kết quả nghiên cứu đảm bảo trung thực và khách quan nhất. Đồng thời, kết quả này chưa từng xuất hiện trong bất cứ một nghiên cứu nào.
Các số liệu, kết quả nêu trong luận văn là trung thực nếu sai tôi hoàn chịu trách nhiệm. Tác giả luận văn Nguyễn Việt Anh Luan van 2 LỜI CẢM ƠN Để hoàn thành luận văn này, tôi xin gửi lời cảm ơn chân thành và tình cảm đặc biệt tới ngƣời thầy đồng thời cũng là đồng nghiệp cùng nơi công tác của tôi là TS. Trần Đức Nghĩa. Thầy là ngƣời đã luôn theo sát, tận tình chỉ bảo, góp ý, hƣớng dẫn và định hƣớng cho tôi trong suốt quá trình làm luận văn này tại Học Viện Khoa học và Công nghệ, Viện Hàn lâm Khoa học và Công nghệ Việt Nam.
Nghiên cứu này đƣợc thực hiện trong khuôn khổ đề tài mã số KC.21/16-20 tài trợ bởi Bộ Khoa học và Công nghệ. Tiếp theo, tôi cũng xin gửi lời cảm ơn sâu sắc tới các thầy cô, các bạn trong Học Viện Khoa học và Công nghệ; các anh chị đồng nghiệp tại Viện Công nghệ Thông tin đã luôn sẵn sàng giúp đỡ tạo điều kiện tốt nhất cho tôi trong quá trình làm luận văn. Tôi cũng xin cảm ơn sự hỗ trợ của nhóm nghiên cứu tiềm năng Cảm nhận thông minh và ứng dụng (SSA), Trƣờng đại học Phenikaa. Mặc dù có nhiều cố gắng, song thời gian thực hiện luận văn có hạn, nên luận văn còn nhiều hạn chế.
Tôi rất mong nhận đƣợc nhiều sự góp ý, chỉ bảo của các thầy, cô để hoàn thiện hơn luận văn của mình. Tôi xin chân thành cảm ơn! Hà Nội, ngày 12 tháng 7 năm 2021 Học viên Nguyễn Việt Anh Luan van 3 MỤC LỤC LỜI CAM ĐOAN. 3 DANH MỤC HÌNH VẼ. 5 DANH MỤC BẢNG BIỂU.
6 DANH MỤC VIẾT TẮT. 7 CHƢƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU. Yêu cầu thực tiễn. Mục tiêu của luận văn.
Cấu trúc của luận văn. 9 CHƢƠNG 2: CƠ SỞ LÝ THUYẾT. Các nghiên cứu liên quan. Giới thiệu về học máy.
Các thuật toán phân loại phổ biến. Support Vector Machines. Gradient Boosted Decision Tree. Ngôn ngữ lập trình Python.
Đặc điểm chung và thế mạnh. Thƣ viện scikit-learn cho học máy. 18 CHƢƠNG 3: PHƢƠNG PHÁP ĐÁNH GIÁ VÀ KẾT QUẢ. Quy trình đề xuất.
Gia tốc kế 3 trục và phần cứng cảm biến. Lấy mẫu dữ liệu và tiền xử lý. Kết quả đánh giá. 29 Luan van 4 CHƢƠNG 4: XÂY DỰNG CHƢƠNG TRÌNH THỬ NGHIỆM QUẢN LÝ VÀ PHÂN LOẠI DỮ LIỆU HÀNH VI.
Nhu cầu và mục tiêu. Yêu cầu kỹ thuật. Giải pháp và phân tích lựa chọn. Kiến trúc vật lý của hệ thống.
Ngôn ngữ Python và nền tảng phát triển. Giải pháp quản trị cơ sở dữ liệu Posgresql. Mô hình MVC xây dựng phần mềm thử nghiệm. Xử lý các tác vụ chạy nền với Celery và Redis.
Kiến trúc logic tổng thể của phần mềm thử nghiệm. Thiết kế chức năng hệ thống. Quản trị ngƣời sử dụng. Quản lý thông tin trang trại.
Quản lý thông tin bò sữa. Quản lý thông tin dữ liệu huấn luyện và mô hình. Quản lý dữ liệu suy luận và kế quả phân loại. Giao diện và chức năng sử dụng cơ bản.
Quản lý ngƣời dùng. Quản lý thông tin trang trại. Quản lý cá thể bò sữa và dữ liệu. Quản lý dữ liệu huấn luyện và mô hình huấn luyện.
Quản lý dữ liệu suy luận và kết quả phân loại. Thống kê kết quả. 52 CHƢƠNG 5: KẾT LUẬN. 53 TÀI LIỆU THAM KHẢO.
54 Luan van 5 DANH MỤC HÌNH VẼ Hình 2-1: Mô hình thuật toán k-NN. 12 Hình 2-2: Mô hình thuật toán SVM. 13 Hình 2-3: Mô hình thuật toán cây quyết định. 14 Hình 2-4: Mô hình thuật toán Random Forest.
16 Hình 3-1: Mô hình thuật toán học máy để phân loại hành vi. 19 Hình 4-1: Kiến trúc vật lý của hệ thống. 33 Hình 4-2: Mô hình MVC. 35 Hình 4-3: Hàng đợi tác vụ xử lý không đồng bộ.
37 Hình 4-4: Nguyên lý hoạt động của Celery và Redis trong nền tảng Django. 37 Hình 4-5: Kiến trúc logic tổng thể của phần mềm thử nghiệm. 38 Hình 4-6: Sơ đồ usecase của nhóm chức năng quản trị ngƣời dùng. 39 Hình 4-7: Sơ đồ usecase nhóm chức năng quản lý trang trại.
41 Hình 4-8: Sơ đồ usecase quản lý thông tin bò sữa. 42 Hình 4-9: Sơ đồ usecase nhóm chức năng quản lý dữ liệu huấn luyện. 44 Hình 4-10: Sơ đồ usecase nhóm chức năng quản lý dữ liệu suy luận. 45 Hình 4-11: Danh sách ngƣời dùng.
46 Hình 4-12: Chức năng liệt kê trang trại. 47 Hình 4-13: Chức năng thêm, sửa, xóa trang trại. 47 Hình 4-14: Chức năng liệt kê danh sách cá thể bò sữa. 48 Hình 4-15: Chức năng thêm, sửa, xóa cá thể bò sữa.
48 Hình 4-16: Huấn luyện mô hình cho cá thể bò sữa. 49 Hình 4-17: Danh sách các tập dữ liệu huấn luyện. 49 Hình 4-18: Lịch sử kết quả tác vụ huấn luyện mô hình phân loại. 50 Hình 4-19: Danh sách tập dữ liệu phân loại đƣợc tải lên thủ công.
50 Hình 4-20: Tải lên dữ liệu mới phục vụ phân loại hành vi. 51 Hình 4-21: Kết quả suy luận từ dữ liệu tải lên. 51 Hình 4-22: Thống kê hành vi của một cá thể bò sữa trong 7 ngày gần nhất. 52 Luan van 6 DANH MỤC BẢNG BIỂU ảng 3-1: Ví dụ một bản ghi sau khi chia đoạn.
23 ảng 3-2: Số lƣợng dữ liệu thu đƣợc mỗi hành vi. 24 ảng 3-3: Các phƣơng pháp trích chọn đặc trƣng. 25 ảng 3-4: So sánh độ chỉ rõ chung của 4 mô hình phân loại. 27 ảng 3-5: Ma trận nhầm lẫn của thuật toán G DT đối với từng hành vi cụ thể trên bộ dữ liệu J.
28 ảng 3-6: Ma trận nhầm lẫn của thuật toán G DT đối với từng hành vi cụ thể trên bộ dữ liệu tự thu thập. 28 ảng 3-7: Hiệu suất tổng thể của mô hình G DT đối với các hành vi đối với bộ dữ liệu của Jun Wang. 29 ảng 3-8: Hiệu suất tổng thể của mô hình G DT đối với các hành vi đối với bộ dữ liệu của tự thu thập. 29 ảng 4-1: Mô tả các thành phần chính trong thiết kế chƣơng trình thử nghiệm.
38 Luan van 7 DANH MỤC VIẾT TẮT GDBT Gradient Boosted Decision Tree k-NN K-Nearest Neighbors SVM Support Vector Machine RF Random Forest MVC Model – View – Controller CSDL Cơ sở dữ liệu DBMS Database Management System API Application Programming Interface Luan van 8 CHƢƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU 1. Yêu cầu thực tiễn Trong chăn nuôi ngày nay, vấn đề sức khoẻ của gia súc có liên quan trực tiếp đến sản lƣợng. Đối với đàn bò sữa, để duy trì sức khỏe và sản lƣợng sữa chất lƣợng cao và chức năng sinh sản, ngƣời chăn nuôi phải đảm bảo các điều kiện tốt nhất [1]. Một trong những biểu hiện dễ nhận thấy nhất về sức khoẻ gia súc là các biểu hiện và hành vi của chúng.
Hành vi là một yếu tố quan trọng để đánh giá sức khoẻ và tình trạng sức khoẻ của bò sữa [2]. Gia súc thay đổi hành vi của chúng để đối phó với các yếu tố nhƣ chấn thƣơng, bệnh dịch hoặc những thay đổi về môi trƣờng và xã hội [3]. Việc đánh giá hành vi chủ yếu thông qua kinh nghiệm của ngƣời chăn nuôi, nhƣng khó phát hiện một cách tập trung và trực quan, đặc biệt là ở những đàn gia súc lớn do thiếu thời gian và lao động [4]. Một phƣơng pháp chính xác, nhanh chóng và chi phí thấp để theo dõi các mô hình hành vi nhƣ một biện pháp hỗ trợ trong việc đánh giá sức khỏe và phúc lợi của bò sẽ có lợi.
Sử dụng cảm biến đeo trên cơ thể cung cấp một giải pháp khả thi cho vấn đề này, cho phép theo dõi hành vi đàn gia súc đo lƣờng ở quy mô lớn, tuy nhiên điều này chỉ có thể thành công nếu đầu ra cảm biến có thể đƣợc diễn giải chính xác và theo thời gian thực. Theo dõi hành vi của gia súc bằng cách sử dụng cảm biến đang trở thành một giải pháp phổ biến trong các chƣơng trình quản lý trang trại và chọn lọc di truyền [4]. Cách tiếp cận này tập trung nhiều hơn vào sức khoẻ và hiệu suất của từng cá thể hơn là cách tiếp cận dựa trên bầy đàn truyền thống. Tuy nhiên, việc thu thập và giải thích dữ liệu thu đƣợc từ các cảm biến nhằm mô tả loại hành vi của cá thể vẫn mang lại thách thức nghiêm trọng cho các nhà phát triển.
ài toán này liên quan đến độ phức tạp của hành vi (tức là một số hành vi có chứa các cử chỉ tƣơng tự), đến việc trích xuất các tính năng liên quan cho phép phân biệt hành vi, việc mất mát dữ liệu đặc trƣng cho cảm biến phát không dây, việc xử lý dữ liệu để đối phó với nhiễu vốn có trong các phép đo đã thu thập [5]. Mục tiêu của luận văn Nghiên cứu này bắt đầu với hy vọng nâng cao độ chính xác trong việc nhận diện hành vi bằng cách đƣa vào thống kê dữ liệu cảm biến gia tốc.