普通演算法面試已經Out啦!機器學習演算法面試出爐 - kdnuggets

banq發表於2020-10-29

如果普通演算法是普通程式設計師必備知識,那麼更實用的機器學習演算法是不是呢?還是屬於資料科學家的必備知識呢?
在準備資料科學中的面試時,必須清楚地瞭解各種機器學習模型-為每個現成的模型進行簡要說明。在這裡,我們透過強調要點來總結各種機器學習模型,以幫助您傳達複雜的模型。
 

線性迴歸 
線性迴歸涉及使用最小二乘法找到代表資料集的“最佳擬合線”。最小二乘方法涉及找到一個線性方程,該方程使殘差平方和最小。殘差等於實際負預測值。
舉個例子,紅線比綠線更好地是最佳擬合線,因為它離點更近,因此殘差較小。

普通演算法面試已經Out啦!機器學習演算法面試出爐 - kdnuggets
圖片由作者建立。
 

Ridge迴歸
Ridge迴歸(也稱為L2正則化)是一種迴歸技術,可引入少量偏差以減少過度擬合。它透過最小化殘差平方 和加 罰分來實現此目的,其中罰分等於λ乘以斜率平方。Lambda是指處罰的嚴重性。

普通演算法面試已經Out啦!機器學習演算法面試出爐 - kdnuggets
圖片由作者建立。
如果沒有懲罰,則最佳擬合線的斜率會變陡,這意味著它對X的細微變化更敏感。透過引入懲罰,最佳擬合線對X的細微變化變得較不敏感。背後的嶺迴歸。
  

Lasso迴歸
Lasso迴歸,也稱為L1正則化,與Ridge迴歸相似。唯一的區別是,罰分是使用斜率的絕對值計算的。

普通演算法面試已經Out啦!機器學習演算法面試出爐 - kdnuggets
  

邏輯迴歸
Logistic迴歸是一種分類技術,也可以找到“最合適的直線”。但是,與線性迴歸不同,線上性迴歸中,使用最小二乘方找到最佳擬合線,而邏輯迴歸則使用最大似然來找到最佳擬合線(邏輯曲線)。這樣做是因為y值只能是1或0。 觀看StatQuest的影片,瞭解如何計算最大可能性

普通演算法面試已經Out啦!機器學習演算法面試出爐 - kdnuggets
圖片由作者建立。
 

K最近鄰居
K最近鄰居是一種分類技術,透過檢視最近的分類點對新樣本進行分類,因此稱為“ K最近”。在下面的示例中,如果k = 1,則未分類的點將被分類為藍點。

普通演算法面試已經Out啦!機器學習演算法面試出爐 - kdnuggets
圖片由作者建立。
如果k的值太低,則可能會出現異常值。但是,如果它太高,則可能只用幾個樣本就忽略了類。
 

樸素貝葉斯
樸素貝葉斯分類器是一種受貝葉斯定理啟發的分類技術,其陳述以下等式:

普通演算法面試已經Out啦!機器學習演算法面試出爐 - kdnuggets
由於天真的假設(因此得名),變數在給定類的情況下是獨立的,因此可以如下重寫P(X | y):

普通演算法面試已經Out啦!機器學習演算法面試出爐 - kdnuggets
同樣,由於我們要求解y,所以P(X)是一個常數,這意味著我們可以從方程中將其刪除並引入比例性。
因此,將每個y值的機率計算為給定y的條件機率x n的乘積。
 

支援向量機
支援向量機是一種分類技術,可找到稱為超平面的最佳邊界,該邊界用於分隔不同的類別。透過最大化類之間的餘量來找到超平面。

普通演算法面試已經Out啦!機器學習演算法面試出爐 - kdnuggets
圖片由作者建立。
 

決策樹
決策樹實質上是一系列條件語句,這些條件語句確定樣本到達底部之前所採取的路徑。它們直觀且易於構建,但往往不準確。

普通演算法面試已經Out啦!機器學習演算法面試出爐 - kdnuggets
 

隨機森林
隨機森林是一種整合技術,這意味著它將多個模型組合為一個模型以提高其預測能力。具體來說,它使用自舉資料集和變數的隨機子集(也稱為裝袋)構建了數千個較小的決策樹。在擁有數千個較小的決策樹的情況下,隨機森林使用“多數獲勝”模型來確定目標變數的值。

普通演算法面試已經Out啦!機器學習演算法面試出爐 - kdnuggets
例如,如果我們建立一個決策樹,第三個決策樹,它將預測0。但是,如果我們依靠所有4個決策樹的模式,則預測值將為1。這就是隨機森林的力量。
 

AdaBoost
AdaBoost是一種增強演算法,類似於“隨機森林”,但有兩個重要區別:

  1. AdaBoost通常不是由樹木組成,而是由樹樁組成的森林(樹樁是隻有一個節點和兩片葉子的樹)。
  2. 每個樹樁的決定在最終決定中的權重不同。總誤差較小(準確度較高)的樹樁具有較高的發言權。
  3. 建立樹樁的順序很重要,因為每個後續樹樁都強調了在前一個樹樁中未正確分類的樣本的重要性。

 

梯度提升
Gradient Boost與AdaBoost類似,因為它可以構建多棵樹,其中每棵樹都是從前一棵樹構建的。與AdaBoost可以構建樹樁不同,Gradient Boost可以構建通常具有8至32片葉子的樹木。
更重要的是,Gradient Boost與AdaBoost的不同之處在於構建決策樹的方式。梯度增強從初始預測開始,通常是平均值。然後,基於樣本的殘差構建決策樹。透過採用初始預測+學習率乘以殘差樹的結果來進行新的預測,然後重複該過程。
 

XGBoost
XGBoost本質上與Gradient Boost相同,但是主要區別在於如何構建殘差樹。使用XGBoost,可以透過計算葉子與前面的節點之間的相似性得分來確定殘差樹,以確定哪些變數用作根和節點。

相關文章