(TIỂU LUẬN) TIỂU LUẬN học PHẦN SEMINAR CHUYÊN đề THUẬT TOÁN máy học PHÂN lớp dữ LIỆU k NEAREST NEIGHBOR (KNN)

38 53 2
(TIỂU LUẬN) TIỂU LUẬN học PHẦN SEMINAR CHUYÊN đề THUẬT TOÁN máy học PHÂN lớp dữ LIỆU k NEAREST NEIGHBOR (KNN)

Đ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

ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC SÀI GỊN KHOA CƠNG NGHỆ THƠNG TIN - - TIỂU LUẬN HỌC PHẦN SEMINAR CHUYÊN ĐỀ THUẬT TOÁN MÁY HỌC PHÂN LỚP DỮ LIỆU K-NEAREST NEIGHBOR (KNN) Sinh viên: Nguyễn Thanh Phúc - 3118410338 Tô Hồng Phúc - 3118410339 Lê Ngô Quyền – 3118410360 GVHD: TS Phan Tấn Quốc Thành phố Hồ Chí Minh, năm 2022 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 Đặt vấn đề .7 Hình Mối quan hệ AI, Machine Learning Deep Learning Mục đích nghiên cứu Phạm vi đối tượng nghiên cứu Nội dung thực Cấu trúc đề tài CHƯƠNG 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 Machine Learning .9 Hình 1.1.2: Ví dụ mơ hình phân lớp 10 1.2 Bài toán phân lớp liệu 11 1.2.1 Quá trình phân lớp liệu 11 CHƯƠNG 2: THUẬT TOÁN K-NEAREST NEIGHBOR 12 2.1 Thuật toán k-nearest neighbor 12 2.1.1 Định nghĩa 12 2.1.2 Quy trình làm việc thuật toán KNN 12 2.1.3 Ví dụ minh họa 13 Hình 2.1.3 ví dụ minh họa thuật tốn KNN 13 2.1.4 Ví dụ Knn nhiễu 14 Hình 2.1.4 Bản đồ minh họa KNN nhiễu với k=1 14 2.1.5 Ưu điểm, nhược điểm thuật toán 14 2.2 Khoảng cách không gian vector 15 2.2.1 Định nghĩa 15 2.2.2 Một số norm thường dùng 15 Hình 2.2.2 Norm norm không gian hai chiều .16 CHƯƠNG 3: THỰC NGHIỆM 17 3.1 Bộ liệu Iris flower dataset 17 3.1.1 Giới thiệu 17 Hình 3.1.1 Hình ảnh minh họa Iris flower dataset 18 3.1.2 Sử dụng tập liệu 18 Hình 3.1.2 Sơ đồ minh họa phân cụm Iris flower datasets 19 3.1.3 Tập liệu 19 Bảng 1: Thơng tin lồi Setosa 19 Bảng 2: Thơng tin lồi Versicolor 21 Bảng 3: Thông tin loài Virginica 22 3.2 Cài đặt 24 3.2.1 Cài đặt python 3.6 24 3.2.2 Thử nghiệm 30 Hình 3.2.2 Mơ hình toán 30 CHƯƠNG 4: KẾT LUẬN 37 TÀI LIỆU THAM KHẢO 38 STT 4 STT DANH MỤC HÌNH ẢNH, Đ STT MỞ ĐẦU Đặt vấn đề Những năm gần đây, AI lên môt chứng cc 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 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 đề tài Mở đầu Chương 1: Cơ sở lý thuyết Chương 2: Thuật toán K-nearest neighbor Chương 3: Thực nghiệm Chương 4: Kết luận Qua đây, nhóm em xin trân trọng cảm ơn tiến sĩ Phan Tấn Quốc đãã̃ hướng dẫn nhóm em q trình thực tiểu 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 tố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 cịn gọi tập huấn luyện) Q trình phân lớp trình gán nhãã̃n cho đối tượng dữ liệu Hình 1.1.2: Ví dụ mơ hình phân lớp Có nhiều tốn phân lớp phân lớp nhị phân, phân lớp đa lớp, phân lớp đa trị Trong phân lớp nhị phân mơt loại phân lớp đặc biệt phân lớp đa lớp Ứng dụng toán phân lớp được sử dụng nhiều rông rãi nhận dạng khuôn mặt, nhận dạng chữ viết, nhận dạng giọng nói, phát thư rác… Regression (hồi quy): Nếu khơng được chia thành nhóm mà môt giá trị thực cụ thể Đầu mơt điểm dữ liệu đầu điểm dữ liệu đã biết Học không giám sát: mơt kĩ thuật máy học nhằm tìm mơt mơ hình hay cấu trúc bị ẩn bơi tập dữ liệu không được gán nhãã̃n cho trước UL khác với SL xác định trước output từ tập dữ liệu huấn luyện được Tùy thuôc vào tập huấn luyện kết output khác Trái ngược với SL, tập dữ liệu huấn luyện UL không người gán nhãã̃n, máy tính phải tự học hồn tồn Có thể nói, học khơng giám sát giá trị đầu phụ thc vào thuật tốn UL Ứng dụng lớn phổ biến học khơng giám sát toán phân cụm Học bán giám sát: Các tốn có mơt số lượng lớn dữ liệu môt phần chúng được dán nhãã̃n Những toán nằm giữa phương thưc học giám sát học khơng giám sát 1.2 Bài tốn phân lớp liệu 1.2.1 Quá trình phân lớp liệu Để xây dựng được mơ hình phân lớp đánh giá hiệu mơ hình cần phải thực trình sau đây: Bước 1: Chuẩn bị tập dữ liệu huấn luyện rút trích đặc trưng Cơng đoạn được xem công đoạn quan trọng tốn ML input cho việc học đẻ tìm mơ hình tốn Chúng ta phải biết cần chọn những đặc trưng tốt dữ liệu, lược bỏ những đặc trưng không tốt dữ liệu, gây nhiễu Ước lượng số chiều dữ liệu tốt hay nói cách khác chọn feature Nếu số nhiều lớn gây khó khăn cho việc tính tốn phải giảm số chiều dữ liệu giữ được xác dữ liệu Ở bước chuẩn bị bô dữ liệu để test mơ hình Thơng thường sử dụng cross-validation (kiểm tra chéo) để chia tập dataset thành hai phàn, môt phần phục vụ cho training phần lại phục vụ cho mục đích testing mơ hình Có hai cách thường sử dụng cross-validation splitting k-fold 10 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 24 Đợợ̣i lúc để hoàn tất việc cài đặt Khi đã cài đặt xong, mở IDLE để chạy thử môt đoạn code sau: 25 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: 26 Cài đặt thư viện matplotlib: Cuối ta cài đặt thư viện sklearn: 27 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 tố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 thc phiên vào thư viện sklearn thc phiên ta cần kiểm tra sau: Kết nhận được: Ngồ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… 28 3.2.2 Thử nghiệm 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 toá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 Iris flower dataset có sẵn thư viện scikit-learn 29 Bước 2: Load dữ liệu thị vài dữ liệu mẫu Các class đượợ̣c gán nhãã̃n 0, 1, 30 Kết nhận được: Nếu nhìn vào vài dữã̃ liệu mẫu, thấy hai cột cuối mang nhiều thông tin giúp phân biệt đượợ̣c chúng Chúng ta dự đốn kết classification cho sở dữã̃ liệu tương đối cao 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: 31 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ự đố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 32 Bước 5: Đánh giá Để đánh giá xác thuật tốn KNN, xem có điểm dữ liệu test được dự đoá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 Kết nhận được: Với K=1 đã cho kết 96% , không tệ! Chú ý sở dữã̃ liệu dễ với dữã̃ liệu hai cột cuối cùng, đãã̃ suy quy luật Trong ví dụ này, tơi sử dụng p = nghĩa khoảng cách đượợ̣c tính khoảng cách theo norm Các bạợ̣n thử cách thay p = cho norm 1, gía trị p khác cho norm khác Nhận thấy xét điểm gầầ̀n dẫn đến kết sai điểm nhiễu Một cách làm tăng độ xác tăng số lượợ̣ng điểm lân cận lên Vậy nên ta thử xét với K=10 kết nào? Class chiếm đa số dự đốn kết class Kỹã̃ thuật dựa vào đa số đượợ̣c gọi major voting 33 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: Kết sau đánh trọng số: 34 Chú ý: Ngoài phương pháp đánh trọng số weights = “uniform” weights = “distance” trên, Thư viện sklearn cung cấp cho cách để đánh trọng số cách tùy chọn Ví dụ, cách đánh trọng số phổ biến khác Machine Learning là: ( −‖x−xi‖2 wi=exp❑2 ) x test data, xi điểm K – nearest neighbor x, w i trọng số điểm (ứng với điểm dữã̃ liệu xét x), σ số dương Nhận thấy hàm số thỏa mãã̃n điều kiện: điểm gầầ̀n x trọng số cao (cao 1) Với hàm số này, lập trình sau: Kết nhận được: Trong trường hợợ̣p này, kết tương đương với kỹã̃ thuật major voting Để đánh giá xác kết KNN với K khác nhau, cách định nghĩa khoảng cách khác cách đánh trọng số khác nhau, cầầ̀n thực trình với nhiều cách chia dữã̃ liệu training test khác lấy kết trung bình, dữã̃ liệu phân chia trường hợợ̣p cụ thể tốt xấu (bias) Đây cách thường đượợ̣c dùng đánh giá hiệu thuật toán cụ thể 35 CHƯƠNG 4: KẾT LUẬN Trong q trình thực đề tài, nhóm em đã cố gắng để tìm hiểu học hỏi khả cịn giới hạn khơng tránh khỏi những sai sót, nên chưa 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ụ thc 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ực hiểu hết toán 36 TÀI LIỆU THAM KHẢO [1] https://machinelearningcoban.com/2017/01/08/knn/ [2] https://en.wikipedia.org/wiki/Iris_flower_data_set [3] https://machinelearningcoban.com/ [4] https://vi.wikipedia.org/wiki/Hoc_máy [5] Vũ Hữu Tiệp, Machine Learning bản, NXB Khoa Học Và Kỹ Thuật, 2018 37 38 ... mơ hình phân lớp 10 1.2 Bài toán phân lớp liệu 11 1.2.1 Quá trình phân lớp liệu 11 CHƯƠNG 2: THUẬT TOÁN K- NEAREST NEIGHBOR 12 2.1 Thuật toán k- nearest neighbor. .. trình phân lớp trình gán nhãã̃n cho đối tượng dữ liệu Hình 1.1.2: Ví dụ mơ hình phân lớp Có nhiều toán phân lớp phân lớp nhị phân, phân lớp đa lớp, phân lớp đa trị Trong phân lớp nhị phân môt... cuối chọn mơ hình phân lớp tốt cho toán 11 CHƯƠNG 2: 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

Ngày đăng: 15/12/2022, 14:56

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

Tài liệu liên quan