
©PaperWeekly 原創 · 作者 | 尹懷鴻
單位 | 南京大學碩士研究生
研究方向 | 表格資料,多模態學習
近年來,深度學習在影像、語音、自然語言處理等領域大放異彩,但在一個看似簡單卻至關重要的場景——表格資料預測任務中,深度學習的能力卻難以預約如梯度提升決策樹(GBDT)等經典機器學習方法。
表格資料預測即最經典的機器學習任務,資料以行列結構組織,給定樣本的向量表示,需要對其標記進行預測,在醫療記錄、金融風控、電商推薦等行業中,表格資料仍作為核心。
隨著深度學習在相關領域中的應用,研究者們也嘗試思考,是否深度神經網路的能力能拓展至表格預測領域。近年來,有大量工作,從資料處理技巧、網路結構設計、大語言模型融入等多個方面進行了嘗試,但深度神經網路的效果依然有限,或僅能在部分領域的資料上相比於樹模型取得突破。
梯度提升樹的出色的效能給予研究者啟發:也許基於傳統方法進行改進,能夠讓深度方法在傳統方法上錦上添花,在表格資料上實現能力跨越。
在這一思路的指引下,南京大學團隊從一個經典的可微 K 近鄰演算法——近鄰成分分析(Neighbourhood Component Analysis,NCA)出發,透過不斷加入深度學習的技術,提出 ModernNCA 方法,用便捷的形式取得深度學習模型在表格資料分類、迴歸任務上的效能突破,在 300 個數據集上展現出優越於其他深度方法的效能。

論文標題:
Revisiting Nearest Neighbor for Tabular Data: A Deep Tabular Baseline Two Decades Later
論文連結:
https://openreview.net/forum?id=JytL2MrlLT
工具包連結:
https://github.com/qile2000/LAMDA-TALENT
ModernNCA程式碼連結:
https://github.com/qile2000/LAMDA-TALENT/blob/main/LAMDA_TALENT/model/models/modernNCA.py

回顧近鄰成分分析
K 近鄰演算法(K-Nearest Neighbor,KNN)是一種簡單而直觀的非引數方法,廣泛應用於分類和迴歸任務。KNN 的核心思想是透過度量樣本之間的距離,從訓練資料中尋找與給定樣本最相似的 K 個鄰居,並基於這些鄰居的資訊來預測目標值。
然而,KNN 的一個問題在於其基於原始特徵空間進行距離度量,在高維資料中容易受到“維度災難”的影響,導致效能下降。
為了解決這個問題,Jacob Goldberger 等人在 2004 年提出了近鄰成分分析(NCA)[1],NCA 透過學習一個對映矩陣,使得在新的特徵空間中,同一類的樣本彼此靠近,而不同類的樣本則遠離,從而增強 KNN 演算法的分類效果。

▲ 圖1:NCA 進行表格預測思路
NCA 的基本思想如圖 1 所示。在圖中,綠色的方框是原始的特徵空間,圓形、方形等各種形狀圖案是不同類別的樣本。NCA 將樣本對映到一個新的空間中(圖中橙色的方框),在這個空間中,樣本之間的距離能夠更好地反映其類別關係。
具體來說,NCA 透過最大化近鄰的相似度來最佳化對映矩陣。假設資料集為,其中 是第 個樣本的特徵向量, 是其對應的標籤。NCA 的目標是透過對樣本點進行線性變換,學習一個對映矩陣 ,使得同類樣本之間的距離儘可能小,而異類樣本之間的距離儘可能大。NCA定義了樣本 位於 近鄰的機率為:

以此,樣本 屬於類別 的機率為:

NCA 透過最大化所有訓練樣本的 之和,學習對映矩陣 ,在測試階段,在對映矩陣 L 投影的空間執行 K 近鄰演算法,對樣本進行分類。
然而,儘管 NCA 提出於二十年前,並且提出的時候論文就將其應用於 iris 等表格資料分類任務,但由於 NCA 的預測能力遠遠不及 RandomForest、XGBoost 等機器學習方法,後續 NCA 在研究者視野中逐漸淡去,在 sklearn 工具包中也僅作為一種視覺化降維方法出現。
本文重新分析並發現 NCA 的潛力,透過深度學習技術,對 NCA 進行一系列改進,學習面向表格資料高質量的特徵表示,不僅能讓其效能大幅增強,而且相較於其他表格深度學習方法,在時間,效能,記憶體消耗上有著更優秀的平衡。

改進步驟 1
原始 NCA 使用線性投影,且侷限於分類場景。我們對預測公式進行修改,假設 在分類任務中是 one hot 形式,在迴歸任務中是數值的形式,對於樣本預測的標籤值為:

——公式(1)
上述的公式中 代表變換的形式,在原始 NCA 中使用的是線性層。基於此公式,透過對近鄰樣本 label 的加權,在分類任務中 是樣本 的預測機率分佈,在迴歸任務中 是樣本 的預測值。
於是我們對分類任務使用負對數似然損失(negative log-likelihood loss),對迴歸任務使用均方誤差損失進行訓練。注意,這不同於原始的 NCA,用最大化機率和進行分類任務訓練,我們的分類任務損失相當於最大化對數機率之和。
在預測策略上,原始的 NCA 學習了對映變換 後,在對映空間運用 KNN 演算法尋找近鄰進行預測。而我們採用的是直接使用公式(1)中得到的預測值進行預測。
此外,原始的 NCA(scikit-learn 實現)預設進行降維,即投影矩陣 要求滿足 ,我們去除了這一限制,並將最佳化器由 L-BFGS 改變為 SGD。
我們發現使用了這些改進後,NCA 在預測效能上有了顯著的提升,即便只有一個線性對映層,其預測效能也能比肩 MLP。我們把這一改進後的 NCA 版本稱為 L-NCA。

