Chủ đề thịnh hành
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Nhóm của Andrew Ng đã từng mắc một sai lầm lớn trong một bài báo nghiên cứu.
Và điều đó xảy ra do việc chia dữ liệu một cách ngẫu nhiên.
Dưới đây là chính xác những gì đã xảy ra (kèm theo giải pháp):
Việc tạo ra các tập huấn luyện và kiểm tra bằng cách chia ngẫu nhiên là điều phổ biến.
Tuy nhiên, trong nhiều tình huống, điều này có thể gây hại cho việc xây dựng mô hình.
Hãy xem xét việc xây dựng một mô hình tạo ra chú thích cho hình ảnh.
Do bản chất vốn có của ngôn ngữ, mỗi hình ảnh có thể có nhiều chú thích khác nhau.
- Hình ảnh-1 → Chú thích-1, Chú thích-2, Chú thích-3, v.v.
- Hình ảnh-2 → Chú thích-1, Chú thích-2, Chú thích-3, v.v.
Kiểm tra điều này 👇

Nếu chúng ta sử dụng phân chia ngẫu nhiên, cùng một điểm dữ liệu (hình ảnh) sẽ có mặt trong cả tập huấn luyện và tập xác thực.
Kết quả là, chúng ta kết thúc việc đánh giá mô hình trên các trường hợp mà nó đã được huấn luyện.
Đây là một ví dụ về rò rỉ dữ liệu (còn gọi là rò rỉ nhóm), dẫn đến việc quá khớp!

Điều tương tự đã xảy ra trong bài báo của Andrew Ng, nơi họ chuẩn bị một tập dữ liệu y tế để phát hiện bệnh viêm phổi.
- Tổng số hình ảnh = 112k
- Tổng số bệnh nhân = 30k
Do việc chia ngẫu nhiên, hình ảnh của cùng một bệnh nhân có mặt cả trong tập huấn luyện và tập xác thực.
Điều này dẫn đến rò rỉ dữ liệu, và điểm xác thực trông tốt hơn nhiều so với thực tế.
Đây là bài báo ban đầu của họ👇

Giải quyết vấn đề chia nhóm ngẫu nhiên này.
Có hai bước:
1) Nhóm tất cả các trường hợp huấn luyện tương ứng với một hình ảnh.
2) Sau khi nhóm, TOÀN BỘ NHÓM (tất cả các ví dụ của một hình ảnh) phải được phân bổ ngẫu nhiên vào tập huấn luyện hoặc tập xác thực.
Điều này sẽ ngăn chặn việc rò rỉ nhóm.

Nếu bạn sử dụng Sklearn, GroupShuffleSplit thực hiện ý tưởng này.
Ví dụ, hãy xem xét chúng ta có tập dữ liệu sau:
- x1 và x2 là các đặc trưng.
- y là biến mục tiêu.
- group biểu thị tiêu chí nhóm.
Kiểm tra điều này 👇

Đầu tiên, chúng ta nhập GroupShuffleSplit từ sklearn và khởi tạo đối tượng.
Tiếp theo, phương thức split() của đối tượng này cho phép chúng ta thực hiện phân nhóm. Nó trả về một bộ sinh, và chúng ta có thể giải nén nó để có được đầu ra sau:
- Các điểm dữ liệu trong các nhóm "A" và "C" nằm cùng nhau trong tập huấn luyện.
- Các điểm dữ liệu trong nhóm "B" nằm cùng nhau trong tập xác thực/kiểm tra.
Kiểm tra điều này 👇

Vài ngày sau, nhóm của Andrew Ng đã cập nhật tài liệu sau khi sử dụng cùng một chiến lược chia nhóm để đảm bảo rằng cùng một bệnh nhân không xuất hiện trong cả tập huấn luyện và tập xác thực.
👉 Đến lượt bạn: Bạn đã gặp phải vấn đề này trước đây chưa?

17,66K
Hàng đầu
Thứ hạng
Yêu thích

