Self Scaled Regularized Robust Regression

Self Scaled Regularized Robust Regression

一、論文思路介紹

1.1 \space相關工作

  • 基於中位數的方法(Median-based)
        \space\space\space\space由於中位數對於外點更加魯棒,所以使用中位數來克服最小二乘法在數據擬合時的侷限性。例如LMeds。但是不適用於高維迴歸問題。
  • M估計量方法(M-estimators)
        \space\space\space\space用殘差的非線性函數代替最大似然估計中的殘餘誤差,幾乎線性地懲罰來自內點的殘差,但是由於異常值導致的殘餘誤差飽和。但是由於最終優化的問題是非凸的,通過迭代梯度下降的辦法不能保證收斂到最終的結果。
  • RANSAC
        \space\space\space\space目標是最小化外點的數量,但是類似於LMeds都是基於擬合誤差的,隨機取樣數據,分離內點和外點,存在組合性的問題,不適合解決高維迴歸。
  • 基於稀疏的凸方法(Sparsity-based convex)
        \space\space\space\space基於自然假設:內點比外點多,基於稀疏性的凸方法通過最小化內部數據的最小平方誤差來重新形成迴歸問題。但是這個方法是非凸性的。因此我們可以近似爲凸優化問題。但是這個方法在外點數目很大時,效果非常差。

1.1 \space本文創新點

本文主要針對在外點(outliers)噪聲的情況下,建立一個魯棒的線性映射。建立目標函數,最大化內點數量或者最小化外點數量。本文最終目標是通過最小化外點數量。與其他相關研究相比,本文主要有以下創新點:

  • 本文是直接對模型集合{rri}\{r-r_i\}進行稀疏處理(sparsify)而不是對外點誤差集合,這樣的處理可以避免由於外點使得結果偏離。
  • 在本文提出的算法中,對數據進行了縮放,實驗表明這一個特性改善了實際結果。
  • 由於針對模型進行了稀疏,可以發掘共現信息。本文使用了共現信息作爲先驗知識,而其他方法,由於不是針對model的,無法發現共現信息。
  • 對於外點的規模不敏感,也就是說在外點比例非常高的情況下,依舊可以得到不錯的實驗效果。