改進步驟 2
儘管線性版本的 L-NCA 已展現出潛力,但其表達能力仍受限於線性對映。為了充分釋放深度學習的優勢,研究者進一步引入現代深度學習技術,提出了ModernNCA(M-NCA),核心改進主要包含以下兩點:
3.1 深度非線性架構
原始的 L-NCA 僅透過線性對映提取特徵,而 M-NCA 將線性投影 替換為多層非線性模組。具體地,每個模組由批歸一化(batch normalization)、線性層、ReLU 啟用、Dropout 和另一個線性層構成,數學形式為:

透過疊加多個此類模組,模型能夠捕捉複雜的特徵互動。此外,對於數值型特徵,M-NCA 引入了 PLR(Periodic-Linear-ReLU)編碼,將數值對映到高維空間,增強非線性表達能力。
3.2 加入取樣策略
傳統 NCA 需計算目標樣本與全部訓練資料的距離,當訓練集樣本量很大(比如上百萬)時候,計算開銷巨大。為此,M-NCA 提出隨機近鄰取樣(Stochastic Neighborhood Sampling, SNS)策略進行訓練:
在訓練階段,M-NCA 每個批次僅隨機取樣部分訓練資料(比如 30%)作為鄰域候選,以降低計算量和視訊記憶體消耗。在推理階段,M-NCA 仍使用全體訓練資料搜尋近鄰,保證預測精度。透過實驗發現,SNS 不僅能顯著加速訓練,還能提升模型的泛化效能。

實驗結果
4.1 主實驗結果
研究團隊在包含 300 個表格資料集(180 個分類資料集和 120 個迴歸資料集)的大規模基準測試中驗證了 ModernNCA 的效能 [2]。
圖 2 展示了不同表格資料方法的平均排名以及兩兩 Wilcoxon-Holm 檢驗的結果,實驗結果顯示,ModernNCA 在分類任務的平均準確率與迴歸任務的 RMSE(均方根誤差)上均顯著優於現有深度模型,並與當前最優的樹模型 CatBoost 效能相當。

▲ 圖2:表格資料方法平均排名的臨界圖
圖 3 對圖 2 中的方法的效能,執行時間和視訊記憶體消耗進行比較,縱軸比較了不同方法的訓練時間,橫軸比較了不同方法的平均排名,圓圈的半徑表示訓練是消耗的視訊記憶體。從圖中可見,相較於其他的深度方法,ModernNCA 具備優秀的效能同時保持了合理的視訊記憶體佔用和高效的訓練時間。

▲ 圖3:表格資料方法效能、執行時間和視訊記憶體消耗對比
4.2 消融實驗
在 27 個分類資料集和 18 個迴歸資料集上,我們對改進的各個元件的有效性進行評估:
從表 1 可以看出,從原始的 NCA(表示為 NCAv0)中不斷進行:不限制維度提升,最佳化器改進為 SGD,使用負對數似然損失,Soft 的近鄰預測方式等改進,NCA 的平均排名持續下降,效能不斷提升,即便只有一層線性對映,已經超過 MLP 的效能。

▲ 表1:NCA 加入不同改進元件後的平均排名
從表 2 可以看出,允許學習更深層的對映後,ModernNCA 具有更低的排名;此外,用帶 batch normalization 的 MLP 學習 要好於其他的學習方式。

▲ 表2:對映層 不同結構的平均排名
從圖 4 可以看出,ModernNCA 採用了隨機近鄰取樣策略後,在 30-50% 的取樣率產生了好於全量樣本作為近鄰訓練的結果。

▲ 圖4:不同取樣比例的平均排名
4.3 視覺化結果
以 AD 資料集為例,我們使用 TSNE 對不同方法學習的表徵進行對比,如圖 5 所示。

▲ 圖5:學習表徵視覺化結果
可以看出,相較於原始特徵,不同方法都學到了更加易於預測的特徵空間。使用對比學習的方法(TabCon)使得同類的樣本聚整合一個簇,難以處理難分樣本。而 ModernNCA 會將同類的樣本聚類成多個簇,保證相似的樣本位置相近。ModernNCA 的機制能更好地學習樣本間的區域性關係,適應表格資料的特性。

總結
ModernNCA 透過融合經典近鄰思想與深度學習技術,成功讓二十年前的 NCA 演算法煥發新生。其在 300 個數據集上的實驗表明:ModernNCA 可以作為深度表格預測的一個強大的基線方法,相較於梯度提升樹和其他深度表格方法展現出了強勁的效能。這一方法也啟示研究者:對傳統方法的現代化改造,可能是解鎖深度學習潛力的關鍵鑰匙。

參考文獻

[1] Goldberger, Jacob, et al. 'Neighbourhood components analysis.'Advances in neural information processing systems 17 (2004).
[2] Ye, Han-Jia, et al. 'A closer look at deep learning on tabular data.' arXiv preprint arXiv:2407.00956 (2024).
更多閱讀

#投 稿 通 道#
讓你的文字被更多人看到
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝 稿件基本要求:
• 文章確係個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標註
• 稿件建議以 markdown 格式撰寫,文中配圖以附件形式傳送,要求圖片清晰,無版權問題
• PaperWeekly 尊重原作者署名權,並將為每篇被採納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬 投稿通道:
• 投稿郵箱:[email protected]
• 來稿請備註即時聯絡方式(微信),以便我們在稿件選用的第一時間聯絡作者
• 您也可以直接新增小編微信(pwbot02)快速投稿,備註:姓名-投稿

△長按新增PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜尋「PaperWeekly」
點選「關注」訂閱我們的專欄吧
·
·
·
