11.談?wù)勁袆e式模型和生成式模型?
判別方法:由數(shù)據(jù)直接學(xué)習(xí)決策函數(shù) Y = f(X)笼恰,或者由條件分布概率 P(Y|X)作為預(yù)測(cè)模型玷过,即判別模型人乓。
生成方法:由數(shù)據(jù)學(xué)習(xí)聯(lián)合概率密度分布函數(shù) P(X,Y),然后求出條件概率分布P(Y|X)作為預(yù)測(cè)的模型,即生成模型乳附。
由生成模型可以得到判別模型内地,但由判別模型得不到生成模型。
常見的判別模型有:K近鄰赋除、SVM阱缓、決策樹、感知機(jī)举农、線性判別分析(LDA)荆针、線性回歸、傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)颁糟、邏輯斯蒂回歸航背、boosting、條件隨機(jī)場(chǎng)
常見的生成模型有:樸素貝葉斯棱貌、隱馬爾可夫模型玖媚、高斯混合模型、文檔主題生成模型(LDA)婚脱、限制玻爾茲曼機(jī)
12.L1和L2的區(qū)別
L1范數(shù)(L1 norm)是指向量中各個(gè)元素絕對(duì)值之和今魔,也有個(gè)美稱叫“稀疏規(guī)則算子”(Lasso regularization)。
比如 向量A=[1障贸,-1错森,3], 那么A的L1范數(shù)為 |1|+|-1|+|3|.
簡(jiǎn)單總結(jié)一下就是:
L1范數(shù): 為x向量各個(gè)元素絕對(duì)值之和篮洁。
L2范數(shù): 為x向量各個(gè)元素平方和的1/2次方涩维,L2范數(shù)又稱Euclidean范數(shù)或者Frobenius范數(shù)
Lp范數(shù): 為x向量各個(gè)元素絕對(duì)值p次方和的1/p次方.
在支持向量機(jī)學(xué)習(xí)過程中,L1范數(shù)實(shí)際是一種對(duì)于成本函數(shù)求解最優(yōu)的過程嘀粱,因此激挪,L1范數(shù)正則化通過向成本函數(shù)中添加L1范數(shù),使得學(xué)習(xí)得到的結(jié)果滿足稀疏化锋叨,從而方便人類提取特征垄分。
L1范數(shù)可以使權(quán)值稀疏,方便特征提取娃磺。
L2范數(shù)可以防止過擬合薄湿,提升模型的泛化能力。
13. CNN最成功的應(yīng)用是在CV,那為什么NLP和Speech的很多問題也可以用CNN解出來豺瘤?為什么AlphaGo里也用了CNN吆倦?這幾個(gè)不相關(guān)的問題的相似性在哪里?CNN通過什么手段抓住了這個(gè)共性坐求?
@許韓:
來源:深度學(xué)習(xí)崗位面試問題整理筆記
Deep Learning -Yann LeCun, Yoshua Bengio & Geoffrey HintonLearn TensorFlow and deep learning, without a Ph.D.The Unreasonable Effectiveness of Deep Learning -LeCun 16 NIPS Keynote以上幾個(gè)不相關(guān)問題的相關(guān)性在于蚕泽,都存在局部與整體的關(guān)系,由低層次的特征經(jīng)過組合桥嗤,組成高層次的特征须妻,并且得到不同特征之間的空間相關(guān)性。如下圖:低層次的直線/曲線等特征泛领,組合成為不同的形狀荒吏,最后得到汽車的表示。
CNN抓住此共性的手段主要有四個(gè):局部連接/權(quán)值共享/池化操作/多層次結(jié)構(gòu)渊鞋。局部連接使網(wǎng)絡(luò)可以提取數(shù)據(jù)的局部特征绰更;權(quán)值共享大大降低了網(wǎng)絡(luò)的訓(xùn)練難度,一個(gè)Filter只提取一個(gè)特征锡宋,在整個(gè)圖片(或者語音/文本) 中進(jìn)行卷積儡湾;池化操作與多層次結(jié)構(gòu)一起,實(shí)現(xiàn)了數(shù)據(jù)的降維员辩,將低層次的局部特征組合成為較高層次的特征盒粮,從而對(duì)整個(gè)圖片進(jìn)行表示。如下圖:
14.簡(jiǎn)單說說RNN的原理
我們升學(xué)到高三準(zhǔn)備高考時(shí),此時(shí)的知識(shí)是由高二及高二之前所學(xué)的知識(shí)加上高三所學(xué)的知識(shí)合成得來乏屯,即我們的知識(shí)是由前序鋪墊根时,是有記憶的,好比當(dāng)電影字幕上出現(xiàn):“我是”時(shí)辰晕,你會(huì)很自然的聯(lián)想到:“我是中國(guó)人”蛤迎。關(guān)于RNN,這里有個(gè)課程會(huì)詳細(xì)講RNN含友,此外這里也有篇講解LSTM的文《理解 LSTM 網(wǎng)絡(luò)》替裆。
15. 說一下Adaboost校辩,權(quán)值更新公式。當(dāng)弱分類器是Gm時(shí)辆童,每個(gè)樣本的的權(quán)重是w1宜咒,w2...,請(qǐng)寫出最終的決策公式把鉴。
給定一個(gè)訓(xùn)練數(shù)據(jù)集T={(x1,y1), (x2,y2)…(xN,yN)}故黑,其中實(shí)例,而實(shí)例空間纸镊,yi屬于標(biāo)記集合{-1,+1}倍阐,Adaboost的目的就是從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)一系列弱分類器或基本分類器,然后將這些弱分類器組合成一個(gè)強(qiáng)分類器逗威。
Adaboost的算法流程如下:
a. 使用具有權(quán)值分布Dm的訓(xùn)練數(shù)據(jù)集學(xué)習(xí),得到基本分類器(選取讓誤差率最低的閾值來設(shè)計(jì)基本分類器):
b. 計(jì)算Gm(x)在訓(xùn)練數(shù)據(jù)集上的分類誤差率
由上述式子可知岔冀,Gm(x)在訓(xùn)練數(shù)據(jù)集上的誤差率em就是被Gm(x)誤分類樣本的權(quán)值之和凯旭。
c. 計(jì)算Gm(x)的系數(shù),am表示Gm(x)在最終分類器中的重要程度(目的:得到基本分類器在最終分類器中所占的權(quán)重):
由上述式子可知使套,em <= 1/2時(shí)罐呼,am >= 0,且am隨著em的減小而增大侦高,意味著分類誤差率越小的基本分類器在最終分類器中的作用越大嫉柴。
d. 更新訓(xùn)練數(shù)據(jù)集的權(quán)值分布(目的:得到樣本的新的權(quán)值分布),用于下一輪迭代
使得被基本分類器Gm(x)誤分類樣本的權(quán)值增大奉呛,而被正確分類樣本的權(quán)值減小计螺。就這樣,通過這樣的方式瞧壮,AdaBoost方法能“重點(diǎn)關(guān)注”或“聚焦于”那些較難分的樣本上登馒。
其中,Zm是規(guī)范化因子咆槽,使得Dm+1成為一個(gè)概率分布:
從而得到最終分類器陈轿,如下:
更多請(qǐng)查看此文:《Adaboost 算法的原理與推導(dǎo)》。
步驟3. 組合各個(gè)弱分類器
步驟2. 進(jìn)行多輪迭代秦忿,用m = 1,2, ..., M表示迭代的第多少輪
步驟1. 首先麦射,初始化訓(xùn)練數(shù)據(jù)的權(quán)值分布。每一個(gè)訓(xùn)練樣本最開始時(shí)都被賦予相同的權(quán)值:1/N灯谣。
16.LSTM結(jié)構(gòu)推導(dǎo)潜秋,為什么比RNN好?
推導(dǎo)forget gate酬屉,input gate半等,cell state揍愁, hidden information等的變化;因?yàn)長(zhǎng)STM有進(jìn)有出且當(dāng)前的cell informaton是通過input gate控制之后疊加的杀饵,RNN是疊乘莽囤,因此LSTM可以防止梯度消失或者爆炸
17.****經(jīng)常在網(wǎng)上搜索東西的朋友知道,當(dāng)你不小心輸入一個(gè)不存在的單詞時(shí)切距,搜索引擎會(huì)提示你是不是要輸入某一個(gè)正確的單詞朽缎,比如當(dāng)你在Google中輸入“Julw”時(shí),系統(tǒng)會(huì)猜測(cè)你的意圖:是不是要搜索“July”谜悟,如下圖所示:
這叫做拼寫檢查话肖。根據(jù)谷歌一員工寫的文章顯示,Google的拼寫檢查基于貝葉斯方法葡幸。請(qǐng)說說的你的理解最筒,具體Google是怎么利用貝葉斯方法,實(shí)現(xiàn)"拼寫檢查"的功能蔚叨。
由于對(duì)于所有備選的c來說毁渗,對(duì)應(yīng)的都是同一個(gè)w,所以它們的P(w)是相同的单刁,因此我們只要最大化
即可灸异。其中:
所以,我們比較所有拼寫相近的詞在文本庫中的出現(xiàn)頻率羔飞,再從中挑出出現(xiàn)頻率最高的一個(gè)肺樟,即是用戶最想輸入的那個(gè)詞。具體的計(jì)算過程及此方法的缺陷請(qǐng)參見這里逻淌。
P(c)表示某個(gè)正確的詞的出現(xiàn)"概率"么伯,它可以用"頻率"代替。如果我們有一個(gè)足夠大的文本庫卡儒,那么這個(gè)文本庫中每個(gè)單詞的出現(xiàn)頻率田柔,就相當(dāng)于它的發(fā)生概率俐巴。某個(gè)詞的出現(xiàn)頻率越高,P(c)就越大硬爆。比如在你輸入一個(gè)錯(cuò)誤的詞“Julw”時(shí)欣舵,系統(tǒng)更傾向于去猜測(cè)你可能想輸入的詞是“July”,而不是“Jult”缀磕,因?yàn)椤癑uly”更常見缘圈。
P(w|c)表示在試圖拼寫c的情況下,出現(xiàn)拼寫錯(cuò)誤w的概率袜蚕。為了簡(jiǎn)化問題糟把,假定兩個(gè)單詞在字形上越接近,就有越可能拼錯(cuò)牲剃,P(w|c)就越大遣疯。舉例來說,相差一個(gè)字母的拼法颠黎,就比相差兩個(gè)字母的拼法另锋,發(fā)生概率更高。你想拼寫單詞July狭归,那么錯(cuò)誤拼成Julw(相差一個(gè)字母)的可能性,就比拼成Jullw高(相差兩個(gè)字母)文判。值得一提的是过椎,一般把這種問題稱為“編輯距離”,參見博客中的這篇文章戏仓。
18.為什么樸素貝葉斯如此“樸素”疚宇?
因?yàn)樗俣ㄋ械奶卣髟跀?shù)據(jù)集中的作用是同樣重要和獨(dú)立的。正如我們所知赏殃,這個(gè)假設(shè)在現(xiàn)實(shí)世界中是很不真實(shí)的敷待,因此,說樸素貝葉斯真的很“樸素”仁热。
19.請(qǐng)大致對(duì)比下plsa和LDA的區(qū)別
举哟。
綜上,LDA真的只是pLSA的貝葉斯版本迅矛,文檔生成后妨猩,兩者都要根據(jù)文檔去推斷其主題分布和詞語分布,只是用的參數(shù)推斷方法不同秽褒,在pLSA中用極大似然估計(jì)的思想去推斷兩未知的固定參數(shù)壶硅,而LDA則把這兩參數(shù)弄成隨機(jī)變量威兜,且加入dirichlet先驗(yàn)。
更多請(qǐng)參見:《通俗理解LDA主題模型》庐椒。
還是再次舉下文檔d具體產(chǎn)生主題z的例子椒舵。給定一篇文檔d,現(xiàn)在有多個(gè)主題z1扼睬、z2逮栅、z3,它們的主題分布{ P(zi|d), i = 1,2,3 }可能是{0.4,0.5,0.1}窗宇,也可能是{0.2,0.2,0.6}措伐,即這些主題被d選中的概率都不再認(rèn)為是確定的值,可能是P(z1|d) = 0.4军俊、P(z2|d) = 0.5侥加、P(z3|d) = 0.1,也有可能是P(z1|d) = 0.2粪躬、P(z2|d) = 0.2担败、P(z3|d) = 0.6等等,而主題分布到底是哪個(gè)取值集合我們不確定(為什么镰官?這就是貝葉斯派的核心思想提前,把未知參數(shù)當(dāng)作是隨機(jī)變量,不再認(rèn)為是某一個(gè)確定的值)泳唠,但其先驗(yàn)分布是dirichlet 分布狈网,所以可以從無窮多個(gè)主題分布中按照dirichlet 先驗(yàn)隨機(jī)抽取出某個(gè)主題分布出來。如下圖所示(圖截取自沈博PPT上):
文檔d產(chǎn)生主題z(準(zhǔn)確的說笨腥,其實(shí)是Dirichlet先驗(yàn)為文檔d生成主題分布Θ拓哺,然后根據(jù)主題分布Θ產(chǎn)生主題z)的概率,主題z產(chǎn)生單詞w的概率都不再是某兩個(gè)確定的值脖母,而是隨機(jī)變量士鸥。
但在貝葉斯框架下的LDA中晾剖,我們不再認(rèn)為主題分布(各個(gè)主題在文檔中出現(xiàn)的概率分布)和詞分布(各個(gè)詞語在某個(gè)主題下出現(xiàn)的概率分布)是唯一確定的(而是隨機(jī)變量)蛾洛,而是有很多種可能。但一篇文檔總得對(duì)應(yīng)一個(gè)主題分布和一個(gè)詞分布吧负拟,怎么辦呢哨苛?LDA為它們弄了兩個(gè)Dirichlet先驗(yàn)參數(shù)鸽凶,這個(gè)Dirichlet先驗(yàn)為某篇文檔隨機(jī)抽取出某個(gè)主題分布和詞分布。
舉個(gè)文檔d產(chǎn)生主題z的例子建峭。給定一篇文檔d玻侥,主題分布是一定的,比如{ P(zi|d), i = 1,2,3 }可能就是{0.4,0.5,0.1}亿蒸,表示z1凑兰、z2掌桩、z3,這3個(gè)主題被文檔d選中的概率都是個(gè)固定的值:P(z1|d) = 0.4姑食、P(z2|d) = 0.5波岛、P(z3|d) = 0.1,如下圖所示(圖截取自沈博PPT上):
文檔d產(chǎn)生主題z的概率音半,主題z產(chǎn)生單詞w的概率都是兩個(gè)固定的值则拷。
20.請(qǐng)簡(jiǎn)要說說EM算法
@tornadomeet來源:http://www.cnblogs.com/tornadomeet/p/3395593.html
有時(shí)候因?yàn)闃颖镜漠a(chǎn)生和隱含變量有關(guān)(隱含變量是不能觀察的)眠屎,而求模型的參數(shù)時(shí)一般采用最大似然估計(jì),由于含有了隱含變量肆饶,所以對(duì)似然函數(shù)參數(shù)求導(dǎo)是求不出來的改衩,這時(shí)可以采用EM算法來求模型的參數(shù)的(對(duì)應(yīng)模型參數(shù)個(gè)數(shù)可能有多個(gè)),EM算法一般分為2步:
E步:選取一組參數(shù)驯镊,求出在該參數(shù)下隱含變量的條件概率值燎字;
M步:結(jié)合E步求出的隱含變量條件概率,求出似然函數(shù)下界函數(shù)(本質(zhì)上是某個(gè)期望函數(shù))的最大值阿宅。
重復(fù)上面2步直至收斂。
公式如下所示:
M步公式中下界函數(shù)的推導(dǎo)過程:
EM算法一個(gè)常見的例子就是GMM模型笼蛛,每個(gè)樣本都有可能由k個(gè)高斯產(chǎn)生洒放,只不過由每個(gè)高斯產(chǎn)生的概率不同而已,因此每個(gè)樣本都有對(duì)應(yīng)的高斯分布(k個(gè)中的某一個(gè))滨砍,此時(shí)的隱含變量就是每個(gè)樣本對(duì)應(yīng)的某個(gè)高斯分布往湿。
GMM的E步公式如下(計(jì)算每個(gè)樣本對(duì)應(yīng)每個(gè)高斯的概率):
更具體的計(jì)算公式為:
M步公式如下(計(jì)算每個(gè)高斯的比重,均值惋戏,方差這3個(gè)參數(shù)):