Bạn sẽ đào tạo và kiểm tra mô hình hồi quy logistic với tập dữ liệu MNIST.
Tập dữ liệu này chứa 6000
hình ảnh để đào tạo và 10000 hình ảnh để kiểm tra hiệu suất ngoài mẫu.
Bộ dữ liệu MNIST phổ biến đến mức nó là một phần của PyTorch. Đây là cách bạn có thể tải các mẫu đào
tạo và thử nghiệm của tập dữ liệu MNIST trong PyTorch.
Hãy xác minh số lượng mẫu đào tạo và mẫu thử nghiệm trong tập dữ liệu.
Mỗi mẫu trong tập dữ liệu là một cặp hình ảnh và nhãn. Để kiểm tra kiểu dữ liệu và kích thước của phần
tử đầu tiên trong dữ liệu huấn luyện, bạn có thể sử dụng các phương thức type() và size().
Bạn có thể truy cập các mẫu từ tập dữ liệu bằng cách lập chỉ mục danh sách. Mẫu đầu tiên trong tập dữ
liệu là FloatTensor và nó là một
-pixel hình ảnh ở thang độ xám (tức là một kênh), do đó có kích thước [1, 28, 28].
Bây giờ, hãy kiểm tra nhãn của hai mẫu đầu tiên trong tập huấn luyện.
Từ những điều trên, bạn có thể thấy rằng hai hình ảnh đầu tiên trong tập huấn luyện đại diện cho “5” và
“0”. Hãy chiếu hai hình ảnh này để xác nhận.
Thông thường, bạn không sử dụng tập dữ liệu trực tiếp trong quá trình đào tạo mà thông qua lớp
DataLoader. Điều này cho phép bạn đọc dữ liệu theo lô chứ không phải mẫu.
Trong phần sau, dữ liệu được tải vào DataLoader với kích thước lô là 32.
Hãy xây dựng lớp mô hình với [Link] cho mô hình hồi quy logistic của chúng ta. Lớp này tương tự
như trong các bài trước nhưng số lượng đầu vào và đầu ra có thể cấu hình được.
Mô hình này sẽ mất một
-pixel hình ảnh của các chữ số viết tay làm đầu vào và phân loại chúng thành một trong 10 lớp đầu ra có
chữ số từ 0 đến 9. Vì vậy, đây là cách bạn có thể khởi tạo mô hình.
Bạn sẽ huấn luyện mô hình này với độ dốc giảm dần ngẫu nhiên làm trình tối ưu hóa với tốc độ học tập
0,001 và entropy chéo làm chỉ số tổn thất.
Sau đó, mô hình được huấn luyện trong 50 kỷ nguyên. Lưu ý rằng bạn đã sử dụng phương thức view()
để làm phẳng ma trận hình ảnh thành các hàng sao cho khớp với đầu vào của mô hình hồi quy logistic.
Bạn đã đạt được độ chính xác khoảng 86% bằng cách huấn luyện mô hình chỉ trong 50 kỷ nguyên. Độ
chính xác có thể được cải thiện hơn nữa nếu mô hình được đào tạo lâu hơn.
Hãy hình dung biểu đồ về độ mất mát và độ chính xác trông như thế nào. Sau đây là sự mất mát:
Và đây là về độ chính xác: