Bối cảnh và vấn đề nghiên cứu
Cháy rừng là một trong những thảm họa môi trường nghiêm trọng trên phạm vi toàn cầu, gây ra sự tàn phá sinh thái nặng nề, làm suy thoái tài nguyên thiên nhiên, phá vỡ tính ổn định của hệ sinh thái, gia tăng nguy cơ thiên tai và suy giảm nguồn nước, từ đó thúc đẩy hiện tượng nóng lên toàn cầu. Công tác kiểm soát và phát hiện sớm cháy rừng đóng vai trò then chốt nhằm giảm thiểu thiệt hại về người và của.
Trong thực tế, nhiều giải pháp giám sát và cảnh báo cháy rừng đã được triển khai, bao gồm:
- Hệ thống cảm biến cục bộ (cảm biến nhiệt độ, cảm biến khói).
- Hệ thống quan trắc và ảnh viễn thám qua vệ tinh.
- Hệ thống theo dõi thông qua camera quan sát và video quang học.
Tuy nhiên, đối với các bài toán có khối lượng dữ liệu môi trường lớn và nhiều chiều đầu vào, các mô hình thống kê truyền thống bộc lộ nhiều hạn chế về độ chính xác dự báo. Trước bối cảnh đó, các kỹ thuật học máy (Machine Learning) thuộc lĩnh vực trí tuệ nhân tạo được ứng dụng nhằm xử lý hiệu quả các tập dữ liệu khí tượng phức tạp. Đồ án tốt nghiệp đại học của sinh viên Kiều Thị Ngọc Bích (chuyên ngành Công nghệ phần mềm, Khoa Công nghệ Thông tin 1, Học viện Công nghệ Bưu chính Viễn thông) dưới sự hướng dẫn của TS. Nguyễn Đình Hóa thực hiện nghiên cứu này nhằm đạt được các mục tiêu cụ thể:
- Nghiên cứu cơ sở lý thuyết của các thuật toán học máy có giám sát phục vụ bài toán phân loại dữ liệu (Classification).
- Khảo sát các chỉ số khí tượng và hệ thống đánh giá nguy cơ cháy rừng FWI (Fire Weather Index).
- Thực nghiệm, so sánh và đánh giá hiệu năng của các mô hình học máy trên bộ dữ liệu thực tế tại Algeria, từ đó lựa chọn mô hình tối ưu để xây dựng chương trình thử nghiệm dự báo nguy cơ cháy rừng.
Phạm vi nghiên cứu tập trung vào phân loại nhị phân (xác định trạng thái "Cháy" hoặc "Không cháy") dựa trên dữ liệu khí tượng thu thập tại Algeria (gồm 244 bản ghi), đồng thời tham khảo các trường hợp nghiên cứu khí tượng tại Lebanon năm 2012 và dữ liệu thảm họa cháy rừng tại Amazon (2019), Algeria (2021).
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và các khái niệm nền tảng
Nghiên cứu áp dụng phương pháp học có giám sát (Supervised Learning) để giải quyết bài toán phân loại dữ liệu khí tượng. Hệ thống phân loại dựa trên tập dữ liệu đã gán nhãn sẵn nhằm thiết lập mối tương quan giữa các yếu tố môi trường đầu vào và nguy cơ cháy ở đầu ra.
Về mặt lâm nghiệp và khí tượng, nghiên cứu dựa trên Hệ thống Xếp hạng Nguy cơ Cháy rừng của Canada (CFFDRS - Canadian Forest Fire Danger Rating System) và cấu trúc Chỉ số Thời tiết Cháy (FWI - Fire Weather Index). Hệ thống này gồm 6 thành phần tiêu chuẩn và các chỉ số liên quan:
- FFMC (Fine Fuel Moisture Code): Mã độ ẩm nhiên liệu mịn.
- DMC (Duff Moisture Code): Mã độ ẩm lớp mùn/Duff.
- DC (Drought Code): Mã hạn hán.
- ISI (Initial Spread Index): Chỉ số lây lan ban đầu.
- BUI (Buildup Index): Chỉ số tích lũy nhiên liệu tiêu thụ.
- FWI (Fire Weather Index): Chỉ số thời tiết cháy tổng hợp.
- Các chỉ số khác: EMC (Độ ẩm cân bằng), FFDC (Mã nguy hiểm cháy rừng), GFDC (Mã nguy hiểm cháy cỏ), SFDC (Mã nguy hiểm cháy nổ).
Các thuật toán học máy được khảo sát
- Cây quyết định (Decision Tree - DT): Sử dụng thuật toán ID3, phân tách các nút dựa trên độ hỗn loạn Entropy và độ lợi thông tin (Information Gain).
- Công thức Entropy của tập dữ liệu $S$:
$$Entropy(S) = -\sum_{i=1}^{c} p_i \log_2 (p_i)$$
(trong đó $p_i$ là tỷ lệ đối tượng trong tập $S$ thuộc lớp $i$)
- Công thức Information Gain của thuộc tính $A$ đối với tập $S$:
$$Gain(S, A) = Entropy(S) - \sum_{v \in Values(A)} \frac{|S_v|}{|S|} Entropy(S_v)$$
- Rừng ngẫu nhiên (Random Forest - RF): Kỹ thuật học kết hợp (Ensemble Learning) kết hợp nhiều cây quyết định độc lập. Thuật toán chọn ngẫu nhiên $k$ đặc trưng từ tập $m$ đặc trưng ($k \ll m$), xây dựng $n$ cây quyết định và đưa ra kết quả phân loại cuối cùng thông qua cơ chế biểu quyết đa số (majority voting).
- Máy vector hỗ trợ hạt nhân (Kernel Support Vector Machine - SVM): Tách biệt các lớp dữ liệu bằng siêu phẳng tối ưu. Đồ án khảo sát ba hàm nhân (Kernel):
- Polynomial Kernel (nhân đa thức với tham số bậc
degree).
- Gaussian / Radial Basis Function Kernel (
kernel='rbf').
- Sigmoid Kernel.
- Naïve Bayes: Bộ phân loại xác suất dựa trên định lý Bayes với giả định các thuộc tính độc lập có điều kiện, sử dụng lớp
GaussianNB để xử lý các biến liên tục.
Phương pháp nghiên cứu và nguồn dữ liệu
- Phương pháp thực nghiệm: Sử dụng ngôn ngữ lập trình Python kết hợp các thư viện xử lý dữ liệu và học máy chuyên dụng gồm
pandas và scikit-learn.
- Tập dữ liệu khí tượng: Sử dụng bộ dữ liệu
Dataset.csv ghi nhận các đợt cháy rừng tại Algeria gồm 244 bản ghi và 11 trường thông tin (10 thuộc tính đầu vào bao gồm nhiệt độ, độ ẩm tương đối, tốc độ gió, lượng mưa, các chỉ số thành phần FWI và 1 thuộc tính nhãn phân loại).
Nội dung chính theo từng chương
Chương 1: Tìm hiểu các thuật toán học máy trong phân loại dữ liệu
Chương này tổng quan về bài toán phân lớp dữ liệu (nhị phân, đa lớp, đa trị) và đi sâu vào chi tiết toán học của 4 thuật toán:
- Decision Tree: Trình bày cấu trúc nút quyết định (Decision Node) và nút lá (Leaf Node). Tác giả minh họa cơ chế hoạt động của thuật toán ID3 thông qua tập dữ liệu khí tượng năm 2012 tại Lebanon (361 bản ghi, 4 thuộc tính: Nhiệt độ - T, Độ ẩm tương đối - RH, Tốc độ gió - WS, Lượng mưa 24 giờ - P). Kết quả tính toán cho thấy Entropy toàn bộ tập mẫu năm 2012 (26 vụ cháy/361 ngày) là $0.373425$. Độ lợi thông tin của các thuộc tính lần lượt là:
- $Gain(S, T) = 0.114259$ (được chọn làm nút gốc root)
- $Gain(S, RH) = 0.0498435$
- $Gain(S, WS) = 0.0376338$
- $Gain(S, P) = 0.0134699$
- Random Forest: Mô tả chi tiết mã giả 5 bước thiết lập tập hợp cây và 3 bước dự đoán bằng biểu quyết. Đánh giá ưu điểm xử lý tốt dữ liệu lớn, hạn chế hiện tượng quá khớp (overfitting) so với cây đơn lẻ.
- Kernel SVM: Trình bày nguyên lý ánh xạ không gian đặc trưng phi tuyến và so sánh ba dạng hàm nhân (Polynomial, Gaussian RBF, Sigmoid).
- Naïve Bayes: Trình bày cơ chế tính xác suất hậu nghiệm và ưu thế tốc độ huấn luyện nhanh.
Chương 2: Ứng dụng học máy trong dự báo cháy rừng
Chương 2 phân tích hiện trạng cháy rừng toàn cầu và mối liên hệ giữa các yếu tố tự nhiên với nguy cơ bùng phát cháy:
- Tổng kết các thảm họa cháy rừng lịch sử, điển hình là vụ cháy rừng Amazon năm 2019 và cháy rừng nghiêm trọng tại Algeria vào tháng 8/2021 làm hơn 40 người thiệt mạng.
- Phân tích chi tiết hệ thống FWI của Canada, giải thích cơ chế tương tác giữa 6 chỉ số thành phần (FFMC, DMC, DC, ISI, BUI, FWI) trong việc định lượng mức độ khô của nhiên liệu và tốc độ lan truyền của đám cháy.
- Phân tích ảnh hưởng của các yếu tố khí tượng vi mô: nhiệt độ không khí (ảnh hưởng trực tiếp đến độ khô thảm thực vật), tốc độ gió (thúc đẩy cung cấp oxy và tốc độ lan truyền theo độ gồ ghề của địa hình), độ ẩm tương đối và lượng mưa tích lũy.
Chương 3: Các kết quả thực nghiệm
Chương 3 trình bày toàn bộ quy trình thực nghiệm trên máy tính:
- Khám phá dữ liệu: Sử dụng hàm
shape của thư viện pandas để kiểm tra tệp Dataset.csv, xác nhận kích thước dữ liệu gồm 244 bản ghi và 11 trường thuộc tính. Hiển thị 5 hàng đầu tiên để kiểm tra định dạng.
- Tiền xử lý: Phân tách dữ liệu thành ma trận đặc trưng $X$ (10 thuộc tính) và vector nhãn $y$. Thực hiện phân chia tập huấn luyện (train set) và tập kiểm thử (test set).
- Huấn luyện mô hình: Lần lượt cài đặt và huấn luyện các mô hình
DecisionTreeClassifier, RandomForestClassifier, SVC (với các cấu hình nhân Polynomial, Gaussian RBF, Sigmoid) và GaussianNB từ thư viện scikit-learn.
- Đánh giá và so sánh: Tổng hợp kết quả hiệu năng của các mô hình trên tập kiểm thử thông qua các thang đo: Độ chính xác (Accuracy), Độ chuẩn xác (Precision), Độ thu hồi (Recall) và Điểm F1 (F1-score).
Thiết kế và triển khai
Sau khi hoàn thành thử nghiệm và xác định mô hình tối ưu, đồ án đã tiến hành đóng gói và xây dựng một ứng dụng web demo hỗ trợ tương tác dự báo:
- Lưu trữ mô hình: Sử dụng module
pickle tích hợp sẵn trong Python để tuần tự hóa (serialize) đối tượng mô hình Random Forest đã qua huấn luyện thành tệp nhị phân, đảm bảo tính bền bỉ và khả năng tái sử dụng giữa các tiến trình mà không cần huấn luyện lại.
- Giao diện web tương tác: Ứng dụng được xây dựng bằng ngôn ngữ Python thông qua thư viện
streamlit.
- Thành phần giao diện:
- Giao diện cung cấp các trường biểu mẫu tương ứng với 10 thuộc tính đầu vào (các yếu tố thời tiết và chỉ số thành phần FWI).
- Nút bấm điều khiển "Predict" (Dự đoán).
- Khi người dùng nhập đầy đủ thông số và nhấn "Predict", hệ thống tự động tải mô hình đã lưu qua
pickle, thực hiện suy luận và hiển thị trực tiếp kết quả cảnh báo nguy cơ cháy rừng trên giao diện web.
Kết quả và đóng góp
Kết quả thực nghiệm định lượng
Hiệu năng phân loại nguy cơ cháy rừng của các thuật toán được tổng hợp trong quá trình thử nghiệm trên tập dữ liệu Algeria (244 bản ghi):
| Thuật toán |
Accuracy |
Nhận xét hiệu năng |
| Random Forest |
~98% |
Đạt hiệu năng tổng thể cao nhất, ổn định khi dữ liệu ít và có thuộc tính thiếu sót |
| Naïve Bayes (GaussianNB) |
~96% |
Độ chính xác cao, thời gian xử lý nhanh |
| Decision Tree |
Khá |
Phân loại tốt nhưng dễ bị ảnh hưởng bởi độ phức tạp dữ liệu |
| Kernel SVM |
Thấp nhất |
Hiệu quả kém trên tập dữ liệu có số thuộc tính lớn nhưng số mẫu nhỏ |
Phân tích kết quả và đóng góp của đề tài
- Đóng góp học thuật: Đồ án đã hệ thống hóa cơ sở lý thuyết về bài toán phân lớp dữ liệu trong học máy, chi tiết hóa phương pháp tính toán Entropy/Information Gain trong thuật toán ID3 và cấu trúc toán học của hệ thống chỉ số cháy FWI.
- Đóng góp thực nghiệm:
- Chứng minh mô hình Random Forest có khả năng tổng quát hóa tốt nhất cho bài toán dự báo cháy rừng tại khu vực nghiên cứu (~98% accuracy), khắc phục được hạn chế kích thước mẫu nhỏ (244 bản ghi).
- Chỉ ra hạn chế của thuật toán Kernel SVM khi xử lý tập dữ liệu có số lượng thuộc tính tương đối nhiều nhưng dung lượng bản ghi hạn chế, dẫn đến việc thiết lập siêu phẳng phân cách kém hiệu quả.
- Hiện thực hóa thành công mô hình lý thuyết thành ứng dụng web demo trực quan thông qua công nghệ Streamlit và Pickle, cho phép người dùng nhập trực tiếp 10 tham số khí tượng để nhận kết quả phân loại tức thì.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đồ án
- Quy mô bài toán: Đồ án mới chỉ giải quyết bài toán phân loại nhị phân (xác định khả năng có cháy hoặc không cháy), chưa phân cấp được mức độ nguy hiểm của đám cháy, chưa dự đoán được diện tích rừng bị thiệt hại cũng như khả năng kiểm soát/dập tắt đám cháy.
- Tính thích nghi dữ liệu: Bộ dữ liệu thực nghiệm được thu thập tại Algeria, vốn có đặc trưng khí hậu và thảm thực vật khác biệt, do đó chưa hoàn toàn phù hợp để áp dụng trực tiếp cho môi trường rừng nhiệt đới tại Việt Nam.
Hướng phát triển tiếp theo
- Nghiên cứu mở rộng mô hình học máy nhằm dự báo cấp độ cháy chi tiết, tính toán diện tích ảnh hưởng và mô phỏng phương án phân bổ nguồn lực cứu hỏa tối ưu.
- Cải thiện thuật toán để nâng cao hơn nữa độ chính xác phân loại.
- Phối hợp khai thác nguồn số liệu khí tượng thủy văn chi tiết tại các vùng rừng đặc dụng trên cả nước từ Tổng cục Khí tượng Thủy văn Việt Nam nhằm xây dựng tập dữ liệu huấn luyện đặc thù cho các cánh rừng trong nước.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho các đối tượng:
- Sinh viên ngành Công nghệ thông tin, Khoa học dữ liệu, Kỹ thuật phần mềm: Cung cấp tài liệu mẫu về quy trình nghiên cứu, triển khai và so sánh các thuật toán học máy kinh điển (Decision Tree, Random Forest, SVM, Naïve Bayes) bằng Python với thư viện
scikit-learn.
- Người nghiên cứu ứng dụng AI trong quản lý tài nguyên và môi trường: Tham khảo cấu trúc tích hợp hệ thống chỉ số thời tiết cháy FWI của Canada (CFFDRS) và cách lựa chọn đặc trưng khí tượng phục vụ bài toán dự báo nguy cơ thiên tai.
- Lập trình viên phát triển ứng dụng khoa học dữ liệu: Tham khảo phương thức đóng gói mô hình học máy bằng
pickle và triển khai giao diện thử nghiệm nhanh bằng streamlit.
Câu hỏi thường gặp
1. Bộ dữ liệu chính được sử dụng để thực nghiệm so sánh các mô hình học máy trong đồ án có đặc điểm gì?
Tập dữ liệu thực nghiệm là tệp Dataset.csv ghi nhận các đợt cháy rừng tại Algeria, gồm 244 bản ghi và 11 trường thông tin (10 thuộc tính đặc trưng về khí tượng và chỉ số FWI, cùng 1 trường nhãn phân loại cháy/không cháy).
2. Thuật toán nào đạt độ chính xác cao nhất trong các thử nghiệm và nguyên nhân là gì?
Thuật toán Random Forest đạt độ chính xác cao nhất (~98%). Mô hình này kết hợp nhiều cây quyết định độc lập được huấn luyện trên các tập con dữ liệu ngẫu nhiên, giúp tăng cường khả năng tổng quát hóa, hoạt động tốt ngay cả khi kích thước dữ liệu nhỏ (244 bản ghi) hoặc dữ liệu bị khuyết thiếu giá trị.
3. Vì sao thuật toán Kernel SVM lại cho kết quả kém nhất trong nghiên cứu này?
Kernel SVM hoạt động kém hiệu quả do tập dữ liệu có số lượng thuộc tính tương đối lớn nhưng số lượng bản ghi lại ít (244 mẫu). Việc cố gắng phân tách dữ liệu vào hai lớp bằng các siêu phẳng trong không gian đa chiều với số lượng mẫu hạn chế khiến mô hình SVM không đạt được kết quả phân lớp tối ưu.
4. Hệ thống chỉ số thời tiết cháy FWI của Canada gồm những thành phần cơ bản nào được đề cập trong đồ án?
Hệ thống FWI gồm 6 thành phần tiêu chuẩn: FFMC (Mã độ ẩm nhiên liệu mịn), DMC (Mã độ ẩm lớp mùn), DC (Mã hạn hán), ISI (Chỉ số lây lan ban đầu), BUI (Chỉ số tích lũy nhiên liệu) và FWI (Chỉ số thời tiết cháy tổng hợp).
5. Ứng dụng demo dự báo cháy rừng được xây dựng bằng những công nghệ nào?
Ứng dụng demo được viết bằng ngôn ngữ Python, sử dụng module pickle để đóng gói mô hình Random Forest đã huấn luyện và thư viện streamlit để tạo giao diện web gồm 10 thuộc tính đầu vào cùng nút "Predict" để hiển thị kết quả phân loại.
Kết luận
Đồ án tốt nghiệp "Nghiên cứu các thuật toán học máy và ứng dụng trong dự báo cháy rừng" của sinh viên Kiều Thị Ngọc Bích đã hệ thống hóa cơ sở lý thuyết về các thuật toán phân loại học máy và ứng dụng thành công vào bài toán cảnh báo cháy rừng dựa trên dữ liệu khí tượng. Kết quả thực nghiệm chỉ ra mô hình Random Forest đạt hiệu năng vượt trội với độ chính xác xấp xỉ 98%, đồng thời được tác giả đóng gói thành công thành ứng dụng web demo bằng Streamlit. Mặc dù còn hạn chế về phạm vi bài toán nhị phân và tính đặc thù địa lý của tập dữ liệu Algeria, đồ án đã đặt nền tảng phương pháp luận vững chắc cho các hướng mở rộng ứng dụng trí tuệ nhân tạo trong công tác phòng chống cháy rừng tại Việt Nam.