二、方法論述

  1. 問題定義
    首先定義內點集合:
                \space\space\space\space\space\space\space\space\space\space\space\spaceSi(r)={xi:yixiTrϵ}S_{i}(r)=\{x_i:|y_i-x_i^Tr|\leq\epsilon\}    \space\space\space\space (1)
    其中爲輸入數據xix_i,i=1…N,xix_i是一個d維的向量。yiy_i是一個標量,i=1…N。r是一個d維的向量。我們的目標是求解一個迴歸函數,儘可能多的擬合內點,因此我們的目標函數是:
                \space\space\space\space\space\space\space\space\space\space\space\spacer=argmaxrSi(r)r^*=argmax_{ r} |S_i(r)|    \space\space\space\space (2)
    這裏Si(r)|S_i(r)|表示的內點集合的大小,也就是內點的數量。也就是說在求解擬合最多內點時的迴歸參數rr^*。顯然,最大化內點的數量也就是最小化外點的數量。一共有N個點,Si(r)|S_i(r)|表示內點的數量,那麼NSi(r)N-|S_i(r)|就是外點的數量。那麼我們就可以將問題等價轉化,我們從最大化內點數量的問題轉化爲最小化外點數量。於是,我們額外引入一個迴歸參數rir_irir_i是一個d維的向量。那麼目標函數就可以變成如下形式:
             \space\space\space\space\space\space\space\space\spacer=argminr,rir^* = argmin_{r,r_i}||{rrir-r_i}o||_o subject to:subject \space to: yixiTriϵ|y_i-x_i^Tr_i|\leq\epsilon , i=1...,Ni=1...,N     \space\space\space\space (3)
    其中||{rrir-r_i}o||_o表示{rrir-r_i}中非零元素的個數。當||{rrir-r_i}o=0||_o=0,即r=rir=r_i,也就是說xix_i屬於Si(r)S_i(r)也就是內點。那麼||{rrir-r_i}o||_o表示的就是外點的數量,也就是說目標函數變成了求解最小化外點時的迴歸參數rr^*
  2. 加入自縮放(Self-Scaled)
    根據凸包(convex envelope),有如下定義:
                \space\space\space\space\space\space\space\space\space\space\space\spacev0,env=ivi||{v}||_0,env=\sum_{i} ||v_i||_\propto     \space\space\space\space (4)
    如此一來,我們就可以將公式3中的||{rrir-r_i}o||_o替換爲i=1Nrri\sum_{i=1}^N||r-r_i||_\infty,即:
        \space\space\space\spaceminr,rii=1Nrrimin_{r,r_i}\sum_{i=1}^N ||r-r_i||_\infty subject to:subject \space to:yixiTriϵ|y_i-x_i^Tr_i|\leq\epsilon ,i=1...,Ni=1...,N    \space\space\space\space (5)
    由上式可以看出,在沒有約束的情況下,我們的目標函數其實就是一個加了縮放的傳統l1l_1正則穩健迴歸。在公式5中,我們的約束條件:
    yi=xiTri+ηiy_i=x_i^Tr_i+\eta_i\Longrightarrowyi=xiT(rir)+xiTr+ηiy_i=x_i^T(r_i-r)+x_i^Tr+\eta_i(ηiϵ)(|\eta_i|\leq\epsilon)\LongrightarrowxiT(rri)+xiTr+ηiyix_i^T(r-r_i)+x_i^Tr+\eta_i-y_i\LongrightarrowxiT(rri)=xiTr+ηiyi|x_i^T(r-r_i)|=|x_i^Tr+\eta_i-y_i|
    由於l1 ll_1\space l_\infty範數是對偶的,所以:
                \space\space\space\space\space\space\space\space\space\space\space\spacerrixiTr+ηiyixi1||r-r_i||_\infty\geq\frac{|x_i^Tr+\eta_i-y_i|}{||x_i||_1}    \space\space\space\space (6)
    根據分量(component-wise),我們可以得到每個分量向量rr~ir-\tilde{r}_i,從而我們可以得到:
                \space\space\space\space\space\space\space\space\space\space\space\spacerri=xiTr+ηiyixi1||r-r_i||_\infty=\frac{|x_i^Tr+\eta_i-y_i|}{||x_i||_1}    \space\space\space\space (7)
    即原來的目標函數(公式5)變成了如下:
                \space\space\space\space\space\space\space\space\space\space\space\spaceminr,ηi=1NyixiT+ηixi1min_{r,\eta}\sum_{i=1}^N\frac{ | y_i-x_i^T+\eta_i|}{||x_i||_1}subject to:subject \space to:ηiϵ|\eta_i|\leq \epsilon ,i=1...,Ni=1...,N    \space\space\space\space (8)
  3. 滿足精確恢復條件,約束估計誤差
    首先給定歸一化數據矩陣XnX_n,每行的值Xn(i)X_n^{(i)}=xiTxi1\frac{x_i^T}{||x_i||_1}。然後對XnX_n進行正交三角分解得到Xn=QRX_n=QR,其中Q爲正交矩陣,R爲上三角矩陣,我們定義z=Rrz=Rr,這樣一來我們就可以通過約束z\bigtriangleup z來約束r\bigtriangleup r。假定y=Xnr=QRr=Qzy=X_nr=QRr=Qz,我們就可以利用壓縮感知的方法來求解這個問題,當我們已知y和Q,當Q滿足k限定等距性(k-RIP):滿足(1δk)v2[QII]v22(1+δk)v2(1-\delta_k)||v||^2\leq||[Q I_I]v||_2^2\leq(1+\delta_k)||v||^2和其推論時,我們就可以通過y和Q得到z,並且精確得恢復得到r。由於L0L_0範數最小化是個NP難問題,慶幸的是L1L_1範數最小化在一定條件下與L_0範數最小化問題同解,所以我們只需要關注以下目標來求解壓縮感知問題:
                \space\space\space\space\space\space\space\space\space\space\space\spaceminr,ηs^1,subject to:y^=Xnr+η^+s^min_{r,\eta}||\hat{s}||_1 ,subject \space to:\hat{y}=X_nr+\hat{\eta}+\hat{s}     \space\space\space\space (9)
    其中y^=yixi1\hat{y}=\frac{y_i}{||x_i||_1},si^=sixi1\hat{s_i}=\frac{s_i}{||x_i||_1},η^=ηixi1\hat{\eta}=\frac{\eta_i}{||x_i||_1},si=xiT(rri)s_i=x_i^T(r-r_i)(外點向量)。這證明了我們對模型集合進行稀疏的可行性。
  4. 使用共現信息作爲先驗
    衆所周知,確定集合的點具有相同的標籤,也就是出現在同一個集合的點傾向於有相同的標籤。比如,同一個集合裏的點都是內點。因此,我們就可以將這個信息作爲約束來優化公式(3)。我們將具有相同標籤的點的下標集合設爲II。在沒有噪聲的情況下,當yIspancol(XI)y_I\in span-col(X_I) 並且rank(XI)drank(X_I)\leq d時,至少存在一個rr^*使得yI=XIry_I=X_Ir*,因此我們可以添加一個額外的約束:對於任意iIi\in I,都有ri=rIr_i=r_I。我們可以將這一約束添加到我們的目標函數(公式3),並且不改變優化的域。因爲如果II裏都是內點,那麼不改變約束。如果rr^*是外點,也對目標沒有影響。這個信息對於有噪聲的情況同樣適用。除此之外,我們實際上我們的矩陣X不總是滿秩的,顯然對於線性函數來說,當y=0時,解不唯一。所以我們給r添加額外的約束使得解唯一。其中一種約束方式是使uTr=1u^Tr=1,我們令u=Iu=I,則存在約束使得r(j)=1\sum r^{(j)}=1。由於添加了額外的約束,所以我們修改公式8,即:
                       \space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\spacer~i(j)=r(j)\tilde{r}_i^{(j)}=r^{(j)}(xiTr+ηiyi)-(x_i^Tr+\eta_i-y_i)sign(xi(j)xmedian)xi(j)xmedian1\frac{sign(x_i^{(j)}-x_{median})}{||x_i^{(j)}-x_{median}||_1}    \space\space\space\space (10)
    相應的損失函數爲:
                       \space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\spacer~i(j)r(j)||\tilde{r}_i^{(j)}-r^{(j)}||_\infty=xiTr+ηiyixi(j)xmedian1\frac{x_i^Tr+\eta_i-y_i}{||x_i^{(j)}-x_{median}||_1}     \space\space\space\space (11)

