日本在线看黄a美女久草|日本动漫亚洲在线一区|日韩人妻无码免费视频|A√有码中文字幕|日韩一级片视频热久久久|一区二区三区四区精品无码在线|亚洲AV成人无码一二三app|亚洲综合图片绯色|91极品人妻在线网站|国产成人精品一区二三区四区五区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開發(fā)者 正文
發(fā)私信給AI研習(xí)社
發(fā)送

0

遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介

本文作者: AI研習(xí)社 編輯:賈智龍 2017-09-27 17:07
導(dǎo)語(yǔ):以我最喜愛的楊強(qiáng)老師的代表性方法 TCA 為主題。

雷鋒網(wǎng)按:本文原作者王晉東不在家,本文原載于知乎專欄——機(jī)器有顆玻璃心。雷鋒網(wǎng)已獲得轉(zhuǎn)載授權(quán)。王晉東 (不在家),中國(guó)科學(xué)院計(jì)算技術(shù)研究所博士生,目前研究方向?yàn)闄C(jī)器學(xué)習(xí)、遷移學(xué)習(xí)、人工智能等。

之前整理總結(jié)遷移學(xué)習(xí)資料的時(shí)候有網(wǎng)友評(píng)論,大意就是現(xiàn)在的類似資料大全的東西已經(jīng)太多了,想更深入地了解特定的細(xì)節(jié)。從這篇文章開始我將以《小王愛遷移》為名寫一系列的介紹分析性的文章,與大家共享遷移學(xué)習(xí)中的代表性方法、理論與自己的感想。由于我的水平有限,請(qǐng)各位多多提意見,我們一起進(jìn)步。今天第一篇必須以我最喜愛的楊強(qiáng)老師的代表性方法 TCA 為主題?。ㄎ业牡谝黄恼乱彩腔?TCA 做的)

【我剛整理重寫好的加速版 TCA 代碼(matlab):jindongwang/transferlearning

問題背景

機(jī)器學(xué)習(xí)中有一類非常有效的方法叫做降維(dimensionality reduction),用簡(jiǎn)單的話來說就是,把原來很高維度的數(shù)據(jù)(比如數(shù)據(jù)有 1000 多列)用很少的一些代表性維度來表示(比如 1000 多維用 100 維來表示)而不丟失關(guān)鍵的數(shù)據(jù)信息。這些降維方法多種多樣,比如:主成分分析(PCA,principal component analysis)、局部線性嵌入(LLE,locally linear embedding)、拉普拉斯特征映射(Laplacian eigen-map)等。這些方法的過程大體都是一個(gè)大的矩陣作為輸入,然后輸出一個(gè)小矩陣。那么在遷移學(xué)習(xí)中,有沒有這樣的方法,通過降維來達(dá)到數(shù)據(jù)維度減少,而且能達(dá)到遷移學(xué)習(xí)目的呢?答案是顯然的,就是我們要說的遷移成分分析(TCA,transfer component analysis)??矗志透?PCA 很像。

TCA 最早是由香港科技大學(xué)楊強(qiáng)教授團(tuán)隊(duì)提出,首次出現(xiàn)在 AAAI-09 上,后來整理豐富成了一篇期刊文章,發(fā)表在 11 年的 IEEE Trans. Neural Network(現(xiàn)在這個(gè)期刊名字后面多了 and Learning System)上。這個(gè)方法是遷移學(xué)習(xí)領(lǐng)域經(jīng)典性的文章,從 2011 年到現(xiàn)在接近 6 年過去,在 Google scholar 上引用量為 569 次,并且在持續(xù)增長(zhǎng)。

簡(jiǎn)介

TCA 屬于基于特征的遷移學(xué)習(xí)方法。那么,它做了一件什么事呢?用通俗的語(yǔ)言來說,跟 PCA 很像:PCA 是一個(gè)大矩陣進(jìn)去,一個(gè)小矩陣出來,TCA 呢,是兩個(gè)大矩陣進(jìn)去,兩個(gè)小矩陣出來。從學(xué)術(shù)角度講,TCA 針對(duì) domain adaptation 問題中,源域和目標(biāo)域處于不同數(shù)據(jù)分布時(shí),將兩個(gè)領(lǐng)域的數(shù)據(jù)一起映射到一個(gè)高維的再生核希爾伯特空間。在此空間中,最小化源和目標(biāo)的數(shù)據(jù)距離,同時(shí)最大程度地保留它們各自的內(nèi)部屬性。直觀地理解就是,在現(xiàn)在這個(gè)維度上不好最小化它們的距離,那么我就找個(gè)映射,在映射后的空間上讓它們最接近,那么我不就可以進(jìn)行分類了嗎?

