上一節介紹了一種不受聚類數目限制的任務聚類方法,然而當資料中任務間的關系更為複雜時,基于任務聚類的多任務模型已經不能準确學習任務間的這種關系。仍然以圖 2(a) 中的交通問題為例,從更全面的角度來看,圖 2(a) 中的聚類模式并不能準确地刻畫任務間的關聯關系,因為不同的聚類之間仍然存在着聯系。事實上,當放寬聚類條件時,可以發現不同程度下的聚類模式。圖 2(b) 給出了不同程度下路網節點的聚類模式。紅色圓圈的聚類模式與圖 2(a) 相同,為第一層聚類模式;藍色圓圈的聚類粒度要大于紅色圓圈,表現為第二層聚類模式;紫色圓圈為最大粒度的聚類模式,即所有節點都在同一聚類中。圖 2(b) 所蘊含的資訊表明,網絡節點間的關系存在着層次結構。是以,本節将針對任務間更為複雜的結構,提出一種基于任務層次結構的多任務學習 (Task-Hierarchy basedMulti-Task Learning,THMTL ) 方法。該方法假設任務間存在多層次的結構,每一層中任務具有不同的聚類模式,提高了多任務模型對任務關系的表達能力。為了學習任務間的層次結構,将模型的參數矩陣 W 拆分為多個子矩陣。假設任務間的層次結構的層數為 H,對 W 進行分解:
。其中
,為第 h 層對應的子矩陣,d 為特征數,w h,i 為第 h 層第 i 個任務所對應的列向量。圖 2(c) 給出了當 H = 3 時,THMTL 模型中任務層次結構及參數矩陣的示例。THMTL 的目标函數定義如下:(2)其中 λ 1 , λ 2 ,···, λ H 為針對不同任務層次的規則項系數。式 (2) 中的第一項為損傷函數 ; 用 Ω(W) 表示式
中的第二項,可以看出 Ω(W) 為式 (1) 中聚類規則項的推廣,它是每一層參數子矩陣的聚類規則項的和。類似的,λ h 控制了第 h 層任務聚類的強度。是以,通過對不同的任務層次選擇不同的規則項系數 λ h 可以實作不同層次的任務聚類模式。對任意 h ≥ 2 設定 λ h =λ h-1 /∅,其中 ∅>1 為控制相鄰層次間聚類強度差别的常數,這樣便實作了由粗粒度至細粒度逐漸變化的任務層次聚類模式。與CRMTL 模型類似,Ω(W) 是關于 W 的非光滑凸函數。當層數 H= 1 時,可以看出 THMTL 模型将蛻變為 CRMTL 模型。此外,式 (1) 和 (2) 中的 SquareLoss 可以擴充為其他代價函數,例如分類問題中的Hinge Loss。由于 Ω(W) 為 CRMTL 模型中聚類規則項的擴充,是以具有相同的優化特點。然而,由于Ω(W) 為多個聚類規則項的和,是以求解式 (2) 更為困難。本文介紹了一種高效的求解 THMTL 模型的算法[6] 。