普通演算法面試已經Out啦!機器學習演算法面試出爐 - kdnuggets
如果普通演算法是普通程式設計師必備知識,那麼更實用的機器學習演算法是不是呢?還是屬於資料科學家的必備知識呢?
在準備資料科學中的面試時,必須清楚地瞭解各種機器學習模型-為每個現成的模型進行簡要說明。在這裡,我們透過強調要點來總結各種機器學習模型,以幫助您傳達複雜的模型。
線性迴歸
線性迴歸涉及使用最小二乘法找到代表資料集的“最佳擬合線”。最小二乘方法涉及找到一個線性方程,該方程使殘差平方和最小。殘差等於實際負預測值。
舉個例子,紅線比綠線更好地是最佳擬合線,因為它離點更近,因此殘差較小。
圖片由作者建立。
Ridge迴歸
Ridge迴歸(也稱為L2正則化)是一種迴歸技術,可引入少量偏差以減少過度擬合。它透過最小化殘差平方 和加 罰分來實現此目的,其中罰分等於λ乘以斜率平方。Lambda是指處罰的嚴重性。
圖片由作者建立。
如果沒有懲罰,則最佳擬合線的斜率會變陡,這意味著它對X的細微變化更敏感。透過引入懲罰,最佳擬合線對X的細微變化變得較不敏感。背後的嶺迴歸。
Lasso迴歸
Lasso迴歸,也稱為L1正則化,與Ridge迴歸相似。唯一的區別是,罰分是使用斜率的絕對值計算的。
邏輯迴歸
Logistic迴歸是一種分類技術,也可以找到“最合適的直線”。但是,與線性迴歸不同,線上性迴歸中,使用最小二乘方找到最佳擬合線,而邏輯迴歸則使用最大似然來找到最佳擬合線(邏輯曲線)。這樣做是因為y值只能是1或0。 觀看StatQuest的影片,瞭解如何計算最大可能性。
圖片由作者建立。
K最近鄰居
K最近鄰居是一種分類技術,透過檢視最近的分類點對新樣本進行分類,因此稱為“ K最近”。在下面的示例中,如果k = 1,則未分類的點將被分類為藍點。
圖片由作者建立。
如果k的值太低,則可能會出現異常值。但是,如果它太高,則可能只用幾個樣本就忽略了類。
樸素貝葉斯
樸素貝葉斯分類器是一種受貝葉斯定理啟發的分類技術,其陳述以下等式:
由於天真的假設(因此得名),變數在給定類的情況下是獨立的,因此可以如下重寫P(X | y):
同樣,由於我們要求解y,所以P(X)是一個常數,這意味著我們可以從方程中將其刪除並引入比例性。
因此,將每個y值的機率計算為給定y的條件機率x n的乘積。
支援向量機
支援向量機是一種分類技術,可找到稱為超平面的最佳邊界,該邊界用於分隔不同的類別。透過最大化類之間的餘量來找到超平面。
圖片由作者建立。
決策樹
決策樹實質上是一系列條件語句,這些條件語句確定樣本到達底部之前所採取的路徑。它們直觀且易於構建,但往往不準確。
隨機森林
隨機森林是一種整合技術,這意味著它將多個模型組合為一個模型以提高其預測能力。具體來說,它使用自舉資料集和變數的隨機子集(也稱為裝袋)構建了數千個較小的決策樹。在擁有數千個較小的決策樹的情況下,隨機森林使用“多數獲勝”模型來確定目標變數的值。
例如,如果我們建立一個決策樹,第三個決策樹,它將預測0。但是,如果我們依靠所有4個決策樹的模式,則預測值將為1。這就是隨機森林的力量。
AdaBoost
AdaBoost是一種增強演算法,類似於“隨機森林”,但有兩個重要區別:
- AdaBoost通常不是由樹木組成,而是由樹樁組成的森林(樹樁是隻有一個節點和兩片葉子的樹)。
- 每個樹樁的決定在最終決定中的權重不同。總誤差較小(準確度較高)的樹樁具有較高的發言權。
- 建立樹樁的順序很重要,因為每個後續樹樁都強調了在前一個樹樁中未正確分類的樣本的重要性。
梯度提升
Gradient Boost與AdaBoost類似,因為它可以構建多棵樹,其中每棵樹都是從前一棵樹構建的。與AdaBoost可以構建樹樁不同,Gradient Boost可以構建通常具有8至32片葉子的樹木。
更重要的是,Gradient Boost與AdaBoost的不同之處在於構建決策樹的方式。梯度增強從初始預測開始,通常是平均值。然後,基於樣本的殘差構建決策樹。透過採用初始預測+學習率乘以殘差樹的結果來進行新的預測,然後重複該過程。
XGBoost
XGBoost本質上與Gradient Boost相同,但是主要區別在於如何構建殘差樹。使用XGBoost,可以透過計算葉子與前面的節點之間的相似性得分來確定殘差樹,以確定哪些變數用作根和節點。
相關文章
- 面經合集 | 面試不用愁,掘友能解憂,一批大廠面試經驗新鮮出爐啦~面試
- 經典演算法面試題(二)演算法面試題
- 機器學習常見的演算法面試題總結機器學習演算法面試題
- 機器學習常見演算法個人總結(面試用)機器學習演算法面試
- 演算法與面試之-如何準備演算法面試演算法面試
- 【演算法工程師】機器學習面試問題總結演算法工程師機器學習面試
- 演算法面試題演算法面試題
- google經典演算法面試題-雞蛋問題Go演算法面試題
- 前端面試必備-40道LeetCode經典面試演算法題前端面試LeetCode演算法
- php演算法面試題PHP演算法面試題
- 演算法面試題(二)演算法面試題
- 面試演算法題6面試演算法
- 面試演算法題4面試演算法
- 面試演算法題1面試演算法
- 演算法面試題:一演算法面試題
- 演算法面試:陣列編碼面試問題演算法面試陣列
- 面試必備:四種經典限流演算法講解面試演算法
- 趙劼:我看面試時出(純)演算法題面試演算法
- 面試不會演算法和資料結構,經典面試題講解來了!演算法資料結構面試題
- 9 大主題!機器學習演算法理論面試題大彙總機器學習演算法面試題
- 面試必備:List 演算法面試演算法
- 面試演算法題記錄面試演算法
- PHPer 面試指南-演算法篇PHP面試演算法
- PHPer面試指南-演算法篇PHP面試演算法
- 機器學習經典演算法之EM機器學習演算法
- 機器學習經典演算法之KNN機器學習演算法KNN
- 經典機器學習演算法總結機器學習演算法
- 機器學習&資料探勘筆記_16(常見面試之機器學習演算法思想簡單梳理)機器學習筆記面試演算法
- 經典面試問題:12小球問題演算法(原始碼)面試演算法原始碼
- 面試題:面試經面試題
- 機器學習——BP神經網路演算法機器學習神經網路演算法
- 演算法面試(一) 連結串列演算法面試
- 常見的JavaScript面試演算法JavaScript面試演算法
- 幾道 BAT 演算法面試中經常問的「字串」問題BAT演算法面試字串
- 經典:程式設計面試的 10 大演算法概念彙總程式設計面試演算法
- 開發者播客-模板原始碼已經貼出來啦!原始碼
- 演算法面試(七) 廣度和深度優先演算法演算法面試
- 資料結構和演算法——棧的面試演算法資料結構演算法面試