日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HSIC简介:一个有意思的判断相关性的思路

發(fā)布時(shí)間:2024/10/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HSIC简介:一个有意思的判断相关性的思路 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


作者丨蘇劍林

單位丨追一科技

研究方向丨NLP,神經(jīng)網(wǎng)絡(luò)

個(gè)人主頁丨kexue.fm

前段時(shí)間在機(jī)器之心看到這樣的一個(gè)推送徹底解決梯度爆炸問題,新方法不用反向傳播也能訓(xùn)練 ResNet,當(dāng)然,媒體的標(biāo)題黨作風(fēng)我們暫且無視,主要看內(nèi)容即可。機(jī)器之心的這篇文章,介紹的是論文 The HSIC Bottleneck: Deep Learning without Back-Propagation?的成果,里邊提出了一種通過 HSIC Bottleneck 來訓(xùn)練神經(jīng)網(wǎng)絡(luò)的算法。?


論文鏈接:https://arxiv.org/pdf/1908.01580.pdf

坦白說,這篇論文筆者還沒有看明白,因?yàn)閷?duì)筆者來說里邊的新概念有點(diǎn)多了。不過論文中的“HSIC”這個(gè)概念引起了筆者的興趣。經(jīng)過學(xué)習(xí),終于基本地理解了這個(gè) HSIC 的含義和來龍去脈,于是就有了本文,試圖給出 HSIC 的一個(gè)盡可能通俗(但可能不嚴(yán)謹(jǐn))的理解。


背景


HSIC 全稱“Hilbert-Schmidt independence criterion”,中文可以叫做“希爾伯特-施密特獨(dú)立性指標(biāo)”吧,跟互信息一樣,它也可以用來衡量?jī)蓚€(gè)變量之間的獨(dú)立性。?

度量相關(guān)

我們知道,互信息的基本形式是:

如果 I(X,Y)=0 那么就說明 p(x,y)≡p(x)p(y),也就是兩個(gè)變量是相互獨(dú)立的,否則是相關(guān)的。但這一項(xiàng)意味著我們要用某種方式對(duì)概率密度進(jìn)行估計(jì)。

HSIC 的作用跟互信息類似,但是跟互信息不一樣的是,它不需要估計(jì)兩個(gè)變量的概率密度,而是直接轉(zhuǎn)化為采樣的形式。

長(zhǎng)期關(guān)注筆者文章的讀者都知道,“互信息”是在筆者文章中經(jīng)常出現(xiàn)的概念,我們可以用互信息做新詞發(fā)現(xiàn)(比如《基于切分的新詞發(fā)現(xiàn)》[1]),也可以用互信息做無監(jiān)督學(xué)習(xí)(比如

問題定義

一般來說,我們將問題定義為:?

有數(shù)據(jù) (x1, y1), (x2, y2), … , (xn, yn) ~ p(x, y) ,判斷 p(x, y) 是否恒等于 p(x), p(y),即 x, y 是否獨(dú)立。?

嚴(yán)格來講,如果是對(duì)于連續(xù)變量,這里的“恒等于”指的是“幾乎處處等于”,但我們這里不嚴(yán)格聲明這一點(diǎn)。為了描述的規(guī)范,這里設(shè) x∈X , y∈Y ,而 f(x), g(y)∈R。注意 x, y 可能是兩個(gè)含義完全不一樣的變量,比如 x 可能是“星期一”, y 可能是“上班”,p(x, y) 就是“今天是星期一,且今天要上班”的概率。鑒于此, X , Y 可能是兩個(gè)完全不一樣的域。?

基本的思路是去計(jì)算互信息 (1) ,但很多問題中我們都無法很好地估計(jì)概率或概率密度。一種可能的方案是轉(zhuǎn)化為對(duì)偶問題,用類似對(duì)抗的思路去學(xué)習(xí)互信息(

HSIC 就是沖著這個(gè)目標(biāo)而來的。

HSIC

這里我們盡可能清晰地引入 HSIC 的概念。然而,“盡可能清晰”不等價(jià)于篇幅盡可能短,事實(shí)上,下面的篇幅依然會(huì)比較長(zhǎng),而且有不少數(shù)學(xué)公式,但是相對(duì)于標(biāo)準(zhǔn)教程里邊一上來就引入希爾伯特空間、再生核、各種算子等做法,這里的介紹應(yīng)該算是對(duì)很多不了解相關(guān)概念的讀者來說都是友好的了。?

基本思想

HSIC 留意到:

p(x,y)≡p(x)p(y) 當(dāng)且僅當(dāng)對(duì)于任意的 f,g,下式都等于 0:

這個(gè)結(jié)論顯然不難理解。有意思的是,等號(hào)右邊是采樣的形式,也就是說我們將這個(gè)指標(biāo)轉(zhuǎn)化為了采樣的形式,避免了直接估算概率密度。

這樣一來,我們就有一個(gè)判斷獨(dú)立性的方法:選取“足夠多”的 f,g,然后計(jì)算:

看與 0 的接近程度;反過來,如果在優(yōu)化問題中,我們希望特征 x,y 盡可能相互獨(dú)立,那么我們就可以將加入到損失函數(shù)中。?

抽絲剝繭

其實(shí)的形式已經(jīng)很好地體現(xiàn)了 HSIC 的判別思想。下面我們就沿著這個(gè)思路,繼續(xù)抽絲剝繭,逐步地走向 HSIC 最終的形式。

首先我們把算一算:

然后我們用一個(gè)技巧:我們知道,說明了這個(gè)期望值的結(jié)果跟隨機(jī)變量的記號(hào)沒啥關(guān)系。所以我們有:

把其余的項(xiàng)都這樣變換,最終我們就可以得到:

這樣一來,每一項(xiàng)都是 f(x1)f(x2)g(x1)g(x2) 的期望,只不過變量的采樣分布不一樣。

特征函數(shù)

現(xiàn)在的問題是:要選擇哪些 f, g 呢?怎樣才算“足夠多”呢??

類比向量空間的知識(shí),所有可能的 f(x) 能組成一個(gè)向量空間 F,所有的 g(y) 也一樣組成一個(gè)向量空間 G 。如果能把這兩個(gè)空間的所有“基底”都遍歷一遍,那肯定就夠了。那問題就是:如何找到所有的基底呢??

這時(shí)候“核函數(shù)”就登場(chǎng)了。所謂核函數(shù),那就是——呃,其實(shí)說起來很復(fù)雜,我也不大懂。簡(jiǎn)單來說,核函數(shù)是類似于線性代數(shù)中“正定矩陣”的存在,就是一個(gè)定義在 X × X 的二元對(duì)稱函數(shù) K(x1, x2) = K(x2, x1) ,然后我們把一元函數(shù) f(x) 類比為一個(gè)向量,那么:

就相當(dāng)于一個(gè)矩陣乘以向量的矩陣運(yùn)算。跟矩陣的特征值和特征向量一樣,核函數(shù)也能定義特征值和特征函數(shù),滿足下述恒等式的一元函數(shù) ψ 就稱為這個(gè)核函數(shù)的特征函數(shù):

上面的內(nèi)容都是鋪墊的,其嚴(yán)格定義則是屬于“再生核希爾伯特空間“范疇。后面我們用到的,實(shí)際上是兩點(diǎn)性質(zhì):

1. 核函數(shù)的所有特征函數(shù) ψ1,ψ2,…,構(gòu)成該空間的一組正交基;

2. 核函數(shù)的所有特征值 α1,α2,…都是正的,且滿足:


HSIC登場(chǎng)

經(jīng)過上述鋪墊,HSIC 基本上就可以登場(chǎng)了:

首先,假如我們已經(jīng)有定義在 X×X 的核函數(shù),那么我們就可以算出對(duì)應(yīng)的特征值 α1,α2,… 和特征函數(shù) ψ1,ψ2,…;同樣地,有了定義在 Y×Y 的核函數(shù)后,也可以算出對(duì)應(yīng)的特征值 β1,β2,…和特征函數(shù) ?1,?2,…。

然后,因?yàn)樘卣骱瘮?shù)構(gòu)成了基底,所以在 (3) 中,我們可以把 f,g 換成對(duì)應(yīng)特征函數(shù) ψi,?j。

因?yàn)樗械奶卣髦刀际钦?#xff0c;所以我們還可以用特征值為權(quán)重進(jìn)行加權(quán)求和,而不改變的作用:

現(xiàn)在我們把 (6) 代入到上面去,就得到:

最后,再利用等式 (9),方括號(hào)里邊的實(shí)際上就是,于是,HSIC 就登場(chǎng)了:

