Emkính mong nhận được sự thông cảm và những ý kiến đóng góp của quýthầy cô và các bạn.Em xin chân thành cảm ơn!Sinh viên thực hiện Trang 6 LỜI MỞ ĐẦUCông nghệ thông tin là một ngành học
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN (Bold, size 16) TIỂU LUẬN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG Tên đề tài Nghiên cứu thuật toán Knearest neighbor Giảng viên hướng: dẫnBùi Tiến Đức Sinh viên thực hiện: Phan Lâm Vĩnh Hưng MSSV: 2000006365 Khoá: 2020 Ngành/ chuyên ngành: Khoa học liệu Tp HCM, tháng 12 năm 2022 TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN (Bold, size 16) TIỂU LUẬN TÊN HP / ĐỒ ÁN CƠ SỞ/ ĐỒ ÁN CHUYÊN NGÀNH (Bold, size 16) Tên đề tài (Bold, size 18-30, tùy theo số chữ, tên đề tài) Giảng viên hướng dẫn:………………… (Bold, size 14, in hoa) Sinh viên thực : TRẦN THỊ HOA (Bold, size 14, in hoa) MSSV: ………(Bold, in hoa, size 14) Khoá: … (Bold, in hoa, size 14) Ngành/ chuyên ngành: … (Bold, in hoa, size 14) TPHCM, tháng … năm … (Bold, size 13) BM-ChTTRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH TRUNG TÂM KHẢO THÍ KỲ THI KẾT THÚC HỌC PHẦN HỌC KỲ … … NĂM HỌC …… - ….… PHIẾU CHẤM THI TIỂU LUẬN/ĐỒ ÁN Môn thi: Khai phá liệu ứng dụng Lớp học phần:20DTH1D Nhóm sinh viên thực : 1.Phan Lâm Vĩnh Hưng .Tham gia đóng góp:100% Ngày thi: Phòng thi: Đề tài tiểu luận/báo cáo sinh viên : Nghiên cứu thuật toán Knearest neighbor Phần đánh giá giảng viên (căn thang rubrics mơn học): Tiêu chí (theo Điểm tối Đánh giá GV đa CĐR HP) Cấu trúc 1,5 báo cáo Nội dung - Các nội dung thành phần - Lập luận - Kết luận 0.5 Trình bày TỔNG ĐIỂM Điểm đạt 10 Giảng viên chấm thi (ký, ghi rõ họ tên) LỜI CẢM ƠN Lời 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 Tường Đại Học Nguyễn Tất Thành, người truyền đạt dẫn cho chúng em kiến thức, học q báu bổ ích để em hồn thành tiểu luận mơn học Để hồn thành tiểu luận môn học này, đặc biệt em xin bày tỏ tri ân xin chân thành cảm ơn giảng viên Bùi Tiến Đức 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 để hồn thành tiểu luận mơn học 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 cịn hạn hẹp nên khơng tránh khỏi thiếu sót Em kính mong nhận thơng cảm ý kiến đóng góp q thầy bạn Em xin chân thành cảm ơn! Sinh viên thực Phan Lâm Vĩnh Hưng LỜI MỞ ĐẦU Công nghệ thông tin ngành học đào tạo để sử dụng máy tính phần mềm máy tính để phân phối xử lý liệu thông tin, đồng thời dùng để trao đổi, lưu trữ chuyển đổi liệu thơng tin nhiều hình thức khác Sau đào tạo, sinh viên học ngành trang bị kiến thức tảng chuyên sâu lĩnh vực công nghệ thông tin để nâng cao tay nghề nhằm phát triển khả sửa chữa, xây dựng, cài đặt, bảo trì phần cứng máy tính nghiên cứu phát triển ứng dụng phần mềm Ngoài trang bị kiến thức an tồn bảo mật thơng tin mạng, lĩnh vực quan trọng quan tâm hàng đầu giới Hiện nay, Công nghệ thông tin (CNTT) giai đoạn phát triển vũ báo lĩnh vực hoạt động khắp nơi giới.Điều làm cho nghành công nghệ thông tin ngày nhiều người quan tâm đặc biệt giới trẻ nay, tư tưởng thích mới, thích tìm tịi sáng tạo yếu tố quan trọng hấp dẫn bạn trẻ đến nghành nghề Tồn cầu hóa năm 1990 làm xuất khuynh hướng xã hội quan trọng, chuyển trạng thái từ xã hội công nghiệp sang xã hội kiến thức thơng tin giữ vai trò trọng yếu Sự phát triển ứng dụng CNTT ngày báo trước thời kỳ với thay đổi xã hội lớn lao CNTT công nghệ chung xâm nhập vào lĩnh vực kinh tế xã hội Là ngành tổng thể bao gồm nhiều nhánh nhỏ mạng lưới bưu viễn thông, truyền thông đa phương tiện, internet , khẳng định Việt Nam xây dựng cấu hạ tầng có đồng bộ, đầy đủ hệ thống ngành công nghệ thông tin Ở kể tới dấu mốc đáng nhớ phát triển ngành CNTT vào năm 1997, nước ta Document continues below Discover more IT - Công nghệ from: phần mềm Đại học Tôn Đức… 261 documents Go to course Quan ly DE TAI dadadad IT - Công nghệ phầ… 100% (2) Python rat la co ban 92 - Vo Duy Tuan IT - Công nghệ phầ… 100% (2) Đề - 1111111111 30 IT - Công nghệ phầ… 100% (1) Các hình thức bước nhảy IT - Cơng nghệ phầ… 100% (1) Bai Do Xe Thong 37 Minh IT - Công nghệ phầ… 100% (1) Iot - normal IT - Công nghệ phầ… 100% (1) biến “giấc mơ Internet” thành thực việc19tham gia kết nối vào mạng tồn cầu tính thời điểm này, Việt nam trở thành quốc gia có tỷ lệ tăng trưởng Internet nhanh khu vực nằm số quốc gia có tỷ lệ tăng trưởng cao giới MỤC LỤC CHƯƠNG I: GIỚI THIỆU 1.Đặt vấn đề 2.Mục đích nghiên cứu 3.Phạm vi đối tượng nghiên cứu .9 CHƯƠNG II CƠ SỞ LÝ THUYẾT 1.Khai phá liệu (Data Mining) gì? 2.Quy trình khai phá liệu 10 3.Machine Learning .11 CHƯƠNG III: THUẬT TOÁN KNEAREST NEIGHBOR .14 1.Thuật toán knearest neighbor 14 2.Mô tả giải thuật 15 3.Bài làm chi tiết 17 4.Dữ liệu mẫu 21 KẾT LUẬN .26 TÀI LIỆU THAM KHẢO 27 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 Thông thường sử dụng crossvalidation (kiểm tra chéo) để chia tập dataset thành hai phàn, 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 crossvalidation splitting kfold o Bước 2: Xây dựng mơ hình phân lớp Mục đích mơ hình huấn luyện tìm hàm F(x) thơng qua hàm f tìm để gán nhãn cho liệu Bước thường gọi học hay training F(x)= y Trong đó: x feature hay input đầu vào liệu Y nhãn dán lớp hay output đầu Thông thường để xây dựng mơ hình phân lớp cho tốn sử dụng thuật toán học giám sát Bayers o Bước 3: Kiểm tra liệu với mô hình KNN, NN, SVM, Decision tree, Navie Sau tìm mơ hình phân lớp bước hai, bước đưa vào liệu đẻ kiểm tra mơ hình phân lớp o Bước 4: Đánh giá mơ hình phân lớp chọn mơ hình tốt Bước cuối đánh giá mơ hình cách đánh giá mức độ lỗi liệu testing liệu training thông qua mơ hình tìm Nếu khơng đạt kết mong muốn phải thay đổi tham số thuật tốn học để tìm mơ hình tốt kiểm tra, đánh giá lại mơ hình phân lớp cuối chọn mơ hình phân lớp tốt cho tốn CHƯƠNG III: THUẬT TOÁN KNEAREST NEIGHBOR Thuật toán knearest neighbor Định nghĩa 16 Knearest neighbor (KNN) thuật tốn học có giám sát đơn giản Machine Learning Ý tưởng KNN tìm output kiệu dựa thơng tin liệu training gần Quy trình làm việc thuật toán KNN o Bước 1: xác định tham số K= số láng giềng gần o Bước 2: tính khoảng cách đối tượng cần phân lớp với tất đối tượng ttraining data o Bước 3: xếp khoảng cách theo láng giềng gần với đối tượng cần phân lớptự tăng dần xác định K láng o Bước 4: lấy tất lớp K láng giềng gần o Bước 5: dựa vào phần lớn lớp K để xác định lớp cho đối tượng cần phân lớp Mô tả giải thuật Ví dụ minh họa Hình ví dụ minh họa thuật toán KNN Giả sử toán đặt ra: quen người bạn, nhiên fan UsUk nên cần biết người bạn có phải fan KPop hay khơng Qua thời gian tìm hiểu thu thập số liệu biểu dạng hình vẽ 17 Ta dễ dàng nhìn thấy có hai loại: hình vng màu xanh biểu diễn cho người fan Kpop, tam giác màu đỏ biểu diễn cho người không fan Kpop, hình trịn màu xanh người bạn muốn biết có phải fan Kpop hay khơng, khoảng cách chấm tròn điểm lại biểu diễn độ thân thiết bạn với người bạn Phương pháp đơn giản để kiểm tra xem bạn chơi thân với người bạn nhất, tức tìm xem điểm gần chấm xanh thuộc class (hình vng hay tam giác) Từ hình ta dễ dàng nhận thấy điểm gần chấm xanh hình tam giác màu đỏ, phân vào lớp tam giác màu đỏ Có vấn đề phương pháp trên, xung quanh cấm xanh xuất nhiều hình vng màu xanh nên việc xét điểm gần chưa khả thi Vì vậy, ta xét k điểm gần Giả sử, ta lấy K=3, dựa theo hình ta dễ dàng nhận có hai hình tam giác đỏ hình vng xanh có khoảng cách gần chấm xanh nhất, chấm xanh phân vào lớp tam giác đỏ Lấy K=7, ta có năm hình vng xanh hai hình tam giác đỏ, lúc chấm xanh xếp vào lớp hình vuông xanh Trường hợp lấy K=4, ta nhận thấy có hai hình vng xanh hai hình tam giác đỏ, trường hợp có điểm nhau, với trường hợp KNN xử lý cách so sánh tổng khoảng cách hình gần với điểm ta xét Do xuất trường hợp có điểm nhau, người ta thường chọn k số lẻ Đó ý tưởng KNN Cơng thức(model) 18 Hình Cơng thức thuật tốn Ưu điểm, nhược điểm thuật toán Ưu điểm: - Dễ sử dụng cài đặt - Việc dự đoán kết liệu dễ dàng - Độ phức tạp tính tốn nhỏ Nhược điểm: - KNN nhiễu dễ đưa kết khơng xác k nhỏ Cần thời gian lưu training set, liệu training test tăng lên nhiều nhiều thời gian tính tốn Bài làm chi tiết Bộ liệu Iris flower dataset Tập liệu hoa Iris tập liệu Iris Fisher tập liệu đa biến giới thiệu nhà thống kê nhà sinh vật học người Anh Ronald Fisher báo năm 1936 Việc sử dụng nhiều phép đo vấn đề phân loại ví dụ phân tích phân biệt tuyến tính Đơi gọi tập liệu Iris Anderson Edgar Anderson thu thập liệu để định lượng biến đổi hình thái hoa Iris ba 19 loài liên quan Hai số ba loài thu thập Bán đảo Gaspé "tất từ đồng cỏ, chọn vào ngày đo lúc người với máy" Bộ liệu bao gồm 50 mẫu từ ba loài Iris (Iris setosa, Iris virginica Iris Verscolor) Bốn đặc điểm đo từ mẫu: chiều dài chiều rộng đài hoa, chiều dài chiều rộng cánh hoa, tính centimet Dựa kết hợp bốn tính này, Fisher phát triển mơ hình phân biệt tuyến tính để phân biệt lồi với Hình Hình ảnh minh họa Iris flower dataset Sử dụng tập liệu Dựa mơ hình phân biệt tuyến tính Fisher, liệu trở thành trường hợp thử nghiệm điển hình cho nhiều kỹ thuật phân loại thống kê học máy máy vector hỗ trợ Tuy nhiên, việc sử dụng tập liệu phân tích cụm khơng phổ biến, tập liệu chứa hai cụm có phân tách rõ ràng Một cụm chứa Iris setosa, cụm lại chứa Iris virginica Iris Versolor khơng thể tách rời khơng có thơng tin loài mà Fisher sử dụng Điều làm cho liệu trở thành ví dụ tốt để giải thích khác biệt kỹ thuật giám sát không giám sát khai thác liệu: Mơ hình phân biệt tuyến tính Fisher thu biết lồi đối tượng: nhãn lớp cụm không thiết giống 20 Tuy nhiên, ba lồi Iris tách rời hình chiếu thành phần phân nhánh phi tuyến Tập liệu xấp xỉ gần với số hình phạt cho số lượng nút, uốn cong kéo dài mức Các điểm liệu chiếu vào nút gần Đối với nút, sơ đồ hình trịn điểm chiếu chuẩn bị Diện tích bánh tỷ lệ thuận với số lượng điểm chiếu Rõ ràng từ sơ đồ (bên dưới) phần lớn tuyệt đối mẫu loài Iris khác thuộc nút khác Chỉ phần nhỏ Iris virginica trộn với IrisVersolor (các nút màu xanh lam hỗn hợp sơ đồ) Do đó, ba lồi Iris (Iris setosa, Iris virginica Iris Verscolor) phân tách thủ tục không giám sát phân tích thành phần phi tuyến Để phân biệt chúng, cần chọn nút tương ứng Hình Sơ đồ minh họa phân cụm Iris flower datasets Thử nghiệm Trong phần này, tách 150 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 liệu test set tương ứng với loại hoa Dữ liệu chuẩn đoán đối chiếu với loại hoa thật liệu test set để đánh giá hiệu KNN 21 o Bước 1: Khai báo thư viện cần thiết Hình Khai báo thư viện o Bước 2: Load liệu thị vài liệu mẫu Load liệu 22 Hình Kết o Bước 3: Tách training set test set: Giả sử muốn dùng 50 điểm liệu cho test set 100 điểm lại cho training set Thư viện sklearn có hàm số cho phép ngẫu nhiên lựa chọn: Hình 10 Tách training set test set o Bước 4: KNN dự đoán Xét trường hớp K=1, tức với điểm liệu test ta xét điểm liệu training gần lấy nhãn điểm để dự đốn cho điểm liệu test 23 Hình 11 Ví dụ code Hình 12 Kết Kết cho thấy nhãn dự đoán gần giống với label thật liệu test, có số 20 điểm hiển thị có kết sai lệch o Bước 5: Đánh giá Để đánh giá độ xác thuật tốn KNN, xem có điểm liệu test dự đoán Lấy số lượng chia cho tổng số lượng tập 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 Đánh giá kết Dữ liệu mẫu Tập liệu Bộ liệu chứa liệu ghi bao gồm thuộc tính – chiều dài chiều rộng đài hoa, chiều dài chiều rộng cánh hoa Bảng 1: Thông tin loài Setosa Thứ tự Chiều dài đài hoa 5.1 Chiều rộng đài hoa 3.5 Chiều dài cánh hoa Chiều rộng cánh hoa 1.4 0.2 24 4.9 3.0 1.4 0.2 4.7 3.2 1.3 0.2 4.6 3.1 1.5 0.2 5.0 3.6 1.4 0.3 5.4 3.9 1.7 0.4 4.6 3.4 1.4 0.3 5.0 3.4 1.5 0.2 4.4 2.9 1.4 0.2 10 4.9 3.1 1.5 0.1 11 5.4 3.7 1.5 0.2 12 4.8 3.4 1.6 0.2 13 4.8 3.0 1.4 0.1 14 4.3 3.0 1.1 0.1 15 5.8 4.0 1.2 0.2 16 5.7 4.4 1.5 0.4 17 5.4 3.9 1.3 0.4 18 5.1 3.5 1.4 0.3 19 5.7 3.8 1.7 0.3 20 5.1 3.8 1.5 0.3 21 5.4 3.4 1.7 0.2 22 5.1 3.7 1.5 0.4 23 4.6 3.6 1.0 0.2 24 5.1 3.3 1.7 0.5 25 4.8 3.4 1.9 0.2 26 5.0 3.0 1.6 0.2 27 5.0 3.4 1.6 0.4 28 5.2 3.5 1.5 0.2 29 5.2 3.4 1.4 0.2 30 4.7 3.2 1.6 0.2 31 4.8 3.1 1.6 0.2 32 5.4 3.4 1.5 0.4 33 5.2 4.1 1.5 0.1 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 25 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 Chiều dài cánh hoa Chiều rộng cánh hoa Bảng 2: Thơng tin lồi Versicolor Thứ tự Chiều dài đài hoa Chiều rộng đài 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 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 26 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 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 cánh hoa dài Chiều rộng cánh hoa 6.3 3.3 6.0 2.5 5.8 2.7 5.1 1.9 27 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 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 28 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 KẾT LUẬN Trong trình thực tiểu luận môn học, 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 sai sót, nên chưa giải tất vấn đề, đặt Em mong nhận 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ừ làm được, từ hiểu biết thêm AI, ứng dụng - Làm quen ngôn ngữ lập trình Python của ML vào đời sống cơng nghệ đại Những hạn chế: - Thuật tốn phụ thuộ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 TÀI LIỆU THAM KHẢO https://machinelearningcoban.com/2017/01/08/knn/ 29 https://machinelearningcoban.com/ Vũ Hữu Tiệp, Machine Learning bản, NXB Khoa Học Và Kỹ Thuật, 2018 Dương Tuấn Anh, Nguyễn Trung Trực, Hệ sở liệu( Tái lần thứ 3), Đại học Quốc gia Tp Hồ Chí Minh Trần Minh Quang, Khai phá liệu kỹ thuật phân lớp, Đại học Quốc Gia Tp Hồ Chí Minh – Trường Đại học Bách Khoa 30