Nội dung text [SIU] 24MCS - NLP (Final Project).docx
ĐỒ ÁN CUỐI KỲ THIẾT KẾ MẠNG MLP CHO BÀI TOÁN PHÂN LỚP THỰC TẾ Mục tiêu đồ án Học viên sẽ thiết kế, cài đặt và tối ưu hóa một mạng Perceptron đa tầng (MLP) để giải quyết một bài toán phân lớp nhị phân sử dụng dữ liệu thực tế. Đồ án yêu cầu kết hợp lý thuyết mạng nơ-ron, kỹ năng lập trình, và khả năng phân tích dữ liệu để đạt hiệu suất tốt nhất. Dữ liệu bài toán ● Tập dữ liệu thực tế: Học viên sẽ sử dụng tập dữ liệu "Pima Indians Diabetes" (https://www.kaggle.com/datasets/uciml/pima-indians-diabetes-database). o Mô tả: Tập dữ liệu chứa thông tin y tế của bệnh nhân (8 đặc trưng như glucose, huyết áp, BMI, v.v.) và nhãn phân lớp nhị phân (0: không mắc tiểu đường, 1: mắc tiểu đường). o Số lượng mẫu: 768 mẫu. o Đầu vào: Vector 8 chiều . o Đầu ra: Nhãn nhị phân . ● Tiền xử lý dữ liệu: o Chuẩn hóa dữ liệu (Normalization) để đưa các đặc trưng về khoảng [0, 1]. o Chia dữ liệu thành tập huấn luyện (70%), tập kiểm tra (15%), và tập validation (15%). Cấu trúc mạng MLP ● Lớp đầu vào: 8 nơ-ron (tương ứng với 8 đặc trưng). ● Lớp ẩn: o Tối thiểu 1 lớp ẩn với số lượng nơ-ron do học viên tự chọn (gợi ý: 16 hoặc 32 nơ-ron). o Hàm kích hoạt: ReLU. ● Lớp đầu ra: 1 nơ-ron, hàm kích hoạt sigmoid. ● Hàm mất mát: Binary cross-entropy. ● Tối ưu hóa: Gradient Descent với tốc độ học do học viên tự chọn. Yêu cầu cụ thể 1. Phân tích lý thuyết:
o Phân tích hiệu suất mô hình, so sánh các thử nghiệm, và đưa ra kết luận. Yêu cầu nộp bài ● Báo cáo PDF. ● Mã nguồn Python (file .py hoặc notebook .ipynb) in trong Phụ lục của báo cáo. RUBRIC ĐÁNH GIÁ Tiêu chí Mô tả Điểm tối đa Cách chấm điểm Phân tích lý thuyết Tính toán lan truyền tiến, ngược và cập nhật tham số cho một mẫu. 1.5 - Đúng và chi tiết: 1.5 - Thiếu hoặc sai một phần: 0.5-1.0 - Sai hoàn toàn: 0 Tiền xử lý dữ liệu Chuẩn hóa và chia dữ liệu hợp lý. 1.0 - Đầy đủ và đúng: 1,0 - Thiếu hoặc sai một bước: 0.5 - Không thực hiện: 0 Cài đặt mô hình Xây dựng MLP từ đầu, đúng cấu trúc và chức năng. 2.5 - Hoạt động tốt: 2.5 - Có lỗi nhỏ: 1.5-2.0 - Không chạy được: 0 Huấn luyện và đánh giá Huấn luyện mô hình, vẽ biểu đồ, tính các chỉ số đánh giá. 2.0 - Đầy đủ và chính xác: 2.0 - Thiếu một phần (biểu đồ/chỉ số): 1.0-1.5 - Không thực hiện: 0 Tối ưu hóa mô hình Đề xuất và thử nghiệm phương pháp tối ưu hóa, so sánh hiệu suất. 2.0 - Hợp lý và hiệu quả: 2.0 - Đề xuất nhưng không thử nghiệm: 1.0-1.5 - Không thực hiện: 0 Trình bày báo cáo Rõ ràng, mạch lạc, đúng định dạng, sử dụng bảng/biểu đồ phù hợp. 1.0 - Đáp ứng đầy đủ các yêu cầu về hình thức và nội dung: 1.0 - Thiếu sót nhỏ (định dạng): 0.5-0.8 - Không rõ ràng hoặc sơ sài: 0-5 Tổng điểm: 10
Hướng dẫn: ● Sử dụng thư viện như NumPy cho tính toán ma trận và Pandas để xử lý dữ liệu. ● Thử nghiệm với các cấu hình khác nhau (số nơ-ron, số lớp ẩn) để tìm mô hình tối ưu. ● Thêm regularization nếu mô hình bị overfitting. ● Sử dụng Matplotlib hoặc Seaborn để vẽ biểu đồ trực quan.