【機器學(xué)習(xí)】機器學(xué)習(xí)基礎(chǔ)知識常見問題詳解!
Q1
?板給了你?個關(guān)于癌癥檢測的數(shù)據(jù)集,你構(gòu)建了?分類器然后計算了準(zhǔn)確率為 98%, 你是否對這個模型滿意?為什么?如果還不算理想,接下來該怎么做?
首先模型主要是找出患有癌癥的患者,模型關(guān)注的實際是壞樣本。其次一般來說癌癥的數(shù)據(jù)集中壞樣本比較少,正負(fù)樣本不平衡。
準(zhǔn)確率指的是分類正確的樣本占總樣本個數(shù)的比率
其中為正確分類樣本的個數(shù),為總樣本分類的個數(shù)。
當(dāng)好樣本(未患病)的樣本數(shù)占99%時,模型把所有的樣本全部預(yù)測為好樣本也可以獲得99%的準(zhǔn)確率,所以當(dāng)正負(fù)樣本非常不平衡時,準(zhǔn)確率往往會偏向占比大的類別,因此這個模型使用準(zhǔn)確率作為模型的評估方式并不合適。
鑒于模型關(guān)注的實際是壞樣本,建議使用召回率(Recall)作為模型的評估函數(shù)。
Recall 是分類器所預(yù)測正確的正樣本占所有正樣本的比例,取值范圍為[0,1],取值越大,模型預(yù)測能力越好。
其次,使用類別不平衡的解決方案:
常見的處理數(shù)據(jù)不平衡的方法有:重采樣、Tomek links、SMOTE、NearMiss等
除此之外:還可以使用模型處理:使用多種樹模型算法,使用多種重采樣的訓(xùn)練集,對少數(shù)樣本預(yù)測錯誤增大懲罰,避免使用Accuracy,可以用confusion matrix,precision,recall,f1-score,AUC,ROC等指標(biāo)。
Q2
怎么判斷?個訓(xùn)練好的模型是否過擬合?如果判斷成了過擬合,那通過什么辦法 可以解決過擬合問題?
模型在驗證集合上和訓(xùn)練集合上表現(xiàn)都很好,而在測試集合上變現(xiàn)很差。
解決過擬合的辦法:
特征降維
添加正則化,降低模型的復(fù)雜度
Dropout
Early stopping
交叉驗證
決策樹剪枝
選擇合適的網(wǎng)絡(luò)結(jié)構(gòu)
Q3
什么是閉式解(Closed-Form Solution)?
解析解(Analytical solution) 就是根據(jù)嚴(yán)格的公式推導(dǎo),給出任意的自變量就可以求出其因變量,也就是問題的解,然后可以利用這些公式計算相應(yīng)的問題。所謂的解析解是一種包含分式、三角函數(shù)、指數(shù)、對數(shù)甚至無限級數(shù)等基本函數(shù)的解的形式。用來求得解析解的方法稱為解析法(Analytical techniques),解析法即是常見的微積分技巧,例如分離變量法等。解析解是一個封閉形式(Closed-form) 的函數(shù),因此對任一自變量,我們皆可將其帶入解析函數(shù)求得正確的因變量。因此,解析解也被稱為封閉解(Closed-form solution)。
數(shù)值解(Numerical solution) 是采用某種計算方法,如有限元法, 數(shù)值逼近法,插值法等得到的解。別人只能利用數(shù)值計算的結(jié)果,而不能隨意給出自變量并求出計算值。當(dāng)無法藉由微積分技巧求得解析解時,這時便只能利用數(shù)值分析的方式來求得其數(shù)值解了。在數(shù)值分析的過程中,首先會將原方程加以簡化,以利于后來的數(shù)值分析。例如,會先將微分符號改為差分(微分的離散形式)符號等,然后再用傳統(tǒng)的代數(shù)方法將原方程改寫成另一種方便求解的形式。這時的求解步驟就是將一自變量帶入,求得因變量的近似解,因此利用此方法所求得的因變量為一個個離散的數(shù)值,不像解析解為一連續(xù)的分布,而且因為經(jīng)過上述簡化的操作,其正確性也不如解析法可靠。
簡而言之,解析解就是給出解的具體函數(shù)形式,從解的表達(dá)式中就可以算出任何對應(yīng)值;數(shù)值解就是用數(shù)值方法求出近似解,給出一系列對應(yīng)的自變量和解。
參考:https://blog.csdn.net/weicao1990/article/details/90742414
什么時候不能求出其逆矩陣?
滿秩矩陣或者方陣才有逆矩陣,當(dāng)一個矩陣不滿秩,在對角線上存在為0的特征值,求逆的時候無法計算從而不可逆,那我們給它加上一個單位矩陣,這樣它就不為0了,
求解的時候加上單位矩陣其實就是對線性回歸引入正則化的過程
參考:https://zhuanlan.zhihu.com/p/44612139
Q4
關(guān)于正則,我們?般采? L2 或者 L1, 這兩個正則之間有什么區(qū)別?什么時候需要? L2, 什么時候需要? L1?
L1正則化(也叫Lasso回歸)是在目標(biāo)函數(shù)中加上與系數(shù)的絕對值相關(guān)的項,而L2正則化(也叫嶺回歸)則是在目標(biāo)函數(shù)中加上與系數(shù)的平方相關(guān)的項。
Lasso 和嶺回歸系數(shù)估計是由橢圓和約束函數(shù)域的第一個交點給出的。因為嶺回歸的約束函數(shù)域沒有尖角,所以這個交點一般不會產(chǎn)生在一個坐標(biāo)軸上,也就是說嶺回歸的系數(shù)估計全都是非零的。然而,Lasso 約束函數(shù)域在每個軸上都有尖角,因此橢圓經(jīng)常和約束函數(shù)域相交。發(fā)生這種情況時,其中一個系數(shù)就會等于 0。
L2正則化會使參數(shù)的絕對值變小,增強模型的穩(wěn)定性(不會因為數(shù)據(jù)變化而產(chǎn)生很大的震蕩);而L1正則化會使一些參數(shù)為零,可以實現(xiàn)特征稀疏, 增強模型解釋性。
參考:https://blog.csdn.net/zouxy09/article/details/24971995/
Q5
相關(guān)概念:凸集,凸函數(shù)


