Đăng ký Đăng nhập
Trang chủ Nghiên cứu phát triển công cụ phân tích dữ liệu nông nghiệp dùng cho làng thông ...

Tài liệu Nghiên cứu phát triển công cụ phân tích dữ liệu nông nghiệp dùng cho làng thông minh

.PDF
105
1
78

Mô tả:

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU PHÁT TRIỂN CÔNG CỤ PHÂN TÍCH DỮ LIỆU NÔNG NGHIỆP DÙNG CHO LÀNG THÔNG MINH Ngành: Khoa học Máy tính HỘI ĐỒNG: Khoa học Máy tính 10 GVHD: PGS.TS Thoại Nam GVPB: ThS. Nguyễn Cao Đạt —o0o— SVTH: Nguyễn Văn Hoài Linh (1710169) TP. HỒ CHÍ MINH, THÁNG 08/2021 ĈҤ,+Ӑ&48Ӕ&*,$73+&0 ---------75ѬӠ1*ĈҤ,+Ӑ&%È&+.+2$ KHOA:KH & KT Máy tính ____ %Ӝ0Ð1KHMT ____________ &Ӝ1*+Ñ$;­+Ӝ,&+Ӫ1*+Ƭ$9,ӊ71$0 ĈӝFOұS- 7ӵGR- +ҥQKSK~F 1+,ӊ09Ө/8Ұ1È17Ӕ71*+,ӊ3 &K~ê6LQKYLrQSK̫LGiQWͥQj\YjRWUDQJQK̭WFͯDE̫QWKX\͇WWUình +Ӑ9¬7Ç1 1*8<ӈ19Ă1+2¬,/,1+ _____________ MSSV: 1710169 NGÀNH: .+2$+Ӑ&0È<7Ë1+ _____________ /Ӟ3______________________ ĈҫXÿӅOXұQiQ 1JKLrQFӭXSKiWWULӇQF{QJFөSKkQWtFKGӳOLӋXQ{QJQJKLӋSGQJFKROjQJWK{QJPLQK 1KLӋPYө \rXFҫXYӅQӝLGXQJYjVӕOLӋXEDQÿҫX  x 7uPKLӇXJLҧLSKiSSKkQWtFKGӳOLӋXӭQJGөQJWURQJQ{QJQJKLӋS x 1JKLrQFӭXÿӅ[XҩWPӝWP{-ÿXQ)X]]\ORJLFSKkQWtFKGӳOLӋXWURQJQ{QJQJKLӋSWtFK KӧSYjR6SDUN x 3KiWWULӇQPӝWӭQJGөQJWKӱQJKLӋPYӅWѭӟLWLrXWLӃWNLӋPQѭӟFWKHR NӏFKEҧQӭQJGөQJ Fuzzy logic trong Spark; x +LӋQWKӵFYjÿiQKJLiSKkQWtFKNӃWTXҧWKӱQJKLӋP. 1Jj\JLDRQKLӋPYөOXұQiQ 01/2021 1Jj\KRjQWKjQKQKLӋPYө 07/2021 +ӑWrQJLҧQJYLrQKѭӟQJGүQ 3KҫQKѭӟQJGүQ 1) 7KRҥL1DP 7RjQEӝOXұQYăQ ___________________ 1ӝL GXQJYj\rXFҫX/971ÿmÿѭӧFWK{QJTXD%ӝP{Q 1Jj\WKiQJQăP &+Ӫ1+,ӊ0%Ӝ0Ð1 *,Ҧ1*9,Ç1+ѬӞ1*'Ү1&+Ë1+ .êYjJKLU}K͕WrQ .êYjJKLU}K͕WrQ 3+̮1'¬1+&+2.+2$%͠0Ð1 1JѭӡLGX\ӋW FKҩPVѫEӝ ________________________ ĈѫQYӏ _______________________________________ 1Jj\EҧRYӋ __________________________________ ĈLӇPWәQJNӃW _________________________________ 1ѫLOѭXWUӳOXұQiQ _____________________________ TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KH & KT MÁY TÍNH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc ---------------------------Ngày 9 tháng 8 năm 2021 PHIẾU CHẤM BẢO VỆ LVTN (Dành cho người hướng dẫn) 1. Họ và tên SV: Nguyễn Văn Hoài Linh MSSV: 1710169 Ngành: KHMT 2. Đề tài: Nghiên cứu phát triển công cụ phân tích dữ liệu nông nghiệp dùng cho làng thông minh. 3. Họ tên người hướng dẫn: PGS. TS. Thoại Nam. 4. Tổng quát về bản thuyết minh: Số trang: Số chương: Số bảng số liệu Số hình vẽ: Số tài liệu tham khảo: Phần mềm tính toán: Hiện vật (sản phẩm) 5. Tổng quát về các bản vẽ: - Số bản vẽ: Bản A1: Bản A2: Khổ khác: - Số bản vẽ vẽ tay Số bản vẽ trên máy tính: 6. Những ưu điểm chính của LVTN: - Giải pháp phân tích dữ liệu ứng dụng trong nông nghiệp được thực hiện tốt; - Sinh viên cho thấy khả năng nắm bắt công nghệ tốt thông qua việc làm chủ công công cụ Spark và các công cụ hỗ trợ khác; - Mô-đun Fuzzy logic phân tích dữ liệu được phát triển và tích hợp vào Spark với hai phiên bản trên một nút và trên nhiều nút; - Giải pháp ứng dụng Fuzzy logic trong tưới tiêu thông minh được tham khảo và cấu hình thành công trong mô-đun Fuzzy logic trong Spark; - Một ứng dụng thử nghiệm về tưới tiêu tiết kiệm nước thoe kịch bản ứng dụng Fuzzy logic trong Spark được xây dựng và đánh giá với kết quả khả quan; - Kết quả của luận văn có tính học thuật và ứng dụng cao trong việc phát triển các giải pháp phân tích dữ liệu ứng dụng trong nông nghiệp. 7. Những thiếu sót chính của LVTN: - Việc đánh giá toàn diện giải pháp chưa được thực hiện trong luận văn do thời gian có giới hạn. Top of Form 8. Đề nghị: Được bảo vệ Bổ sung thêm để bảo vệ  Không được bảo vệ  Bottom of Form 9. 3 câu hỏi SV phải trả lời trước Hội đồng: 10. Đánh giá chung (bằng chữ: giỏi, khá, TB): giỏi Điểm : 9.5/10 Ký tên Thoại Nam TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KH & KT MÁY TÍNH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc ---------------------------Ngày 10 tháng 08 năm 2021 PHIẾU CHẤM BẢO VỆ LVTN (Dành cho người hướng dẫn/phản biện) 1. Họ và tên SV: NGUYỄN VĂN HOÀI LINH MSSV: 1710169 Ngành (chuyên ngành): KHMT 2. Đề tài: Nghiên cứu phát triển công cụ phân tích dữ liệu nông nghiệp dùng cho smart village. 3. Họ tên người hướng dẫn/phản biện: NGUYỄN CAO ĐẠT 4. Tổng quát về bản thuyết minh: Số trang: 90 Số chương: 6 Số bảng số liệu: Số hình vẽ: Số tài liệu tham khảo: Phần mềm tính toán: Hiện vật (sản phẩm): Công cụ phân tích dữ liệu nông nghiệp. 5. Tổng quát về các bản vẽ: - Số bản vẽ: Bản A1: - Số bản vẽ vẽ tay Bản A2: Khổ khác: Số bản vẽ trên máy tính: 6. Những ưu điểm chính của LVTN:  Sinh viên hiểu rõ bài toán, mục tiêu và đề xuất được phạm vi thực hiện thích hợp.  Sinh viên đã tìm hiểu cơ sở lý thuyết và các công trình liên quan đến để tài, biện luận hợp lý việc lựa chọn Spark framework để phát triển công cụ phân tích dữ liệu nông nghiệp.  Sinh viên đã hiện thực thuật toán Fuzzy Logic trên Spark, có thực hiện mô phỏng. đánh giá thuật toán đã hiện thực. 7. Những thiếu sót chính của LVTN: - Việc lựa chọn hiện thực thuật toán Fuzzy Logic chưa được thuyết phục. - Việc thực hiện đánh giá thuật chưa phản ánh đầy đủ các yêu cầu đặt ra của công cụ. - Tài liệu tham khảo trong luận văn tốt nghiệp chưa được đánh số. Sinh viên cần hiệu chỉnh trước khi nộp thư viện. 8. Đề nghị: Được bảo vệ  Bổ sung thêm để bảo vệ  Không được bảo vệ  9. 3 câu hỏi SV phải trả lời trước Hội đồng: a. Hãy cho biết lý do vì sao lựa chọn hiện thực thuật toán Fuzzy Logic mà không đi sâu phát triển Neural Network hay SVM trên Spark framework. b. Hãy cho biết ưu điểm của Fuzzy Logic so với Neural Network, SVM trên bài toán tưới tiêu trong nông nghiệp. c. Hãy trình bày hướng phát triển đề tài. 10. Đánh giá chung (bằng chữ: giỏi, khá, TB): Giỏi Điểm : 9.0/10 Ký tên (ghi rõ họ tên) Nguyễn Cao Đạt v Lời cam đoan Tôi xin cam đoan đề tài “Nghiên cứu phát triển công cụ phân tích dữ liệu nông nghiệp dùng cho làng thông minh” là đề tài nghiên cứu cá nhân của tôi. Tôi xin hoàn toàn chịu trách nhiệm về tính trung thực của các nội dung trong đề tài của mình. Chữ ký: Ngày: vi Lời cảm ơn Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành đến PGS.TS.Thoại Nam đã cung cấp những ý tưởng về đề tài, hướng dẫn nghiên cứu tài liệu. Thầy đã tận tình hướng dẫn tôi trong suốt quá trình học tập và nghiên cứu để hoàn thành luận văn tốt nghiệp. Tôi xin cảm ơn thầy Hùng, anh Thìn, anh Thanh, anh Lộc trong phòng thí nghiệm tính toán hiệu năng cao – HPC lab đã tạo điều kiện về cơ sở vật chất cũng như cố vấn cho tôi rất nhiều trong suốt hai hai học kì vừa qua. Cùng với đó, tôi cũng xin gửi lời cảm ơn đến Thạch - sinh viên nghiên cứu của thầy Hùng đã cộng tác và giúp đỡ tôi về phần kiến trúc ThingsBoard, từ đó ứng dụng của tôi đã chạy hoàn chỉnh hơn. Dù đã rất cố gắng đề hoàn thành luận văn, tuy nhiên nội dung không tránh khỏi những thiếu sót. Tôi rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của quý thầy cô và các bạn. vii Tóm tắt nội dung Nông nghiệp là một ngành quan trọng đối với hầu hết các quốc gia, là nguồn cung cấp thực phẩm chính cho dân số thế giới. Tuy nhiên, ngành nông nghiệp phải đối mặt với một thách thức lớn: sản lượng làm ra phải nhiều hơn và chất lượng ngày càng phải tốt hơn, đồng thời quan tâm đến việc sử dụng tài nguyên thiên nhiên một cách hợp lý, giảm suy thoái môi trường, thích ứng với biến đổi khí hậu. Do đó, việc chuyển đổi từ phương thức nông nghiệp truyền thống sang nông nghiệp hiện đại là vô cùng quan trọng. Nông nghiệp thông minh là một trong những giải pháp để giải quyết nhu cầu lương thực ngày càng tăng đồng thời đáp ứng các yêu cầu bền vững. Mục tiêu chính của luận văn này là đề xuất và hiện thực một công cụ chuyên phân tích và xử lý dữ liệu nông nghiệp. Công cụ này sẽ kế thừa những ưu điểm vượt trội của Spark - một framework xử lý dữ liệu nổi tiếng, được sử dụng nhiều trên thế giới. Cùng với đó sẽ tích hợp thêm nhiều giải thuật được sử dụng phổ biến trong các bài toán nông nghiệp. Trong phạm vi của luận văn, tôi sẽ hiện thực thêm giải thuật Fuzzy Logic vào công cụ và áp dụng thử nghiệm giải thuật vào bài toán tưới tiêu trong nông nghiệp. viii Mục lục Lời cam đoan v Lời cảm ơn vi Tóm tắt nội dung vii 1 Giới thiệu chung 1 2 Khảo sát về giải thuật khai phá dữ liệu sử dụng trong nông nghiệp 2.1 Các kỹ thuật khai phá dữ liệu . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Phân lớp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Phân cụm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Khai phá luật kết hợp . . . . . . . . . . . . . . . . . . . . . . . 2.1.4 Dự đoán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.5 Khai phá dữ liệu kết hợp với các kĩ thuật khác . . . . . . . . . 2.2 Một số ứng dụng sử dụng các kĩ thuật khai phá dữ liệu trong nông nghiệp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Kết luận chung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 5 5 6 6 13 Khảo sát và lựa chọn framework xử lý dữ liệu 3.1 Đặc điểm dữ liệu nông nghiệp . . . . . . . . . . . . . . . . 3.2 Khảo sát và lựa chọn framework xử lý dữ liệu . . . . . . . . 3.2.1 Khả năng tính toán phân tán . . . . . . . . . . . . . 3.2.2 Khả năng xử lý dữ liệu Batch . . . . . . . . . . . . . 3.2.3 Khả năng xử lý dữ liệu Stream . . . . . . . . . . . . 3.2.4 Khả năng tích hợp với các framework big data khác 3.2.5 Cập nhật và sự phổ biến trong cộng đồng sử dụng 3.2.6 Kết luận chung . . . . . . . . . . . . . . . . . . . . . 3.3 Giới thiệu về Apache Spark . . . . . . . . . . . . . . . . . . 3.3.1 Vị trí của Spark trong hệ sinh thái Big data . . . . . 3.3.2 Các thành phần chính của Spark . . . . . . . . . . . 14 14 15 17 17 18 20 22 22 23 24 24 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix 3.3.3 3.3.4 3.3.5 4 Cấu trúc dữ liệu RDD . . . . . . . . . . . . . . . . . . . . . . . Spark Application . . . . . . . . . . . . . . . . . . . . . . . . . Ngôn ngữ lập trình sử dụng trong Spark . . . . . . . . . . . . Xây dựng công cụ phân tích dữ liệu nông nghiệp 4.1 Đặt vấn đề . . . . . . . . . . . . . . . . . . . . . 4.2 Giới thiệu giải thuật Fuzzy Logic . . . . . . . . 4.2.1 Các khái niệm cơ bản của Fuzzy Logic . Fuzzy Sets . . . . . . . . . . . . . . . . . Membership Functions . . . . . . . . . . Các phép toán Logic trong Fuzzy Logic Luật If-Then . . . . . . . . . . . . . . . . 4.2.2 Fuzzy Inference System . . . . . . . . . Fuzzification . . . . . . . . . . . . . . . Apply Fuzzy Operator . . . . . . . . . . Implication . . . . . . . . . . . . . . . . Aggregation . . . . . . . . . . . . . . . . Defuzzification . . . . . . . . . . . . . . Fuzzy Inference Diagram . . . . . . . . 4.3 Hiện thực giải thuật Fuzzy Logic vào Spark . . 4.3.1 Class Diagram . . . . . . . . . . . . . . . 4.3.2 Đặc tả chi tiết . . . . . . . . . . . . . . . variable . . . . . . . . . . . . . . . . . . exprIf . . . . . . . . . . . . . . . . . . . . exprThen . . . . . . . . . . . . . . . . . . AndMethod . . . . . . . . . . . . . . . . OrMethod . . . . . . . . . . . . . . . . . Aggregation . . . . . . . . . . . . . . . . Defuzzification . . . . . . . . . . . . . . FIS_Mamdani . . . . . . . . . . . . . . . membershipFunc . . . . . . . . . . . . . trimf . . . . . . . . . . . . . . . . . . . . trapmf . . . . . . . . . . . . . . . . . . . gbellmf . . . . . . . . . . . . . . . . . . . gaussmf . . . . . . . . . . . . . . . . . . zmf . . . . . . . . . . . . . . . . . . . . . smf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 26 28 29 29 30 31 31 32 33 34 35 36 36 37 38 38 39 41 42 43 43 44 45 45 45 45 46 47 48 48 50 51 52 53 54 x 4.4 5 6 sigmf . . . . . . . . . . . . . . . . . . . . . . . pimf . . . . . . . . . . . . . . . . . . . . . . . 4.3.3 Lập trình thử nghiệm giải thuật Fuzzy Logic 4.3.4 Phân tích độ phức tạp của giải thuật . . . . . Nâng cấp giải thuật Fuzzy Logic . . . . . . . . . . . 4.4.1 Đặt vấn đề . . . . . . . . . . . . . . . . . . . . 4.4.2 So sánh hiệu năng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Áp dụng Fuzzy Logic vào vấn đề tưới tiêu trong nông nghiệp 5.1 Đặt vấn đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Kiến trúc hệ thống tưới tiêu . . . . . . . . . . . . . . . . . . 5.3 Hiện thực hệ thống . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Cảm biến . . . . . . . . . . . . . . . . . . . . . . . . . Cảm biến ánh sáng . . . . . . . . . . . . . . . . . . . Cảm biến nhiệt độ . . . . . . . . . . . . . . . . . . . Cảm biến độ ẩm đất . . . . . . . . . . . . . . . . . . 5.3.2 Cài đặt Server Spark và Hadoop . . . . . . . . . . . 5.3.3 Thu thập và lưu trữ dữ liệu . . . . . . . . . . . . . . 5.3.4 Phân tích dữ liệu và ra quyết định . . . . . . . . . . 5.3.5 Thiết kế giải thuật Fuzzy Logic . . . . . . . . . . . . Input . . . . . . . . . . . . . . . . . . . . . . . . . . . Output . . . . . . . . . . . . . . . . . . . . . . . . . . Luật . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.6 Hiện thực chương trình . . . . . . . . . . . . . . . . 5.4 Đánh giá kết quả . . . . . . . . . . . . . . . . . . . . . . . . Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 56 57 60 62 62 64 . . . . . . . . . . . . . . . . 65 65 66 67 67 67 68 69 70 72 75 77 77 79 80 80 85 88 xi Danh sách thuật ngữ framework một bộ thư viện hoàn chỉnh giúp đơn giản hoá quá trình xây dựng và triển khai các ứng dụng smart village làng thông minh xii Danh sách hình vẽ 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 Xử lý Batch . . . . . . . . Xử lý Stream . . . . . . . . Top Big Data Frameworks Sơ lược về vị trí của Spark Các module trong Spark . RRD trong Spark . . . . . Application in Spark . . . Ngôn ngữ lập trình Scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 18 20 24 25 27 27 28 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 Các nhóm giải thuật Machine Learning trong Spark . . . . . . . Tập các ngày trong tuần . . . . . . . . . . . . . . . . . . . . . . . Tập các ngày cuối tuần . . . . . . . . . . . . . . . . . . . . . . . . Xác định một người là cao hay thấp bằng Membership Function Triangular, Trapezoidal membership function . . . . . . . . . . Gaussian, Generalized bell membership function . . . . . . . . Sigmoidal membership functions . . . . . . . . . . . . . . . . . . Bảng chân trị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . So sánh các phép tính logic giữa logic cổ điển và logic mờ . . . Fuzzy inference process . . . . . . . . . . . . . . . . . . . . . . . Fuzzification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ví dụ về toán tử OR . . . . . . . . . . . . . . . . . . . . . . . . . Implication operator(min) . . . . . . . . . . . . . . . . . . . . . . Aggregation all outputs . . . . . . . . . . . . . . . . . . . . . . . Defuzzification . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fuzzy Inference Diagram . . . . . . . . . . . . . . . . . . . . . . . Full process of Fuzzy Inference System . . . . . . . . . . . . . . . Fuzzy Inference System Class Diagram . . . . . . . . . . . . . . Centroid của Fuzzy Sets . . . . . . . . . . . . . . . . . . . . . . . Bisector của Fuzzy Sets . . . . . . . . . . . . . . . . . . . . . . . Triangular membership function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 31 32 32 33 33 33 34 34 35 36 37 37 38 39 40 40 42 46 47 49 xiii 4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 4.30 4.31 4.32 4.33 Trapezoidal membership function . . . . . . . Generalized bell-shaped membership function Gaussian membership function . . . . . . . . . Z-shaped membership function . . . . . . . . S-shaped membership function . . . . . . . . . Sigmoidal membership function . . . . . . . . Pi-shaped membership function . . . . . . . . Fuzzy Sets of Service . . . . . . . . . . . . . . . Fuzzy Sets of Food . . . . . . . . . . . . . . . . Fuzzy Sets of Atm . . . . . . . . . . . . . . . . Fuzzy Sets of Tip . . . . . . . . . . . . . . . . . DAG của Fuzzy Logic V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 51 52 53 54 55 56 57 58 58 59 63 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 5.19 5.20 5.21 5.22 Kiến trúc tổng quan hệ thống tưới tiêu Cảm biến quang trở . . . . . . . . . . . Dữ liệu cảm biến quang trở . . . . . . . Cảm biến nhiệt độ . . . . . . . . . . . . Dữ liệu cảm biến nhiệt độ . . . . . . . . Dữ liệu cảm biến độ ẩm đất . . . . . . . Kiến trúc minh họa Spark và Hadoop . Giao diện quản lý Spark . . . . . . . . . Giao diện thư mục Hadoop . . . . . . . Thu thập và lưu trữ dữ liệu . . . . . . . Lưu dữ liệu theo partition . . . . . . . . Phân tích dữ liệu và ra quyết định . . . Sơ đồ hoạt động của giải thuật . . . . . Thiết kế giải thuật Fuzzy . . . . . . . . . Temperature membership function . . . Solar radiation membership function . . Soil moisture membership function . . . Duaration, output membership function Rule table 1 . . . . . . . . . . . . . . . . . Rule table 2 . . . . . . . . . . . . . . . . . Rule table 3 . . . . . . . . . . . . . . . . . Dữ liệu độ ẩm đất trong ứng dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 67 68 68 69 70 71 71 72 72 75 76 76 77 78 78 79 79 80 80 80 85 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Danh sách bảng 2.1 2.2 2.3 Bảng tóm tắt thuật ngữ viết tắt của giải thuật . . . . . . . . . . . . . . Bảng tổng hợp các nghiên cứu nông nghiệp . . . . . . . . . . . . . . . Thống kê số lần sử dụng giải thuật . . . . . . . . . . . . . . . . . . . . 7 7 11 3.1 3.2 Thông tin so sánh cơ bản về các framework bigdata . . . . . . . . . . Bảng so sánh mức độ cập nhật và phổ biến của các framwork big data 16 22 4.1 4.2 Fuzzy Logic Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . Một số đại lượng viết tắt . . . . . . . . . . . . . . . . . . . . . . . . . . 34 61 5.1 5.2 5.3 5.4 Các trạng thái cảm biến nhiệt độ . Các trạng thái cảm biến ánh sáng . Các trạng thái cảm biến độ ẩm đất Kinh nghiệm tưới nước . . . . . . . 85 86 86 86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chương 1 Giới thiệu chung Làng thông minh là một hướng đi tất yếu nhằm phát triển khu vực nông thôn trên thế giới trong bối cảnh ứng dụng công nghệ tiên tiến phục vụ sản xuất nông nghiệp, kết nối cộng đồng và nâng cao chất lượng sống của nông dân. Mô hình nông nghiệp thông minh đã được nhiều quốc gia trên thế giới phát triển và đa phần đều phải dựa trên nền tảng internet kết nối vạn vật (IoT). Với lợi thế về nông nghiệp, Việt Nam có nhiều thuận lợi trong giai đoạn phát triển này nhưng nếu không nắm bắt cơ hội thì Việt Nam sẽ bị tụt hậu so với các nước khác trên thế giới và ngay tại khu vực Đông Nam Á. Ở Việt Nam, một số tỉnh thành đã có những bước đi đầu tiên trong việc phát triển làng thông minh, điển hình là ở Đồng Tháp. Chính quyền địa phương đã nhận ra tầm quan trọng của nông nghiệp công nghệ cao. Đây là một cơ hội và cả thách thức lớn cho cả phía doanh nghiệp địa phương và các nhà nghiên cứu trong việc triển khai các giải pháp công nghệ trong tương lai. Các vấn đề cần quan tâm trong mô hình nông nghiệp thông minh bao gồm: quan trắc thủy lợi, khí tượng, môi trường nước, v.v... Từ đó kết hợp với những kiến thức về khuyến nông, thông tin về tài nguyên đất, phân tích diện tích canh tác, v.v. . . sẽ đưa ra những quyết định hợp lý về phương pháp canh tác, thời điểm gieo trồng, thời điểm thu hoạch, v.v. . . sao cho tối ưu nhất về năng suất và giá bán. Ngoài ra, để gia tăng năng suất cây trồng, cần phải ứng dụng được những công nghệ thâm canh công nghệ cao hỗ trợ người nông dân tưới tự động, cảnh báo thời gian thực, phun thuốc, tưới cây bằng máy bay không người lái, v.v... Những phân tích và khảo sát ban đầu tại Đồng Tháp cho thấy rằng, các vấn đề là rất đa dạng và phong phú dẫn đến nhiều thách thức trong quá trình nghiên cứu, triển khai. Sau khi tìm hiểu các công nghệ hiện có, các bài nghiên cứu khoa học gần đây được áp dụng cho lĩnh vực nông nghiệp, tôi đánh giá rằng: các nghiên cứu mang tính chất đặc thù, địa phương hóa. Các công nghệ sử dụng là đa dạng, chưa có một công cụ nền tảng thống nhất, để triển khai cho các ứng dụng tương tự khác về lâu dài. Chính vì thế, ý tưởng tạo ra một công cụ chuyên dụng để giải các bài toán nông Chương 1. Giới thiệu chung 2 nghiệp là thật sự cần thiết. Với sự bùng nổ của dữ liệu lớn ngày nay, đặc biệt về dữ liệu thời gian thực từ các thiết bị phần cứng, cảm biến, việc có được một framework để xử lý lượng dữ liệu trên là việc làm quan trọng hàng đầu. Các bài toán mới khi triển khai trong làng thông minh sẽ được phát triển và hiện thực trên cùng một nền tảng framework chung, tạo sự thống nhất và liên kết dễ dàng. Mục đích chính của đề tài là xây dựng một framework đáp ứng nhu cầu trên. Cụ thể, tôi đã lựa chọn Spark làm phần framework lõi. Trên Spark, tôi đã trình bày cách hiện thực thêm giải thuật để mở rộng mã nguồn, làm dồi dào thêm chức năng của Spark. Giải thuật được lựa chọn để viết vào Spark là Fuzzy Logic phục vụ cho bài toán tưới nước. Về sau, khi dự án nghiên cứu tiếp tục, tôi hi vọng sẽ có nhiều nhóm giải thuật và bài toán được thêm vào phiên bản Spark này để làm phong phú thêm mã nguồn. Từ đó, framework sẽ đầy đủ các giải thuật để giải các bài toán nông nghiệp. Cấu trúc của luận văn như sau: • Chương 2: Trình bày về khảo sát các vấn đề nông nghiệp mà giới nghiên cứu quan tâm, cùng với đó là các giải thuật, kĩ thuật để giải quyết các vấn đề đó. Từ đó sẽ quan sát được các kĩ thuật phổ biến được sử dụng trong lĩnh vực này là gì, các nhóm bài toán có nhiều sự quan tâm. • Chương 3: Trong chương này, tôi sẽ trình bày lý do vì sao lựa chọn Spark làm công cụ phát triển và mở rộng thêm. • Chương 4: Sau khi đã có được thông tin về các giải thuật cần có, chọn được framework phù hợp, tôi sẽ trình bày cách viết giải thuật mới vào Spark như thế nào để hiệu quả và tối ưu trên môi trường Spark. • Chương 5: Đánh giá sự hiệu quả của giải thuật thông qua một ứng dụng mô phỏng tưới nước trong nông nghiệp. 3 Chương 2 Khảo sát về giải thuật khai phá dữ liệu sử dụng trong nông nghiệp (Issad, Aoudjit, and Rodrigues, 2019) 2.1 Các kỹ thuật khai phá dữ liệu Trong nông nghiệp thông minh, dữ liệu thu được từ quá trình giám sát môi trường và được thu thập bởi các thiết bị khác nhau (máy bay không người lái, cảm biến, v.v.) đóng một vai trò quan trọng. Việc xử lý thủ công những dữ liệu khổng lồ này rất khó, vì vậy cần phải tự động hóa quá trình này bằng cách sử dụng các phương pháp và công cụ phân tích để chuyển đổi dữ liệu thành kiến thức phục vụ trong quá trình ra quyết định. Khai phá dữ liệu cho phép trích xuất thông tin có giá trị từ dữ liệu lớn, khám phá các tri thức và các mối quan hệ ẩn trong dữ liệu. Nó là một quá trình bao gồm các phương pháp và công cụ từ các lĩnh vực khác nhau của khoa học máy tính, thống kê hoặc trí tuệ nhân tạo. Khai phá dữ liệu gồm các nhóm ứng dụng khác nhau bao gồm phân lớp, phân cụm, phai phá luật kết hợp, dự đoán. 2.1.1 Phân lớp Phân lớp là một quá trình học có giám sát cho phép dự đoán nhãn lớp từ một tập dữ liệu huấn luyện. Trong lĩnh vực nông nghiệp, việc phân lớp có ứng dụng rộng rãi, đặc biệt trong việc phân loại bệnh hại cây trồng (lá, quả). Trong số các kỹ thuật phân lớp được sử dụng nhiều nhất có thể kể đến: Bayesian Networks (BN), Decision Trees (DT), Support Vector Machine (SVM), Neuron Network (NN), K-Nearest Neighbors (KNN), Markov Model (MM) và gần đây là các kĩ thuật Deep Learning (DL) ). Trong Mạng Bayes, một tập hợp các biến và mối quan hệ phụ thuộc giữa chúng Chương 2. Khảo sát về giải thuật khai phá dữ liệu sử dụng trong nông nghiệp 4 được mô hình hóa. Mạng Bayes là một phương pháp sử dụng xác suất. Decision Tree còn được gọi là cây phân loại hoặc cây hồi quy (Aggarwal, 2015) được phân loại là các kỹ thuật dự đoán và mô tả. DT cung cấp một mô hình dưới dạng cấu trúc cây. Trong số thuật toán được sử dụng để xây dựng DT là: ID3, C4.5, CART. Support Vector Machines do Vladimir Vapnik đề xuất và có thể áp dụng cho các bài toán hồi quy và phân loại (Maimon and Rokach, 2005). SVM tạo ra các chức năng ánh xạ đầu vào/ đầu ra từ một tập dữ liệu học tập được gắn nhãn. SVM đã cho thấy hiệu suất rất tốt trong nhiều ứng dụng trong thế giới thực, như chẩn đoán y tế, tin sinh học, nhận dạng khuôn mặt, xử lý hình ảnh và gần đây trong nông nghiệp chính xác. Neural Networks là một trong những kỹ thuật học có giám sát được sử dụng rộng rãi trong những năm gần đây. Mạng neuron nhân tạo cố gắng bắt chước cấu trúc tính toán của hệ thần kinh để giải quyết các nhiệm vụ khác nhau (Maimon and Rokach, 2005). K-Nearest Neighbors cho phép phân loại dữ liệu đầu vào mới, theo dữ liệu huấn luyện K gần nhất với những dữ liệu xung quanh chúng, trong đó giá trị của K được xác định bởi người dùng. Do đó, lớp được bình chọn nhiều nhất trong số K láng giềng gần nhất từ tập dữ liệu huấn luyện được quy cho dữ liệu đầu vào mới. Mô hình Markov là một quá trình ngẫu nhiên trong đó trạng thái tiếp theo của hệ thống chỉ phụ thuộc vào trạng thái hiện tại. Mô hình Markov ẩn (HMM) là phần mở rộng của Mô hình Markov. Nó đã được sử dụng trong một số lĩnh vực đặc biệt là trong nhận dạng giọng nói. Học sâu là một lĩnh vực phụ của học máy. Deep Learning gần đây đã nhận được rất nhiều sự quan tâm, đặc biệt là trong lĩnh vực nông nghiệp, nơi nó đã được áp dụng để thực hiện một số nhiệm vụ bao gồm cả việc phát hiện các bệnh cây trồng 2.1.2 Phân cụm Trái ngược với phân lớp, phân cụm là một cách học không có giám sát mà các lớp không được biết trước, bao gồm việc phân chia các đối tượng thành các nhóm (cụm) dựa trên thông tin được tìm thấy trong dữ liệu và dựa trên mối quan hệ của chúng. Kỹ thuật phân cụm được áp dụng khi không có các lớp được xác định trước và các đối tượng dữ liệu phải được chia thành các nhóm (Witten and Frank, 2002). Chúng được phân loại theo một số phuương pháp như phân vùng, phân cấp, dựa trên mật độ,v.v. Trong các phương pháp phân vùng, có một số thuật toán nổi tiếng của lớp này là k-mean (Wong and Hartigan, 1979) và PAM (Kaufman and Rousseeuw, 2009). K-Means là một trong những kỹ thuật được sử dụng nhiều nhất nhằm mục đích Chương 2. Khảo sát về giải thuật khai phá dữ liệu sử dụng trong nông nghiệp 5 phân dữ liệu thành K cụm (nhóm) tập hợp n đối tượng. Nó được ứng dụng trong nông nghiệp để phát hiện bệnh thông qua hình ảnh. Phương pháp phân cấp tạo ra một hệ thống phân cấp của các cụm gọi là dendrogram. Loại này được chia thành các phương pháp divisive hoặc agglomerative. Các thuật toán thuộc loại này bao gồm CHAMELEON, Balanced Iterative Reducing bằng cách sử dụng cấu trúc phân cấp (BIRCH). Các phương pháp dựa trên mật độ nhóm các đối tượng theo các hàm mục tiêu mật độ cụ thể. Một số thuật toán thuộc loại này là DBSCAN, DENCLUE và OPTICS. 2.1.3 Khai phá luật kết hợp Nhóm giải thuật này được sử dụng để khám phá các mối quan hệ có ý nghĩa giữa các đối tượng thuộc một lượng lớn dữ liệu. Phân tích luật kết hợp bao gồm việc xác định các mối quan hệ giữa các phần tử trong tập dữ liệu bằng cách tìm cách xác định các nhóm phần tử phổ biến nhất xảy ra cùng nhau. Một số giải thuật hiện có là Apriori, AprioriTid, Dic, Eclat và FP-growth 2.1.4 Dự đoán Đây là nhóm các giải thuật có khả năng khám phá các mẫu dữ liệu và có thể dự đoán về tương lai. Time series và Regression là một trong những kỹ thuật dự đoán được sử dụng nhiều nhất. Time series được định nghĩa là một chuỗi quan sát được sắp xếp theo thời gian. Chúng được sử dụng để khám phá thông tin và kiến thức ẩn. Time series là phương pháp dùng để phân tích dữ liệu thống kê trong một khoảng thời gian nhất định. Dự báo Time series là một mô hình để dự đoán các giá trị trong tương lai dựa trên các giá trị đã quan sát trước đó. Regression là một trong những kỹ thuật được sử dụng để phân tích dự đoán. Nó được sử dụng để khám phá và phân tích mối quan hệ của một biến với một hoặc nhiều biến. Hồi quy tuyến tính là một phương pháp thống kê được sử dụng để dự đoán giá trị của một biến phụ thuộc từ một biến độc lập, trong đó mối quan hệ giữa các biến có thể được biểu diễn bằng một mô hình tuyến tính. Do đó, nó tương quan với sự thay đổi của một biến phụ thuộc với một biến độc lập. Ngoài các kỹ thuật này, còn có các kỹ thuật khác được sử dụng để dự đoán chẳng hạn như Mạng Neuron, SVM, Cây quyết định. Các ứng dụng dự đoán trong nông nghiệp bao gồm dự báo năng suất cây trồng, dự đoán bệnh, dự báo sâu bệnh và dự đoán độ ẩm của đất.
- Xem thêm -

Tài liệu liên quan