<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>XGBoost · 仁才德</title>
    <link>https://jared.lynskey.co.nz/zh-cn/tags/xgboost/</link>
    <description>关于软件工程与研发团队领导力的短文——绩效评估、招聘与团队扩张、CI/CD、DevOps 监控、智能体 AI。写于首尔。</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <copyright>© 2026 仁才德</copyright>
    <lastBuildDate>Tue, 27 Oct 2026 00:00:00 +1300</lastBuildDate>
    <atom:link href="https://jared.lynskey.co.nz/zh-cn/tags/xgboost/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>一幅画的价值由什么决定？用算法预测艺术品拍卖价格</title>
      <link>https://jared.lynskey.co.nz/zh-cn/posts/2026/2026-04-01-art-evaluation-algorithm/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/zh-cn/posts/2026/2026-04-01-art-evaluation-algorithm/</guid>
      <pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>Machine Learning</category>
      <category>XGBoost</category>
      <category>Art Market</category>
      <category>Python</category>
      <category>Data Science</category>
      <description>艺术品拍卖价格由什么决定？复现一项 2024 年基于 34,200 笔拍卖成交的 XGBoost 研究后发现，市场定价的是艺术家，不是作品。这篇讲用到的特征、得出的结果，以及我围绕它们搭的艺术品估价平台。</description>
      <content:encoded><![CDATA[<p>一幅画在拍卖会上值多少钱，取决于什么？主要看艺术家，而不是画本身。2024 年一项针对 34,200 笔当代艺术拍卖成交的研究里，只看作品本身的模型，只能解释约 5% 的价格差异；基于艺术家职业经历、展览履历和过往成交记录的模型，能解释约 73%；再加上拍卖行的预售估价，就到了 92%。下面讲我是怎么复现这个结果的，以及它对用算法给艺术品估价意味着什么。</p>
<p>过去几周我在做两个相关的项目。第一个是复现 2024 年 <em>Scientific Reports</em> 上 Lee 等人的论文 &ldquo;Social signals predict contemporary art prices better than visual features, particularly in emerging markets&rdquo;，它用 590 位在世艺术家的 34,200 条拍卖记录训练了一个 XGBoost 模型。第二个是搭建一个艺术品平台，核心是一张连接艺术家、拥有者和拍卖记录的知识图谱。说白了，就是你想拿那种模型做点正经事时必须先铺好的数据管道。</p>
<p>两个项目最后绕回的都是同一个问题：一件艺术品能卖多少钱，真的可以预测吗？答案是可以，但靠看作品本身不行。管用的特征几乎全是社会性的。</p>

<h2 class="relative group">为什么艺术品难估价
    <div id="为什么艺术品难估价" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e8%89%ba%e6%9c%af%e5%93%81%e9%9a%be%e4%bc%b0%e4%bb%b7" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>动手写代码之前，我花了几天读评估师和拍卖行到底怎么定价。要考虑的因素很多，而且大多没法干净地量化。来源——谁拥有过它、在哪展出过、被哪些图录收录。归属和真伪：经艺术家基金会确认的真品，比只是&quot;传为某人所作&quot;的作品贵好几个数量级。艺术家的声誉，由个展、双年展、博物馆收藏和批评界反响一点点垒起来。再加上品相和修复史、在艺术家作品体系里的稀缺程度，还有媒介——布面油画通常好过纸本，纸本又好过版画。被大博物馆收藏，等于盖上了一枚二级市场信得过的章。时机也算数：五年前的可比案例已经过时了。</p>
<p>拍卖行的专家还会谈&quot;情感价值&quot;：藏家的渴望、竞价大战的氛围、个人的共鸣。这种东西能把落槌价推到任何理性估算之外。你没法直接建模它，但可以借拍卖行的预估价间接捕到它的轮廓。</p>
<p>实务中占主导的估值方法是可比销售分析：找同一位艺术家相似作品的近期拍卖结果，再按差异调整。XGBoost 干的本质上就是这件事，只是规模大得多，用的特征也多到任何人类评估师都没法手工跟踪。</p>

<h2 class="relative group">论文的核心论点
    <div id="论文的核心论点" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e8%ae%ba%e6%96%87%e7%9a%84%e6%a0%b8%e5%bf%83%e8%ae%ba%e7%82%b9" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>Lee 等人的论点很反直觉：作品的视觉内容几乎解释不了价格。他们只用视觉特征（颜色、构图、边缘密度、ResNet18 嵌入）的模型，R² 大约 0.055，比直接猜均值强不了多少。</p>
<p>而只用艺术家层面&quot;社会性&quot;特征（职业阶段、展览履历、过往拍卖价格、ArtFacts 排名）的模型能到 R² ≈ 0.73。再把拍卖行的预售估价加进特征，能升到 0.92。</p>
<p>换句话说，作品本身几乎无关紧要。要紧的是谁做的，以及市场对这个人已经说过什么。</p>
<p>论文的第二个论点是，这个差距在新兴市场还会进一步拉大。他们说的新兴市场，指美国、英国、法国、德国这四个既有核心之外的一切。在那些市场里，社会信号更管用，专家预估反而更不准，留给算法预测创造价值的空间也就更大。</p>

<h2 class="relative group">复现论文
    <div id="复现论文" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%a4%8d%e7%8e%b0%e8%ae%ba%e6%96%87" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>任务本身很直接：以单人开发的 MVP 复现这篇论文。不上生产，没有实时数据管道。忠实的重新实现、原型级的代码，加一份写清结论的报告。</p>

<h3 class="relative group">数据
    <div id="数据" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%95%b0%e6%8d%ae" aria-label="锚点">#</a>
    </span>
    
</h3>
<p>论文以补充材料的形式提供了清洗好的 CSV：</p>
<table>
	<thead>
			<tr>
					<th>文件</th>
					<th>行数</th>
					<th>内容</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>Df_mloutfull.csv</code></td>
					<td>86,221</td>
					<td>原始数据集，500+ 列</td>
			</tr>
			<tr>
					<td><code>df_for_ml_improved_up_to_2012.csv</code></td>
					<td>34,200</td>
					<td>主清洗数据集，1996–2012</td>
			</tr>
			<tr>
					<td><code>df_for_ml_improved_old_market.csv</code></td>
					<td>29,853</td>
					<td>仅既有市场</td>
			</tr>
			<tr>
					<td><code>df_for_ml_improved_new_market.csv</code></td>
					<td>4,346</td>
					<td>仅新兴市场</td>
			</tr>
			<tr>
					<td><code>transactions.csv</code></td>
					<td>114,283</td>
					<td>含图片链接的原始拍卖记录</td>
			</tr>
	</tbody>
</table>
<p>全部加起来大约 5 GB，轻松塞进内存。这个规模的数据集，XGBoost 在笔记本 CPU 上五分钟内就能训练完，核心模型根本不需要 GPU。这个体量的表格数据，梯度提升树的训练成本约等于零——要是这几年一直泡在神经网络的世界里，这件事很容易忘。</p>

<h3 class="relative group">特征
    <div id="特征" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%89%b9%e5%be%81" aria-label="锚点">#</a>
    </span>
    
</h3>
<p>模型用 38 个特征，分三类。</p>
<p><strong>关于艺术家（30 个）：</strong></p>
<ul>
<li>人口属性：年龄、性别、教育程度、是否名校。</li>
<li>职业：ArtFacts 排名、个展、群展、双年展参与、获奖。</li>
<li>收藏：个人和公共收藏数量。</li>
<li>价格历史：艺术家最近 5 次和 10 次销售的均值、中位数、最高、最低。</li>
<li>面积调整后的价格历史（每平方英寸价格）。</li>
<li>地理：艺术家工作和居住地，编码为按国家的标志位。</li>
<li>匹配标志：作品的题材是否与艺术家典型题材一致？销售国家是否一致？</li>
</ul>
<p><strong>关于市场（8 个）：</strong></p>
<ul>
<li>拍卖行等级（1–4）。</li>
<li>当年该国家/地区的价格水平（最低、平均、中位、最高）。</li>
</ul>
<p><strong>关于作品本身（非视觉）：</strong></p>
<ul>
<li>宽度、高度、平方英寸面积。</li>
<li>媒介类别（绘画、版画、摄影、雕塑、其他）。</li>
</ul>
<p>注意这份清单里缺了什么：任何关于作品实际视觉内容的信息。那部分只在单独的消融实验里出现。</p>

<h3 class="relative group">训练/测试拆分
    <div id="训练测试拆分" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e8%ae%ad%e7%bb%83%e6%b5%8b%e8%af%95%e6%8b%86%e5%88%86" aria-label="锚点">#</a>
    </span>
    
</h3>
<p>按时间拆，不是随机拆。2011 年 5 月之前的全部进训练集（约 80%，约 27,360 条），之后的进测试集（约 20%，约 6,840 条）。随机拆分会通过艺术家的价格历史特征泄漏未来信息：把同一位艺术家的记录随机撒在训练集和测试集里，测试集的行就已经通过滚动窗口&quot;看过&quot;彼此的价格，R² 会被人为抬高。</p>
<p>这种事看穿了觉得理所当然，第一次搭的时候却很容易漏掉。</p>

<h3 class="relative group">模型
    <div id="模型" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%a8%a1%e5%9e%8b" aria-label="锚点">#</a>
    </span>
    
</h3>
<p>XGBoost 回归，预测 <code>log10(price_usd)</code>。在留出的验证切片上搜索 <code>max_depth</code> 和 <code>learning_rate</code>。两个模型变体：</p>
<ol>
<li><strong>不用专家预估。</strong> 目标 R² ≈ 0.73。</li>
<li><strong>使用专家预估。</strong> 目标 R² ≈ 0.92。</li>
</ol>
<p>&ldquo;使用预估&quot;的变体把拍卖行预售的低估和高估作为额外特征。这两个数字单独拿出来用，就能达到 R² ≈ 0.90。社会特征叠上去再多 0.02。绝对值不大，但这 0.02 才是模型在专家已知信息之外真正做出的预测贡献。</p>

<h3 class="relative group">我瞄准的目标
    <div id="我瞄准的目标" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%88%91%e7%9e%84%e5%87%86%e7%9a%84%e7%9b%ae%e6%a0%87" aria-label="锚点">#</a>
    </span>
    
</h3>
<p>我没打算超过论文。目标是在所有条件下把 R² 控制在他们数值的 ±0.03 之内。头条数字（仅元数据约 0.73，加预估约 0.92）的可复现性应该不错：XGBoost 固定种子后是确定性的，特征定义也清楚。我预计会漂移的地方有两处：视觉特征消融，PCA 维数或图像预处理的小差异都会让结果晃动；还有新兴市场那一刀，只有 4,346 条记录，噪声下限本来就高。</p>

<h2 class="relative group">为什么视觉特征几乎没用
    <div id="为什么视觉特征几乎没用" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a7%86%e8%a7%89%e7%89%b9%e5%be%81%e5%87%a0%e4%b9%8e%e6%b2%a1%e7%94%a8" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>这是我觉得最有意思的结果。论文的视觉流水线为每张图片提取 8,971 个数字：</p>
<ul>
<li><strong>GIST 描述子</strong>（960 维）：整体空间布局。</li>
<li><strong>方向梯度直方图（HOG）</strong>（2,915 维）：边缘结构。</li>
<li><strong>颜色直方图</strong>（4,096 维）：调色板分解。</li>
<li><strong>ResNet18 特征</strong>（1,000 维）：高层级预训练嵌入。</li>
<li><strong>色彩饱和度</strong>（1 维）：鲜艳度标量。</li>
<li><strong>复杂度</strong>（1 维）：边缘密度标量。</li>
</ul>
<p>全部用 PCA 压缩后喂给 XGBoost，得到 R² ≈ 0.055。只用颜色是 0.056，边缘结构 0.029，神经网络嵌入 0.009，基本等于零。</p>
<p>干净利落的解释是：拍卖价格是在艺术家层面、而不是单件作品层面定下来的。同一位艺术家的两幅画，不管画布上是什么，都会卖出相近的价钱，因为被定价的是签名。</p>
<p>读过拍卖图录注释的人会立刻明白这为什么成立。那些文字几乎全花在来源、展览史和可比销售上，对作品本身几乎不着一笔。</p>
<p>如果认真对待这个 5%，结论就是作品的美学内容和它的市场价值几乎脱钩。市场在奖励的东西，不管是什么，都不在画布上。一个能在像素层面理解艺术的模型，预测价格反而会输给一个只认识艺术家简历的模型。</p>

<h3 class="relative group">第三阶段是有条件的
    <div id="第三阶段是有条件的" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%ac%ac%e4%b8%89%e9%98%b6%e6%ae%b5%e6%98%af%e6%9c%89%e6%9d%a1%e4%bb%b6%e7%9a%84" aria-label="锚点">#</a>
    </span>
    
</h3>
<p>论文的图片链接列指向的是 2012 年还有效的 URL，到 2026 年大多已经死了。我写的计划在第 8 天就安排了这项风险检查：随机抽 100 个 URL，看有几个还活着。要是一半以上都没了，视觉阶段整个跳过，把原因写进报告。</p>
<p>反正视觉特征只解释约 5% 的价格方差。为了确认一个这么小的数字，去和链接腐烂搏斗两个星期，划不来。把死链的调查结果写进报告，继续往前走，才是正解。</p>

<h2 class="relative group">既有市场 vs 新兴市场
    <div id="既有市场-vs-新兴市场" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%97%a2%e6%9c%89%e5%b8%82%e5%9c%ba-vs-%e6%96%b0%e5%85%b4%e5%b8%82%e5%9c%ba" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>论文为既有市场（美国、英国、法国、德国）和新兴市场（其余 19 个国家）分别训练模型。核心结果：</p>
<table>
	<thead>
			<tr>
					<th>特征集</th>
					<th>既有市场 R²</th>
					<th>新兴市场 R²</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>仅视觉</td>
					<td>0.053</td>
					<td>0.056</td>
			</tr>
			<tr>
					<td>元数据（社会信号）</td>
					<td>0.667</td>
					<td>0.750</td>
			</tr>
			<tr>
					<td>元数据 + 预估</td>
					<td>0.916</td>
					<td>0.859</td>
			</tr>
	</tbody>
</table>
<p>有两点跳出来。第一，社会信号在新兴市场更管用，而不是更不管用。我原以为既有市场数据更厚，社会特征的表现应该更好，结果正好相反。</p>
<p>第二，新兴市场的专家预估更不准——加入预估后的 0.916 对 0.859，差距就在这。在既有市场，算法预测得和背靠几十年可比数据的大拍卖行专家硬碰硬；在新兴市场，那位专家手里的数据薄得多，算法能补的缺口也就大得多。</p>
<p>真要把这种模型拿去商业化，能赚回饭钱的地方是新兴市场。</p>

<h2 class="relative group">该说清楚的局限
    <div id="该说清楚的局限" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e8%af%a5%e8%af%b4%e6%b8%85%e6%a5%9a%e7%9a%84%e5%b1%80%e9%99%90" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>这是论文复现，不是生产系统。它没有实时数据管道，模型用 1996–2012 的拍卖数据训练完就再也不更新了。没有部署，产出是几个 Notebook 和一份报告，不是预测 API。没有漂移检测，训练完的模型不知道市场什么时候变了。数据集是冻结的：加密艺术、NFT、新冠之后的市场变化，在训练数据里根本不存在。要是想预测韩国拍卖行的价格，还需要拍卖行专属特征，可能还得给韩国市场单独训一个模型——这些都没做。</p>
<p>模型反映的也只是历史模式。如果当代艺术市场在 2015 年前后发生过结构性变化（确实有人这么论证：艺博会崛起为一级市场的主要场地，新一代藏家入场），那 1996–2012 的规律未必还能外推。</p>

<h2 class="relative group">从论文到平台
    <div id="从论文到平台" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e4%bb%8e%e8%ae%ba%e6%96%87%e5%88%b0%e5%b9%b3%e5%8f%b0" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>读完论文，我看第二个项目的眼光变了。这个平台最初的定位是艺术展览的众筹市场：艺术家提前为即将举办的展览锁定资金，投资者则比拍卖市场通常允许的时点更早接触到新兴艺术家。</p>
<p>产品表层刻意做得简单。艺术家发布需要资金的展览（场地、日期、预计参展作品）。投资者按分级金额（$100、$500、$1k、$5k）支持特定展览，作品售出后分享收益。艺术家和投资者之间的大部分聊天由 AI agent 接手，双方都不必在线，对话也不会断。韩国画廊隔着 14 个小时时差和美国藏家谈事情的时候，这一点格外有用。</p>
<p>一旦&quot;资产是艺术家而不是作品&quot;这件事沉淀下来，数据模型也得跟着改。要抓住的是：每件作品被谁拥有过、在哪展出过、可比作品卖了多少钱、还有谁也收藏这位艺术家。所有权链条、机构认可、拍卖可比案例、藏家网络——这正是知识图谱的用武之地。</p>
<p>数据模型故意做得很小：艺术家、作品、拍卖记录、持有期，再加一份数据本身的来源日志，每条记录是从哪抓来的都能追回去。最后这一项听着像记账，但数据是爬来的，有了它这张图才信得过。</p>
<p>移动端把这一切渲染成一张力导向图。时间范围滑块可以在年份间拖动，看着网络一点点长出来：哪些藏家什么时候入场，哪些艺术家被哪家博物馆相中，哪些作品在 2008 年低谷期换了主人。</p>
<p>每类实体有自己的形状和颜色：艺术家是菱形，作品是圆角矩形，拍卖行是六边形，收藏者、经销商、博物馆、遗产管理这些持有方则是不同颜色的圆。</p>
<p>形状不是装饰。缩小到几百个节点的时候，不用等标签渲染，光看轮廓就知道那是什么实体。被一圈圆围住的菱形，是一位有藏家网络的艺术家；连着一堆菱形的六边形，是一家代理多位艺术家的拍卖行。市场的结构一眼就能读出来。</p>
<p>第二个标签页把同样的数据放到时间轴上：持有期是水平条，销售是点事件。同一张图，换个镜头。想看的是&quot;谁在什么时候持有了什么&quot;的先后顺序、而不是某一时刻的网络形状时，就用它。</p>
<p>这个平台本身不是价格预测工具，它是垫在预测工具下面的数据层。想给 Lee 等人那样的模型喂上鲜活的当前数据、而不是冻结在 2012 年的 CSV，需要的就是这套结构。</p>

<h2 class="relative group">把估价做成一个游戏
    <div id="把估价做成一个游戏" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%8a%8a%e4%bc%b0%e4%bb%b7%e5%81%9a%e6%88%90%e4%b8%80%e4%b8%aa%e6%b8%b8%e6%88%8f" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>我还没动手做、却最感兴趣的部分，是把艺术品估价变成游戏。</p>
<p>Lee 等人的论文把拍卖行预售估价当特征用，R² 因此大涨。那些预估之所以值钱，是因为它们是受过训练的专家的聚合判断——这些人看过成千上万件可比作品，而且对结果有切身利害。但拍卖行专家是一种又窄又贵的资源：全球就几百位，只做具体的委托案，够不着那条还没人委托的艺术家长尾。</p>
<p>我反复回到的问题是：能不能从一个更宽、更便宜的判断池里，合成出一个可比的信号？</p>
<p>粗略的设计：</p>
<ul>
<li>给用户看一件作品：图片、尺寸、年份、艺术家名字、简短履历。</li>
<li>问他们这件作品拍卖会卖多少钱。</li>
<li>让他们选一个价格区间，或者直接猜落槌价。</li>
<li>提交之后揭晓真实成交价。</li>
<li>用类似 Brier 分数的方式，随时间给他们打准确度评级。</li>
<li>提供排行榜、每日连胜、手感火热徽章。</li>
<li>用历史准确度给每位用户未来的预测加权。</li>
</ul>
<p>本质上这是一个艺术品价格的预测市场，套着猜价游戏的壳。循环和猜地理位置的游戏、在线国际象棋的谜题评分一样：可重复、可打分、有反馈，能练出真本事。猜得准的人在排行榜上爬升，他们未来的猜测在聚合信号里的权重也更大。</p>
<p>真正的价值在模型那一侧。这些猜测的加权聚合，可以和社会信号并排喂给 XGBoost。如果群体的准确度加权中位数和落槌价相关性够好，你就为那些没有真实预估的作品造出了近似的&quot;合成拍卖行预估&rdquo;。而这恰恰补在 Lee 等人的模型最缺帮助的位置——艺术家长尾。</p>
<p>冷启动的角度也说得通。模型在价格历史丰厚的艺术家身上训练得很好，在只有三笔销售的艺术家身上一塌糊涂。三笔销售加一千个群体猜测，至少有东西可用了。众包估价，就是在给底层数据覆盖不到的情形制造训练信号。</p>
<p>游戏化在这里之所以关键，是因为让群体可靠的唯一办法，是把参与做得足够好玩，让人反复来玩。一次性的问卷只能从随手点过的人那里收到噪声。每日连胜加排行榜加校准徽章，能让同一个人在一年里认认真真做出 500 次预测。数量，再加上自我筛选（猜得准的留下来，猜不准的觉得无聊走人），才是把噪声变成信号的方式。</p>
<p>动手之前还有几个设计问题要想清楚。给用户看多少东西——只有图片和履历，还是连可比销售也给？上下文越多猜测越有依据，但过了某个点，用户就只是在复读你已经展示的内容。价格反馈给到什么粒度？揭示精确落槌价、一个区间，还是只告诉他们有没有落在 ±20% 之内？太精细会训练出锚定具体数字的用户，太模糊又没法校准。还有刷榜问题：玩家会扎堆猜自己认识的艺术家，猜 Banksy 基本是常识题而不是技能题。解法大概是像语言学习 App 选课那样强制随机抽样，再给隐去艺术家姓名的&quot;盲猜&quot;轮单设一个榜。最后是事后偏见，躲不掉——用户一旦知道某件 Basquiat 卖了 1.1 亿美元，就再也无法当作不知道。让这个循环保持诚实的，是源源不断的新作品供给，而这种供给每周是有限的。</p>
<p>游戏化的框架还把平台的两半拧在了一起。众筹一侧奖励的是展览财务表现好时的投资者；猜价一侧奖励任何会准确叫价的人，不管掏没掏钱。两者是同一个想法的两种形态：把群体的集体判断变成可交易的信号——一个交易资本，一个交易注意力。真正练出准头的玩家，最终可以带着可验证的叫价准确度记录，&ldquo;毕业&quot;到投资者那一侧。这个过滤器，比&quot;认识对的画廊主&quot;强多了。</p>

<h2 class="relative group">我带走的几件事
    <div id="我带走的几件事" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%88%91%e5%b8%a6%e8%b5%b0%e7%9a%84%e5%87%a0%e4%bb%b6%e4%ba%8b" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>预售估价非常厉害。拍卖行常因定价不透明挨骂，但他们的预估单凭自己就能捕捉接近 90% 的价格方差。专家在做什么且不论，做得是真好。可与此同时，作品本身在统计上几乎无关紧要——如果你是出于审美喜欢艺术，这个结论并不好受。市场定价的不是你眼睛看到的东西，而是别人已经为相邻作品掏过的钱。</p>
<p>建模层面，有两个习惯物有所值。按时间拆分是评估价格模型唯一诚实的方式，随机拆分给出的漂亮 R² 到了真实生产环境就露馅。梯度提升树在这里依然是正确的工具：论文里 XGBoost 赢了所有神经网络基线，这种规模、这种工程化程度的表格数据，没有理由去够 transformer。</p>
<p>商业上的观察也有两条。有意思的机会在新兴市场，那里专家定价最薄，算法预测能补的缺口最大。以及，群体是一个被低估的数据来源。Lee 等人模型里最大的单一特征就是拍卖行预估；如果校准过的群体能为艺术家长尾产出可比的信号，那是实打实的机会——既是模型输入，本身也能是个产品。</p>
<p>两个项目最后比我计划的更互补。论文复现教会我什么在预测价格，平台工作教会我要用上这些知识需要什么样的数据结构，游戏化的想法则把两头接起来：知识图谱供给作品和历史销售，猜价游戏产出群体推导的预估特征，模型把这个特征和社会信号一起消化，为那些原本对它不可见的艺术家给出预测。</p>
<p>这些都还没做完。论文复现是一个附带书面报告、能跑的原型；平台是一个填了种子数据的演示；众包猜价游戏眼下只存在于你刚读完的这份设计笔记里。但贯穿其中的想法足够一致，正确的形状在我看来已经相当清楚：给艺术家定价，而不是给作品定价；聚合群体，而不是只依赖专家；把估价当成市场共同产出的东西，而不是专家自上而下交下来的结论。</p>
<p>有时间的话，下一个要做的就是这个版本。</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2026/2026-04-01-art-evaluation-algorithm/featured.jpg" medium="image" type="image/jpeg" />
    </item>
  </channel>
</rss>
