




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
機器學習面試題
請簡要介紹下SVM
SVM,全稱是supportvectormachine,中文名叫支持向量機。SVM是一個面
向數(shù)據(jù)的分類算法,它的目標是為確定一個分類超平面,從而將不同的數(shù)據(jù)分隔
開。
請簡要介紹下tensorflow的計算圖
Tensorflow是一個通過計算圖的形式來表述計算的編程系統(tǒng),計算圖也叫數(shù)
據(jù)流圖,可以把計算圖看做是一種有向圖,Tensorflow中的每一個計算都是計算
圖上的一個節(jié)點,而節(jié)點之間的邊描述了計算之間的依賴關系。
Tensorflow的“計算圖”
□Tensorflow一般可分為2部分
A構造部分,包含計算流圖
A執(zhí)行部分,通itsession來執(zhí)行圖中的計算
□構建,圖
>創(chuàng)建源節(jié)A(sourceop)
>源節(jié)點輸出傳遹給其他節(jié)點(op)做運算
□TF默認圖
>TensorFlowPython庫有—個默認圖(defaultgraph)
>節(jié)點構造器(op構造器)可以增加節(jié)點
口深度學習班第3期40/54
在k-means或kNN,我們常用歐氏距離來計算最近的鄰居之間的距離,有
時也用曼哈頓距離,請對比下這兩種距離的差別。
歐氏距離,最常見的兩點之間或多點之間的距離表示法,又稱之為歐幾里得
度量,它定義于歐幾里得空間中,如點x=(xl,...,xn)和y=(yl,...,yn)之間的距離為:
.________________________________n
d(x,y):=y/(叫-次)2+(12-次產(chǎn)+…+Qn—%產(chǎn)=.£(與-仍產(chǎn)
\i=l
曼哈頓距離,我們可以定義曼哈頓距離的正式意義為L1-距離或城市區(qū)塊距
離,也就是在歐幾里得空間的固定直角坐標系上兩點所形成的線段對軸產(chǎn)生的投
影的距離總和。例如在平面上,坐標(xl,yl)的點P1與坐標(x2,y2)的點P2
的曼哈頓距離為:"1-i2l+lyi一次I?,要注意的是,曼哈頓距離依賴座標
系統(tǒng)的轉度,而非系統(tǒng)在座標軸上的平移或映射。
通俗來講,想象你在曼哈頓要從一個十字路口開車到另外一個十字路口,駕
駛距離是兩點間的直線距離嗎?顯然不是,除非你能穿越大樓。而實際駕駛距離
就是這個“曼哈頓距離「這也是曼哈頓距離名稱的來源,同時,曼哈頓距離也稱
為城市街區(qū)距離(CityBlockdistance)。
把LR從頭到腳都給講一遍。建模,現(xiàn)場數(shù)學推導,每種解法的原理,正則
化,LR和maxent模型啥關系,lr為啥比線性回歸好。有不少會背答案的人,
問邏輯細節(jié)就糊涂了。原理都會?那就問工程,并行化怎么做,有幾種并行化方
式,讀過哪些開源的實現(xiàn)。
2⑹=logL(^)
m
=£/log無砂))+(1-嚴)log(l—?、佗牛?/p>
1=1
葡⑹=(〃扁-(一)二焉西)卷匹)
=。舟—(1一妨二嬴j)貝嗎)(1-/*)扁嗎
=(?;(1-.9(^))-(1-〃)。(尹好)叼
=(y-he(xi)Xj
LogisticC7歸參數(shù)迭代公式:
%:=Oj+?僅⑴一加(”)))若)
overfitting怎么解決:
dropout、regularization、batchnormalization
LR和SVM的聯(lián)系與區(qū)別
聯(lián)系:
1、LR和SVM都可以處理分類問題,且一般都用于處理線性二分類問題(在
改進的情況下可以處理多分類問題)
2、兩個方法都可以增加不同的正則化項,如11、12等等。所以在很多實驗
中,兩種算法的結果是很接近的。
區(qū)別:
1、LR是參數(shù)模型,SVM是非參數(shù)模型。
2、從目標函數(shù)來看,區(qū)別在于邏輯回歸采用的是logisticalloss,SVM采用
的是hingeloss,這兩個損失函數(shù)的目的都是增加對分類影響較大的數(shù)據(jù)點的權
重,減少與分類關系較小的數(shù)據(jù)點的權重。
3、SVM的處理方法是只考慮supportvectors,也就是和分類最相關的少數(shù)
點,去學習分類器。而邏輯回歸通過非線性映射,大大減小了離分類平面較遠的
點的權重,相對提升了與分類最相關的數(shù)據(jù)點的權重。
4、邏輯回歸相對來說模型更簡單,好理解,特別是大規(guī)模線性分類時比較
方便。而SVM的理解和優(yōu)化相對來說復雜一些,SVM轉化為對偶問題后,分類
只需要計算與少數(shù)幾個支持向量的距離,這個在進行復雜核函數(shù)計算時優(yōu)勢很明
顯,能夠大大簡化模型和計算。
5、logic能做的svm能做,但可能在準確率上有問題,svm能做的logic有
的做不了。
說說你知道的核函數(shù)
通常人們會從一些常用的核函數(shù)中選擇(根據(jù)問題和數(shù)據(jù)的不同,選擇不同
的參數(shù),實際上就是得到了不同的核函數(shù)),例如:
多項式核顯然剛才我們舉的例子是這里多項式核的一個特例(R=1,d=2)o
雖然比較麻煩,而且沒有必要,不過這個核所對應的映射實際上是可以寫出來的,
該空間的維度是1d1,其中m是原始空間的維度。
片(叫心2)=exp(一)
高斯核\),這個核就是最開始提到過的會
將原始空間映射為無窮維空間的那個家伙。不過,如果。選得很大的話,高次特
征上的權重實際上衰減得非??欤詫嶋H上(數(shù)值上近似一下)相當于一個低
維的子空間;反過來,如果。選得很小,則可以將任意的數(shù)據(jù)映射為線性可分一
-當然,這并不一定是好事,因為隨之而來的可能是非常嚴重的過擬合問題。不
過,總的來說,通過調(diào)控參數(shù)。,高斯核實際上具有相當高的靈活性,也是使用
最廣泛的核函數(shù)之一。下圖所示的例子便是把低維線性不可分的數(shù)據(jù)通過高斯核
函數(shù)映射到了高維空間:
ONegativeobjects(y=4)?Positiveobjects(y-+l)
線性核K(Sl,H2)=伊1尸2),這實際上就是原始空間中的內(nèi)積。這個核
存在的主要目的是使得“映射后空間中的問題”和“映射前空間中的問題”兩者在
形式上統(tǒng)一起來了(意思是說,咱們有的時候,寫代碼,或寫公式的時候,只要寫
個模板或通用表達式,然后再代入不同的核,便可以了,于此,便在形式上統(tǒng)一
了起來,不用再分別寫一個線性的,和一個非線性的)。
LR與線性回歸的區(qū)別與聯(lián)系
個人感覺邏輯回歸和線性回歸首先都是廣義的線性回歸,
其次經(jīng)典線性模型的優(yōu)化目標函數(shù)是最小二乘,而邏輯回歸則是似然函數(shù),
另外線性回歸在整個實數(shù)域范圍內(nèi)進行預測,敏感度一致,而分類范圍,需
要在[0,1]。邏輯回歸就是一種減小預測范圍,將預測值限定為[0,1]間的一種回歸
模型,因而對于這類問題來說,邏輯回歸的魯棒性比線性回歸的要好。
邏輯回歸的模型本質上是一個線性回歸模型,邏輯回歸都是以線性回歸為理
論支持的。但線性回歸模型無法做到sigmoid的非線性形式,sigmoid可以輕松
處理0/1分類問題。
請問(決策樹、RandomForest、Booting、Adaboot)GBDT和XGBoost的
區(qū)別是什么?
關于決策樹,這里有篇《決策樹算法》。而隨機森林RandomForest是一個
包含多個決策樹的分類器。至于AdaBoost,則是英文"AdaptiveBoosting"(自適
應增強)的縮寫,關于AdaBoost可以看下這篇文章《Adaboost算法的原理與推
導》。GBDT(GradientBoostingDecisionTree),即梯度上升決策樹算法,相當
于融合決策樹和梯度上升boosting算法。
xgboost類似于gbdt的優(yōu)化版,不論是精度還是效率上都有了提升。與gbdt
相比,具體的優(yōu)點有:
1.損失函數(shù)是用泰勒展式二項逼近,而不是像gbdt里的就是一階導數(shù)
2.對樹的結構進行了正則化約束,防止模型過度復雜,降低了過擬合的可能
性
3.節(jié)點分裂的方式不同,gbdt是用的gini系數(shù),xgboost是經(jīng)過優(yōu)化推導后
的
為什么xgboost要用泰勒展開,優(yōu)勢在哪里?
Xgboost使用了一階和二階偏導,二階導數(shù)有利于梯度下降的更快更準.使用
泰勒展開取得二階倒數(shù)形式,可以在不選定損失函數(shù)具體形式的情況下用于算法
優(yōu)化分析.本質上也就把損失函數(shù)的選取和模型算法優(yōu)化/參數(shù)選擇分開了.這種
去耦合增加了Xgboost的適用性。
Xgboost如何尋找最優(yōu)特征?是又放回還是無放回的呢?
Xgboost在訓練的過程中給出各個特征的評分,從而表明每個特征對模型訓
練的重要性.Xgboost利用梯度優(yōu)化模型算法,樣本是不放回的(想象一個樣本連續(xù)
重復抽出才弟度來回踏步會不會高興).但Xgboost支持子采樣,也就是每輪計算可以
不使用全部樣本。
談談判別式模型和生成式模型?
判別方法:由數(shù)據(jù)直接學習決策函數(shù)Y=KX),或者由條件分布概率HYIX)
作為預測模型,即判別模型。
生成方法:由數(shù)據(jù)學習聯(lián)合概率密度分布函數(shù)P(X,Y),然后求出條件概率
分布P(Y|X)作為預測的模型,即生成模型。
由生成模型可以得到判別模型,但由判別模型得不到生成模型。
常見的判別模型有:K近鄰、SVM、決策樹、感知機、線性判別分析(LDA)、
線性回歸、傳統(tǒng)的神經(jīng)網(wǎng)絡、邏輯斯蒂回歸、boosting.條件隨機場
常見的生成模型有:樸素貝葉斯、隱馬爾可夫模型、高斯混合模型、文檔主
題生成模型(LDA)、限制玻爾茲曼機
L1和L2的區(qū)別
Ll范數(shù)(Llnorm)是指向量中各個元素絕對值之和,也有個美稱叫“稀疏規(guī)
則算子”(Lassoregularization)o
比如向量A=[l,-1,3],那么A的L1范數(shù)為|1|+|-1|+|3|.
簡單總結一下就是:
L1范數(shù):為x向量各個元素絕對值之和。
L2范數(shù):為x向量各個元素平方和的1/2次方,L2范數(shù)又稱Euclidean范數(shù)
或者Frobenius范數(shù)
Lp范數(shù):為x向量各個元素絕對值p次方和的1/p次方.
在支持向量機學習過程中,L1范數(shù)實際是一種對于成本函數(shù)求解最優(yōu)的過
程,因此,L1范數(shù)正則化通過向成本函數(shù)中添加L1范數(shù),使得學習得到的結果
滿足稀疏化,從而方便人類提取特征。
L1范數(shù)可以使權值稀疏,方便特征提取。
L2范數(shù)可以防止過擬合,提升模型的泛化能力。
L1和L2正則先驗分別服從什么分布
面試中遇到的,L1和L2正則先驗分別服從什么分布,L1是拉普拉斯分布,
L2是局1斯分布。
CNN最成功的應用是在CV,那為什么NLP和Speech的很多問題也可以
用CNN解出來?為什么AlphaGo里也用了CNN?這幾個不相關的問題的相似
性在哪里?CNN通過什么手段抓住了這個共性?
以上幾個不相關問題的相關性在于,都存在局部與整體的關系,由低層次的
特征經(jīng)過組合,組成高層次的特征,并且得至懷同特征之間的空間相關性。如下
圖:低層次的直線/曲線等特征,組合成為不同的形狀,最后得到汽車的表示。
"It'sdeepifithasmorethanonestageofnon-Unearfeaturetransformation
Low-LevelMid-Level^High-LevelTrainable
FeatureFeatureFeatureClassifier
CNN抓住此共性的手段主要有四個:局部連接/權值共享/池化操作/多
層次結構。
局部連接使網(wǎng)絡可以提取數(shù)據(jù)的局部特征;權值共享大大降低了網(wǎng)絡的訓練
難度,一個Filter只提取一個特征,在整個圖片(或者語音/文本)中進行卷積;
池化操作與多層次結構一起,實現(xiàn)了數(shù)據(jù)的降維,將低層次的局部特征組合成為
較高層次的特征,從而對整個圖片進行表示。如下圖:
上圖中,如果每一個點的處理使用相同的Filter,則為全卷積,如果使用不
同的Filter,則為Local-Conv,
說一下Adaboost,權值更新公式。當弱分類器是Gm時,每個樣本的的權
重是wl,w2...,請寫出最終的決策公式。
給定一個訓練數(shù)據(jù)集1={仰加),儀2,丫2)...依2師,其中實例2:GX,而實
例空間矛rRn,yi屬于標記集合,Adaboost的目的就是從訓練數(shù)據(jù)中
學習一系列弱分類器或基本分類器,然后將這些弱分類器組合成一個強分類器。
Adaboost的算法流程如下:
步驟1.首先,初始化訓練數(shù)據(jù)的權值分布。每一個訓練樣本最開始時都被賦
予相同的權值:1/N。
。1=6匕1/匕2一7匕一一,WIN1i=\2,…,N
N
步驟2.進行多輪迭代,用m=l,2,…,M表示迭代的第多少輪
使用具有權值分布Dm的訓練數(shù)據(jù)集學習,得到基本分類器(選取讓誤差率
最低的閾值來設計基本分類器):
GM-{-L+1}
b.計算Gm(x)在訓練數(shù)據(jù)集上的分類誤差率
N
■=尸(G洲&)工%)=Zi7"(G式xJw%)
z=l
由上述式子可知,Gm(x)在訓練數(shù)據(jù)集上的誤差率em就是被Gm(x)誤分類
樣本的權值之和。
c.計算Gm(x)的系數(shù),am表示Gm(x)在最終分類器中的重要程度(目的:得
到基本分類器在最終分類器中所占的權重):
111—e
--
2%
由上述式子可知,em<=l/2時,am>=0,且am隨著em的減小而增大,意味
著分類誤差率越小的基本分類器在最終分類器中的作用越大。
d.更新訓練數(shù)據(jù)集的權值分布(目的:得到樣本的新的權值分布),用于下
一輪迭代
=(“]中……,Wkwl
w.=^exp(-aQ&(Xj)I…,N
m
使得被基本分類器Gm(x)誤分類樣本的權值增大,而被正確分類樣本的權值
減小。就這樣,通過這樣的方式,AdaBoost方法能“重點關注”或“聚焦于”那些較
難分的樣本上。
其中,Zm是規(guī)范化因子,使得Dm+1成為一個概率分布:
N
Z—ZM'mexp(一日))
i=l
步驟3.組合各個弱分類器
M
/a)=z%q(x)
m=l
從而得到最終分類器,如下:
(M、
G(x)=sign(f(x))=signZ%G,”(x)
3=i)
LSTM結構推導,為什么比RNN好?
推導forgetgate,inputgate,cellstate,hiddeninformation等的變化;因為LSTM
有進有出且當前的cellinformaton是通過inputgate控制之后疊加的,RNN是疊
乘,因此LSTM可以防止梯度消失或者爆炸
請說說的你的理解,具體Google是怎么利用貝葉斯方法,實現(xiàn)“拼寫檢直”
的功能。
用戶輸入一個單詞時,可能拼寫正確,也可能拼寫錯誤。如果把拼寫正確的
情況記做C(代表correct),拼寫錯誤的情況記做w(代表wrong),那么拼寫
檢查”要做的事情就是:在發(fā)生w的情況下,試圖推斷出c。換言之:已知w,
然后在若干個備選方案中,找出可能性最大的那個c,也就是求P(d包)的最大值。
而根據(jù)貝葉斯定理,有:
P(c|w)=P(w|c)*P(c)/P(w)
由于對于所有備選的C來說,對應的都是同一個W,所以它們的P(w)是相同
的,因此我們只要最大化
P(w|c)*P(c)
即可。其中:
P(c)表示某個正確的詞的出現(xiàn)概率”,它可以用瀕率”代替。如果我們有一
個足夠大的文本庫,那么這個文本庫中每個單詞的出現(xiàn)頻率,就相當于它的發(fā)生
概率。某個詞的出現(xiàn)頻率越高,P(c)就越大。比如在你輸入一個錯誤的詞“Julw”
時,系統(tǒng)更傾向于去猜測你可能想輸入的詞是“July”,而不是“Jult”,因為“July”
更常見。
P(w|c)表示在試圖拼寫C的情況下,出現(xiàn)拼寫錯誤W的概率。為了簡化問題,
假定兩個單詞在字形上越接近,就有越可能拼錯,P(w|c)就越大。舉例來說,相
差一個字母的拼法,就比相差兩個字母的拼法,發(fā)生概率更高。你想拼寫單詞July,
那么錯誤拼成Julw(相差一個字母)的可能性,就比拼成Jullw高(相差兩個字
母)。值得一提的是,一般把這種問題稱為“編輯距離”,參見博客中的這篇文章。
所以,我們比較所有拼寫相近的詞在文本庫中的出現(xiàn)頻率,再從中挑出出現(xiàn)
頻率最高的一個,即是用戶最想輸入的那個詞。
為什么樸素貝葉斯如此“樸素”?
因為它假定所有的特征在數(shù)據(jù)集中的作用是同樣重要和獨立的。正如我們所
知,這個假設在現(xiàn)實世界中是很不真實的,因此,說樸素貝葉斯真的很“樸素二
請大致對比下plsa和LDA的區(qū)別
pLSA中,主題分布和詞分布確定后,以一定的概率(尸(跺14)、尸(叼除))
分別選取具體的主題和詞項,生成好文檔。而后根據(jù)生成好的文檔反推其主題分
布、詞分布時,最終用EM算法(極大似然估計思想)求解出了兩個未知但固定
的參數(shù)的值:弧八由尸㈣院)轉換而來)和%T由P3E)轉換而來)。
文檔d產(chǎn)生主題z的概率,主題z產(chǎn)生單詞w的概率都是兩個固定的值。
舉個文檔d產(chǎn)生主題z的例子。給定一篇文檔d,主題分布是一定的,比如
似詠)1=1,2,3}可能就是{0.4,050.1},表示21、z2、z3,這3個主題被文檔d選
中的概率都是個固定的值:P(zl|d)=0.4,P(z2|d)=0.5、P(z3|d)=0.1,如下圖所示(圖
截取自沈博PPT上):
生成模型:PLSA
的孩子
依然在路上
觸開翅膀飛向自由
讓雨水,他的迷惘
P(z\d)
flw
Kp(w\d)=^p(w\z)p(z\d)
無
飛
但在貝葉斯框架下的LDA中,我們不再認為主題分布(各個主題在文檔中
出現(xiàn)的概率分布)和詞分布(各個詞語在某個主題下出現(xiàn)的概率分布)是唯一確
定的(而是隨機變量),而是有很多種可能。但一篇文檔總得對應一個主題分布
和一個詞分布吧,怎么辦呢?LDA為它們弄了兩個Dirichlet先驗參數(shù),這個
Dirichlet先驗為某篇文檔隨機抽取出某個主題分布和詞分布。
文檔d產(chǎn)生主題z(準確的說,其實是Dirichlet先驗為文檔d生成主題分布
?,然后根據(jù)主題分布0產(chǎn)生主題z)的概率,主題z產(chǎn)生單詞w的概率都不再
是某兩個確定的值,而是隨機變量。
還是再次舉下文檔d具體產(chǎn)生主題z的例子。給定一篇文檔d,現(xiàn)在有多個
主題zl、z2、z3,它們的主題分布{P⑵|d),i=l,2,3}可能是{0.4,0.5,0.1},也可能是
(0.2,0.2,0.6),即這些主題被d選中的概率都不再認為是確定的值,可能是
P(zl|d)=0.4xP(z2|d)=0.5、P(z3|d)=0.1,也有可能是P(zl|d)=0.2xP(z2|d)=0.2x
P(z3|d)=0.6等等,而主題分布到底是哪個取值集合我們不確定(為什么?這就是
貝葉斯派的核心思想,把未知參數(shù)當作是隨機變量,不再認為是某一個確定的值),
但其先驗分布是dirichlet分布,所以可以從無窮多個主題分布中按照dirichlet先
驗隨機抽取出某個主題分布出來。如下圖所示(圖截取自沈博PPT±):
換言之,LDA在pLSA的基礎上給這兩參數(shù)(尸(*&)、尸(叼除))加了兩
個先驗分布的參數(shù)(貝葉斯化):一個主題分布的先驗分布Dirichlet分布C,和
一個詞語分布的先驗分布Dirichlet分布
綜上,LDA真的只是pLSA的貝葉斯版本,文檔生成后,兩者都要根據(jù)文檔
去推斷其主題分布和詞語分布,只是用的參數(shù)推斷方法不同,在pLSA中用極大
似然估計的思想去推斷兩未知的固定參數(shù),而LDA則把這兩參數(shù)弄成隨機變量,
且加入dirichlet先驗。
請簡要說說EM算法
有時候因為樣本的產(chǎn)生和隱含變量有關(隱含變量是不能觀察的),而求模
型的參數(shù)時一般采用最大似然估計,由于含有了隱含變量,所以對似然函數(shù)參數(shù)
求導是求不出來的,這時可以采用EM算法來求模型的參數(shù)的(對應模型參數(shù)個
數(shù)可能有多個),EM算法一般分為2步:
E步:選取一組參數(shù),求出在該參數(shù)下隱含變量的條件概率值;
M步:結合E步求出的隱含變量條件概率,求出似然函數(shù)下界函數(shù)(本質
上是某個期望函數(shù))的最大值。
重復上面2步直至收斂。
公式如下所示:
(E-step)Foreachz,set
Qi(z⑴):=p(z(,忖)洌.
(M-step)Set
3'=踴m產(chǎn)££QKz⑴)—".篇”.
M步公式中下界函數(shù)的推導過程:
£iogp(i⑴;。)=£bg£p(/),zG);e)(1)
iiz⑴
=-bg.QG⑴)嗎需⑵
EM算法一個常見的例子就是GMM模型,每個樣本都有可能由k個高斯產(chǎn)
生,只不過由每個高斯產(chǎn)生的概率不同而已,因此每個樣本都有對應的高斯分布
(k個中的某一個),此時的隱含變量就是每個樣本對應的某個高斯分布。
GMM的E步公式如下(計算每個樣本對應每個高斯的概率):
(E-step)Foreachi,j,set
wj":=p(z(t)=S)
更具體的計算公式為:
p(z⑴:?、?0,〃百)=乎昨(,)=力出、(/)=.)
⑴⑶2)=/;出£)p(z(D=/;0)
M步公式如下(計算每個高斯的比重,均值,方差這3個參數(shù)):
(M-step)Updatetheparameters:
1.
6=—Y'wj0,
m-i=lJ
_—叫⑴
y__£?wj0(工⑴一⑹(工⑶一一產(chǎn)
j=E隨*
KNN中的K如何選取的?
KNN中的K值選取對K近鄰算法的結果會產(chǎn)生重大影響。如李航博士的一
書I■統(tǒng)計學習方法」上所說:
如果選擇較小的K值,就相當于用較小的領域中的訓練實例進行預測,“學
習”近似誤差會減小,只有與輸入實例較近或相似的訓練實例才會對預測結果起
作用,與此同時帶來的問題是“學習”的估計誤差會增大,換句話說,K值的減小
就意味著整體模型變得復雜,容易發(fā)生過擬合;
如果選擇較大的K值,就相當于用較大領域中的訓練實例進行預測,其優(yōu)
點是可以減少學習的估計誤差,但缺點是學習的近似誤差會增大。這時候,與輸
入實例較遠(不相似的)訓練實例也會對預測器作用,使預測發(fā)生錯誤,且K值
的增大就意味著整體的模型變得簡單。
K=N,則完全不足取,因為此時無論輸入實例是什么,都只是簡單的預測它
屬于在訓練實例中最多的累,模型過于簡單,忽略了訓練實例中大量有用信息。
在實際應用中,K值一般取一個比較小的數(shù)值,例如采用交叉驗證法(簡單
來說,就是一部分樣本做訓練集,一部分做測試集)來選擇最優(yōu)的K值。
防止過擬合的方法
過擬合的原因是算法的學習能力過強;一些假設條件(如樣本獨立同分布)
可能是不成立的;訓練樣本過少不能對整個空間進行分布估計。
處理方法:
早停止:如在訓練中多次迭代后發(fā)現(xiàn)模型性能沒有顯著提高就停止訓練
數(shù)據(jù)集擴增:原有數(shù)據(jù)增加、原有數(shù)據(jù)加隨機噪聲、重采樣
正則化
交叉驗證
特征選擇/特征降維
機器學習中,為何要經(jīng)常對數(shù)據(jù)做歸一化
機器學習模型被互聯(lián)網(wǎng)行業(yè)廣泛應用,如排序、推薦、反作弊、定位等。一
般做機器學習應用的時候大部分時間是花費在特征處理上,其中很關鍵的一步就
是對特征數(shù)據(jù)進行歸一化,為什么要歸一化呢?很多同學并未搞清楚,維基百科
給出的解釋:1)歸一化后加快了梯度下降求最優(yōu)解的速度;2)歸一化有可能提
高精度。下面再簡單擴展解釋下這兩點。
1歸一化為什么能提高梯度下降法求解最優(yōu)解的速度?
如下圖所示,藍色的圈圈圖代表的是兩個特征的等高線。其中左圖兩個特征
XI和X2的區(qū)間相差非常大,XI區(qū)間是[0,2000],X2區(qū)間是[1,5],其所形成的
等高線非常尖。當使用梯度下降法尋求最優(yōu)解時,很有可能走“之字型”路線(垂
直等高線走),從而導致需要迭代很多次才能收斂;
而右圖對兩個原始特征進行了歸一化,其對應的等高線顯得很圓,在梯度下
降進行求解時能較快的收斂。
因此如果機器學習模型使用梯度下降法求最優(yōu)解時,歸一化往往非常有必要,
否則很難收斂甚至不能收斂。
2歸一化有可能提高精度
一些分類器需要計算樣本之間的距離(如歐氏距離),例如KNN。如果一
個特征值域范圍非常大,那么距離計算就主要取決于這個特征,從而與實際情況
相悖(比如這時實際情況是值域范圍小的特征更重要)。
3歸一化的類型
1)線性歸一化
這種歸一化方法比較適用在數(shù)值比較集中的情況。這種方法有個缺陷,如果
max和min不穩(wěn)定,很容易使得歸一化結果不穩(wěn)定,使得后續(xù)使用效果也不穩(wěn)
定。實際使用中可以用經(jīng)驗常量值來替代max和min。
2)標準差標準化
經(jīng)過處理的數(shù)據(jù)符合標準正態(tài)分布,即均值為0,標準差為1,其轉化函數(shù)
為:
其中N為所有樣本數(shù)據(jù)的均值,。為所有樣本數(shù)據(jù)的標準差。
3)非線性歸一化
經(jīng)常用在數(shù)據(jù)分化比較大的場景,有些數(shù)值很大,有些很小。通過一些數(shù)學
函數(shù),將原始值進行映射。該方法包括log、指數(shù),正切等。需要根據(jù)數(shù)據(jù)分布
的情況,決定非線性函數(shù)的曲線,比如log(V,2)還是log(V,10)等。
談談深度學習中的歸一化問題
[主要內(nèi)容及結構
主耍內(nèi)容:
?本次公開課通過兩篇文章與大家一起探討深度學
習模型中的歸一化問題。
結構:
1.深度模型的激活函數(shù)
2.激活函數(shù)導致的梯度消失
3.批量歸一化
4.自歸一化神經(jīng)網(wǎng)絡
匕力作筑蹌文公開■3/22JuhZacB
哪些機器學習算法不需要做歸一化處理?
概率模型不需要歸一化,因為它們不關心變量的值,而是關心變量的分布和
變量之間的條件概率,如決策樹、rf。而像adaboost、svm、lr、KNN、KMeans之
類的最優(yōu)化問題就需要歸一化。
我理解歸一化和標準化主要是為了使計算更方便比如兩個變量的量綱不同
可能一個的數(shù)值遠大于另一個那么他們同時作為變量的時候可能會造成數(shù)值計
算的問題,比如說求矩陣的逆可能很不精確或者梯度下降法的收斂比較困難,還
有如果需要計算歐式距離的話可能量綱也需要調(diào)整所以我估計lr和knn保準話
一下應該有好處。至于其他的算法我也覺得如果變量量綱差距很大的話先標準化
一下會有好處。
一般我習慣說樹形模型,這里說的概率模型可能是差不多的意思。
對于樹形結構為什么不需要歸一化?
答:數(shù)值縮放,不影響分裂點位置。因為第一步都是按照特征值進行排序的,
排序的順序不變,那么所屬的分支以及分裂點就不會有不同。對于線性模型,比
如說LR,我有兩個特征,一個是(0,1)的,一個是(0,10000)的,這樣運用梯度下降
時候,損失等高線是一個橢圓的形狀,這樣我想迭代到最優(yōu)點,就需要很多次迭
代,但是如果進行了歸一化,那么等高線就是圓形的,那么SGD就會往原點迭
代,需要的迭代次數(shù)較少。
另外,注意樹模型是不能進行梯度下降的,因為樹模型是階躍的,階躍點是
不可導的,并且求導沒意義,所以樹模型(回歸樹)尋找最優(yōu)點事通過尋找最優(yōu)
分裂點完成的。
數(shù)據(jù)歸一化(或者標準化,注意歸一化和標準化不同)的原因
能不歸一化最好不歸一化,之所以進行數(shù)據(jù)歸一化是因為各維度的量綱不相
同。而且需要看情況進行歸一化。
有些模型在各維度進行了不均勻的伸縮后,最優(yōu)解與原來不等價(如SVM)
需要歸一化。
有些模型伸縮有與原來等價,如:LR則不用歸一化,但是實際中往往通過
迭代求解模型參數(shù),如果目標函數(shù)太扁(想象一下很扁的高斯模型)迭代算法會
發(fā)生不收斂的情況,所以最壞進行數(shù)據(jù)歸一化。
補充:其實本質是由于loss函數(shù)不同造成的,SVM用了歐拉距離,如果一
個特征很大就會把其他的維度dominated。而LR可以通過權重調(diào)整使得損失函
數(shù)不變。
請簡要說說一個完整機器學習項目的流程
1抽象成數(shù)學問題
明確問題是進行機器學習的第一步。機器學習的力U練過程通常都是一件非常
耗時的事情,胡亂嘗試時間成本是非常高的。
這里的抽象成數(shù)學問題,指的我們明確我們可以獲得什么樣的數(shù)據(jù),目標是
一個分類還是回歸或者是聚類的問題,如果都不是的話,如果劃歸為其中的某類
問題。
2獲取數(shù)據(jù)
數(shù)據(jù)決定了機器學習結果的上限,而算法只是盡可能逼近這個上限。
數(shù)據(jù)要有代表性,否則必然會過擬合。
而且對于分類問題,數(shù)據(jù)偏斜不能過于嚴重,不同類別的數(shù)據(jù)數(shù)量不要有數(shù)
個數(shù)量級的差距。
而且還要對數(shù)據(jù)的量級有一個評估,多少個樣本,多少個特征,可以估算出
其對內(nèi)存的消耗程度,判斷訓練過程中內(nèi)存是否能夠放得下。如果放不下就得考
慮改進算法或者使用一些降維的技巧了。如果數(shù)據(jù)量實在太大,那就要考慮分布
式了。
3特征預處理與特征選擇
良好的數(shù)據(jù)要能夠提取出良好的特征才能真正發(fā)揮效力。
特征預處理、數(shù)據(jù)清洗是很關鍵的步驟,往往能夠使得算法的效果和性能得
到顯著提高。歸一化、離散化、因子化、缺失值處理、去除共線性等,數(shù)據(jù)挖掘
過程中很多時間就花在它們上面。這些工作簡單可復制,收益穩(wěn)定可預期,是機
器學習的基礎必備步驟。
篩選出顯著特征、摒棄非顯著特征,需要機器學習工程師反復理解業(yè)務。這
對很多結果有決定性的影響。特征選擇好了,非常簡單的算法也能得出良好、穩(wěn)
定的結果。這需要運用特征有效性分析的相關技術,如相關系數(shù)、卡方檢驗、平
均互信息、條件燧、后驗概率、邏輯回歸權重等方法。
4訓練模型與調(diào)優(yōu)
直到這一步才用到我們上面說的算法進行訓練?,F(xiàn)在很多算法都能夠封裝成
黑盒供人使用。但是真正考驗水平的是調(diào)整這些算法的(超)參數(shù),使得結果變
得更加優(yōu)良。這需要我們對算法的原理有深入的理解。理解越深入,就越能發(fā)現(xiàn)
問題的癥結,提出良好的調(diào)優(yōu)方案。
5模型診斷
如何確定模型調(diào)優(yōu)的方向與思路呢?這就需要對模型進行診斷的技術。
過擬合、欠擬合判斷是模型診斷中至關重要的一步。常見的方法如交叉驗證,
繪制學習曲線等。過擬合的基本調(diào)優(yōu)思路是增加數(shù)據(jù)量,降低模型復雜度。欠擬
合的基本調(diào)優(yōu)思路是提高特征數(shù)量和質量,增加模型復雜度。
誤差分析也是機器學習至關重要的步驟。通過觀察誤差樣本,全面分析誤差
產(chǎn)生誤差的原因:是參數(shù)的問題還是算法選擇的問題,是特征的問題還是數(shù)據(jù)本
身的問題……
診斷后的模型需要進行調(diào)優(yōu),調(diào)優(yōu)后的新模型需要重新進行診斷,這是一個
反復迭代不斷逼近的過程,需要不斷地嘗試,進而達到最優(yōu)狀態(tài)。
6模型融合
一般來說,模型融合后都能使得效果有一定提升。而且效果很好。
工程上,主要提升算法準確度的方法是分別在模型的前端(特征清洗和預處
理,不同的采樣模式)與后端(模型融合)上下功夫。因為他們比較標準可復制,
效果比較穩(wěn)定。而直接調(diào)參的工作不會很多,畢竟大量數(shù)據(jù)訓練起來太慢了,而
且效果難以保證。
7上線運行
這一部分內(nèi)容主要跟工程實現(xiàn)的相關性比較大。工程上是結果導向,模型在
線上運行的效果直接決定模型的成敗。不單純包括其準確程度、誤差等情況,還
包括其運行的速度(時間復雜度)、資源消耗程度(空間復雜度)、穩(wěn)定性是否可
接受。
這些工作流程主要是工程實踐上總結出的一些經(jīng)驗。并不是每個項目都包含
完整的一個流程。這里的部分只是一個指導性的說明,只有大家自己多實踐,多
積累項目經(jīng)驗,才會有自己更深刻的認識。
邏輯斯特回歸為什么要對特征進行離散化
在工業(yè)界,很少直接將連續(xù)值作為邏輯回歸模型的特征輸入,而是將連續(xù)特
征離散化為一系列0、1特征交給邏輯回歸模型,這樣做的優(yōu)勢有以下幾點:
離散特征的增加和減少都很容易,易于模型的快速迭代;
稀疏向量內(nèi)積乘法運算速度快,計算結果方便存儲,容易擴展;
離散化后的特征對異常數(shù)據(jù)有很強的魯棒性:比如一個特征是年齡〉30是1,
否則0。如果特征沒有離散化,一個異常數(shù)據(jù)“年齡300歲”會給模型造成很大的
干擾;
邏輯回歸屬于廣義線性模型,表達能力受限;單變量離散化為N個后,每個
變量有單獨的權重,相當于為模型引入了非線性,能夠提升模型表達能力,加大
擬合;
離散化后可以進行特征交叉,由M+N個變量變?yōu)镸*N個變量,進一步引
入非線性,提升表達能力;
特征離散化后,模型會更穩(wěn)定,比如如果對用戶年齡離散化,20-30作為一
個區(qū)間,不會因為一個用戶年齡長了一歲就變成一個完全不同的人。當然處于區(qū)
間相鄰處的樣本會剛好相反,所以怎么劃分區(qū)間是門學問;
特征離散化以后,起到了簡化了邏輯回歸模型的作用,降低了模型過擬合的
風險。
李沐曾經(jīng)說過:模型是使用離散特征還是連續(xù)特征,其實是一個“海量離散
特征+簡單模型”同“少量連續(xù)特征+復雜模型”的權衡。既可以離散化用線性模型,
也可以用連續(xù)特征加深度學習。就看是喜歡折騰特征還是折騰模型了。通常來說,
前者容易,而且可以n個人一起并行做,有成功經(jīng)驗;后者目前看很贊,能走多
遠還須拭目以待。
new和malloc的區(qū)別
1.malloc與free是C++/C語言的標準庫函數(shù),new/delete是C++的運算符。
它們都可用于申請動態(tài)內(nèi)存和釋放內(nèi)存。
2.對于非內(nèi)部數(shù)據(jù)類型的對象而言,光用maloc/free無法滿足動態(tài)對象的要
求。對象在創(chuàng)建的同時要自動執(zhí)行構造函數(shù),對象在消亡之前要自動執(zhí)行析構函
數(shù)。由于malloc/free是庫函數(shù)而不是運算符,不在編譯器控制權限之內(nèi),不能夠
把執(zhí)行構造函數(shù)和析構函數(shù)的任務強加于malloc/freeo
3.因此C++語言需要一個能完成動態(tài)內(nèi)存分配和初始化工作的運算符new,
以一個能完成清理與釋放內(nèi)存工作的運算符delete。注意new/delete不是庫函數(shù)。
4.C++程序經(jīng)常要調(diào)用C函數(shù),而C程序只能用malloc/free管理動態(tài)內(nèi)存
hash沖突及解決辦法
關鍵字值不同的元素可能會映象到哈希表的同一地址上就會發(fā)生哈希沖突。
解決辦法:
1)開放定址法:當沖突發(fā)生時,使用某種探查(亦稱探測)技術在散列表中形
成一個探查(測)序列。沿此序列逐個單元地查找,直到找到給定的關鍵字,或者
碰到一個開放的地址(即該地址單元為空)為止(若要插入,在探查到開放的地址,
則可將待插入的新結點存入該地址單元)。查找時探查到開放的地址則表明表中
無待查的關鍵字,即查找失敗。
2)再哈希法:同時構造多個不同的哈希函數(shù)。
3)鏈地址法:將所有哈希地址為i的元素構成一個稱為同義詞鏈的單鏈表,
并將單鏈表的頭指針存在哈希表的第i個單元中,因而杳找、插入和刪除主要在
同義詞鏈中進行。鏈地址法適用于經(jīng)常進行插入和刪除的情況。
4)建立公共溢出區(qū):將哈希表分為基本表和溢出表兩部分,凡是和基本表
發(fā)生沖突的元素,一律填入溢出表。
下列哪個不屬于CRF模型對于HMM和MEMM模型的優(yōu)勢(B)
A.特征靈活B.速度快C.可容納較多上下文信息D.全局最優(yōu)
首先,CRF,HMM(隱馬模型),MEMM(最大牖隱馬模型)都常用來做序列標
注的建模.
隱馬模型一個最大的缺點就是由于其輸出獨立性假設,導致其不能考慮上下
文的特征,限制了特征的選擇
最大嫡隱馬模型則解決了隱馬的問題,可以任意選擇特征,但由于其在每一
節(jié)點都要進行歸一化,所以只能找到局部的最優(yōu)值,同時也帶來了標記偏見的問
題,即凡是訓練語料中未出現(xiàn)的情況全都忽略掉
條件隨機場則很好的解決了這一問題,他并不在每一個節(jié)點進行歸一化,而
是所有特征進行全局歸一化,因此可以求得全局的最優(yōu)值。
什么是墉
從名字上來看,精給人一種很玄乎,不知道是啥的感覺。其實,嫡的定義很
簡單,即用來表示隨機變量的不確定性。之所以給人玄乎的感覺,大概是因為為
何要取這樣的名字,以及怎么用。
精的概念最早起源于物理學,用于度量一個熱力學系統(tǒng)的無序程度。在信息
論里面,睛是對不確定性的測量。
精的引入
事實上,嫡的英文原文為entropy,最初由德國物理學家魯?shù)婪?克勞修斯提
出,其表達式為:
△s=¥
它表示一個系系統(tǒng)在不受外部干擾時,其內(nèi)部最穩(wěn)定的狀態(tài)。后來一中國學
者翻譯entropy時,考慮到entropy是能量Q跟溫度T的商,且跟火有關,便把
entropy形象的翻譯成“烯二
我們知道,任何粒子的常態(tài)都是隨機運動,也就是“無序運動",如果讓粒子
呈現(xiàn)“有序化",必須耗費能量。所以,溫度(熱能)可以被看作“有序化”的一種
度量,而"燧"可以看作是“無序化”的度量。
如果沒有外部能量輸入,封閉系統(tǒng)趨向越來越混亂(嫡越來越大)。比如,
如果房間無人打掃,不可能越來越干凈(有序化),只可能越來越亂(無序化)。
而要讓一個系統(tǒng)變得更有序,必須有外部能量的輸入。
1948年,香農(nóng)ClaudeE.Shannon引入信息(精),將其定義為離散隨機事件
的出現(xiàn)概率。一個系統(tǒng)越是有序,信息嫡就越低;反之,一個系統(tǒng)越是混亂,信
息燧就越高。所以說,信息牖可以被認為是系統(tǒng)有序化程度的一個度量。
墉、聯(lián)合燧、條件煽、相對燧、互信息的定義
為了更好的理解,需要了解的概率必備知識有:
大寫字母X表示隨機變量小寫字母x表示隨機變量X的某個具體的取值;
P(X)表示隨機變量X的概率分布,P(X,Y)表示隨機變量X、Y的聯(lián)合概率分
布,P(Y|X)表示已知隨機變量X的情況下隨機變量Y的條件概率分布;
p(X=x)表示隨機變量X取某個具體值的概率,簡記為p(x);
p(X=x,Y=y)表示聯(lián)合概率,簡記為p(x,y),p(Y=y|X=x)表示條件概率,簡記
為p(y|x),且有:p(x,y)=p(x)*p(y|x).
燧:如果一個隨機變量X的可能取值為X={xl,x2,...,xk},其概率分布為
P(X=xi)=pi(i=l,2,...,n),則隨機變量X的嫡定義為:
H(X)=-匯p(x)log夕(x)
把最前面的負號放到最后,便成了:
上面兩個嫡的公式,無論用哪個都行,而且兩者等價,一個意思
聯(lián)合燃:兩個隨機變量X,Y的聯(lián)合分布,可以形成聯(lián)合嫡JointEntropy,
用H(X,Y)表示。
條件燧:在隨機變量X發(fā)生的前提下,隨機變量Y發(fā)生所新帶來的嫡定義
為Y的條件嫡,用H(Y|X)表示,用來衡量在已知隨機變量X的條件下隨機變量
Y的不確定性。
且有此式子成立:H(Y|X)=H(X,Y)-H(X),整個式子表示(X,Y)發(fā)生所包含的
嫡減去X單獨發(fā)生包含的嫡。至于怎么得來的請看推導:
=-Z0(xj)logP(xJ)+Zp(x)logp(x)
X
/
=—ZMx/)l°gP(KJ')+2ZP(XJ)logp(k)
X7
=-Zp(x,y)logP(X,y)+2PEy)logp(x)
x,y
=-LX^v)logp(v|x)
X
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年執(zhí)業(yè)護士考試資料共享試題及答案
- 自考行政管理專科應試技巧與試題及答案
- 自考行政管理區(qū)域發(fā)展試題及答案
- 行政管理的基層治理與試題及答案
- 行政管理與法律法規(guī)要求的實證研究試題及答案
- 2025年經(jīng)濟法經(jīng)典試題及答案總結
- 2025年衛(wèi)生資格考試自學方法試題及答案
- 2025年護士執(zhí)業(yè)團隊合作考核題及答案
- 2025年串聯(lián)無功補償裝置項目規(guī)劃申請報告模范
- 系統(tǒng)復習方法2025年執(zhí)業(yè)護士考試試題及答案
- 2024年自治區(qū)文化和旅游廳所屬事業(yè)單位招聘工作人員考試真題
- (二模)臨沂市2025年高三高考模擬考試歷史試題卷(含答案)
- 雇保姆看孩子合同協(xié)議
- 2025年小學語文教師實習工作總結模版
- 景區(qū)安全生產(chǎn)管理規(guī)章制度大全
- 消防司機交通安全課件
- 災害風險評估模型-第5篇-全面剖析
- 廣東2025年03月資本市場學院(廣東)招考工作人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025云南省安全員《A證》考試題庫及答案
- 腦出血手術護理查房
- 面食節(jié)活動方案
評論
0/150
提交評論