這就是我們最重要尋找的度量相關(guān)性的指標(biāo),它純粹是采樣的形式,而且 KX,KY 都是事先給定的、通常是可微的,因此這就是一個(gè)可以明確采樣計(jì)算、可以直接優(yōu)化的指標(biāo)!

在實(shí)際計(jì)算中,我們可選的核函數(shù)有很多,比較常用的是:

其中 σ>0 是一個(gè)常數(shù),本文開頭提到的論文 The HSIC Bottleneck: Deep Learning without Back-Propagation 也是用這個(gè)核函數(shù)。不同的核函數(shù)效果有點(diǎn)不一樣,但是都能保證 HSIC(X,Y)=0?p(x,y)≡p(x)p(y) 。

矩陣形式

最后,我們來推導(dǎo)一下 (13) 在有限樣本下的矩陣形式。

按照采樣求期望的思想,實(shí)際上就是對(duì)所有的樣本對(duì) (xi,yi) 的結(jié)果求平均,而其實(shí)就是將這個(gè)平均操作做兩次,所以:

其中實(shí)際上都是 n×n 的對(duì)稱矩陣,分別記為,那么上述運(yùn)算可以寫成矩陣乘法,其中 Tr 表示矩陣的跡?;谕瑯拥乃枷?#xff0c;第二項(xiàng)實(shí)際上就是“所有元素的平均乘以所有元素的平均”,如果非要寫成矩陣形式的話,那就是,其中加粗的 1 表示大小為 n×n 的全 1 矩陣。相應(yīng)地,最后一項(xiàng)“所有元素平均值的 1/n 的兩倍”,即。

所以,如果用矩陣形式表示 HSIC,那就是:

這里的 J=I?1/n,而 I 是 n 階單位矩陣。跟《簡(jiǎn)述無偏估計(jì)和有偏估計(jì)》[2] 一文討論的類似,這其實(shí)是一個(gè)有偏估計(jì),而將前面的 1/n 換成 1/(n?1),就得到無偏估計(jì):

這就是最終的矩陣形式的 HSIC 公式(注意 J 里邊的 1/n 不用換成 1/(n?1))。


其它


這里先給出一個(gè)參考實(shí)現(xiàn),并做一個(gè)簡(jiǎn)單的實(shí)驗(yàn),來驗(yàn)證 HSIC 的有效性,然后在后一節(jié)中,我們思考一下 HSIC 可能存在的問題。?

參考實(shí)現(xiàn)

假如已知核矩陣的情況下,HSIC 的計(jì)算實(shí)現(xiàn)參考如下:

import?numpy?as?npdef?hsic(Kx,?Ky):Kxy?=?np.dot(Kx,?Ky)n?=?Kxy.shape[0]h?=?np.trace(Kxy)?/?n**2?+?np.mean(Kx)?*?np.mean(Ky)?-?2?*?np.mean(Kxy)?/?nreturn?h?*?n**2?/?(n?-?1)**2

注意這里的實(shí)現(xiàn)是根據(jù) (13) 每一項(xiàng)的含義來的,并非根據(jù)矩陣形式 (17),事實(shí)上矩陣形式 (17) 效率并不高(涉及到三次矩陣乘法)。下面做一個(gè)簡(jiǎn)單的實(shí)驗(yàn),驗(yàn)證 HSIC 的有效性:

#?產(chǎn)生兩組獨(dú)立無關(guān)的隨機(jī)變量 x?=?np.random.randn(1000) y?=?np.random.randn(1000)Kx?=?np.expand_dims(x,?0)?-?np.expand_dims(x,?1) Kx?=?np.exp(-?Kx**2)?#?計(jì)算核矩陣Ky?=?np.expand_dims(y,?0)?-?np.expand_dims(y,?1) Ky?=?np.exp(-?Ky**2)?#?計(jì)算核矩陣print(hsic(Kx,?Ky))?#?計(jì)算HSIC

輸出結(jié)果大概是 0.0002 左右,如果將 x,y 改為:

x?=?np.random.randn(1000) y?=?x?+?0.1?*?np.random.randn(1000)

這意味著 x,y 有比較強(qiáng)的相關(guān)性,而 HSIC 的結(jié)果也表明了這一點(diǎn),約等于 0.096,比 0.0002 大了兩個(gè)數(shù)量級(jí)以上,這表明了 HSIC 確實(shí)是有效的(注意,HSIC的輸出值一般只有相對(duì)比較的意義,其絕對(duì)值沒有明顯含義) 。

個(gè)人思考

