Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
0,92 MB
Nội dung
TRƯỜNG ĐẠI HỌC SƯ PHẠM KĨ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO BÁO CÁO MÔN HỌC HỆ THỐNG NHÚNG TÊN ĐỀ TÀI Essembling neuron network Giảng viên hướng dẫn: PGS.TS Võ Minh Huân Sinh viên: Đỗ Hồ Xuân Long MSSV: 20161223 Lý Gia Huy MSSV: 2016120 TP HỒ CHÍ MINH - Tháng 11 năm 2022 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat CỘNG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** Tp Hồ Chí Minh, tháng 11 năm 2022 NHIỆM VỤ BÁO CÁO MÔN HỌC Họ tên sinh viên: Đỗ Hồ Xuân Long MSSV: 20161223 Lý Gia Huy 20161205 Ngành: CNKT Điện tử - Viễn thông Lớp: 20161CLC2B Giảng viên hướng dẫn: PGS.TS Võ Minh Huân Tên đề tài: Xây dựng cấu trúc mạng nơ-ron phân biệt 10 chữ số từ đến qua hình ảnh Các số liệu, tài liệu ban đầu: - Kiến thức phương pháp xây dựng cấu trúc mạng nơ-ron Kiến thức hiểu biết ngôn ngữ Python Nội dung thực hiện đề tài: - Tìm hiểu cách xây dựng cấu trúc mạng nơ-ron Viết chương trình xây dựng cấu trúc mạng nơ-ron, phân biệt 10 chữ số từ đến qua hình ảnh Viết báo cáo chuẩn bị thuyết trình Kết quả: xây dựng cấu trúc mạng nơ-ron phân biệt 10 chữ số từ đến qua hình ảnh TIEU LUAN MOI download : skknchat123@gmail.com moi nhat CỘNG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** Tp Hồ Chí Minh, tháng 11 năm 2022 PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên sinh viên: Đỗ Hồ Xuân Long Lý Gia Huy Ngành: CNKT Điện tử - Viễn thông Giảng viên hướng dẫn: PGS.TS Võ Minh Huân MSSV: 20161223 20161205 Lớp: 20161CLC2B NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Điểm: ……………….(Bằng chữ: ) Tp Hồ Chí Minh, tháng 11 năm 2022 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network LỜI CẢM ƠN Trước tiên, sinh viên thực báo cáo xin chân thành cảm ơn giảng viên khoa Điện - Điện tử, khoa Đào tạo chất lượng cao nói chung giảng viên mơn Điện tử - Viễn thơng nói riêng tạo điều kiện cho sinh viên đầy đủ kiến thức hoàn thành báo cáo Đặc biệt xin chân thành cảm ơn giảng viên hướng dẫn, PGS.TS Võ Minh Huân nhiệt tình hướng dẫn, giúp đỡ định hướng giúp sinh viên hoàn thành báo cáo cách tốt thời gian cho phép Trong thời gian thực báo cáo, sinh viên khơng thể khơng gặp sai sót hạn chế nên mong thầy thơng cảm Đồng thời sinh viên mong muốn nhận đóng góp ý kiến từ quý từ thầy để rút kinh nghiệm trau dồi thêm kiến thức, kinh nghiệm quý báu lĩnh vực Cuối cùng, chúc thầy mạnh khỏe gặt hái thêm thật nhiều thành công nghiệp giảng dạy, đào tạo thêm thật nhiều kỹ sư lành nghề tương lai Xin chân thành cảm ơn! Tp Hồ Chí Minh, tháng 11 năm 2022 Sinh viên thực Đỗ Hồ Xuân Long – Lý Gia Huy BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TÓM TẮT Những năm gần đây, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo), cụ thể Machine Learning (Học Máy Máy Học) lên chứng cách mạng công nghiệp lần thứ tư (1 - động nước, - lượng điện, - công nghệ thơng tin) Trí Tuệ Nhân Tạo len lỏi vào lĩnh vực đời sống mà không nhận Xe tự hành Google Tesla, hệ thống tự tag khuôn mặt ảnh Facebook, trợ lý ảo Siri Apple, hệ thống gợi ý sản phẩm Amazon, hệ thống gợi ý phim Netflix, máy chơi cờ vây AlphaGo Google DeepMind, …, vài ứng dụng AI/Machine Learning Mơ hình học máy biểu thuật toán quét qua hàng triệu, hàng tỷ liệu để tìm mẫu hình đưa dự đoán Được cung cấp liệu, mơ hình học máy (ML) “động cơ” tốn học trí tuệ nhân tạo Cũng mà nhóm sinh viên ngành Điện tử - Viễn thơng muốn nghiên cứu phát triển thêm kiến thúc hữu ích Cũng quan trọng mà nhóm em nghiên cứu báo cáo đề tài “Xây dựng cấu trúc mạng nơ-ron phân biệt 10 chữ số từ đến qua hình ảnh” BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network MỤC LỤC CHƯƠNG GIỚI THIỆU 1.1 TỔNG QUAN 1.2 MỤC TIÊU 1.3 GIỚI HẠN ĐỀ TÀI 1.4 BỐ CỤC BÁO CÁO CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU MACHINE LEARNING 2.1.1 Supervisor learning 2.1.2 Unsupervisor learning 2.2 GIỚI THIỆU MƠ HÌNH ENSEMBLES LEARNING 2.2.1 Basic Ensemble Techniques 2.2.2 Advanced Ensemble techniques 2.3 GIỚI THIỆU MƠ HÌNH MẠNG NƠ – RON 2.3.1 Lý thuyết 2.3.2 Mơ hình tốn học CHƯƠNG XÂY DỰNG CODE VÀ MÔ PHỎNG 3.1 SOURCE CODE PHÂN BIỆT CHỮ SỐ QUA HÌNH ẢNH 3.2 MƠ PHỎNG CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 KẾT LUẬN 4.2 HƯỚNG PHÁT TRIỂN TÀI LIỆU THAM KHẢO BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network CHƯƠNG GIỚI THIỆU 1.1 TỔNG QUAN Những năm gần đây, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo), cụ thể Machine Learning (Học Máy Máy Học) lên chứng cách mạng công nghiệp lần thứ tư (1 - động nước, - lượng điện, - công nghệ thông tin) Trí Tuệ Nhân Tạo len lỏi vào lĩnh vực đời sống mà khơng nhận Xe tự hành Google Tesla, hệ thống tự tag khuôn mặt ảnh Facebook, trợ lý ảo Siri Apple, hệ thống gợi ý sản phẩm Amazon, hệ thống gợi ý phim Netflix, máy chơi cờ vây AlphaGo Google DeepMind, …, vài ứng dụng AI/Machine Learning 1.2 MỤC TIÊU Mơ hình học máy biểu thuật toán quét qua hàng triệu, hàng tỷ liệu để tìm mẫu hình đưa dự đốn Được cung cấp liệu, mơ hình học máy (ML) “động cơ” tốn học trí tuệ nhân tạo Cũng mà nhóm sinh viên ngành Điện tử - Viễn thông muốn nghiên cứu phát triển thêm kiến thúc hữu ích 1.3 GIỚI HẠN ĐỀ TÀI Do mơ qua code tạo lập hình ảnh mà khơng phải hình ảnh từ đời sống từ giới thực, mà chưa thực tế hóa đời sống, chưa thể áp dụng vào xã hội cách tốt 1.4 BỐ CỤC BÁO CÁO Chương Giới thiệu Chương Cơ sở lý thuyết Chương BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU MACHINE LEARNING 2.1.1 Supervisor learning Thuật toán bao gồm biến mục tiêu / kết (hoặc biến phụ thuộc) dự đoán từ tập hợp yếu tố dự báo định (các biến độc lập) Sử dụng tập hợp biến này, tạo hàm ánh xạ đầu vào với đầu mong muốn Quá trình đào tạo tiếp tục mơ hình đạt mức độ xác mong muốn liệu đào tạo Ví dụ: Regression, Decision Tree, Random Forest, KNN, Logistic Regression etc 2.1.2 Unsupervisor learning Trong thuật tốn này, chúng tơi khơng có biến mục tiêu kết để dự đốn / ước tính Nó sử dụng để phân nhóm dân số theo nhóm khác nhau, sử dụng rộng rãi để phân khúc khách hàng thành nhóm khác cho can thiệp cụ thể Ví dụ: Apriori algorithm, K-means 2.2 GIỚI THIỆU MƠ HÌNH ENSEMBLES LEARNING 2.2.1 Basic Ensemble Techniques Ở mức độ bản, có kỹ thuật là: Max Voting Averaging Weighted Averaging Mặc dù đơn giản kỹ thuật lại tỏ hiệu số trường hợp định Hãy tìm hiểu kỹ chúng 2.2.1.1 Max Voting Kỹ thuật hay sử dụng cho tốn phân lớp, đó, nhiều models sử dụng để dự đoán cho mẫu liệu Kết dự đoán model xem vote Cái có số vote cao kết dự đốn cuối Nói cách khác, kiểu bầu chọn theo số đông, áp dụng nhiều sống, trị, BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network 2.2.1.2 Averaging Tương tự kỹ thuật Voting, Averaging sử dụng kết dự đoán nhiều models Tuy nhiên, bước định kết cuối cùng, giá trị trung bình tất kêt models lựa chọn 2.2.1.3 Weighted Average Đây kỹ thuật mở rộng averaging Mỗi model gắn kèm với trọng số tỷ lệ với mức độ quan trọng model Kết cuối trung bình có trọng số tất kết models 2.2.2 Advanced Ensemble techniques Đã có basic chắn phải có advanced Có kỹ thuật Ensemble Learning xếp vào nhóm advanced: • Stacking • Blending • Bagging • Boosting 2.2.2.1 Stacking • Bước 1: Train model A (base model) theo kiểu cross-validation với k=10 • Bước 2: Tiếp tuc train model A tồn train set • Bước 3: Sử dụng model A để dự đốn test set • Bước 4: Lặp lại bước 1,2,3 cho base model khác • Bước 5: BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network Kết dự đoán train set base models sử dụng input features (ensemble train set) để train stacking model Kết dự đoán test set base models sử dụng test set (ensemble test set) stacking model • Bước 6: Train đánh giá stacking model sử dụng ensemble train set ensemble test set 2.2.2.2 Blending Các bước thực phương pháp sau: • Buớc 1: Chia dataset thành train set, validation set test set • Bước 2: Base model train train set • Bước 3: Sử dụng base model để dự đoán validation set test set • Bước 4: Lặp lại bước 2,3 cho base models khác • Bước 5: Validation set kết dự đoán validation set base models sử dụng input features (ensemble train set) blending model Test set kết dự đoán test set base models sử dụng test set (ensemble test set) blending model • Bước 6: Train đánh giá blending model sử dụng ensemble train set ensemble test set 2.2.2.3 Bagging Bagging (Bootstrap Aggregating) khác với hai kỹ thuật chỗ, sử dụng chung thuật toán cho tất base models Tập dataset chia thành phần khác (bags) base model train bag Các bước thực bagging sau: • Bước 1: Chia tập liệu ban đầu thành nhiều phần khác (bags) BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network Hình 2-8 Đồ thị hàm tansig Hàm ứng dụng cho chương trình ứng dụng mà đầu mong muốn rơi vào khoảng [-1,1] Phân loại kỹ thuật training Lan truyền thẳng (Forward Propagation) – Dòng liệu từ đơn vị đầu vào đến đơn vị đầu truyền thẳng Việc xử lý liệu mở rộng nhiều lớp, khơng có liên kết phản hồi Nghĩa là, liên kết mở rộng từ đơn vị đầu tới đơn vị đầu vào lớp hay lớp trước không cho phép BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network Hình 2-9 Mạng nơron truyền thẳng nhiều lớp (Feed-forward neural network) Lan truyền ngược (Backward Propagation) Thuật tốn lan truyền ngược có lẽ khối xây dựng mạng nơ-ron Nó giới thiệu lần vào năm 1960 gần 30 năm sau (1989) phổ biến Rumelhart, Hinton Williams báo có tên “Học cách biểu diễn sai số lan truyền ngược” Thuật toán sử dụng để đào tạo hiệu mạng nơron thông qua phương pháp gọi quy tắc chuỗi Nói cách dễ hiểu, sau lần chuyển tiếp qua mạng, nhân giống ngược thực chuyển tiếp ngược lại điều chỉnh thông số mơ hình (trọng số độ lệch) Một ví dụ hàm mát (loss function) hàm Mean Square Error (MSE) tức trung bình bình phương lỗi BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network Hình 2-10 2-11 Mạng nơron truyền ngược nhiều lớp Với NN số cặp liệu (x, y) (x, y) tập training Theo công thức trên, việc tính tốn trực tiếp giá trị phức tạp hàm mát khơng phụ thuộc trực tiếp vào hệ số Phương pháp phổ biến dùng có tên Backpropagation giúp tính gradient ngược từ layer cuối đến layer Layer cuối tính tốn trước gần gũi với predicted outputs hàm mát Việc tính toán gradient layer trước thực dựa quy tắc quen thuộc có tên chain rule, tức đạo hàm hàm hợp BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network CHƯƠNG XÂY DỰNG CODE VÀ MÔ PHỎNG 3.1 SOURCE CODE PHÂN BIỆT CHỮ SỐ QUA HÌNH ẢNH Sử dụng dataset MNIST dãy hình ảnh chữ số trắng đen, với độ phân giải 28x28 pixel tức tương ứng với 784 phần tử ảnh biểu diễn độ tương phản khác hai màu trắng đen Source code import numpy as np import pandas as pd from matplotlib import pyplot as plt data = pd.read_csv('/kaggle/input/digitrecognizer/train.csv') data = np.array(data) m, n = data.shape np.random.shuffle(data) # shuffle before splitting into dev and training sets // mảng thử nghiệm liệu bên data_dev = data[0:1000].T Ghi Thư viện tốn học tiếng hỗ trợ tính tốn mảng liệu vecto hay ma trận cao cấp Thư viện trích xuất dataset để training Thư viện trích xuất hàm vẽ hệ tọa độ 2d 3d Trích xuất liệu vào biến data Đưa liệu vào dạng khai báo mảng tảng numpy Lấy giá trị kích thước mảng, với m 42000 hàng n 785 cột, cột thứ đại diện cho chữ số (0_9), cột thứ đến 785 tập giá trị [0,255] phần tử ảnh, với chắn chắn màu đen 255 chắn màu trắng Xào sốc phần tử liệu mảng để xây dựng phức tạp cho mơ hình Lấy 1000 hàng đầu tiên, hàng có 785 cột lưu BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network Y_dev = data_dev[0] X_dev = data_dev[1:n] X_dev = X_dev / 255 // mảng liệu dùng để học data_train = data[1000:m].T Y_train = data_train[0] X_train = data_train[1:n] X_train = X_train / 255 _,m_train = X_train.shape //Viết hàm def init_params(): W1 = np.random.rand(10, 784) - 0.5 b1 = np.random.rand(10, 1) - 0.5 trữ vào biến data_dev chuyển vị thành 785 hàng 1000 cơt Lấy hàng thứ data_dev có 1000 phần tử mảng, chữ số Lấy từ hàng đến hàng 785, hàng có 1000 phần tử Chia phần tử mảng cho 255 thành số thực, liệu đầu vào Tương tự, data_train có kích thước (785, 41000) Lấy hàng thứ có 41000 phần tử đại diện cho chữ số từ đến Có kích thước (784,41000) phần tử ảnh Chia giá trị nguyên thành số thực m_train = 41000 Khởi tạo giá trị trọng số bias (ngưỡng hay gọi phân cực) Trọng số cho net layer layer 1, giá trị random số thực [0,1), không lượng tử, 10 hàng 784 cột Bias cho 10 node BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network W2 = np.random.rand(10, 10) - 0.5 b2 = np.random.rand(10, 1) - 0.5 return W1, b1, W2, b2 hidden layer, giá trị random số thực [0,1), không lượng tử 10 hàng cột Trọng số cho net layer layer 1, giá trị random số thực [0,1), không lượng tử, 10 hàng 10 cột Bias cho 10 node output layer, giá trị random số thực [0,1), không lượng tử, 10 hàng cột Trả Hàm tuyến tính relu, đem tồn giá trị âm 0, dạng lượng tử khiến mơ hình train mạnh mẽ phức tạp def ReLU(Z): return np.maximum(Z, 0) def softmax(Z): Lấy giá trị max Hàm trả giá trị khoảng từ đến 1, áp dụng cho output layer lấy xác suất dự đoán exp = np.exp(Z - np.max(Z)) return exp / exp.sum(axis=0) def forward_prop(W1, b1, W2, b2, X): Z1 = W1.dot(X) + b1 Kỹ thuật lan truyền tiến Nhân trọng số cho BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network phần tử đầu vào cộng thêm bias A1 = ReLU(Z1) Kích hoạt hàm Z1 Z2 = W2.dot(A1) + b2 A2 = softmax(Z2) return Z1, A1, Z2, A2 def ReLU_deriv(Z): Đạo hàm hàm Relu return Z > Đúng trả sai trả def one_hot(Y): one_hot_Y = np.zeros((Y.size, Y.max() + 1)) one_hot_Y[np.arange(Y.size), Y] = one_hot_Y = one_hot_Y.T Mã hóa hỗ trợ tính vi phân cho biến đầu vào, ví dụ biến đầu vào tập Y_train [0,9] Hàm tạo ma trận bit với Y.size (kích thước) hàng Y.max() (giá trị max mảng) + cột Truy xuất ma trận [hàng,cột] với np.arange tạo mảng chạy từ đến 40999, Y giá trị đầu vào hàng tương ứng với giá trị đầu vào mã hóa thành 1, ví dụ [0, 4] hàng cột tập one_hot Huyển vị kích thước (10, 41000) BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network cột có mã hóa one hot tương ứng return one_hot_Y def backward_prop(Z1, A1, Z2, A2, W1, W2, X, Y): one_hot_Y = one_hot(Y) dZ2 = 2*(A2 - one_hot_Y) dW2 = / m * dZ2.dot(A1.T) db2 = / m * np.sum(dZ2,1) dZ1 = W2.T.dot(dZ2) * ReLU_deriv(Z1) dW1 = / m * dZ1.dot(X.T) Kỹ thuật lan truyền ngược, quy trình học lại Lấy liệu mã hóa Tính vi phân hàm Z2 hay cịn gọi delta, ta có độ lệch A2 giá trị đầu lan truyền tiến so với giá trị thực tế Y_train Sử dụng hàm loss, cụ thể MSE, đạo hàm tính độ lệch trọng số trước đóng góp phần trăm lỗi cho mơ hình Tương tự với bias, cụ thể tính đạo hàm MSE Tương tự với Z1, sử dụng trọng số W2 truyền ngược layer 1, nhân với đạo hàm Z1 Tiếp tục dùng MSE để tìm dW1 db1 = / m * np.sum(dZ1,1) Tương tự với bias1 return dW1, db1, dW2, db2 def update_params(W1, b1, W2, b2, dW1, db1, dW2, db2, alpha): Cập nhật trọng số bias sau lần học lại, BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network W1 -= alpha * dW1 b1 -= alpha * np.reshape(db1, (10,1)) W2 -= alpha * dW2 b2 -= alpha * np.reshape(db2, (10,1)) alpha tỷ lệ học, cụ thể học có chăm khơng hay lười biến, Lựa chọn giá trị alpha phải có kỹ thuật, tốc độ q cao học khơng Quá thấp học chậm, tập giá trị học (0,1), ta buộc phải set mức phù hợp Để mơ hình mạnh mẽ Do db2 bị xáo trộn tính tốn ta cần định hình lại kích thước phù hợp với kích thước b1 b2 riêng trọng số khơng cần return W1, b1, W2, b2 def get_predictions(A2): return np.argmax(A2, 0) def get_accuracy(predictions, Y): print(predictions, Y) return np.sum(predictions == Y) / Y.size Lấy phần trăm độ xác cao từ tập A2, cụ thể trả môt mảng gồm giá trị vị trí phần trăm mảng hàm argmax Đầu vào tập giá trị nguyên tập giá trị từ đến So sánh hai tập giá trị, phần tử lưu vào để cộng BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network chia cho 255, tính tỷ lệ giống def gradient_descent(X, Y, alpha, iterations): W1, b1, W2, b2 = init_params() Lấy giá trị for i in range(iterations): b2, X) Z1, A1, Z2, A2 = forward_prop(W1, b1, W2, dW1, db1, dW2, db2 = backward_prop(Z1, A1, Z2, A2, W1, W2, X, Y) W1, b1, W2, b2 = update_params(W1, b1, W2, b2, dW1, db1, dW2, db2, alpha) if i % 100 == 0: Sử dụng hàm Mỗi 100 lần học in tỷ lệ dự đoán trúng print("Iteration: ", i) In số lần học predictions = get_predictions(A2) print(get_accuracy(predictions, Y)) In tỷ lệ giống Trả trọng số bias return W1, b1, W2, b2 def make_predictions(X, W1, b1, W2, b2): Chạy số lần học lại, giảm tỷ lệ dự đoán sai Học tới đầu bạc trăng non sử dụng kỹ thuật lan truyền tiến _, _, _, A2 = forward_prop(W1, b1, W2, b2, X) Lấy tỷ lệ mảng A2 predictions = get_predictions(A2) Lấy giá trị tỷ lệ return predictions BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network def test_prediction(index, W1, b1, W2, b2): current_image = X_train[:, index, None] prediction = make_predictions(X_train[:, index, None], W1, b1, W2, b2) label = Y_train[index] Bắt đầu thử nghiệm Truy xuất phần tử pixel mảng X_train gồm 784 hàng, cột chọn, none ko làm Đưa liệu vào dự đốn Chọn phần tử tập Y_train có giá trị từ đến gán cho label print("Prediction: ", prediction) In kết dự đoán print("Label: ", label) In giá trị current_image = current_image.reshape((28, 28)) * 255 plt.gray() plt.imshow(current_image, interpolation='nearest') plt.show() Vẽ hình từ liệu đầu vào, nhân lại với 255 để trả giá trị ban đầu mảng BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network 3.2 MÔ PHỎNG BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 KẾT LUẬN Việc nghiên cứu mạng nơ-ron nhân tạo kỹ thuật máy học mang đến luồng kiến thức mẻ lĩnh vực khoa học liệu cho nhóm chúng em, hiểu rõ hình thức quy trình vận hành phân tích liệu mạng so với mạng nơ-ron sinh học, quy trình phức tạp cầu kỳ, mạng kết hợp hồn hảo kiến thức tốn học với Mơ hình mạng nơ-ron kỹ thuật máy học thật tiềm tương lai việc ứng dụng vào lĩnh vực trí tuệ nhân tạo độ phức tạp mang lại, biết số lượng nơ-ron hệ thần kinh người lên đến chục tỷ, mơ hình nhân tạo đạt số lượng to lớn đến chắn đem lại độ cao, đáp ứng thêm kỳ vọng người chắn hỗ trợ ứng dụng cao thực tế Nhìn chung mạng nơ-ron trình bày xây dựng tồn từ toán học tảng chưa sử dụng đến thư viện cao cấp, đáp ứng mục tiêu đề tài, mơ hình huấn luyện đạt độ xác lên đến 90%, vượt xa kỳ vọng ban đầu đặt 80%, qua đó, kết dự đoán chữ số trở nên khả quan hơn, xác 4.2 HƯỚNG PHÁT TRIỂN Mơ hình mạng nơ-ron nhóm chúng em nhìn chung cịn đơn giản chưa phức tạp, mạng mạng số mát lớn đến tận 10%, điều chắn không đáp ứng hay ứng dụng thực tế Do đó, mơ hình mạng nơ-ron nhóm chúng em phát triển lên mạng nơron tích chập, nói xu hướng lĩnh vực khoa học liệu nói riêng trí tuệ nhân tạo nói chung, mạng nơ-ron tích chập tinh hoa kỹ thuật máy học, có tham gia mơ hình kết hợp nhiều hàm tốn học hơn, mơ hình nơ-ron tích chập phức tạp việc thêm đày đặc số lượng hidden layer node, mạng đáp ứng số mát 1%, ngẫu nhiên mà mô hình liệt danh vào kỹ thuật học sâu thực tế ứng dụng nhiều sống BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TÀI LIỆU THAM KHẢO Tony phạm – Cách xây dựng mạng Nơ-ron đơn giản Python – 29/07/2019 https://viblo.asia/p/cach-xay-dung-mot-mang-no-ron-don-gian-chi-bangpython-1VgZv1nRKAw VTI TECHBLOG – Toàn cảnh Ensemble Learning – 13/10/2020 https://vtitech.vn/xgboost-bai-1-toan-canh-ve-ensemble-learning-phan1/?fbclid=IwAR3IE6GOAQzrIkZoCLSRdhKn-EpiHMviEaFT9ThlaLGsMLqebQH3OtAfE0 Aishwarya Singh – A Comprehensive Guide to Ensemble Learning (with Python codes) – 15/06/2022 https://www.analyticsvidhya.com/blog/2018/06/comprehensive-guidefor-ensemble-models/ SAMSON ZHANG – Simple MNIST NN from scratch (numpy, no TF/Keras) – 2020 https://www.kaggle.com/code/wwsalmon/simple-mnist-nn-from-scratchnumpy-no-tf-keras/notebook Eda Kavlakoglu – These terms are often used interchangeably, but what are the differences that make them each a unique technology? – 27 May 2020 https://www.ibm.com/cloud/blog/ai-vs-machine-learning-vs-deeplearning-vs-neural-networks Nguyen Duy Sim – Mạng nơ-ron nhân tạo - Neural Networks – 18/04/2019 https://viblo.asia/p/nn-mang-no-ron-nhan-tao-neural-networksbWrZn6dwZxw Do Duong – Tổng quan về Artificial Neural Network – 06/07/2018 BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network BAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.networkBAO.cao.mon.hoc.he.THONG.NHUNG.ten.de.tai.essembling.neuron.network