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.) đó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.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.
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.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. 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.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.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.
Khảo sát về giải thuật khai phá dữ liệu sử dụng trong nông nghiệp 6 2.5 Khai phá dữ liệu kết hợp với các kĩ thuật khác Các phương pháp đã đề cập không phải là những công cụ duy nhất cho việc khai phá dữ liệu. Các kỹ thuật này thường được kết hợp với một số giải thuật khác, ví dụ: Fuzzy Logic và Genetic Algorithm. Fuzzy Logic là một cách để mô tả đầy đủ sự không chắc chắn liên quan đến các khái niệm và thuật toán Genetic giúp xác định các giải pháp tốt hơn cho dữ liệu ở một dạng cụ thể. Fuzzy Logic giúp quản lý sự không chắc chắn theo cách rất trực quan và tự nhiên.
Cơ sở lý thuyết của Logic mờ được thiết lập vào đầu những năm 1965 bởi Giáo sư Zadeh của Đại học California, Berkeley (Zadeh, 1965). Đó là một lý thuyết toán học chặt chẽ, được điều chỉnh để xử lý tất cả những gì mang tính chủ quan và hoặc không chắc chắn. Nó cung cấp một hình thức toán học để mô hình hóa các kỹ năng của con người. Do đó, các hiện tượng tự nhiên không chính xác gây khó khăn trong việc mô hình hóa nó theo logic cổ điển sẽ được hiểu rõ hơn.
Thuật toán di truyền (GA) là phương pháp tối ưu hóa ngẫu nhiên dựa trên về các khái niệm chọn lọc tự nhiên và các quá trình tiến hóa, được đề xuất bởi John Holland vào năm 1975.