三、算法描述

  1. 初始化:w0{1,...,1},τ=102w_0 \leftarrow \{1,...,1\},\tau=10^{-2} 。我們之前已經對{rri}\{r-r_i\}進行稀疏處理,所以現在{rri}\{r-r_i\}是稀疏的,所以我們現在想要使得內點數量儘可能大,所以我們進行再加權,參數爲W。
  2. 計算r:
    {rk,rik}\{r^k,r_i^k\}=argminr,rii=1Nwikrriargmin_{r,r_i}\sum_{i=1}^N w_i^k||r-r_i||_\infty subject to:subject \space to:yixiTriϵ|y_i-x_i^Tr_i|\leq\epsilon ,i=1...,Ni=1...,N
    其中,r~i(j)r(j)||\tilde{r}_i^{(j)}-r^{(j)}||_\infty=xiTr+ηiyixi(j)xmedian1\frac{x_i^Tr+\eta_i-y_i}{||x_i^{(j)}-x_{median}||_1}。這個過程可以通過計算梯度來求解。
  3. 更新參數w:
                    \space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\spacewik+1(i)=(rkrik+τ)1w_i^{k+1}(i)=(||r^k-r_i^k||_\infty+\tau)^{-1}
    其中添加τ\tau是爲了防止rkrik||r^k-r_i^k||_\infty不滿秩無法求逆,是一種常用的辦法。
  4. 不斷重複步驟2、3。直到wik+1w_i^{k+1}不變,即收斂。

四、實驗分析

本文根據實驗數據主要做了兩個實驗,第一組實驗使用合成數據擬合超平面,第二組實驗使用真實數據重建損壞的面部圖像。

  1. 第一組實驗。我們與8個迴歸方法進行對比。包括隨機算法(RANSAC、MSAC、MLEASAC、LMEDS)、M-estimator、穩健RPCA、RR、BPRR。其中BPRR與本文的思想最爲接近。我們的算法在外點比例較低和較高的情況下都表現最好。當外點的百分比爲70%及以上時,隨機算法顯示出顯着的性能下降,顯示了我們的方法的優勢。 此外,並不是所有凸規劃外點噪聲很大的情況下都具有相似的穩健性。比如,BPRR算法的早期失敗說明了本文提出的方法的自縮放特性的重要性。爲了評估使用先驗知識的影響,我們進行如下實驗。 在沒有先驗的過程完成後,不超過一半的假陽性點與一個真陰性點隨機配對,並且不超過一半的假陰性點隨機配對到真陽性點。 在大量異常噪聲下,結合附加共現信息可以將所提出的算法的性能提高5%至10%。

  2. 第二組實驗。本組試圖重建已經被重度遮擋破壞的面部圖像,其中遮擋像素構成外點。我們的實驗目標是:給定數據庫中對象的損壞的面部圖像,獲得真實面部圖像的最佳重建。實驗爲每人重建一張圖像。 通過隨機放置10塊尺寸爲30×30的塊來模擬遮罩。使用均方根度量標準評估算法的性能。實驗表明,作者的方法在平均RMS和模型誤差上表現是最好的,並且恢復的圖像在視覺上更接近未被遮擋的原始圖像。此外,本文進行了另外一組實驗:給所有SAC算法(RANSAC,MSAC,MLESAC,LMeds)一些額外的時間。我們設置迭代次數,以便這些算法可以使用與提出的算法所用時間一樣多或更長的時間。 雖然額外的時間提高了SAC算法的性能,但依然沒有本文的方法效果好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章