Chọn việc tiếp theo khi thời gian và lượt nộp có hạn
Chương 8 · Bài 8.1
Model ảnh đã khá tốt.
Bài văn bản chưa có file hợp lệ để nộp.
Có nên chạy thêm một seed cho ảnh?
Bài không có file nộp thì chắc chắn 0 điểm, dù model tốt đến đâu.
Bài này học cách chia thời gian giữa các việc.
| Câu hỏi | Hệ quả |
|---|---|
| Nhãn hay xác suất? | Đúng output cho metric |
| Chấm CSV hay notebook? | Đúng runtime cần đo |
| Nhóm mới hay nguồn cũ? | Đúng validation |
| Model, dữ liệu nào được dùng? | Có sẵn lúc inference |
Runtime notebook có thể gồm đọc dữ liệu, nạp model, train và predict.
Đọc năm, vòng, statement đúng bài.
IOAI 2026, Individual Contest
USA-NA-AIO 2026, Vòng 2
Hỏi nhanh
Đề chấm bằng cách chạy lại notebook từ đầu trên máy chấm, giới hạn 5 phút. Đội chỉ bấm giờ dòng model.predict(X_test), được 40 giây. Phép đo này còn thiếu gì?
Máy chấm chạy mọi cell, kể cả đọc dữ liệu, nạp model và train lại. Notebook train 6 phút sẽ hết giờ trước khi tới predict.
Hỏi nhanh
Metric là log loss trên 100 mẫu, và scorer cắt xác suất vào [10−15,1−10−15]. Đội nộp nhãn cứng 0/1 thay cho xác suất, và đúng 90 mẫu. Log loss xấp xỉ bao nhiêu?
Mỗi mẫu sai bị tính −ln10−15≈34.5, nên trung bình khoảng 3.45, tệ hơn cả nộp hằng 0.5.
s: metric bài nộp; b: baseline; u: mốc tốt nhất.
Cùng đơn vị cho s,b,u; đạt đúng baseline cho N=0.
Metric càng thấp càng tốt: vẫn đúng chiều nếu u là giá trị tốt nhất.
A: b=0.58, u=0.90, s=0.70.
1000.320.12=37.5B: b=0.60, u=0.90, s=0.75.
1000.300.15=50Kết quảA 37.50
B 50.00
baseline 0.0
Accuracy thô không so trực tiếp được khi baseline và khoảng chuẩn hóa khác nhau.
USA-NA-AIO 2026, Vòng 2:
Cùng một file, điểm phụ thuộc bài tốt nhất của người khác.
Lập kế hoạch bằng khoảng ước lượng của u; phần kiểm soát được là s−b.
Hỏi nhanh
Với b=0.50 và u=0.90, cải thiện metric từ 0.66 lên 0.70 làm N tăng bao nhiêu?
100(0.70−0.66)/(0.90−0.50)=10 điểm.
Giả thuyết: bigram (cặp từ) giúp đoạn ngắn.
Giữ split, metric và preprocessing còn lại.
Đo log loss theo độ dài, ghi runtime.
Đổi năm yếu tố cùng lúc thì không biết yếu tố nào giúp.
Kết quả âm vẫn loại được một hướng.
180 phút: 30 phút đọc đề và dựng đường nộp, 130 phút cải thiện, 20 phút chạy lại và kiểm file.
| Việc | Mức 1 | Mức 2 cộng dồn |
|---|---|---|
| A | 30 phút, 10 điểm | 60 phút, 14 điểm |
| B | 40 phút, 14 điểm | 80 phút, 17 điểm |
| C | 25 phút, 2 điểm | 60 phút, 16 điểm |
C mức 1 dựng bộ mô phỏng, gần như chưa tăng điểm; mức 2 mới dùng nó.
Mỗi việc một mức: 33=27 kế hoạch.
Kết quảduyệt hết ((1, 1, 2), 130, 40)
tham lam ((2, 1, 1), 125, 30)
Bộ ba là mức của A, B, C; rồi phút, điểm.
Tham lam lấy B, A (0.35 và 0.33 điểm mỗi phút), rồi A mức 2 (0.13) vì C mức 1 chỉ 0.08.
C mức 2 đáng 0.4 điểm mỗi phút, nhưng phải trả bước đầu.
Nhiều việc hơn: quy hoạch động theo số phút.
Hỏi nhanh
Nếu phần kiểm cuối cần 50 phút thay vì 20, ngân sách cải thiện chỉ còn 100 phút. Với cùng bảng ấy, kế hoạch nào cho điểm dự kiến cao nhất?
B mức 1 và C mức 2 dùng đúng 100 phút, được 14+16=30 điểm. Chọn tham lam chỉ được 28.
p: xác suất thành công ước lượng
ΔN: điểm tăng nếu thành công; t: số phút
Đơn vị: điểm dự kiến mỗi phút.
Chỉ dùng V để xếp các bước tùy chọn; file nộp sai định dạng vẫn phải sửa trước.
Hỏi nhanh
Một thí nghiệm được ước lượng tăng 12 điểm với xác suất thành công 0.5, và cần 30 phút. V bằng bao nhiêu?
V=0.5⋅12/30=0.2 điểm dự kiến mỗi phút.
Hỏi nhanh
Còn 30 phút. Thí nghiệm X có p=0.5, tăng 40 điểm, cần 20 phút, nên V=1.0. Y và Z độc lập, mỗi việc có p=0.8, tăng 15 điểm, cần 15 phút, nên V=0.8. Chọn theo V từ cao xuống được bao nhiêu điểm dự kiến, và có cách nào tốt hơn không?
X được 20 điểm dự kiến, và 10 phút còn lại không đủ cho việc nào. Y và Z dùng đúng 30 phút, được 24.
Test kín 2000 dòng: A đúng 0.80, B đúng 0.81.
Hai model chỉ khác nhau ở 140 dòng.
Rút phần public ngẫu nhiên 5000 lần, đếm lần public không thấy B hơn.
Kết quảhidden 0.8 0.81
200 A >= B: 0.33 std 0.018
1000 A >= B: 0.05 std 0.006
Public 200 dòng: sai hoặc hòa khoảng một phần ba số lần.
Một lượt nộp trả lời một câu hỏi.
“R03: đổi n-gram, giữ split S1, log loss giảm”: kiểm lại được.
“Bản mới tốt nhất”: không kiểm được.
Gửi nhiều dự đoán để suy ngược nhãn làm mất mục đích đánh giá và có thể vi phạm luật.
Hỏi nhanh
Public có 200 dòng. Bản R07 đạt 0.815, bản R05 đạt 0.805, tức chênh nhau 2 dòng. Trên validation 5 fold, R05 hơn R07 ở cả 5 fold, trung bình hơn 0.004. Còn một lượt nộp. Nên làm gì?
Chênh 2 dòng trên 200 nhỏ hơn mức nhiễu khoảng 0.018, còn R05 thắng ở cả 5 fold. Nộp lại cùng một file không giảm được nhiễu.
File ngang baseline cho N=0, nhưng mọi cải thiện của bài văn bản đi qua nó.
Không có file: bài văn bản chắc chắn 0.
Seed thêm: khoảng 0.07 điểm dự kiến mỗi phút.
Hỏi nhanh
Còn 35 phút. Phương án 1 là chạy thêm seed cho ảnh, mất 20 phút, với p=0.5, tăng 2 điểm. Phương án 2 là dành 15 phút dựng một file văn bản hợp lệ, ngang baseline với N=0, rồi 20 phút làm TF-IDF với p=0.6, đạt N=20. Điểm dự kiến tăng thêm của hai phương án là bao nhiêu?
Seed được 0.5⋅2=1. Văn bản: bước đầu cho 0, nhưng mở đường cho bước sau được 0.6⋅20=12.
readback = pd.read_csv(StringIO(csv_text),
dtype={"id": str})
assert readback["id"].tolist() == expected_ids
assert readback["id"].is_unique
print(csv_text.rstrip())
print("readback", readback.shape, "OK")
Kết quảid,probability
001,0.15
007,0.8
010,0.55
readback (3, 2) OK
ID dạng chuỗi: 001 không thành 1.
Kiểm thêm số hữu hạn và miền xác suất.
Hỏi nhanh
CSV có đúng số hàng và đúng tên cột, nhưng thứ tự ID khác với file mẫu. Đã kết luận được bài nộp đúng chưa?
Bộ chấm ghép theo vị trí thì mọi dòng lệch bị chấm với nhãn của mẫu khác. Hãy sắp theo file mẫu và assert danh sách ID.
Luyện đề 1
Bài hồi quy chấm lỗi trung bình, càng thấp càng tốt. Điểm phần thi là 100⋅Xbase−XbestXbase−X, với Xbest=min(Xexpert,Xthıˊ sinh), trong đó Xexpert là lỗi của một model mà ban giám khảo giữ kín. Lỗi lớn hơn baseline thì được 0 điểm. Biết Xbase=0.50, Xexpert=0.20, bài tốt nhất của thí sinh có lỗi 0.26, còn đội đạt X=0.32. Đội được bao nhiêu điểm?
Xbest=0.20, nên điểm là 100⋅(0.50−0.32)/(0.50−0.20)=60.
Luyện đề 2
Bài dự đoán giá nhà có 5000 căn, 20 đặc trưng dạng bảng như diện tích, số phòng ngủ, vị trí, tuổi nhà, và cần giải thích được đặc trưng nào ảnh hưởng nhiều. Đã có baseline dự đoán giá trung bình để kiểm đường nộp. Nên thử model chính nào đầu tiên?
Với dữ liệu bảng cỡ vừa, gradient boosted trees thường mạnh nhất từ đầu, không cần chuẩn hóa, và có feature importance để giải thích.
Luyện đề 3
Bài phân loại chuỗi cảm biến chấm macro-F1. Luật ghi rằng nếu phát hiện thí sinh gán nhãn test bằng tay thì phần đó được 0 điểm. Model còn phân vân ở 40 chuỗi test, với xác suất từ 0.45 đến 0.55. Một bạn vẽ 40 chuỗi ấy ra và thấy có thể tự đoán nhãn. Nên làm gì?
Luật cấm gán nhãn test bằng tay. Rút quy luật từ validation rồi viết thành code thì hợp lệ.
Đọc yêu cầu → đường nộp → baseline → kế hoạch → bài nộp.
Mỗi bước có một bằng chứng kiểm được trước khi sang bước sau.
Làm 10 câu kiểm tra cuối bài trên trang bài học.
Chạy notebook; đổi ngân sách 130 phút, đoán trước kế hoạch tốt nhất rồi kiểm bằng phép duyệt hết.