我一直強(qiáng)調(diào),任何問題都要看它的本質(zhì),TCA 本質(zhì)是什么呢?完成遷移學(xué)習(xí)的要求。遷移學(xué)習(xí)的要求是什么呢?讓源域和目標(biāo)域距離盡可能小唄。

方法

有許多種方法都在試圖減小源域和目標(biāo)域的距離,那么,TCA 的貢獻(xiàn)在哪里?以我的理解,TCA 將這個(gè)計(jì)算距離的方法變得通用而簡(jiǎn)單,這就是它最大的貢獻(xiàn)。下面我以自己的理解介紹 TCA 方法的基本流程。

假設(shè)

任何方法都基于一定的假設(shè)。胡適說過,大膽假設(shè),小心求證。但是他那個(gè)時(shí)候沒有計(jì)算機(jī),我們搞計(jì)算機(jī)的人則是,大膽假設(shè),更大膽求證。為啥?我們就算失敗了也沒有什么嘛,最多把電腦搞崩潰了我再重裝系統(tǒng)么。所以,搞學(xué)術(shù)一定不要怕假設(shè)。假設(shè)是學(xué)術(shù)成功的基石呢!

TCA 的假設(shè)是什么呢?很簡(jiǎn)單:源域和目標(biāo)域的邊緣分布是不一樣的,也就是說,遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介,所以不能直接用傳統(tǒng)的機(jī)器學(xué)習(xí)方法。但是呢,TCA 假設(shè)存在一個(gè)特征映射 $\phi$,使得映射后數(shù)據(jù)的分布遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介,更進(jìn)一步,條件分布遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介。這不就行了么。好了,我們現(xiàn)在的目標(biāo)是,找到這個(gè)合適的 $\phi$,一作映射,這事就解決了。

具體

但是世界上有無窮個(gè)這樣的遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介,也許終我們一生也無法找到這樣的遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介。莊子說過,吾生也有涯,而知也無涯,以有涯隨無涯,殆已!我們肯定不能通過窮舉的方法來找遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介的。那么怎么辦呢?

回到遷移學(xué)習(xí)的本質(zhì)上來:最小化源域和目標(biāo)域的距離。好了,我們能不能先假設(shè)這個(gè)遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介是已知的,然后去求距離,看看能推出什么呢?

更進(jìn)一步,這個(gè)距離怎么算?世界上有好多距離,從歐氏距離到馬氏距離,從曼哈頓距離到余弦相似度,我們需要什么距離呢?TCA 利用了一個(gè)經(jīng)典的也算是比較 “高端” 的距離叫做最大均值差異(MMD,maximum mean discrepancy)。這個(gè)距離的公式如下:

遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介

看著很高端(實(shí)際上也很高端)。MMD 是做了一件什么事呢?簡(jiǎn)單,就是求映射后源域和目標(biāo)域的均值之差嘛。

事情到這里似乎也沒什么進(jìn)展:我們想求的遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介仍然沒法求。

TCA 是怎么做的呢,這里就要感謝矩陣了!我們發(fā)現(xiàn),上面這個(gè) MMD 距離平方展開后,有二次項(xiàng)乘積的部分!那么,聯(lián)系在 SVM 中學(xué)過的核函數(shù),把一個(gè)難求的映射以核函數(shù)的形式來求,不就可以了?于是,TCA 引入了一個(gè)核矩陣遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介

遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介

以及遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介:

遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介

這樣的好處是,直接把那個(gè)難求的距離,變換成了下面的形式:

遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介

trace 是矩陣的跡,用人話來說就是一個(gè)矩陣對(duì)角線元素的和。這樣是不是感覺離目標(biāo)又進(jìn)了一步呢?

其實(shí)這個(gè)問題到這里就已經(jīng)是可解的了,也就是說,屬于計(jì)算機(jī)的部分已經(jīng)做完了。只不過它是一個(gè)數(shù)學(xué)中的半定規(guī)劃(SDP,semi-definite programming)的問題,解決起來非常耗費(fèi)時(shí)間。由于 TCA 的第一作者 Sinno Jialin Pan 以前是中山大學(xué)的數(shù)學(xué)碩士,他想用更簡(jiǎn)單的方法來解決。他是怎么做的呢?

