icoa-cli 2.19.432 → 2.19.433

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,248 +1,230 @@
1
1
  {
2
- "track": "IOAI2026-tools",
3
- "cards": [
4
- {
5
- "seq": 1,
6
- "star": "★ 音频分类=mel 谱当单通道图像,自己写 Dataset 和 torch 训练循环",
7
- "trap": "!! resnet18 的 conv1 只收 3 通道,换成 1 通道就丢了该层预训练权重",
8
- "action": "▸ 领数据:kaggle s01-sound-of-nature",
9
- "meta": "⏱ 参考 25 分钟 · 难度 ★★☆☆☆",
10
- "note": "288 条训练 9 类,wav 全是 5 秒 44.1kHz,先重采到 16k",
11
- "hint": "先用 torchaudio 读一条 wav 走 MelSpectrogram→log 打出 shape,再照着写 Dataset。"
12
- },
13
- {
14
- "seq": 2,
15
- "star": "★ 8 个周期特征先 sin/cos 还原环状结构;t-SNE 只能看,降维不产出答案",
16
- "trap": "!! cand_0..4 是候选标签不是真标签;簇号要靠簇内候选列求和 argmax 映射",
17
- "action": "▸ 领数据:kaggle s02-mortys-time-paradox",
18
- "meta": "⏱ 参考 25 分钟 · 难度 ★★☆☆☆",
19
- "note": "t-SNE 没有 transform;要把 test 映射进来只能用 UMAP",
20
- "hint": "先看 8 列的 max 定出周期(≈11/13/17/19),sin/cos 编码成 16 维再聚类。"
21
- },
22
- {
23
- "seq": 3,
24
- "star": "★ 四标签各训一个二分类器;LoRA 微调对照 TF-IDF+CatBoost 基线",
25
- "trap": "!! 四个标签各自调阈值;全用默认 0.5,稀有的 severe_toxic 直接塌",
26
- "action": "▸ 领数据:kaggle s03-how-toxic-are-you-online",
27
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
28
- "note": "满分线各不同:severe_toxic 只需 F1 0.35,toxic 要 0.905",
29
- "hint": "先 TF-IDF+线性分类器打底,再对每个标签用 precision_recall_curve 找最优阈值。"
30
- },
31
- {
32
- "seq": 4,
33
- "star": "★ wav→mel→补裁成定长矩阵→当图像分类:librosa 只负责前两步",
34
- "trap": "!! 182 条样本摊到 41 个类,split 不 stratify 就有类在验证集挂零",
35
- "action": "▸ 领数据:kaggle s04-is-that-audio",
36
- "meta": "⏱ 参考 25 分钟 · 难度 ★★☆☆☆",
37
- "note": "官方承认本轮有泄漏:样本 id 的 A_/B_ 前缀本身就带类组信息",
38
- "hint": "先统计 train.csv 每类样本数,再定分层切分和 mel 的固定帧数。"
39
- },
40
- {
41
- "seq": 5,
42
- "star": "★ 四选一要手搓 MC 头:4 个选项各前向一次取 logit,再对 4 个分数算 CE",
43
- "trap": "!! reshape 成 B*4 条各自打分,还原时维度弄反,选项就和 batch 串位",
44
- "action": "▸ 领数据:kaggle s05-essay-gap | 做完 kaggle submit s05-essay-gap 出分",
45
- "meta": "⏱ 参考 25 分钟 · 难度 ★★☆☆☆",
46
- "note": "4 选项 × 512 长度 × batch 一起前向,显存是主要瓶颈",
47
- "hint": "把 before[SEP]选项[SEP]after 拼成 4 条,先跑一个 batch 打印 logits 形状。"
48
- },
49
- {
50
- "seq": 6,
51
- "star": "★ CLIP 当特征提取器,检索=余弦相似;降维只是把 768 维压干净的可选一步",
52
- "trap": "!! 参考图自己也在图库里,余弦相似度 1.0 必居首;不剔除,top-5 白丢一格",
53
- "action": "▸ 拉数据:teleload s06-face-matching-aicc-round-2",
54
- "meta": "⏱ 参考 25 分钟 · 难度 ★★☆☆☆",
55
- "note": "官方解答对 PIL 已是 RGB 的数组又做了一次 BGR2RGB,通道被换错",
56
- "hint": "先算 109×109 相似度矩阵,确认对角线是 1.0,再排除自身取 top-5。"
57
- },
58
- {
59
- "seq": 7,
60
- "star": "★ 887 条训练数据:LoRA 只训千分之几参数,正好压住过拟合",
61
- "trap": "!! CONTRADICT 只有 189 条;直接上 CE,macro F1 被这一类拖死",
62
- "action": "▸ 领数据:kaggle s07-scientific-facts | 做完 kaggle submit s07-scientific-facts 出分",
63
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
64
- "note": "用 peft 时别忘 modules_to_save,新分类头否则不会被保存",
65
- "hint": "claim 与 evidence 作两句传给 tokenizer,再用 StratifiedKFold 分折并给类加权。"
66
- },
67
- {
68
- "seq": 8,
69
- "star": "★ 200Hz 采的 20 秒信号,补洞在波形域做;要听就重采到 44.1kHz",
70
- "trap": "!! 非零位置 Data_X 就等于 Data_y;抄回来,只预测那 20% 的空洞",
71
- "action": "▸ 领数据:kaggle s08-spooky-disaster-or-creepy-pizza",
72
- "meta": "⏱ 参考 50 分钟 · 难度 ★★★★☆",
73
- "note": "缺失是连续段(单曲约 13 段),datapointID 要写成带引号的 (id, i)",
74
- "hint": "先验证 Data_X!=0 的行两列完全相等,再只对 0 位置建模。"
75
- },
76
- {
77
- "seq": 9,
78
- "star": "★ 70 测试对 70 候选是双射;按行取 logit 最大值必撞车,需全局指派",
79
- "trap": "!! linear_sum_assignment 求最小代价;分数忘了取负就挑出最差组合",
80
- "action": "▸ 领数据:kaggle s09-alchemy",
81
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
82
- "note": "训练只有 150 对;item1/item2 互换是免费的对称增强",
83
- "hint": "先打出 70×70 的候选打分矩阵,再交给 scipy 的匈牙利算法解指派。"
84
- },
85
- {
86
- "seq": 10,
87
- "star": "★ 有效信号住在低维流形:PCA 降维再重构,重构误差大的就是噪声",
88
- "trap": "!! 信号回归要先剔掉噪声行再训;预测还得乘掩码并 clip 到 0~100",
89
- "action": "▸ 领数据:kaggle s10-hello-aliens",
90
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
91
- "note": "三个子任务写进同一个 csv,靠 subtaskID 列区分,缺一问丢一档分",
92
- "hint": "先跑 PCA(15) 画重构误差直方图,找出分开信号与噪声的那道沟。"
93
- },
94
- {
95
- "seq": 11,
96
- "star": "★ 检测只换 box_predictor 头微调——和 LoRA 冻主干训小增量同源",
97
- "trap": "!! 图缩到 224,标注框在 512 画布;提交不乘回 512/224,IoU 直接归零",
98
- "action": "▸ 拉数据:teleload s11-haunt-me",
99
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
100
- "note": "无鬼图的 target 要给空框张量 zeros((0,4)),不是四个 0",
101
- "hint": "先把一张训练图连同它的框画出来,确认坐标系是 512 而不是 224。"
102
- },
103
- {
104
- "seq": 12,
105
- "star": "★ 要还原可听波形就别过 mel——谱图丢相位;直接在波形域上 1D U-Net",
106
- "trap": "!! 两路输出没有固定归属;普通 MSE 会互相打架,必须 PIT 取两种配对最小",
107
- "action": "▸ 领数据:kaggle s12-audio-demixing",
108
- "meta": "⏱ 参考 50 分钟 · 难度 ★★★★☆",
109
- "note": "提交是 base85 编码的 float32 数组;dtype 写成 float64 长度就翻倍",
110
- "hint": "先写 PIT 损失,把 s1/s2 互换再喂一遍,确认 loss 数值不变。"
111
- },
112
- {
113
- "seq": 13,
114
- "star": "★ 训练集只有 50 行:别训模型,拿冻结 MLM 的 [MASK] logit 当特征",
115
- "trap": "!! 目标词不在词表就静默变 [UNK],那一列特征全废却不报错",
116
- "action": "▸ 领数据:kaggle s13-polarity",
117
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
118
- "note": "反义前后缀规则(un-/in-/dis-/il-)可直接覆盖一批预测",
119
- "hint": "先查 686 对词里有多少是单个 wordpiece,OOV 的另想打分办法。"
120
- },
121
- {
122
- "seq": 14,
123
- "star": "★ 两问两路:旋转分类走 CNN,跨域检索靠描述子降维成嵌入再最近邻",
124
- "trap": "!! 旋转标签就是数据本身;任何随机翻转/旋转增强都会直接把标签洗掉",
125
- "action": "▸ 领数据:kaggle s14-sami-ofierul-de-conformitate",
126
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
127
- "note": "计分是阶梯不是线性:旋转掉到 0.60 以下,30 分直接变 10 分",
128
- "hint": "先把旋转四分类推过 macro F1 0.60 这条满分线,再攻检索那 70 分。"
129
- },
130
- {
131
- "seq": 15,
132
- "star": "★ 三问串成一条链:框错了像素数必错;主干冻住配轻量头即 LoRA 思路",
133
- "trap": "!! 同一批特征 SVR RMSE 1217、GBDT 只有 62——SVR 没缩放",
134
- "action": "▸ 拉数据:teleload s15-find-the-ducks",
135
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
136
- "note": "翻转增强时 bbox 要同步翻(x→W-x2, W-x1),提交是空格分隔的四个数",
137
- "hint": "先跑通「有鸭→出框→按框裁剪回归像素数」三步,任一步断链后面全废。"
138
- },
139
- {
140
- "seq": 16,
141
- "star": "★ 字节码当 token 序列喂 RNN 回归;pad 位必须 mask 掉再池化",
142
- "trap": "!! pack 序列的 lengths 必须留在 CPU;放到 GPU 上直接报错",
143
- "action": "▸ 领数据:kaggle s16-lost-interpreter",
144
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
145
- "note": "目标先标准化再训,算 MAE 前反标准化并 rint 取整",
146
- "hint": "先按 ';' 切 token 建词表,用 pack_padded_sequence 走通一个 batch。"
147
- },
148
- {
149
- "seq": 17,
150
- "star": "★ 字符级 TF-IDF SVD 降到 300 维,再用 Ridge 学西→英映射",
151
- "trap": "!! 两个 SVD 各自 fit,坐标系不通;不学映射直接算 cosine 等于瞎比",
152
- "action": "▸ 领数据:kaggle s17-bazarul-lui-riki | 做完 kaggle submit s17-bazarul-lui-riki 出分",
153
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
154
- "note": "word TF-IDF 跨语种失效;要 analyzer='char' 才有共享 n-gram",
155
- "hint": "先把 is_food=-1 的平行行挑出来当对齐语料,它们不参与分类训练。"
156
- },
157
- {
158
- "seq": 18,
159
- "star": "★ 先把 pooling instruct 前缀调对再上 LoRA;顺序反了白练",
160
- "trap": "!! pooling last-token 换成 mean,分数 100 掉到 45",
161
- "action": "▸ 领数据:kaggle s18-the-hieroglyph-hunter",
162
- "meta": "⏱ 参考 50 分钟 · 难度 ★★★★☆",
163
- "note": "查询侧加 Instruct 前缀、语料侧不加;emoji 先 demojize 成英文名更稳",
164
- "hint": "先用 support_examples 验证 pooling 与前缀选对了,再决定要不要微调。"
165
- },
166
- {
167
- "seq": 19,
168
- "star": "★ 别急着写 torch 训练循环:8 个梯度/拉普拉斯统计量喂 RF 就过满分线",
169
- "trap": "!! 坑数 clip 3~8、年龄 clip 到 1~5;不夹住 MAE 直接被拉爆",
170
- "action": "▸ 领数据:kaggle s19-lunar-craters | 做完 kaggle submit s19-lunar-craters 出分",
171
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
172
- "note": "年龄那问占 80 分,满分线 MAE≤0.3,手工特征就够到",
173
- "hint": "先用 cv2 抽出 8 个梯度/拉普拉斯统计量,喂 RandomForest 看 MAE。"
174
- },
175
- {
176
- "seq": 20,
177
- "star": "★ 两个倒数第二层就是两个特征提取器:谁的低维嵌入能线性还原 y,就归谁",
178
- "trap": "!! 标签是没有的;只比一次全量 ridge 的残差分不开,要 EM 反复加权重拟合",
179
- "action": "▸ 拉数据:teleload s20-latent-model-classification-ai",
180
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
181
- "note": "E 步算软责任时 softmax 记得减 max,否则数值溢出",
182
- "hint": "先用两组权重把 x 前向成 ZA/ZB,各拟合一个 ridge 头看残差分布。"
183
- },
184
- {
185
- "seq": 21,
186
- "star": "★ 错字与正文等长 encoder-only 逐字符分类;LoRA 合回主干零时延",
187
- "trap": "!! 输入与标签要用同一套 stride 分块;参数差一点两边 chunk 数就错位",
188
- "action": "▸ 领数据:kaggle s21-autocorrect",
189
- "meta": "⏱ 参考 50 分钟 · 难度 ★★★★☆",
190
- "note": "官方三坑:局部任务、等长、超默认截断长度的样本超过四分之一",
191
- "hint": "先确认两列字符数完全相等,再定 chunk 长度和 250 秒推理预算。"
192
- },
193
- {
194
- "seq": 22,
195
- "star": "★ 翻转让贴纸文字失效:在 torch 里逐维比符号,就能拆开文字维和视觉维",
196
- "trap": "!! 文件名字典序会排成 1,10,100…;要 key=int(stem),不然整份错位",
197
- "action": "▸ 拉数据:teleload s22-sticky-note-blindness-aicc-rou",
198
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
199
- "note": "官方实测约五分之一的维度被贴纸文字劫持;类嵌入也要先归一化",
200
- "hint": "先编码原图与水平翻转图,打印逐维乘积里负数占了多少维。"
201
- },
202
- {
203
- "seq": 23,
204
- "star": "★ 第二问训练集根本没有主题标签:只能在 test 上直接聚类,降维图只是给你看",
205
- "trap": "!! 答案是 SCIENCE/CRIME 这类字符串;簇号随机,要看簇心 top 词映射",
206
- "action": "▸ 领数据:kaggle s23-om-vs-ai | 做完 kaggle submit s23-om-vs-ai 出分",
207
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
208
- "note": "第一问 char_wb 2-8 gram 比 word 级强很多,满分线 macro F1 0.95",
209
- "hint": "先把 test 里 subtaskID=2 的行单独取出,只在它们上面做聚类。"
210
- },
211
- {
212
- "seq": 24,
213
- "star": "★ 冻住 ResNet50 只训一个小头(和 LoRA 同构),力气全花在掐掉捷径上",
214
- "trap": "!! 红方块只贴在训练集 Earth 图的边缘;不裁边,模型学的是方块不是鸟",
215
- "action": "▸ 领数据:kaggle s24-angry-birds",
216
- "meta": "⏱ 参考 70 分钟 · 难度 ★★★★★",
217
- "note": "只按四组里最差那组计分,整体 95% 也可能拿 0;禁止手工标注",
218
- "hint": "先按蓝通道均值自动标出背景,再把四组(鸟种×背景)的准确率分别打出来。"
219
- },
220
- {
221
- "seq": 25,
222
- "star": "★ 手写 4 层 CNN 训练循环的底线:15 轮 macro F1 约 0.75",
223
- "trap": "!! 标签编码器要复用 train 的那个;test 上重新 fit,六类映射就错位",
224
- "action": "▸ 领数据:kaggle s25-smart-waste-classifier",
225
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
226
- "note": "标签形状是 (B,1),喂 CrossEntropyLoss 前要 squeeze",
227
- "hint": "先跑 15 轮从零 CNN 记下 macro F1,再换预训练 backbone 比涨幅。"
228
- },
229
- {
230
- "seq": 26,
231
- "star": "★ 把每个模型的预测回归到特征上,15 维系数就是它的低维指纹;干净的聚成一簇",
232
- "trap": "!! kneighbors 第一个邻居就是它自己;设 5 拿到的是自己加 4 个邻居",
233
- "action": "▸ 拉数据:teleload s26-x-planet-x-model-selection",
234
- "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
235
- "note": "答案只有一行:5 个索引用逗号连成一个字符串写进 answer",
236
- "hint": "用一次 LinearRegression 多输出拟合 1000 列,系数标准化后找最紧的近邻团。"
237
- },
238
- {
239
- "seq": 27,
240
- "star": "★ 冻住旧类的 head、只训新类,靠 gate 分流 —— 抗遗忘的标准解",
241
- "trap": "!! val 从有偏 train 切出,系统性低估旧类;照 val 调参必翻车",
242
- "action": "▸ 领数据:kaggle audio-classifier",
243
- "meta": "⏱ 参考 50 分钟 · 难度 ★★★★☆",
244
- "note": "ICOA 自建题(IOAI 真 home task 1),参考解法 A11 实测 LB 0.889",
245
- "hint": "kaggle audio-classifier | 先跑通冻结基线拿到分,再动新类那一侧"
246
- }
247
- ]
248
- }
2
+ "track": "IOAI2026-tools",
3
+ "cards": [
4
+ {
5
+ "seq": 1,
6
+ "star": "★ 音频分类=mel 谱当单通道图像,自己写 Dataset 和 torch 训练循环",
7
+ "trap": "!! resnet18 的 conv1 只收 3 通道,换成 1 通道就丢了该层预训练权重",
8
+ "action": "▸ 领数据:kaggle s01-sound-of-nature",
9
+ "meta": "⏱ 参考 25 分钟 · 难度 ★★☆☆☆",
10
+ "note": "288 条训练 9 类,wav 全是 5 秒 44.1kHz,先重采到 16k",
11
+ "hint": "先用 torchaudio 读一条 wav 走 MelSpectrogram→log 打出 shape,再照着写 Dataset。"
12
+ },
13
+ {
14
+ "seq": 2,
15
+ "star": "★ 8 个周期特征先 sin/cos 还原环状结构;t-SNE 只能看,降维不产出答案",
16
+ "trap": "!! cand_0..4 是候选标签不是真标签;簇号要靠簇内候选列求和 argmax 映射",
17
+ "action": "▸ 领数据:kaggle s02-mortys-time-paradox",
18
+ "meta": "⏱ 参考 25 分钟 · 难度 ★★☆☆☆",
19
+ "note": "t-SNE 没有 transform;要把 test 映射进来只能用 UMAP",
20
+ "hint": "先看 8 列的 max 定出周期(≈11/13/17/19),sin/cos 编码成 16 维再聚类。"
21
+ },
22
+ {
23
+ "seq": 3,
24
+ "star": "★ 四标签各训一个二分类器;LoRA 微调对照 TF-IDF+CatBoost 基线",
25
+ "trap": "!! 四个标签各自调阈值;全用默认 0.5,稀有的 severe_toxic 直接塌",
26
+ "action": "▸ 领数据:kaggle s03-how-toxic-are-you-online",
27
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
28
+ "note": "满分线各不同:severe_toxic 只需 F1 0.35,toxic 要 0.905",
29
+ "hint": "先 TF-IDF+线性分类器打底,再对每个标签用 precision_recall_curve 找最优阈值。"
30
+ },
31
+ {
32
+ "seq": 4,
33
+ "star": "★ wav→mel→补裁成定长矩阵→当图像分类:librosa 只负责前两步",
34
+ "trap": "!! 182 条样本摊到 41 个类,split 不 stratify 就有类在验证集挂零",
35
+ "action": "▸ 领数据:kaggle s04-is-that-audio",
36
+ "meta": "⏱ 参考 25 分钟 · 难度 ★★☆☆☆",
37
+ "note": "官方承认本轮有泄漏:样本 id 的 A_/B_ 前缀本身就带类组信息",
38
+ "hint": "先统计 train.csv 每类样本数,再定分层切分和 mel 的固定帧数。"
39
+ },
40
+ {
41
+ "seq": 5,
42
+ "star": "★ 四选一要手搓 MC 头:4 个选项各前向一次取 logit,再对 4 个分数算 CE",
43
+ "trap": "!! reshape 成 B*4 条各自打分,还原时维度弄反,选项就和 batch 串位",
44
+ "action": "▸ 领数据:kaggle s05-essay-gap | 做完 kaggle submit s05-essay-gap 出分",
45
+ "meta": "⏱ 参考 25 分钟 · 难度 ★★☆☆☆",
46
+ "note": "4 选项 × 512 长度 × batch 一起前向,显存是主要瓶颈",
47
+ "hint": "把 before[SEP]选项[SEP]after 拼成 4 条,先跑一个 batch 打印 logits 形状。"
48
+ },
49
+ {
50
+ "seq": 6,
51
+ "star": "★ CLIP 当特征提取器,检索=余弦相似;降维只是把 768 维压干净的可选一步",
52
+ "trap": "!! 参考图自己也在图库里,余弦相似度 1.0 必居首;不剔除,top-5 白丢一格",
53
+ "action": "▸ 拉数据:teleload s06-face-matching-aicc-round-2",
54
+ "meta": "⏱ 参考 25 分钟 · 难度 ★★☆☆☆",
55
+ "note": "官方解答对 PIL 已是 RGB 的数组又做了一次 BGR2RGB,通道被换错",
56
+ "hint": "先算 109×109 相似度矩阵,确认对角线是 1.0,再排除自身取 top-5。"
57
+ },
58
+ {
59
+ "seq": 7,
60
+ "star": "★ 887 条训练数据:LoRA 只训千分之几参数,正好压住过拟合",
61
+ "trap": "!! CONTRADICT 只有 189 条;直接上 CE,macro F1 被这一类拖死",
62
+ "action": "▸ 领数据:kaggle s07-scientific-facts | 做完 kaggle submit s07-scientific-facts 出分",
63
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
64
+ "note": "用 peft 时别忘 modules_to_save,新分类头否则不会被保存",
65
+ "hint": "claim 与 evidence 作两句传给 tokenizer,再用 StratifiedKFold 分折并给类加权。"
66
+ },
67
+ {
68
+ "seq": 8,
69
+ "star": "★ 200Hz 采的 20 秒信号,补洞在波形域做;要听就重采到 44.1kHz",
70
+ "trap": "!! 非零位置 Data_X 就等于 Data_y;抄回来,只预测那 20% 的空洞",
71
+ "action": "▸ 领数据:kaggle s08-spooky-disaster-or-creepy-pizza",
72
+ "meta": "⏱ 参考 50 分钟 · 难度 ★★★★☆",
73
+ "note": "缺失是连续段(单曲约 13 段),datapointID 要写成带引号的 (id, i)",
74
+ "hint": "先验证 Data_X!=0 的行两列完全相等,再只对 0 位置建模。"
75
+ },
76
+ {
77
+ "seq": 9,
78
+ "star": "★ 70 测试对 70 候选是双射;按行取 logit 最大值必撞车,需全局指派",
79
+ "trap": "!! linear_sum_assignment 求最小代价;分数忘了取负就挑出最差组合",
80
+ "action": "▸ 领数据:kaggle s09-alchemy",
81
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
82
+ "note": "训练只有 150 对;item1/item2 互换是免费的对称增强",
83
+ "hint": "先打出 70×70 的候选打分矩阵,再交给 scipy 的匈牙利算法解指派。"
84
+ },
85
+ {
86
+ "seq": 10,
87
+ "star": "★ 有效信号住在低维流形:PCA 降维再重构,重构误差大的就是噪声",
88
+ "trap": "!! 信号回归要先剔掉噪声行再训;预测还得乘掩码并 clip 到 0~100",
89
+ "action": "▸ 领数据:kaggle s10-hello-aliens",
90
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
91
+ "note": "三个子任务写进同一个 csv,靠 subtaskID 列区分,缺一问丢一档分",
92
+ "hint": "先跑 PCA(15) 画重构误差直方图,找出分开信号与噪声的那道沟。"
93
+ },
94
+ {
95
+ "seq": 11,
96
+ "star": "★ 检测只换 box_predictor 头微调——和 LoRA 冻主干训小增量同源",
97
+ "trap": "!! 图缩到 224,标注框在 512 画布;提交不乘回 512/224,IoU 直接归零",
98
+ "action": "▸ 拉数据:teleload s11-haunt-me",
99
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
100
+ "note": "无鬼图的 target 要给空框张量 zeros((0,4)),不是四个 0",
101
+ "hint": "先把一张训练图连同它的框画出来,确认坐标系是 512 而不是 224。"
102
+ },
103
+ {
104
+ "seq": 12,
105
+ "star": "★ 要还原可听波形就别过 mel——谱图丢相位;直接在波形域上 1D U-Net",
106
+ "trap": "!! 两路输出没有固定归属;普通 MSE 会互相打架,必须 PIT 取两种配对最小",
107
+ "action": "▸ 领数据:kaggle s12-audio-demixing",
108
+ "meta": "⏱ 参考 50 分钟 · 难度 ★★★★☆",
109
+ "note": "提交是 base85 编码的 float32 数组;dtype 写成 float64 长度就翻倍",
110
+ "hint": "先写 PIT 损失,把 s1/s2 互换再喂一遍,确认 loss 数值不变。"
111
+ },
112
+ {
113
+ "seq": 13,
114
+ "star": "★ 训练集只有 50 行:别训模型,拿冻结 MLM 的 [MASK] logit 当特征",
115
+ "trap": "!! 目标词不在词表就静默变 [UNK],那一列特征全废却不报错",
116
+ "action": "▸ 领数据:kaggle s13-polarity",
117
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
118
+ "note": "反义前后缀规则(un-/in-/dis-/il-)可直接覆盖一批预测",
119
+ "hint": "先查 686 对词里有多少是单个 wordpiece,OOV 的另想打分办法。"
120
+ },
121
+ {
122
+ "seq": 15,
123
+ "star": "★ 三问串成一条链:框错了像素数必错;主干冻住配轻量头即 LoRA 思路",
124
+ "trap": "!! 同一批特征 SVR 的 RMSE 1217、GBDT 只有 62——SVR 没缩放",
125
+ "action": "▸ 拉数据:teleload s15-find-the-ducks",
126
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
127
+ "note": "翻转增强时 bbox 要同步翻(x→W-x2, W-x1),提交是空格分隔的四个数",
128
+ "hint": "先跑通「有鸭→出框→按框裁剪回归像素数」三步,任一步断链后面全废。"
129
+ },
130
+ {
131
+ "seq": 16,
132
+ "star": "★ 字节码当 token 序列喂 RNN 回归;pad 位必须 mask 掉再池化",
133
+ "trap": "!! pack 序列的 lengths 必须留在 CPU;放到 GPU 上直接报错",
134
+ "action": "▸ 领数据:kaggle s16-lost-interpreter",
135
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
136
+ "note": "目标先标准化再训,算 MAE 前反标准化并 rint 取整",
137
+ "hint": "先按 ';' 切 token 建词表,用 pack_padded_sequence 走通一个 batch。"
138
+ },
139
+ {
140
+ "seq": 17,
141
+ "star": "★ 字符级 TF-IDF SVD 降到 300 维,再用 Ridge 学西→英映射",
142
+ "trap": "!! 两个 SVD 各自 fit,坐标系不通;不学映射直接算 cosine 等于瞎比",
143
+ "action": "▸ 领数据:kaggle s17-bazarul-lui-riki | 做完 kaggle submit s17-bazarul-lui-riki 出分",
144
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
145
+ "note": "word TF-IDF 跨语种失效;要 analyzer='char' 才有共享 n-gram",
146
+ "hint": "先把 is_food=-1 的平行行挑出来当对齐语料,它们不参与分类训练。"
147
+ },
148
+ {
149
+ "seq": 18,
150
+ "star": "★ 先把 pooling instruct 前缀调对再上 LoRA;顺序反了白练",
151
+ "trap": "!! pooling last-token 换成 mean,分数 100 掉到 45",
152
+ "action": "▸ 领数据:kaggle s18-the-hieroglyph-hunter",
153
+ "meta": "⏱ 参考 50 分钟 · 难度 ★★★★☆",
154
+ "note": "查询侧加 Instruct 前缀、语料侧不加;emoji demojize 成英文名更稳",
155
+ "hint": "先用 support_examples 验证 pooling 与前缀选对了,再决定要不要微调。"
156
+ },
157
+ {
158
+ "seq": 19,
159
+ "star": "★ 别急着写 torch 训练循环:8 个梯度/拉普拉斯统计量喂 RF 就过满分线",
160
+ "trap": "!! 坑数 clip 3~8、年龄 clip 1~5;不夹住 MAE 直接被拉爆",
161
+ "action": "▸ 领数据:kaggle s19-lunar-craters | 做完 kaggle submit s19-lunar-craters 出分",
162
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
163
+ "note": "年龄那问占 80 分,满分线 MAE≤0.3,手工特征就够到",
164
+ "hint": "先用 cv2 抽出 8 个梯度/拉普拉斯统计量,喂 RandomForest 看 MAE。"
165
+ },
166
+ {
167
+ "seq": 20,
168
+ "star": "★ 两个倒数第二层就是两个特征提取器:谁的低维嵌入能线性还原 y,就归谁",
169
+ "trap": "!! 标签是没有的;只比一次全量 ridge 的残差分不开,要 EM 反复加权重拟合",
170
+ "action": "▸ 拉数据:teleload s20-latent-model-classification-ai",
171
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
172
+ "note": "E 步算软责任时 softmax 记得减 max,否则数值溢出",
173
+ "hint": "先用两组权重把 x 前向成 ZA/ZB,各拟合一个 ridge 头看残差分布。"
174
+ },
175
+ {
176
+ "seq": 21,
177
+ "star": "★ 错字与正文等长 ⇒ encoder-only 逐字符分类;LoRA 合回主干零时延",
178
+ "trap": "!! 输入与标签要用同一套 stride 分块;参数差一点两边 chunk 数就错位",
179
+ "action": "▸ 领数据:kaggle s21-autocorrect",
180
+ "meta": "⏱ 参考 50 分钟 · 难度 ★★★★☆",
181
+ "note": "官方三坑:局部任务、等长、超默认截断长度的样本超过四分之一",
182
+ "hint": "先确认两列字符数完全相等,再定 chunk 长度和 250 秒推理预算。"
183
+ },
184
+ {
185
+ "seq": 22,
186
+ "star": "★ 翻转让贴纸文字失效:在 torch 里逐维比符号,就能拆开文字维和视觉维",
187
+ "trap": "!! 文件名字典序会排成 1,10,100…;要 key=int(stem),不然整份错位",
188
+ "action": "▸ 拉数据:teleload s22-sticky-note-blindness-aicc-rou",
189
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
190
+ "note": "官方实测约五分之一的维度被贴纸文字劫持;类嵌入也要先归一化",
191
+ "hint": "先编码原图与水平翻转图,打印逐维乘积里负数占了多少维。"
192
+ },
193
+ {
194
+ "seq": 23,
195
+ "star": "★ 第二问训练集根本没有主题标签:只能在 test 上直接聚类,降维图只是给你看",
196
+ "trap": "!! 答案是 SCIENCE/CRIME 这类字符串;簇号随机,要看簇心 top 词映射",
197
+ "action": "▸ 领数据:kaggle s23-om-vs-ai | 做完 kaggle submit s23-om-vs-ai 出分",
198
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
199
+ "note": "第一问 char_wb 的 2-8 gram 比 word 级强很多,满分线 macro F1 0.95",
200
+ "hint": "先把 test 里 subtaskID=2 的行单独取出,只在它们上面做聚类。"
201
+ },
202
+ {
203
+ "seq": 24,
204
+ "star": "★ 冻住 ResNet50 只训一个小头(和 LoRA 同构),力气全花在掐掉捷径上",
205
+ "trap": "!! 红方块只贴在训练集 Earth 图的边缘;不裁边,模型学的是方块不是鸟",
206
+ "action": "▸ 领数据:kaggle s24-angry-birds",
207
+ "meta": "⏱ 参考 70 分钟 · 难度 ★★★★★",
208
+ "note": "只按四组里最差那组计分,整体 95% 也可能拿 0;禁止手工标注",
209
+ "hint": "先按蓝通道均值自动标出背景,再把四组(鸟种×背景)的准确率分别打出来。"
210
+ },
211
+ {
212
+ "seq": 25,
213
+ "star": "★ 手写 4 CNN 训练循环的底线:15 轮 macro F1 约 0.75",
214
+ "trap": "!! 标签编码器要复用 train 的那个;test 上重新 fit,六类映射就错位",
215
+ "action": "▸ 领数据:kaggle s25-smart-waste-classifier",
216
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
217
+ "note": "标签形状是 (B,1),喂 CrossEntropyLoss 前要 squeeze",
218
+ "hint": "先跑 15 轮从零 CNN 记下 macro F1,再换预训练 backbone 比涨幅。"
219
+ },
220
+ {
221
+ "seq": 26,
222
+ "star": "★ 把每个模型的预测回归到特征上,15 维系数就是它的低维指纹;干净的聚成一簇",
223
+ "trap": "!! kneighbors 第一个邻居就是它自己;设 5 拿到的是自己加 4 个邻居",
224
+ "action": "▸ 拉数据:teleload s26-x-planet-x-model-selection",
225
+ "meta": "⏱ 参考 35 分钟 · 难度 ★★★☆☆",
226
+ "note": "答案只有一行:5 个索引用逗号连成一个字符串写进 answer",
227
+ "hint": "用一次 LinearRegression 多输出拟合 1000 列,系数标准化后找最紧的近邻团。"
228
+ }
229
+ ]
230
+ }