TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THƠNG TIN 🙞🙞🙞🙞🙞 BÁO CÁO THÍ NGHIỆM/ THỰC NGHIỆM HỌC PHẦN: TRÍ TUỆ NHÂN TẠO ĐỀ TÀI: TÌM HIỂU THUẬT TOÁN KNN VÀ ỨNG DỤNG DỰ BÁO THỜI TIẾT Hà Nội, 2023 LỜI MỞ ĐẦU Trí tuệ nhân tạo tiếng anh Artificial intelligence – viết tắt AI Chúng ta hiểu ngành khoa học máy tính Con người lập trình nên với mục đích để giúp máy tính thực hành vi thông minh xử lý yêu cầu giống người Những năm gần đây, AI lên chứng cách mạng công nghiệp lần thứ tư Theo đà phát triển cơng nghệ, ứng dụng trí tuệ nhân tạo xu hướng công nghệ tương lai mà hãng cơng nghệ tồn giới đua sáng tạo, tảng cốt lõi cuốc cách mạng công nghệ 4.0 Hầu hết nghành công nghiệp làm việc với hàm lượng lớn dữ liệu nhận tầm quan trọng công nghệ ML Những nhìn sáng suốt từ nguồn dữ liệu – chủ yếu dạng thời gian thực – giúp tổ chức vận hành hiệu tạo lợi cạnh tranh so với đối thủ Các ứng dụng ML đã quen thuộc với người: xe tự hành Google Tesla, hệ thống tự tag khuôn mặt Facebook, hệ thống gợi ý sản phẩm Amazon, hệ thống gợi ý phim Netflix…, vài những ứng dụng trí tuệ nhân tạo cụ thể ML Nhằm vận dụng những kiến thức đã học để áp dụng vào thực tế, tập lớn chúng em đã nghiên cứu ứng dụng trí tuệ nhân tạo việc dự báo thời tiết thuật toán được sử dụng thuật tốn KNN- (K-Nearest Neighbors) được viết ngôn ngữ Python Với hướng dẫn, động viên tận tình Lê Thị Thủy, chúng em đã hiểu được cách thức hoạt động thuật tốn hồn thành báo cáo Vì lượng kiến thức trình độ chun mơn có hạn nên tài liệu khơng tránh khỏi những sai sót, nhóm sinh viên chúng em mong nhận được góp ý từ cô bạn đọc để đề tài chúng em được hồn thiện Nhóm chúng em xin chân thành cảm ơn Nhóm thực Nhóm 21 MỤC LỤC Lời mở đầu .2 Mục lục Chương Giới thiệu đề tài 1.1 Tình hình nghiên cứu nước 1.1.1 Tình hình nghiên cứu nước ngồi 1.1.2 Tình hình nghiên cứu Việt Nam 1.2 Tính cấp thiết đề tài 1.3 Mục tiêu 1.4 Nội dung 1.5 Cách tiếp cận phương pháp nghiên cứu .8 Chương Cơ sở lý thuyết .9 2.1 Giới thiệu học máy (Machine Learning) 2.1.1 Quy trình xây dựng mơ hình machine learning 10 2.1.2 Các loại học máy 10 2.2 Một số thuật toán Machine Learning 10 2.2.1 Thuật toán Cây định (Decision Trees) 11 2.2.1.1 Thuật toán ID3 12 2.2.1.2 Thuật toán C4.5 16 2.1.1.3.Tiêu chuẩn dừng 17 2.2.2 Thuật toán phân loại Bayes (Naive Bayes) 18 2.2.3 Thuật toán SVM (Support Vector Machine) .21 2.2.4 Thuật toán KNN (K-Near Neighbors) 25 Chương Ứng dụng K-Near Neighbors vào toán dự báo thời tiết 29 3.1 Thuật toán .29 3.1.1 Lý chọn thuật toán K-Near Neighbors 29 3.1.2 Các bước thực thuật toán K-Near Neighbors 29 3.2 Quy trình thực .30 3.2.1 Thu thập dữ liệu 30 3.2.2 Cài đặt thuật toán 31 3.3 Kết 36 Kết luận 40 Kết đạt được 40 Hạn chế 40 Tài liệu tham khảo 41 CHƯƠNG GIỚI THIỆU VỀ ĐỀ TÀI 1.1 Tình hình nghiên cứu ngồi nước 1.1.1 Tình hình nghiên cứu nước Từ hàng năm trước vấn đề thời tiết điều vô quan trọng cấp thiết cá nhân xã hội Các nhà khoa học công nghệ đã đẩy mạnh công tác nghiên cứu công nghệ dự báo thời tiết nhằm khai thác phát huy tiềm cơng nghệ, kỹ thuật có, đào tạo nguồn nhân lực, ứng dụng có hiệu để tạo được những ứng dụng dự báo thời thiết xác Trên giới đã phát minh nhiều ứng dụng dự báo thời tiết Yahoo Weather, AccuWeather, Weather forecast, Dark Sky hay số trang web dự báo thời tiết cập nhật thời điểm, địa điểm rõ ràng 1.1.2 Tình hình nghiên cứu Việt Nam Trong những năm gần đây, với yêu cầu chi tiết thông tin dự báo thời tiết xã hội, Việt Nam đã bước đại hóa theo phương châm có được những cơng nghệ được đầu tư có trọng điểm, chuyên sâu giúp dự báo kịp thời, xác nhiệt độ, nắng, mưa, tốc độ gió,… Bên cạnh đó, nước ta đã chủ động hợp tác với quốc tế để xây dựng nâng cấp hệ thống dự báo để đạt được hiệu tốt phục vụ cho đất nước 1.2 Tính cấp thiết đề tài Trong những năm gần đây, vấn đề thời tiết điều mà quan tâm đến đặc biệt nhà nghiên cứu khí hậu nước ta giới Cũng đã có nhiều sản phẩm cơng nghệ đời để dự báo thời tiết nhiên với đổi công nghệ với những phát triển khoa học cơng nghệ ngày mong muốn nhiều sản phẩm công nghệ đời để giúp dự báo được thơng tin thời tiết xác Trên thực tế, mà không đưa được dự báo có tỷ lệ xác lớn xảy nhiều rủi ro ảnh hưởng đến nhiều lĩnh vực nông nghiệp, nuôi trồng thủy sản, sở hạ tầng đặc biệt sức khỏe người Đứng thực tế đó, cần tìm giải pháp, thiết kế xây dựng mơ hình dự báo thời tiết để đưa thơng tin thời tiết vào cho được kết Với ý nghĩa đó, chúng em lựa chọn đề tài “Xây dựng hệ thống dự báo thời tiết thuật tốn KNN” để tiết kiệm thời gian cơng sức cho người dễ dàng theo dõi thời tiết 1.3 Mục tiêu Mục tiêu cần đạt được gồm: - Có hiểu biết thuật tốn KNN - Hiểu biết thêm AI, ứng dụng của Machine Learning vào đời sống công nghệ đại - Làm quen với ngơn ngữ lập trình Python - Xây dựng được chương trình dự báo thời tiết đơn giản sử dụng thuật toán KNN 1.4 Nội dung Quyển báo cáo gồm chương: Chương 1: Giới thiệu đề tài Giới thiệu chung đề tài, tìm hiểu tình hình ngồi nước vấn đề dự báo thời tiết, tính cấp thiết đề tài, từ đưa mục tiêu phương pháp nghiên cứu đề tài Chương 2: Cơ sở lý thuyết Tìm hiểu thuật tốn học máy bản, từ chọn thuật tốn phù hợp với đề tài thực nghiệm Chương 3: Ứng dụng thuật toán K-Near Neighbors (KNN) vào toán dự báo thời tiết Chương áp dụng thuật toán KNN để giải toán dự báo thời tiết, thu thập dữ liệu thời tiết, xây dựng chương trình đơn giản để xử lý dữ liệu đưa dự đoán thời tiết 1.5 Cách tiếp cận phương pháp nghiên cứu Thu thập dữ liệu: Thu thập dữ liệu thời tiết trang web: https://www.archive.ics.uci.edu Công cụ thực nghiệm: Sử dụng ngôn ngữ Python, sử dụng gói numpy pandas Mơi trường thực nghiệm: Sử dụng IDE Visual Studio Code Phương pháp nghiên cứu: Thu thập, đánh giá, thí nghiệm/ thực nghiệm CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu học máy (Machine Learning) Machine Learning (ML) - máy học cụm từ dùng để khả chương trình máy tính để tăng tính thực thi dựa những kinh nghiêm đã trải qua máy học để khả chương trình phát sinh cấu trúc dữ liệu khác với cấu trúc dữ liệu cũ Máy học tự động quy trình học việc học tương đương với việc xây dựng những luật dựa việc quan sát trạng thái sở dữ liệu những chuyển hoá chúng Đây lĩnh vực rộng lớn không bao gồm việc học từ mẫu, mà học tăng cường, học với “thầy”, Các thuật toán học lấy dữ liệu những thơng tin quen thuộc nhập trả kết câu nói hay câu ví dụ, khái niệm để diễn tả những kết học Máy học kiểm tra những ví dụ trước kiểm tra những kết chúng xuất học làm cách để tái tạo lại những kết tạo nên những tổng quát hóa cho những trường hợp Nói chung, máy học sử dụng tập hữu hạn dữ liệu được gọi tập huấn luyện Tập chứa những mẫu dữ liệu mà được viết mã theo cách để máy đọc hiểu được Tuy nhiên, tập huấn luyện hữu hạn khơng phải tồn dữ liệu được học cách xác Một tiến trình máy học gồm giai đoạn: - Giai đoạn học (learning): hệ thống phân tích dữ liệu nhận mối quan hệ (có thể phi tuyến tuyến tính) giữa đối tượng dữ liệu Kết việc học là: nhóm đối tượng vào lớp, tạo luật, tiên đoán lớp cho đối tượng 10 - Giai đoạn thử nghiệm (testing): Mối quan hệ (các luật, lớp ) được tạo phải được kiểm nghiệm lại số hàm tính tốn thực thi phần tập dữ liệu huấn luyện tập dữ liệu lớn 2.1.1 Quy trình xây dựng mơ hình machine learning Quy trình xây dựng mơ hình machine learning gồm: - Thu thập dữ liệu: Thu thập dữ liệu để mơ hình học - Chuẩn bị dữ liệu: Xử lý đưa dữ liệu định dạng tối ưu, trích chọn đặc trưng giảm chiều dữ liệu - Huấn luyện: Tại pha này, thuật toán machine learning thực việc học thơng qua ví dụ đã được thu thập chuẩn bị từ hai bước - Đánh giá: Kiểm thử mơ hình để đánh giá xem chất lượng mơ hình tốt đến đâu - Tinh chỉnh: Tinh chỉnh mơ hình để tối ưu hiệu 2.1.2 Các loại học máy Có loại học máy bao gồm học có giám sát (supervised learning) học khơng giám sát (unsupervised learning) - Học có giám sát: Trong học có giám sát, máy tính học cách mơ hình hóa mối quan hệ dựa dữ liệu được gán nhãn (labeled data) Sau tìm hiểu cách tốt để mơ hình hóa mối quan hệ cho dữ liệu được gắn nhãn, thuật toán được huấn luyện được sử dụng cho dữ liệu - Học không giám sát: Trong học không giám sát, máy tính khơng được cung cấp dữ liệu được dán nhãn mà thay vào được cung cấp dữ liệu mà thuật tốn tìm cách mơ tả dữ liệu cấu trúc chúng 2.2 Một số thuật toán Machine Learning - Cây định (Decision Trees) - Phân loại bayes