他想出了用降維的方法去構(gòu)造結(jié)果。遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介

這里的 W 矩陣是比 K 更低維度的矩陣。最后的 W 就是問題的解答了!

求解

好了,問題到這里,整理一下,TCA 最后的優(yōu)化目標(biāo)是:

遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介

這里的 $H$ 是一個(gè)中心矩陣,遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介.

這個(gè)式子下面的條件是什么意思呢?那個(gè) min 的目標(biāo)我們大概理解,就是要最小化源域和目標(biāo)域的距離,加上 W 的約束讓它不能太復(fù)雜。那么下面的條件是什么呢?下面的條件就是要實(shí)現(xiàn)第二個(gè)目標(biāo):維持各自的數(shù)據(jù)特征。TCA 要維持的是什么特征呢?文章中說是 variance,但是實(shí)際是 scatter matrix,就是數(shù)據(jù)的散度。就是說,一個(gè)矩陣散度怎么計(jì)算?對(duì)于一個(gè)矩陣遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介,它的 scatter matrix 就是遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介。這個(gè)遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介就是上面的中心矩陣?yán)病?/p>

解決上面的優(yōu)化問題時(shí),作者又求了它的拉格朗日對(duì)偶。最后得出結(jié)論,W 的解就是的前 m 個(gè)特征值!簡(jiǎn)單不?數(shù)學(xué)美不美?然而,我是想不出的呀!

小結(jié)

好了,我們現(xiàn)在總結(jié)一下 TCA 方法的步驟。輸入是兩個(gè)特征矩陣,我們首先計(jì)算 L 和 H 矩陣,然后選擇一些常用的核函數(shù)進(jìn)行映射(比如線性核、高斯核)計(jì)算 K,接著求遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介的前 m 個(gè)特征值。僅此而已哦。然后,得到的就是源域和目標(biāo)域的降維后的數(shù)據(jù),我們就可以在上面用傳統(tǒng)機(jī)器學(xué)習(xí)方法了。

總結(jié)

怎么樣,到此為止我們把 TCA 方法介紹完了。我們回顧一下,它的最核心工作是什么呢?我認(rèn)為有兩點(diǎn):一是把問題轉(zhuǎn)化成數(shù)學(xué)問題轉(zhuǎn)化得很徹底;二是最優(yōu)化求解方法很厲害。我們能從中學(xué)習(xí)什么呢?求解問題的方法感覺是學(xué)不來了,我們又不是數(shù)學(xué)出身。我們只能照貓畫虎,學(xué)習(xí)人家對(duì)問題的轉(zhuǎn)化方式,怎么就能很好地把一個(gè)問題轉(zhuǎn)化成數(shù)學(xué)表示?這也是機(jī)器學(xué)習(xí)和人工智能相關(guān)方向研究生最重要的能力!關(guān)于 TCA 的 Python 和 Matlab 代碼可以參考我的 Github:jindongwang/transferlearning。

最后說一個(gè) TCA 的優(yōu)缺點(diǎn)。優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,方法本身沒有太多的限制,就跟 PCA 一樣很好用。缺點(diǎn)就是,盡管它繞開了 SDP 問題求解,然而對(duì)于大矩陣還是需要很多計(jì)算時(shí)間。主要消耗時(shí)間的操作是,最后那個(gè)偽逆的求解以及特征值分解。在我的電腦上(i7-4790CPU+24GB 內(nèi)存)跑 2000*2000 的核矩陣時(shí)間大概是 20 秒。

References

[1] TCA 原版文章:S. J. Pan, I. W. Tsang, J. T. Kwok and Q. Yang, "Domain Adaptation via Transfer Component Analysis," in IEEE Transactions on Neural Networks, vol. 22, no. 2, pp. 199-210, Feb. 2011.doi: 10.1109/TNN.2010.2091281

[2] Scatter matrix: Scatter matrix | Wikiwand

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

遷移學(xué)習(xí)怎么做?遷移成分分析 (TCA) 方法簡(jiǎn)介

分享:
相關(guān)文章

編輯

聚焦數(shù)據(jù)科學(xué),連接 AI 開發(fā)者。更多精彩內(nèi)容,請(qǐng)?jiān)L問:yanxishe.com
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說