Nghiên cứu thuật toán k nearest neighbor và sử dụng iris flowers dataset đánh giá hiệu quả thuật toán

37 534 0
Nghiên cứu thuật toán k nearest neighbor và sử dụng iris flowers dataset đánh giá hiệu quả thuật toán

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LỜI CAM ĐOAN Em xin cam đoan: Khóa luận văn đồ án tốt nghiệp với đề tài “Nghiên cứu thuật toán K-nearest neighbor sử dụng iris flowers dataset đánh giá hiệu thuật toán” kết nghiên cứu, tìm hiểu thân em từ những kiến thức đã được thầy, cô Viện Kỹ thuật Công nghệ truyền dạy những năm qua một số nguồn tài liệu khác liên quan Em xin chịu trách nhiệm khóa luận văn mình! Nghệ An, ngày 01 tháng 05 năm 2019 Sinh viên thực Phan Thị Phượng MỤC LỤC DANH MỤC TỪ VIẾT TẮT STT Từ viết tắt Ý nghĩa AI Artificial Intelligence ML Machine learning SVM Support Vector Machine KNN K- nearest neighbor DANH MỤC BẢNG BIỂU STT Tên bảng Nội dung Bảng Thông tin lồi hoa Setosa Bảng Thơng tin lồi hoa Versicolor Bảng Thơng tin lồi hoa virginica DANH MỤC HÌNH ẢNH, ĐỒ THỊ STT Tên hình ảnh, đồ thị Nợi dung Hình Mối quan hệ giữa AI, Machine Learning Deep Learning Hình 1.1.2 Ví dụ mơ hình phân lớp Hình 2.1.3 Ví dụ minh họa thuật tốn KNN Hình 2.1.4 Bản đồ minh họa knn nhiễu với k=1 Hình 2.2.2 Norm norm không gian hai chiều Hình 3.1.1 Hình ảnh minh họa Iris flower dataset Hình 3.1.2 Sơ đồ minh họa phân cụm Iris flower datasets Hình 3.2.2 Mơ hình toán LỜI CẢM ƠN Lời đầu tiên cho phép em gửi lời cảm ơn sâu sắc tới toàn thể thầy cô giáo Viện Kỹ thuật Công nghệ – Trường Đại học Vinh, những người đã truyền đạt dẫn cho chúng em những kiến thức, những học quý báu bổ ích suốt năm học vừa qua Để hoàn thành được đồ án này, đặc biệt em xin được bày tỏ tri ân xin chân thành cảm ơn giảng viên ThS Nguyễn Bùi Hậu người trực tiếp hướng dẫn, bảo em suốt trình học tập nghiên cứu để hoàn thành đồ án Sau nữa, em xin gửi tình cảm sâu sắc tới gia đình bạn bè đã ln bên cạnh khuyến khích, đợng viên, giúp đỡ vật chất lẫn tinh thần em suốt trình học tập để em hồn thành tốt cơng việc Trong trình nghiên cứu làm báo cáo lực, kiến thức, trình đợ thân hạn hẹp nên khơng tránh khỏi những thiếu sót Em kính mong nhận được thơng cảm những ý kiến đóng góp q thầy bạn Em xin chân thành cảm ơn! Nghệ An, ngày 01 tháng 05 năm 2019 Sinh viên thực Phan Thị Phượng MỞ ĐẦU Đặt vấn đề Những năm gần đây, AI lên một chứng cuộc cách mạng cơng nghiệp lần thứ tư Trí tuệ nhân tạo được định nghĩa một nghành khoa học máy tính liên quan đến việc tự đợng hóa hành vi thơng minh Trí tuệ nhân tạo mợt bợ phận khoa học máy tính phải được đặt những nguyên lý lý thuyết vững chắc, có khả ứng dụng được lĩnh vực Ở thời điểm tại, thuật ngữ thường dùng để nói đến máy tính có mục đích khơng định ngành khoa học nghiên cứu lý thuyết ứng dụng trí tuệ nhân tạo Theo đà phát triển cơng nghệ, ứng dụng trí tuệ nhân tạo ln 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 ML (Machine Learning) một lĩnh vực trí tuệ nhân tạo, được sinh từ khả nhận diện mẫu từ lý thuyết máy tính học mà khơng cần phải lập trình để xử lý nhiệm vụ cụ thể 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…, một vài vơ vàn những ứng dụng trí tuệ nhân tạo cụ thể ML Hình Mối quan hệ AI, Machine Learning Deep Learning Xu hướng phát triển công nghệ thông tin ngày tăng, song song với lượng dữ liệu được sinh ngày mợt lớn Vì nhu cầu để xử lý dữ liệu lớn hơn, ML góp phần giải vấn đề Mợt những thuật tốn thường dùng ML thuật tốn K- nearest neighbor Ứng dụng thuật toán được sử dụng nhiều rợng rãi tốn phân lớp Mục đích nghiên cứu  Nghiên cứu, tìm hiểu thuật toán KNN  Đánh giá hiệu thuật toán Phạm vi đối tượng nghiên cứu  Phạm vi nghiên cứu: Thử nghiệm Iris flower dataset  Đối tượng nghiên cứu: Thuật tốn KNN bợ Iris flower dataset Nội dung thực  Tìm hiểu thuật tốn KNN  Làm quen với bợ dữ liệu Iris  Sử dụng bộ dữ liệu vào thử nghiệm đánh giá Cấu trúc đồ án      Mở đầu Chương 1: Cơ sở lý thuyết Chương 2: Thuật toán K-nearest neighbor Chương 3: Thử nghiệm Chương 4: Kết luận CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Machine Learning 1.1.1.Định nghĩa  Là mợt lĩnh vực trí tuệ nhân tạo liên qua đến việc nghiên cứu xây dựng kĩ thuật cho phép hệ thống học tự động từ dữ liệu để giải vấn đề cụ thể Ví dụ máy học cách phân loại thư điện tử có phải thư rác hay khơng tự động xếp vào thư mục tương ứng  Machine Learning có liên quan đến thống kê hai lĩnh vực nghiên cứu việc phân tích dữ liệu, khác với thống kê, học máy tập trung vào phức tạp giải thuật việc thực thi tính tốn  Machine Learning có được áp dụng rộng rãi bao gồm máy truy tìm dữ liệu, máy phân tích thị trường chứng khốn, nhận dạng tiếng nói chữ viết… 1.1.2.Một số phương thức Machine Learning  Học có giám sát: Thuật tốn dự đốn đầu mợt dữ liệu (new input) dựa cặp (input, outcome) đã biết từ trước Cặp dữ liệu được gọi (data, label), tức (dữ liệu, nhãn) Supervised learning nhóm phổ biến thuật toán Machine Learning Học có giám sát được chia thành hai loại chính: -Classification (phân lớp): Là q trình phân lớp mợt đối tượng dữ liệu vào một hay nhiều lớp đã cho trước nhờ mợt mơ hình phân lớp (model) Mơ hình được xây dựng dựa một tập dữ liệu được xây dựng trước có gán nhãn (hay gọi tập huấn luyện) Quá trình phân lớp trình gán nhãn cho đối tượng dữ liệu 10 34 5.5 4.2 1.4 0.2 35 4.9 3.1 1.5 0.2 36 5.0 3.2 1.2 0.2 37 5.5 3.5 1.3 0.2 38 4.9 3.6 1.4 0.1 39 4.4 3.0 1.3 0.2 40 5.1 3.4 1.5 0.2 41 5.0 3.5 1.3 0.3 42 4.5 2.3 1.3 0.3 43 4.4 3.2 1.3 0.2 44 5.0 3.5 1.6 0.6 45 5.1 3.8 1.9 0.4 46 4.8 3.0 1.4 0.3 47 5.1 3.8 1.6 0.2 48 4.6 3.2 1.4 0.2 49 5.3 3.7 1.5 0.2 50 5.0 3.3 1.4 0.2 Bảng 2: Thơng tin lồi Versicolor Thứ tự Chiều dài đài hoa Chiều rộng đài Chiều dài Chiều rộng hoa cánh hoa cánh hoa 7.0 3.2 4.7 1.4 6.4 3.2 4.5 1.5 6.9 3.1 4.9 1.5 5.5 2.3 4.0 1.3 6.5 2.8 4.6 1.5 5.7 2.8 4.5 1.3 6.3 3.3 4.7 1.6 4.9 2.4 3.3 1.0 6.6 2.9 4.6 1.3 10 5.2 2.7 3.9 1.4 11 5.0 2.0 3.5 1.0 23 12 5.9 3.0 4.2 1.5 13 6.0 2.2 4.0 1.0 14 6.1 2.9 4.7 1.4 15 5.6 2.9 3.6 1.3 16 6.7 3.1 4.4 1.4 17 5.6 3.0 4.5 1.5 18 5.8 2.7 4.1 1.0 19 6.2 2.2 4.5 1.5 20 5.6 2.5 3.9 1.1 21 5.9 3.2 4.8 1.8 22 6.1 2.8 4.0 1.3 23 6.3 2.5 4.9 1.5 24 6.1 2.8 4.7 1.2 25 6.4 2.9 4.3 1.3 26 6.6 3.0 4.4 1.4 27 6.8 2.8 4.8 1.4 28 6.7 3.0 5.0 1.7 29 6.0 2.9 4.5 1.5 30 5.7 2.6 3.5 1.0 31 5.5 2.4 3.8 1.1 32 5.5 2.4 3.7 1.0 33 5.8 2.7 3.9 1.2 34 6.0 2.7 5.1 1.6 35 5.4 3.0 4.5 1.5 36 6.0 3.4 4.5 1.6 37 6.7 3.1 4.7 1.5 38 6.3 2.3 4.4 1.3 39 5.6 3.0 4.1 1.3 40 5.5 2.5 4.0 1.3 41 5.5 2.6 4.4 1.2 42 6.1 3.0 4.6 1.4 43 5.8 2.6 4.0 1.2 24 44 5.0 2.3 3.3 1.0 45 5.6 2.7 4.2 1.3 46 5.7 3.0 4.2 1.2 47 5.7 2.9 4.2 1.3 48 6.2 2.9 4.3 1.3 49 5.1 2.5 3.0 1.1 50 5.7 2.8 4.1 1.3 Bảng 3: Thơng tin lồi Virginica Thứ tự Chiều dài đài hoa Chiều rộng đài hoa Chiều dài cánh Chiều rộng hoa cánh hoa 6.3 3.3 6.0 2.5 5.8 2.7 5.1 1.9 7.1 3.0 5.9 2.1 6.3 2.9 5.6 1.8 6.5 3.0 5.8 2.2 7.6 3.0 6.6 2.1 4.9 2.5 4.5 1.7 7.3 2.9 6.3 1.8 6.7 2.5 5.8 1.8 10 7.2 3.6 6.1 2.5 11 6.5 3.2 5.1 2.0 12 6.4 2.7 5.3 1.9 13 6.8 3.0 5.5 2.1 14 5.7 2.5 5.0 2.0 15 5.8 2.8 5.1 2.4 16 6.4 3.2 5.3 2.3 17 6.5 3.0 5.5 1.8 18 7.7 3.8 6.7 2.2 25 19 7.7 2.6 6.9 2.3 20 6.0 2.2 5.0 1.5 21 6.9 3.2 5.7 2.3 22 5.6 2.8 4.9 2.0 23 7.7 2.8 6.7 2.0 24 6.3 2.7 4.9 1.8 25 6.7 3.3 5.7 2.1 26 7.2 3.2 6.0 1.8 27 6.2 2.8 4.8 1.8 28 6.1 3.0 4.9 1.8 29 6.4 2.8 5.6 2.1 30 7.2 3.0 5.8 1.6 31 7.4 2.8 6.1 1.9 32 7.9 3.8 6.4 2.0 33 6.4 2.8 5.6 2.2 34 6.3 2.8 5.1 1.5 35 6.1 2.6 5.6 1.4 36 7.7 3.0 6.1 2.3 37 6.3 3.4 5.6 2.4 38 6.4 3.1 5.5 1.8 39 6.0 3.0 4.8 1.8 40 6.9 3.1 5.4 2.1 41 6.7 3.1 5.6 2.4 42 6.9 3.1 5.1 2.3 43 5.8 2.7 5.1 1.9 44 6.8 3.2 5.9 2.3 45 6.7 3.3 5.7 2.5 46 6.7 3.0 5.2 2.3 47 6.3 2.5 5.0 1.9 48 6.5 3.0 5.2 2.0 49 6.2 3.4 5.4 2.3 50 5.9 3.0 5.1 1.8 26 3.2 Cài đặt 3.2.1 Cài đặt python 3.6 Tải python tại đây: https://www.python.org/downloads/ Xuất trang hình dưới: Nhấp cḥt vào dowload chọn window Lúc xuất trang có chứa phiên Python, cài đặt Python 3.6 nên ta tìm phiên 3.6 tải Ví dụ hình tơi chọn phiên 3.6.2 27 Khi tải hoàn tất ta bắt đầu tiến hành cài đặt: Nhấp đúp vào tệp vừa tải đẻ cài đặt Tại có hai lựa chọn: - Install now: Mặc định cài python vào ổ C, cài sẵn IDLE, pip tài liệu… Customize installation: cho phép chọn cài đặt tính cần thiết Khi đã cài đặt xong, mở IDLE để chạy thử một đoạn code sau: 28 Ok Như đã hoàn thành xong việc cài đặt python, việc lại cài đặt những thư viện cần thiết để hỗ trợ cho toán Ở đây, toán cần thư viện sau: numpy, matplotlib, sklearn Sử dụng cmd để cài đặt: - Nếu pip bạn chưa có sẵn gói ta phải cài đặt cho nó, ta thực sau: - Sau cài đặt thành công gói pip ta tiếp tục cài đặt thư viện numpy: 29 - Cài đặt thư viện matplotlib: - Cuối ta cài đặt thư viện sklearn: 30 Như đã hoàn thành cài đặt thư viện hỗ trợ cho python tốn Mợt điều lưu ý đây, thư viện sklearn có chứa bợ dữ liệu Iris flower dataset nên cần sử dụng bộ dữ liệu ta không cần phải dowload nữa Tìm hiểu mợt chút thư viện Sklearn: Sklearn thư viện phổ biến python Nó viết sẵn thuật toán phức tạp, bạn cần nhét dữ liệu vào chờ tính tốn lấy kết Ví dụ muốn tìm hiểu xem python dùng thuộc phiên vào thư viện sklearn thuộc phiên ta cần kiểm tra sau: Kết nhận được: Ngoài thư viện sklearn có sẵn bợ dữ liệu thường được dùng nghiên cứu: iris, files, digits, boston, same_images… 3.2.2 Thử nghiệm 31 Dữ liệu Training set K-nearest neighbor Test set Tập dự đốn Hình 3.2.2 Mơ hình tốn Trong phần này, tách 150 dữ liệu Iris flower dataset thành hai phần, gọi training set test set Thuật tốn dựa vào thơng tin training set để dự đoán xem dữ liệu test set tương ứng với loại hoa Dữ liệu được chuẩn đoán được đối chiếu với loại hoa thật dữ liệu test set để đánh giá hiệu KNN - Bước 1: Khai báo thư viện cần thiết - Bước 2: Load dữ liệu thị vài dữ liệu mẫu 32 Kết nhận được: Bước 3: Tách training set test set: Giả sử muốn dùng 50 điểm dữ liệu cho test set 100 điểm lại cho training set Thư viện sklearn có mợt hàm số cho phép ngẫu nhiên lựa chọn: - 33 Kết nhận được: - Bước 4: KNN dự đoán Xét trường hớp K=1, tức với điểm dữ liệu test ta xét điểm dữ liệu training gần lấy nhãn điểm để dự đoán cho điểm dữ liệu test Kết nhận được: Kết cho thấy nhãn dự đoán gần giống với label thật dữ liệu test, có số 20 điểm được hiển thị có kết sai lệch - Bước 5: Đánh giá Để đánh giá đợ xác thuật tốn KNN, xem có điểm dữ liệu test được dự đốn Lấy số lượng chia cho tổng số lượng tập dữ liệu test đợ xác Thư viện sklearn cung cấp cho ta hàm số accuracy_score để thực công việc 34 Kết nhận được: Với K=1 đã cho kết 96% Nhận thấy xét điểm gần dẫn đến kết sai điểm nhiễu Vậy nên ta thử xét với K=9 kết nào? Kết nhận được: Kết đã tăng lên 98% Như đã giải được toán đặt với kết thu được gần hoàn hảo Trong kỹ thuật majoring voting trên, điểm gần được xem có vai trò giá trị phiếu Xét thực tế điều khơng đúng, rõ ràng những điểm gần phải có trọng số cao Vậy nên ta đánh trọng số khác cho điểm xét phải thỏa mãn điều kiện điểm gần test data phải có trọng số cao Với giá trị mặc định weights=” uniform” tương ứng với điểm lân cận có giá trị nhau, ta gán giá trị weights=” distance” lúc điểm gần với test data có trọng số cao hơn: 35 Kết sau đánh trọng số: Kết nhận được không thay đổi! CHƯƠNG 4: KẾT LUẬN Trong trình thực đồ án tốt nghiệp, em đã cố gắng để tìm hiểu học hỏi khả giới hạn khơng tránh khỏi những sai sót, nên có theerchuwa giải được tất những vấn đề, đặt Em mong nhận được thông cảm quý thầy cô bạn Em xin chân thành cảm ơn Những kết đạt được: - Sự hiểu biết thuật toán KNN tương đối tốt - Làm quen với Iris flower dataset - Từ những đã làm được, từ hiểu biết thêm AI, ứng dụng của ML vào đời sống công nghệ đại - Làm quen ngơn ngữ lập trình Python Những hạn chế: - Thuật tốn phụ tḥc nhiều vào hệ số K - Kết đưa có thay đổi (vì điểm xét lấy ngẫu nhiên) - Chưa thự hiểu hết toán 36 TÀI LIỆU THAM KHẢO [1] [2] [3] [4] [5] https://machinelearningcoban.com/2017/01/08/knn/ https://en.wikipedia.org/wiki/Iris_flower_data_set https://machinelearningcoban.com/ https://vi.wikipedia.org/wiki/Hoc_máy Vũ Hữu Tiệp, Machine Learning bản, NXB Khoa Học Và Kỹ Thuật, 2018 37 ... những thuật tốn thường dùng ML thuật tốn K- nearest neighbor Ứng dụng thuật tốn được sử dụng nhiều rợng rãi tốn phân lớp Mục đích nghiên cứu  Nghiên cứu, tìm hiểu thuật tốn KNN  Đánh giá hiệu. .. hiệu thuật toán Phạm vi đối tượng nghiên cứu  Phạm vi nghiên cứu: Thử nghiệm Iris flower dataset  Đối tượng nghiên cứu: Thuật tốn KNN bợ Iris flower dataset Nội dung thực  Tìm hiểu thuật. .. TỐN K- NEAREST NEIGHBOR 2.1 Thuật tốn k- nearest neighbor 2.1.1 Định nghĩa K- nearest neighbor (KNN) một những thuật tốn học có giám sát đơn giản Machine Learning Ý tưởng KNN tìm output dữ kiệu