顯然,由 (13) 給出的 HSIC 的計(jì)算結(jié)果取決于核函數(shù)的選擇。不管用哪個(gè)核函數(shù),理論上都可以保證:

但問題是,當(dāng) HSIC(X,Y)>0 時(shí),X,Y 究竟有多相關(guān)呢?

這就相當(dāng)依賴核函數(shù)選擇和原始問題的背景了。從常用核函數(shù) (14) 的形式我們大概可以感知到,核函數(shù)相當(dāng)于兩個(gè)樣本之間的相似度,問題是什么樣的相似度定義才是真正符合問題背景的,這并沒有標(biāo)準(zhǔn)答案,而且通常都是很困難的問題。

舉個(gè)例子,假如 x1,x2,x3 分別代表三張圖片,我們知道 ‖x1?x2‖2=0 的話意味著 x1,x2 這兩張圖片完全一樣,但是當(dāng) ‖x1?x2‖2,‖x1?x3‖2 都不等于 0 時(shí),我們不能因?yàn)?‖x1?x2‖2<‖x1?x3‖2 就說圖片 x2 一定比圖片 x3“看起來”更像 x1,因?yàn)榉稊?shù) ‖?‖2 不是我們視覺的一個(gè)完美的度量。

其實(shí)筆者認(rèn)為這是所有核方法的通病,即核方法只能保證當(dāng)某個(gè)指標(biāo)等于 0 時(shí)就是我們的理想追求,但是當(dāng)這個(gè)指標(biāo)不等于 0 時(shí),這個(gè)指標(biāo)無法很好地度量我們跟理想的差距。良好的度量是要根據(jù)具體問題精心設(shè)計(jì)的,或者根據(jù)數(shù)據(jù)集通過類似 GAN 的方法自動(dòng)把這個(gè)度量學(xué)習(xí)出來。

當(dāng)然,也不能就此說 HSIC 就沒有價(jià)值了,HSIC 的價(jià)值在于它可以作為輔助目標(biāo)來優(yōu)化,就好比我們要訓(xùn)練一個(gè)圖片自編碼器,就算我們用 GAN 的思想,我們也通常會(huì)把原圖片和重構(gòu)圖片的 MSE 作為輔助 loss 來使用。


總結(jié)

總的來說,本文以一種較為通俗直白的方法介紹了 HSIC 這個(gè)概念,介紹過程中涉及到了一些數(shù)學(xué)內(nèi)容,但省去了嚴(yán)格的數(shù)學(xué)定義和論述,盡量只保持了比較核心的部分,私以為這種處理會(huì)使得讀者更容易接受一些。對(duì)于追求嚴(yán)謹(jǐn)?shù)淖x者,請(qǐng)多多包涵。


相關(guān)鏈接


[1]?https://kexue.fm/archives/3913[2]?https://kexue.fm/archives/6747

點(diǎn)擊以下標(biāo)題查看作者其他文章:?

  • 基于DGCNN和概率圖的輕量級(jí)信息抽取模型

#投 稿 通 道#

?讓你的論文被更多人看到?


如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。

總有一些你不認(rèn)識(shí)的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。

PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得技術(shù)干貨。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來。

??來稿標(biāo)準(zhǔn):

? 稿件確系個(gè)人原創(chuàng)作品,來稿需注明作者個(gè)人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?

? 如果文章并非首發(fā),請(qǐng)?jiān)谕陡鍟r(shí)提醒并附上所有已發(fā)布鏈接?

? PaperWeekly 默認(rèn)每篇文章都是首發(fā),均會(huì)添加“原創(chuàng)”標(biāo)志

? 投稿郵箱:

? 投稿郵箱:hr@paperweekly.site?

? 所有文章配圖,請(qǐng)單獨(dú)在附件中發(fā)送?

? 請(qǐng)留下即時(shí)聯(lián)系方式(微信或手機(jī)),以便我們?cè)诰庉嫲l(fā)布時(shí)和作者溝通

?

現(xiàn)在,在「知乎」也能找到我們了

進(jìn)入知乎首頁搜索「PaperWeekly」

點(diǎn)擊「關(guān)注」訂閱我們的專欄吧

關(guān)于PaperWeekly

PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺(tái)。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號(hào)后臺(tái)點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

▽ 點(diǎn)擊 |?閱讀原文?| 查看作者博客

總結(jié)

以上是生活随笔為你收集整理的HSIC简介:一个有意思的判断相关性的思路的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。