Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
0,98 MB
Nội dung
TRƯỜNG ĐẠI HỌC SÀI GỊN KHOA CƠNG NGHỆ THƠNG TIN TIỂU LUẬN HỌC PHẦN KHAI PHÁ DỮ LIỆU TÊN ĐỀ TÀI: TÌM HIỂU VỀ THUẬT TỐN KNN: K-NEAREST NEIGHBOR CLASSIFICATION VÀ ỨNG DỤNG VÀO XỬ LÍ ẢNH Họ tên thành viên nhóm: LÊ THANH HUY -3118410149 GIÁO VIÊN HƯỚNG DẪN: TS.ĐINH THỊ THU HƯƠNG TP Hồ Chí Minh, ngày tháng năm 2022 Phân công Stt Thành viên Nhiệm vụ Lê Thanh Khảo sát, Huy thiết kế, viết báo cáo Khảo sát, Phân tích Tỷ lệ 60% 40% Mục lục PHẦN 1: TỔNG QUAN 1.1.Lý chọn đề tài: 1.2.Lịch sử nghiên cứu: 1.2.1 Dự đoán tuổi bào ngư: 1.2.2 Sử dụng thuật toán KNN để xác định người nhận chương trình học bổng Smart Indonesia: PHẦN 2: CƠ SỞ LÝ THUYẾT 2.1 Khai phá liệu gì: 2.2 Các giai đoạn khai phá liệu: .6 2.3 Các toán khai phá liệu bản: 2.3.1.Bài toán khai thác tập phổ biến: 2.3.2 Phân lớp Dự báo : 2.4.Thuật toán K-NEAREST NEIGHBOR CLASSIFICATION: .8 2.4.1.Ý tưởng: .8 2.4.2.Lưu đồ giải thuật: .9 2.4.3.Thuật toán: 10 PHẦN 3: MỘT ỨNG DỤNG KHAI PHÁ DỮ LIỆU: 11 3.1 Bài toán: 11 3.2.Thực hiện: 11 3.3.Kết : 13 3.3.1.Ý nghĩa ứng dụng: .13 3.3.2.Ưu nhược điểm hướng phát triển: .13 PHẦN 1: TỔNG QUAN 1.1.Lý chọn đề tài: Những năm gần đây, AI lên cách mạng công nghiệp lần thứ tư Trí tuệ nhân tạo định nghĩa 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 phận khoa học máy tính phải đặt ngun lí lý thuyết vững chắc, có khả ứng dụng lĩnh vực 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 cách mạng công nghệ 4.0 Xu hướng phát triển công nghệ thơng tin ngày tăng, song song với lượng liệu sinh ngày lớn Vì nhu cầu để xử lý liệu lớn hơn, Machine Learning góp phần giải vấn đề Một thuật toán thường dùng Machine Learning thuật toán K-NEAREST NEIGHBOR Ứng dụng thuật toán sử dụng nhiều rộng rãi tốn phân lớp.Vì nhóm chúng em muốn tìm hiểu để hiểu rõ ứng dụng giải vấn đề liệu 1.2.Lịch sử nghiên cứu: 1.2.1 Dự đoán tuổi bào ngư: Tuổi bào ngư tìm thấy cách cắt vỏ đếm số vòng vỏ Trong Bộ liệu bào ngư, bạn tìm thấy số đo tuổi số lượng lớn bào ngư với nhiều phép đo vật lý khác Mục tiêu dự án phát triển mơ hình dự đốn tuổi bào ngư hồn toàn dựa phép đo vật lý khác Điều cho phép nhà nghiên cứu ước tính tuổi bào ngư mà không cần phải cắt vỏ đếm số vịng 1.2.2 Sử dụng thuật tốn KNN để xác định người nhận chương trình học bổng Smart Indonesia: Chương trình học bổng Thẻ thơng minh Indonesia (KIP) chương trình học bổng phủ thơng qua Bộ Tơn giáo Cộng hịa Indonesia, trao cho sinh viên có học lực kinh tế yếu Đại học Nhà nước Hồi giáo Sultan Syarif Kasim, Riau nhận sinh viên hàng năm, tiêu cho chương trình học bổng KIP có giới hạn Với hạn ngạch giới hạn cho chương trình KIP, cần có hệ thống phân loại liệu gửi từ sinh viên đăng ký chương trình KIP, để q trình lựa chọn thực nhanh chóng, xác phù hợp với hạn ngạch yêu cầu Trong nghiên cứu này, thuật toán KModes K-Nearest Neighbor (KNN) sử dụng cách sử dụng liệu thành tựu, học bạ điểm thi quốc gia học cấp 3, thu nhập bố, tình trạng bố tình trạng sở hữu nhà Quá trình thực cách thực giai đoạn ban đầu, cụ thể phân nhóm thuật tốn K Modes, sau xác thực kiểm tra liệu cách áp dụng phương pháp Xác thực chéo Tìm kiếm Lưới (GSCV) cuối dự đoán thuật toán KNN Thử nghiệm cho kết giá trị hiệu suất 66,79% PHẦN 2: CƠ SỞ LÝ THUYẾT 2.1 Khai phá liệu gì: Data mining – khai phá liệu trình phân loại, xếp tập hợp liệu lớn để xác định mẫu thiết lập mối liên hệ nhằm giải vấn đề nhờ phân tích liệu Các MCU khai phá liệu cho phép doanh nghiệp dự đốn xu hướng tương lai Q trình khai phá liệu trình phức tạp bao gồm kho liệu chuyên sâu cơng nghệ tính tốn Hơn nữa, Data Mining khơng giới hạn việc trích xuất liệu mà cịn sử dụng để chuyển đổi, làm sạch, tích hợp liệu phân tích mẫu Có nhiều tham số quan trọng khác Data Mining, chẳng hạn quy tắc kết hợp, phân loại, phân cụm dự báo Một số tính Data Mining: Dự đoán mẫu dựa xu hướng liệu Tính tốn dự đốn kết Tạo thơng tin phản hồi để phân tích Tập trung vào sở liệu lớn Phân cụm liệu trực quan 2.2 Các giai đoạn khai phá liệu: 1) Nghiên cứu lĩnh vực Ta cần nghiên cứu lĩnh vực cần sử dụng Data mining để xác định tri thức ta cần chắt lọc, từ định hướng để tránh tốn thời gian cho tri thức không cần thiết 2) Tạo tập tin liệu đầu vào Ta xây dựng tập tin để lưu trữ liệu đầu vào để máy tính lưu trữ xử lý 3) Tiền xử lý, làm sạch, mã hóa Ở bước ta tiến hành bỏ bớt liệu rườm rà, không cần thiết, tinh chỉnh lại cấu trúc liệu mã hóa chúng để tiện cho q trình xử lý 4) Rút gọn chiều Thông thường tập liệu có chiều lớn sinh lượng liệu khổng lồ, ví dụ với n chiều ta có 2^n tổ hợp Do đó, bước quan trọng giúp giảm đáng kể hao tổn tài ngun q trình xử lý tri thức Thơng thường ta dùng Rough set để giảm số chiều 5) Chọn tác vụ khai thác liệu Để đạt mục đích ta cần, ta cần chọn tác vụ khai thác liệu cho phù hợp Thông thường có tác vụ sau: * Đặc trưng (feature): Chọn đặc trưng quan trọng, kết hợp tốt với để gia tăng kết * Phân biệt (discrimination) * Kết hợp (association) * Phân lớp (classification) * Gom cụm (clusterity) * Xu (trend analysis) * Phân tích độ lệch * Phân tích 6) Chọn thuật giải Khai thác liệu 7) Khai thác liệu: Tìm kiếm tri thức Sau tiến hành bước bước q trình, ta tiến hành khai thác tìm kiếm tri thức 8) Đánh giá mẫu tìm Ta cần đánh giá lại xem tri thức tìm được, ta sử đụng tri thức nào, tri thức dư thừa, không cần thiết 9) Biểu diễn tri thức Ta biểu diễn tri thức vừa thu thập dạng ngơn ngữ tự nhiên hình thức cho người dùng hiểu tri thức 10) Trình bày thơng tin : Trong bước cuối cùng, thông tin thể dạng cây, bảng, biểu đồ ma trận 2.3 Các toán khai phá liệu bản: 2.3.1.Bài toán khai thác tập phổ biến: Bài toán khai thác tập phổ biến (frequent itemset) lớp toán quan trọng lĩnh vực khai phá liệu Mục tiêu tìm tất tập mẫu, liên kết, tương quan cấu trúc nhân có độ phổ biến cao tập hợp tất hạng mục đối tượng sở liệu giao dịch, sở liệu quan hệ kho thơng tin liệu khác Bài tốn khai thác tập phổ biến ứng dụng nhiều vấn đè, tiếng Basket data analysis (dự đoán, gợi ý hàng thường cho vào giỏ hàng với đồ A chọn mua trước đó) Ngồi cịn ứng dụng lớp toán: tiếp thị chéo, thiết kế danh mục, phân tích thua lỗ, phân cụm, phân loại, hệ thống khuyến nghị, v.v Và đặc biệt cịn thể ứng dụng cho thiết kế dịch vụ tiện ích nhà thông minh 2.3.2 Phân lớp Dự báo : Xây dựng mơ hình (chức năng) để mơ tả phân biệt khái niệm cho lớp khái niệm để dự đoán tương lai Chẳng hạn, phân lớp quốc gia dựa theo khí hậu, phân lớp tơ dựa theo tiêu tốn xăng Dự đốn giá trị số chưa biết 2.4.Thuật toán K-NEAREST NEIGHBOR CLASSIFICATION: 2.4.1.Ý tưởng: Thuật toán KNN cho liệu tương tự tồn gần khơng gian, từ cơng việc tìm k điểm gần với liệu cần kiểm tra Việc tìm khoảng cách điểm củng có nhiều cơng thức sử dụng, tùy trường hợp mà lựa chọn cho phù hợp Đây cách để tính khoảng cách điểm liệu x, y có k thuộc tính: Từ ta xác định output liệu dựa output K điểm gần xung quanh Ý tưởng thuật tốn khơng học điều từ tập liệu học (nên KNN xếp vào loại lazy learning Lấy ví dụ: tập hình vng màu đỏ hình trịn màu xanh, ta có hình tam giác cần xác định thuộc màu tập Ta lấy giá trị có khoảng cách gần hình tam giác Trong hình gần hình tam giác có hình màu trịn xanh hình vng đỏ nên theo giải thuật knn hình tam giác hình trịn xanh Thuật toán lấy giá trị x, y trục tọa độ hình tam giác để tiến hành tính tốn khoảng cách đến hình có giá trị x,y trục tọa độ theo cơng thức tính khoảng cách: Ví dụ tọa độ hình tam giác 2,3 Và có điểm gần 4,5 Cơng thức tính khoảng cách áp dụng là: =2.8 Thực tương tự với hết tất hình cịn lại lựa chọn k khoảng cách gần theo ta chọn Nên cuối ta xác định hình trịn xanh 2.4.2.Lưu đồ giải thuật: 2.4.3.Thuật tốn: Thuật tốn knn mô tả: Xác định tham số K số láng giềng gần Tính khoảng cách đối tượng cần phân lớp tới tất đối tượng có tập train Lấy k đối tượng cho khoảng cách nhỏ Trong giá trị vừa lấy, ta thống kê số lượng lớp, chọn phân lớp cho số lượng lớn Một vấn đề đặt có phải chọn K lớn tốt, câu trả lời cịn tùy thuộc vào liệu Khơng phải lúc K lớn cho kết tốt ngược lại Việc lựa chọn tham số K mơ hình tiến hành thơng qua thực nghiệm nhiều lần để chọn kết tốt Ưu điểm: Với bước trên, nhận thấy thuật toán KNN đơn giản, dễ thực hiện, dễ cài đặt Việc dự đoán kết thật dễ dàng, độ phức tạp thuật tốn nhỏ Nhược điểm: Bên cạnh tồn nhiều nhược điểm như: Ý tưởng thuật toán khơng học điều từ tập liệu học (nên KNN xếp vào loại lazy learning), tính tốn thực cần dự đoán nhãn liệu mới.Nếu tập train có kích thước lớn, việc duyệt qua tất điểm liệu để tính tốn thời gian, đặt biệt thời kỳ liệu thu thập lớn KNN nhạy cảm với liệu nhiễu, đặc biệt ta chọn K nhỏ Việc dẫn đễn kết không tốt PHẦN 3: MỘT ỨNG DỤNG KHAI PHÁ DỮ LIỆU: 3.1 Bài toán: Xây dựng chương trình nhận diện chữ số hình ảnh: Từ hình ảnh chứa chữ số định cho máy nhận diện chữ số 3.2.Thực hiện: Ngôn ngữ thực hiện: python Ý tưởng: ta sử dụng liệu train hình ảnh chứa nhiều kí tự, ta cắt liệu hình ảnh thành hình ảnh nhỏ liệu train gán liệu nhận dạng cho Khi ta đưa vào hình ảnh cần nhận dạng số hệ thống xác định xác số dựa việc thực thuật toán knn để tính khoảng cách từ hình ảnh cần xác nhận đến hình ảnh liệu train (lưu ý : nhận diện số từ đến 9) Triển khai: Với hình ảnh liệu chứa liệu train digits.png Ta cho chương trình đọc hình ảnh dạng ảnh xám: Ta cắt ảnh nhỏ tương ứng với số từ ảnh digits.png: Chuyển liệu ảnh dạng array: Tiến hành tạo liệu train liệu test, liệu chuyển thành dạng mảng chiều dạng float : Tiến hành gán nhãn cho liệu train, ví dụ hình số gán Đưa vào liệu nhận dạng(hình ảnh cần nhận dạng) ta thực việc chuyển đổi liệu liệu train Áp dụng thuật toán knn tiến hành nhận dạng , trường hợp k (lấy giá trị gần với liệu cần nhận dạng nhất) 3.3.Kết : Khi ta đưa hình ảnh số chương trình in kết nhận dạng Ảnh nhận dạng: Kết nhận diện với k=1: Phần trăm xác: Kết nhận diện với k=5: Phần trăm xác: 3.3.1.Ý nghĩa ứng dụng: Ứng dụng nhận diện hình ảnh chữ số áp dụng việc nhận dạng loại hình ảnh khác có liệu train mở rộng 3.3.2.Ưu nhược điểm hướng phát triển: Ưu điểm : Nhận diện chữ số tương đối xác Nhược điểm: Ứng dụng cịn hạn chế nhận diện chữ số từ đến Ứng dụng chưa có giao diện sửa thông số code để thay đổi kết Hướng phát triển: -Có thể áp dụng để nhận dạng hình ảnh chữ kí, nhận diện bảng số xe có thêm liệu train phù hợp Tài liệu tham khảo: [1] Jiawei Han, Micheline Kamber, “Data Mining: Concepts and Techniques”, Second Edition, Morgan Kaufmann Publishers, 2006 [2] David Hand, Heikki Mannila, Padhraic Smyth, “Principles of Data Mining”, MIT Press, 2001 [3] David L Olson, Dursun Delen, “Advanced Data Mining Techniques”, Springer-Verlag, 2008 [4] Graham J Williams, Simeon J Simoff, “Data Mining: Theory, Methodology, Techniques, and Applications”, Springer-Verlag, 2006 [5] Hillol Kargupta, Jiawei Han, Philip S Yu, Rajeev Motwani, and Vipin Kumar, “Next Generation of Data Mining”, Taylor & Francis Group, LLC, 2009 [6] Daniel T Larose, “Data mining methods and models”, John Wiley & Sons, Inc, 2006 [7] Ian H.Witten, Eibe Frank, “Data mining : practical machine learning tools and techniques”, Second Edition, Elsevier Inc, 2005 [8] Florent Messeglia, Pascal Poncelet & Maguelonne Teisseire, “Successes and new directions in data mining”, IGI Global, 2008 [9] Oded Maimon, Lior Rokach, “Data Mining and Knowledge Discovery Handbook”, Second Edition, Springer Science + Business Media, LLC 2005, 2010 ... Các toán khai phá liệu bản: 2.3.1.Bài toán khai thác tập phổ biến: Bài toán khai thác tập phổ biến (frequent itemset) lớp toán quan trọng lĩnh vực khai phá liệu Mục tiêu tìm tất tập mẫu, liên k? ??t,... lượng liệu sinh ngày lớn Vì nhu cầu để xử lý liệu lớn hơn, Machine Learning góp phần giải vấn đề Một thuật toán thường dùng Machine Learning thuật toán K- NEAREST NEIGHBOR Ứng dụng thuật toán sử dụng. .. thực kiểm tra liệu cách áp dụng phương pháp Xác thực chéo Tìm kiếm Lưới (GSCV) cuối dự đoán thuật toán KNN Thử nghiệm cho k? ??t giá trị hiệu suất 66,79% PHẦN 2: CƠ SỞ LÝ THUYẾT 2.1 Khai phá liệu