Ngày đăng: 21/07/2019, 15:17

Từ khóa liên quan

Mục lục

  • DANH MỤC TỪ VIẾT TẮT

  • DANH MỤC BẢNG BIỂU

  • DANH MỤC HÌNH ẢNH, ĐỒ THỊ

  • MỞ ĐẦU

    • 1. Đặt vấn đề

    • 2. Mục đích nghiên cứu

    • 3. Phạm vi và đối tượng nghiên cứu

    • 4. Nội dung thực hiện

    • 5. Cấu trúc đồ án

    • CHƯƠNG 1. CƠ SỞ LÝ THUYẾT

      • 1.1. Machine Learning

        • 1.1.1. Định nghĩa

        • 1.1.2. Một số phương thức của Machine Learning

        • 1.2. Bài toán phân lớp dữ liệu

          • 1.2.1. Quá trình phân lớp dữ liệu

          • CHƯƠNG 2: THUẬT TOÁN K-NEAREST NEIGHBOR

            • 2.1. Thuật toán k-nearest neighbor

              • 2.1.1. Định nghĩa

              • 2.1.2. Quy trình làm việc của thuật toán KNN

              • 2.1.3. Ví dụ minh họa

              • 2.1.4. Ví dụ về Knn nhiễu

              • 2.1.5. Ưu điểm, nhược điểm của thuật toán

              • 2.2. Khoảng cách trong không gian vector

                • 2.2.1. Định nghĩa

                • 2.2.2. Một số norm thường dùng

                • CHƯƠNG 3: THỬ NGHIỆM

                  • 3.1. Bộ dữ liệu Iris flower dataset

                    • 3.1.1. Giới thiệu

                    • 3.1.2. Sử dụng tập dữ liệu

Tài liệu cùng người dùng

Tài liệu liên quan