How Deep Learning Finally Cracked Messy Tables - Frank Hutter
Machine Learning Street Talk · 2026-09-24

Frank Hutter 团队用 100% 合成数据训练出 TabPFN,在表格数据上首次稳定超过 CatBoost 和 XGBoost,单次前向传播即可完成预测。
深度学习在图像和语言上大杀四方,却在表格数据上被 XGBoost 压制了十几年。Frank Hutter 是 AdamW 和余弦退火的作者,也是 AutoML 领域的奠基人之一。他创立的 Prior Labs 用纯合成数据训练 TabPFN,让模型在单次前向传播中完成整个机器学习流程。这期他拆解了为什么以前不行、现在为什么行。
表格数据为什么一直是深度学习的滑铁卢
表格数据和图像完全不同,每张表的结构、列含义、数据类型都不一样,模型没法像处理图片那样"一招通吃"。
- 2019 年 Google 的 TabNet 拿了上千引用,但根本没法泛化到新数据集。表格数据里混杂着缺失值、异常值、类别值、有序值,传统深度学习把它们一视同仁地处理,效果很差。
- 核心矛盾在于:图像之间像素关系高度相似,可以迁移;但医疗表格和保险表格之间,行与行之间学不到任何东西。能迁移的只有"模式发现"这个层面——特征怎么交互、潜在的因果结构是什么。
- 以前数据科学家要把所有数据手动转成欧几里得空间,做归一化、标准化、缺失值填充、独热编码。现在 TabPFN 把这些预处理全部内化到网络里,自动处理。
TabPFN 到底怎么工作的
一句话说清楚:它把整个训练集当作"上下文"喂进 Transformer,然后直接输出测试集的预测结果,不需要任何梯度下降。
- 训练阶段用的是 100% 合成数据,没有用任何真实表格。因为网上根本没有足够多的高质量表格数据集,他们从结构因果模型里采样,生成了上亿个合成数据集。
- 它近似的是贝叶斯后验预测分布,不是点估计。传统贝叶斯方法要先求参数的后验再积分,MCMC 太慢、变分推断不准。TabPFN 直接跳过这一步,一步到位输出预测分布。
- 回归任务被转化成 10000 类的分类问题,用旋转分布让每个类里的样本数大致相等。好处是可以做多模态预测——比如鸟不会撞柱子,那它是左转还是右转?模型能同时给出两个方向的概率峰值。
表格数据的 ImageNet 时刻到了吗
在 Tabular Arena 排行榜上,TabPFN 的出现造成了一次明显的排名跳变,就像当年 AlexNet 在 ImageNet 上那样。
- TabPFN 1 支持 1000 行数据,2.0 支持 1 万行,2.5 支持 10 万行,3.0 支持 100 万行,每年提升两个数量级。但 Kaggle 上很多数据集远超这个规模,所以目前还没在大型竞赛中普及。
- Tabular Arena 是活的排行榜,完全开源。跑一次基准测试只要约 2 美元 GPU 成本,任何人都能复现。他们排除了 MNIST 这类"看起来像表格其实是图像"的数据集,也排除了少于 100 个样本的数据集。
- 和 LLM 配合使用是当前最实际的方案:让 Claude 或 Codex 做特征工程和探索性分析,然后调用 TabPFN 做预测。已经有 MCP server 集成,朋友用它预测世界杯比赛结果,在公司竞猜里赢了。
带走一句话
"TabPFN 是 AutoML 的自然演化——我们不再搜索超参数,而是直接学出一个完整算法,一次前向传播就搞定。"
- 如果你在做表格数据的预测任务,现在就可以用 `pip install tabpfn` 试试。非商业用途免费,API 和 scikit-learn 几乎一样,fit 和 predict 各一行代码。对于 10 万行以内的数据集,它大概率比你现在用的 XGBoost 调参效果好。
- 把 LLM 和 TabPFN 串起来用:让 Claude 负责理解列名含义、做特征工程、生成衍生变量,然后把处理好的表格交给 TabPFN 做预测。这个组合比单独用任何一个都强,而且已经有 MCP server 可以直接集成。