因此證明正則項是否是凸函數(shù),需要證明:
1. ?在 上二階連續(xù)可微
2.的Hessian(海塞)矩陣在 上是半正定
3.半正定矩陣的判定定理之一:若實對稱矩陣的所有順序主子式均為非負(fù),則該矩陣為半 正定矩陣。
參考:https://www.bilibili.com/video/BV1Mh411e7VU?p=2
Q6
什么叫 ElasticNet? 它主要?來解決什么問題?具體如何去優(yōu)化?
彈性回歸是嶺回歸和lasso回歸的混合技術(shù),它同時使用 L2 和 L1 正則化。當(dāng)有多個相關(guān)的特征時,彈性網(wǎng)絡(luò)是有用的。lasso回歸很可能隨機選擇其中一個,而彈性回歸很可能都會選擇。
在高度相關(guān)變量的情況下,它支持群體效應(yīng)。 它對所選變量的數(shù)目沒有限制 它具有兩個收縮因子 λ1 和 λ2。
Q7
什么叫?成模型,什么叫判別模型?樸素?貝葉斯,邏輯回歸,HMM,語?模型 中哪?個是?成模型,哪?個是判別模型?
生成模型(Generaive Model)一般以概率的方式描述了數(shù)據(jù)的產(chǎn)生方式,通過對模型采樣就可以產(chǎn)生數(shù)據(jù)。
判別模型(Discriminative Model)對數(shù)據(jù)之間的映射關(guān)系建模,而不考慮數(shù)據(jù)本身是如何生成的。判別模型可以根據(jù)給定的數(shù)據(jù)x預(yù)測對應(yīng)的y(回歸),或根據(jù)不同的映射結(jié)果y來區(qū)分(discriminate)給定的數(shù)據(jù)x (分類)。但模型自身并不能產(chǎn)生數(shù)據(jù)x 。
生成模型對數(shù)據(jù)本身建模,更基礎(chǔ)。判別模型只考慮輸入和輸出之間的關(guān)系,更直接地面向問題。如果希望用生成模型完成判定模型的任務(wù),一般需要額外的步驟。
優(yōu)點 | 缺點 | 代表算法 | |
生 成 式 模 型 | 1. ?由于統(tǒng)計了數(shù)據(jù)的分布情況,所以其實際帶的信息要比判別模型豐富,對于研究單類問題來說也比判別模型靈活性強; | 1. 學(xué)習(xí)和計算過程比較復(fù)雜,由于學(xué)習(xí)了更多的樣本信息,所以計算量大,如果我們只是做分類,就浪費了這部分的計算量; | 樸素貝葉斯、貝葉斯網(wǎng)絡(luò)、隱馬爾可夫模型、隱馬爾可夫模型 |
判 別 式 模 型 | 1. 由于關(guān)注的是數(shù)據(jù)的邊界,所以能清晰的分辨出多類或某一類與其他類之間的差異,所以準(zhǔn)確率相對較高; | 1. 不能反映訓(xùn)練數(shù)據(jù)本身的特性; | k 近鄰法、決策樹、邏輯斯諦回歸模型、最大熵模型、支持向量機、條件隨機場 |
本文來自Datawhale面經(jīng)項目,致力做一份小而美、及時更新的大廠面經(jīng)。開源地址:
https://github.com/datawhalechina/Daily-interview
長按關(guān)注Datawhale,更多開源內(nèi)容一起學(xué)習(xí)成長↓
往期精彩回顧 本站qq群851320808,加入微信群請掃碼:
