Unsupervised Learning - Linear Model
無(wú)監(jiān)督學(xué)習(xí)我們大致分為2種情況污呼,聚類和無(wú)中生有化繁為簡(jiǎn)银择,比如呢,我們有許多個(gè)樹(shù)的圖片妙蔗,我們經(jīng)過(guò)函數(shù)輸出為一個(gè)結(jié)果蚕冬,另一種是我們已知一個(gè)數(shù)據(jù)code免猾,根據(jù)不同的code輸入,通過(guò)函數(shù)實(shí)現(xiàn)輸出不同的圖片
聚類很容易理解囤热,比如我們有貓狗鳥(niǎo)3種圖片猎提,通過(guò)分析相似性,將圖片分為K種旁蔼,但問(wèn)題常常就是K取多少锨苏,比如我們有9個(gè)圖片,我們分9種和分1種都是沒(méi)有任何意義的棺聊。
聚類常用的方法之一是K-means伞租。具體是我們有N個(gè)樣本,隨機(jī)抽取K個(gè)樣本作為聚類的中心限佩,然后對(duì)于每個(gè)樣本葵诈,分別對(duì)K個(gè)中心算距離,最近的b就定義為1祟同,其余都為0作喘,就相當(dāng)于給每個(gè)數(shù)據(jù)做了臨時(shí)分類,然后我們就可以更新這K個(gè)中心晕城,通過(guò)公式泞坦,如此反復(fù)。我們最初始的K各中心之所以要從數(shù)據(jù)中取是為了防止中心離哪個(gè)都不近砖顷,無(wú)法收斂
聚類的第二種方法是HAC層狀團(tuán)簇贰锁,我們第一步是將數(shù)據(jù)建立樹(shù)結(jié)構(gòu),將比較相近維度數(shù)據(jù)上面建立一個(gè)上級(jí)節(jié)點(diǎn)滤蝠,直到連上根節(jié)點(diǎn)豌熄,以下圖為例,我們開(kāi)始5個(gè)樣本几睛,1,2比較接近就將1,2組合房轿,4,5比較接近然后把4,5組合粤攒,1,2共同和3比較接近所森。于是又產(chǎn)生綠的節(jié)點(diǎn)囱持,最終到根節(jié)點(diǎn)
我們HAC第二步就是將樹(shù)結(jié)構(gòu)切開(kāi),如圖中所示的來(lái)一刀焕济,我們聚類就有3個(gè)分類纷妆,不同位置就有不同的類別數(shù)量,我們K-means有時(shí)候不好決定分類的K數(shù)量晴弃,我們可以通過(guò)HAC來(lái)決定從什么位置來(lái)切掩幢,來(lái)實(shí)現(xiàn)分類數(shù)量的決定
Distributed Representation分布表現(xiàn),聚類的結(jié)果往往是一個(gè)對(duì)象必須屬于哪一類上鞠,而我們實(shí)際分類往往是考慮分布的际邻,比如小杰是強(qiáng)化型,但是接近放出系芍阎,而強(qiáng)化系又和變化系相鄰世曾,我們就有了小杰的系別分布。最終實(shí)現(xiàn)將一個(gè)高緯度數(shù)據(jù)(比如圖片等)通過(guò)降維轉(zhuǎn)換成低維度的分布表象谴咸。
維度下降為什么會(huì)對(duì)分類有幫助呢轮听,比如下圖中的像地毯卷起來(lái)維度三維圖形,我們完全可以將其展開(kāi)分析其2維分布
我們舉另一個(gè)例子岭佳,比如手寫數(shù)字MNIST血巍,我們的圖片都是28*28維度的數(shù)據(jù),然而分類結(jié)果我們最激活的圖片可能是個(gè)灰白雪花圖珊随,其實(shí)我們往往用不到28*28這么多的維度來(lái)表示一個(gè)數(shù)字9述寡,再極端一點(diǎn),我們的3數(shù)字玫恳,可能只是一維上的變動(dòng)辨赐,如圖中的旋轉(zhuǎn)了個(gè)角度而已,這跟我們上堂課說(shuō)的楊過(guò)剪樊一翁胡子異曲同工京办。
降維的核心思想是找到一個(gè)函數(shù)使x經(jīng)過(guò)后變成向量z掀序,z的維度比x要小。
我們實(shí)現(xiàn)降維維度第一個(gè)方法就是特征選擇惭婿,比如我們將數(shù)據(jù)按照某一個(gè)維度做視圖不恭,發(fā)現(xiàn)其特征幾乎無(wú)變化(那么這個(gè)特征很可能就是無(wú)關(guān)的,可以去掉)财饥,然而有時(shí)候我們往往任何特征都不能拿掉换吧,否則可能過(guò)擬合
另一種方法就是Principle component analysis(PCA)主成分分析,我們假設(shè)z,x為線性關(guān)系钥星,我們就能將z通過(guò)矩陣W乘以x得到沾瓦。
PCA具體怎么做的呢,我們知道z=Wx,我們考慮z的第一行,根據(jù)矩陣的關(guān)系贯莺,是W的第一行和x相乘得到的結(jié)果风喇,而且是個(gè)數(shù)字,反應(yīng)在向量層面就是x向量在w1上的投影缕探,我們看右上角的圖魂莫,我們有一組分布,我們可以選擇z軸爹耗,使得z方向上的樣本方差最大耙考,換一個(gè)近乎垂直的方向,方差就會(huì)很小潭兽,我們就是需要找到這么一個(gè)W1,使得z1方向的方差最大倦始,而且w1的模是1.
我們考慮完w1就去考慮第二行w2,w2當(dāng)然也是要求方差最大山卦,而且模是1楣号,但是如果就這樣,那可能得出的結(jié)果就是w1了怒坯,所以我們要求w1,w2的點(diǎn)乘是0炫狱,即2者正交。最后形成的矩陣W就是個(gè)正交陣
我們?cè)趺辞蟪鰓呢剔猿,下圖就是Math Warning视译,需要數(shù)學(xué)推導(dǎo)的,但是看上去其實(shí)不難理解归敬,我們求方差最大酷含,可以將矩陣乘積拆分,利用1*1的矩陣轉(zhuǎn)置等于自身汪茧,可以得出和w1,x的協(xié)方差陣的關(guān)系椅亚,所以我們就是要求w1TSw1最大同時(shí)w1的模是1的向量
我們要使方差最大,最終結(jié)論就是w1是協(xié)方差陣S的特征向量舱污,而且是特征值最大的特征向量呀舔,具體怎么推導(dǎo)呢,我們可以看圖中的式子扩灯,我們定義g函數(shù)媚赖,對(duì)每個(gè)w求偏微分使其=0,可得我們要求的最大式子就是,而其最大就是
時(shí)珠插。
我們同理可以得出w2是協(xié)方差陣S的特征向量惧磺,而且是對(duì)應(yīng)特征值第二大的特征向量
我們做PCA可以使均方差最大,可以使特征間正交捻撑,這樣就減少了參數(shù)量磨隘,降低了過(guò)擬合幾率缤底,我們最后就可以推導(dǎo)出Cov(z)其實(shí)是個(gè)對(duì)角線元都是S前K個(gè)特征值的矩陣(其余元素是0)
我們以另一種角度來(lái)理解PCA,比如我們手寫數(shù)字有一些基本元素組成番捂,像7就是u1,u3,u5構(gòu)成训堆,一般的,對(duì)于一個(gè)輸入向量x白嘁,我們可以將其寫成權(quán)重×元素的累加再加上輸入的均值,元素與元素之間是相對(duì)獨(dú)立的(正交)
我們?yōu)榱藢?img class="math-inline" src="https://math.jianshu.com/math?formula=x-%5Cbar%7Bx%7D%20" alt="x-\bar{x} " mathimg="1">與最接近膘流,我們其實(shí)把z=Wx的的帶入就可以使偏差最小絮缅,證明可以參考bishop
我們可以考慮x的每一個(gè)維度,寫出如下式子呼股,我們?yōu)榱耸咕嚯x最小耕魄,就等價(jià)于最優(yōu)化矩陣的乘積和左側(cè)的距離
我們求左右最接近,就可以將右側(cè)SVD奇異值分解彭谁,U就是協(xié)方差陣的特征向量
我們把PCA可以看做類似一個(gè)隱層的神經(jīng)網(wǎng)絡(luò)(沒(méi)有激活函數(shù)吸奴,模型線性,而且其是Autoencoder缠局,即實(shí)現(xiàn)了自動(dòng)編碼)则奥,比如w1-wk是u1-uk的向量組,我們追求趨近于
,最后
,比如K=2時(shí)狭园,我們就有圖左下的關(guān)系读处,這種構(gòu)型就是一種自動(dòng)解碼器模型。
我們用神經(jīng)網(wǎng)絡(luò)可以得到的w各分量間是正交的唱矛,但是如果通過(guò)梯度下降求得的w卻不一定能保證正交罚舱,即不能保證從第一分量開(kāi)始就去除最大分散。
我們下面說(shuō)說(shuō)PCA的弱點(diǎn)绎谦,他是無(wú)監(jiān)督的管闷,所以我們對(duì)數(shù)據(jù)找最大方差方向可能會(huì)把不同標(biāo)簽數(shù)據(jù)融合到一起,LDA可以解決(但LDA是有監(jiān)督的)窃肠,而且由于PCA是線性的包个,如圖中打的把S曲面分布的拿來(lái)分布,我們就會(huì)得到一個(gè)壓扁的圖形冤留,很多顏色就混在了一起
老師又拿寶可夢(mèng)來(lái)說(shuō)PCA了赃蛛,寶可夢(mèng)有6種屬性,根據(jù)PCA我們需要決定舍棄部分搀菩,只是用部分向量呕臂,怎么取呢,我們可以計(jì)算出每個(gè)向量的特征值肪跋,因?yàn)樘卣髦捣磻?yīng)的是特征在這個(gè)維度的方差大小歧蒋,我們算出比率,看圖中的后2個(gè)比率小,這證明這個(gè)維度向變化時(shí)谜洽,對(duì)輸出影響很小萝映,我們就會(huì)考慮舍棄后兩個(gè)
我們給每個(gè)參數(shù)一個(gè)權(quán)重,我們就可以看出第一個(gè)寶可夢(mèng)是各屬性正相關(guān)的阐虚,而第二個(gè)是防御正速度負(fù)序臂,是犧牲速度增加防御的
三只就是特防犧牲攻擊和生命,第四就是生命比較強(qiáng)实束,攻擊防御都很弱的
又如手寫數(shù)字奥秆,我們把圖片特征分解,正常是784維向量咸灿,我們?nèi)CA前30個(gè)构订,每個(gè)圖像分別得到如下圖,即通過(guò)這30個(gè)的線性組合避矢,我們可得到0-9的數(shù)字圖像
又如人臉識(shí)別悼瘾,我們可以取PCA前30個(gè)向量,他們每個(gè)向量如下审胸,我們會(huì)覺(jué)得亥宿,哎?是不是每個(gè)圖都有點(diǎn)像人臉砂沛,可是數(shù)字卻看不懂
這是為什么呢箩绍,這是因?yàn)槲覀兠繌垐D引用向量的權(quán)重可以是負(fù)值,比如圖片9得到8尺上,就可能去掉一個(gè)豎然后再加一個(gè)圈材蛛,或者是從一個(gè)復(fù)雜的圖形開(kāi)始通過(guò)去掉一些元素就可能得到我們要的東西,這就解釋了我們手寫數(shù)字的元素圖片看不懂怎抛。
當(dāng)然我們也有NMF的方法卑吭,是使我們的系數(shù)都是正的,即都通過(guò)向量正疊加马绝,而且w1,w2...等等的參數(shù)都是正的(PCA出來(lái)往往不一定)
我們用NMF后每個(gè)分量就有點(diǎn)像筆畫一樣豆赏,人臉識(shí)別那里就像每個(gè)臉的一部分一樣
我們講一下矩陣分解,比如A,B,C,D,E每個(gè)人都買了動(dòng)漫的公仔富稻,數(shù)據(jù)中就能看出買了第三種公仔打的往往也會(huì)買第四個(gè)公仔掷邦,背后有一定的關(guān)系
我們把A,B,C3人每個(gè)人的性格分析下,就有各自偏向傲嬌和天然呆的向量椭赋,公仔性格也有對(duì)應(yīng)得向量抚岗,所以當(dāng)他們的內(nèi)積比較大的時(shí)候,他們往往會(huì)選擇買這個(gè)公仔哪怔,然而實(shí)際情況我們并不知道每個(gè)人內(nèi)心都是性格宣蔚,往往也不知道公仔的性格取向向抢,唯一知道的就是他們的購(gòu)買關(guān)系數(shù)據(jù)
購(gòu)買公仔的數(shù)據(jù)表格形成了矩陣Matrix X,這個(gè)矩陣的行是御宅族的個(gè)數(shù),列是公仔的種類胚委,我們假設(shè)潛在相關(guān)的因素?cái)?shù)量是K挟鸠,那我們就可以寫成M*K的矩陣(圖中誤寫成N)和K*N的矩陣的乘積,結(jié)果就得到了矩陣X亩冬,現(xiàn)在就是我們已知了X艘希,求右側(cè)2個(gè)矩陣的過(guò)程,可以用SVD分解硅急,因?yàn)橹虚g有個(gè)方陣覆享,我們可以選擇把它乘到左邊或者右邊
我們有的時(shí)候數(shù)據(jù)卻可能是不全的,我們直接將其定義成0做SVD的話铜秆,感覺(jué)也很不負(fù)責(zé)任,于是我們就想到了一個(gè)損失函數(shù)讶迁,通過(guò)梯度下降求解连茧,ri是每個(gè)購(gòu)買者的向量,rj是每個(gè)公仔的向量巍糯,nij是表格交點(diǎn)購(gòu)買數(shù)量啸驯,我們計(jì)算后求和(其中包含空內(nèi)容的項(xiàng)不去計(jì)算)
我們假設(shè)有2個(gè)相關(guān)因素,我們就可以將A-E分析出數(shù)據(jù)祟峦,感覺(jué)A,B是一類的罚斗,C-E是一類的,按公仔來(lái)說(shuō)宅楞,前兩個(gè)是一類的针姿,后兩個(gè)是1類的,于是我們就可以根據(jù)得到的矩陣厌衙,求出原來(lái)問(wèn)號(hào)的地方的數(shù)值距淫,就是對(duì)應(yīng)位置的內(nèi)積,于是我們就有了表格深藍(lán)色的預(yù)測(cè)婶希,就會(huì)分別推薦這些人買近似數(shù)量的公仔榕暇,其實(shí)這就是推薦系統(tǒng)的一種算法實(shí)現(xiàn)
我們直接用ri*rj去得到aij往往是不準(zhǔn)確的,一般需要引入偏置喻杈,比如引入了bA就是人A他有多喜歡買公仔彤枢,b1就是這個(gè)公仔有多受歡迎等等,因此我們額度損失函數(shù)也引入了偏差筒饰,我們就可以通過(guò)梯度下降求解損失函數(shù)
為了某些需要我們可以加入正則項(xiàng)缴啡,比如我們要求A只喜歡哪一個(gè)公仔可以引入L1正則
矩陣分解還可以做文章分類,如下表格瓷们,每個(gè)文檔談及不同領(lǐng)域的次數(shù)盟猖,這個(gè)次數(shù)是根據(jù)weighted by inverse document frequency來(lái)決定的讨衣,(比如一個(gè)詞在好幾個(gè)文章都大量出現(xiàn),那他的權(quán)值就比較低式镐,如果這個(gè)詞僅在這個(gè)文章出現(xiàn)反镇,而且出現(xiàn)概率高,他的權(quán)值就高)娘汞,我們分析出的隱藏因素就比如說(shuō)財(cái)經(jīng)歹茶,政治等等。除了LSA還有PLSA,LDA等等你弦,文檔已經(jīng)列出惊豺,請(qǐng)自行查閱= =
最后老師又列舉了一些PCA的衍生方法,聽(tīng)著的確云里霧繞的禽作,還是需要?jiǎng)邮謱?shí)踐來(lái)做一做