日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

高效理解機器學(xué)習(xí)

穎脈Imgtec ? 2023-05-08 10:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

來源:DeepNoMind


對于初學(xué)者來說,機器學(xué)習(xí)相當(dāng)復(fù)雜,可能很容易迷失在細節(jié)的海洋里。本文通過將機器學(xué)習(xí)算法分為三個類別,梳理出一條相對清晰的路線,幫助初學(xué)者理解機器學(xué)習(xí)算法的基本原理,從而更高效地學(xué)習(xí)機器學(xué)習(xí)。原文:Machine Learning in Three Steps: How to Efficiently Learn It[1]

當(dāng)有志于成為數(shù)據(jù)科學(xué)家的學(xué)習(xí)者試圖學(xué)習(xí)機器學(xué)習(xí)算法時,通常會采用兩種極端方法。第一種方法是學(xué)習(xí)并從頭實現(xiàn)所有復(fù)雜算法,從而期待真正掌握這些算法。另一種方法假設(shè)計算機可以自己"學(xué)習(xí)",因此個人沒有必要學(xué)習(xí)算法,從而導(dǎo)致一些人只依賴于諸如lazypredict之類的工具軟件包。

在學(xué)習(xí)機器學(xué)習(xí)算法時,比較現(xiàn)實的是在這兩個極端中間采取某種方法。不過還有問題,那就是從哪里開始呢?本文中我將把機器學(xué)習(xí)算法分為三類,并就從什么開始和可以跳過什么提供一些拙見。


機器學(xué)習(xí)算法的復(fù)雜性

由于可用算法眾多,開始學(xué)習(xí)機器學(xué)習(xí)可能很快就會被壓垮。線性回歸(linear regression)、支持向量機(SVM, support vector machine)、梯度下降(gradient descent)、梯度增強(gradient boosting)、決策樹(decision tree)、LASSO(Least Absolute Shrinkage and Selection Operator)、嶺回歸(ridge)、網(wǎng)格搜索(grid search)、等等,都是在提出這個問題時立馬能夠想到的一些算法。

在監(jiān)督學(xué)習(xí)領(lǐng)域,這些算法有不同的目的和目標(biāo)。本文只討論監(jiān)督學(xué)習(xí)。

為了更好地理解各種技術(shù),根據(jù)其目標(biāo)和復(fù)雜度級別進行分類是有幫助的。通過將這些算法組織成不同類別和復(fù)雜度,可以簡化概念,使其更容易理解。這種方法可以極大增強人們對機器學(xué)習(xí)的理解,并幫助確定用于特定任務(wù)或目標(biāo)的最合適的技術(shù)。

當(dāng)學(xué)生深入研究機器學(xué)習(xí)領(lǐng)域時,可能會因為其復(fù)雜性而感到氣餒。然而,在付諸實踐之前,沒有必要學(xué)習(xí)或熟悉所有算法。機器學(xué)習(xí)領(lǐng)域的不同職位可能需要不同熟練程度,在某些方面缺乏知識是可以接受的。例如,數(shù)據(jù)科學(xué)家、數(shù)據(jù)分析師、數(shù)據(jù)工程師和機器學(xué)習(xí)研究人員這些不同的角色有不同的要求。

對整個過程有廣泛的理解可以使機器學(xué)習(xí)從業(yè)者在時間緊迫的情況下跳過某些技術(shù)細節(jié),同時仍然理解整個過程。

1. 分解機器學(xué)習(xí)算法

1.1 模型、訓(xùn)練和調(diào)優(yōu)

"機器學(xué)習(xí)算法"的范圍相當(dāng)廣泛,可以分為三種主要類型的算法:

  1. 用于接收輸入數(shù)據(jù)并隨后生成預(yù)測的機器學(xué)習(xí)模型,如線性回歸、支持向量機、決策樹、KNN等。
  2. 用于創(chuàng)建或優(yōu)化模型的**模型訓(xùn)練/擬合算法(model training/fitting algorithms)**,即為特定數(shù)據(jù)集找到模型的參數(shù)。不同的機器學(xué)習(xí)模型有其特定的訓(xùn)練算法。雖然梯度下降是最著名的訓(xùn)練基于數(shù)學(xué)函數(shù)的模型的方法,但其他機器學(xué)習(xí)模型可以使用不同的技術(shù)進行訓(xùn)練,本文將在后面的部分中更詳細探討這些技術(shù)。
  3. **超參數(shù)調(diào)優(yōu)(hyperparameter tuning)**,即尋找機器學(xué)習(xí)模型的最優(yōu)超參數(shù)。與訓(xùn)練過程相反,超參數(shù)調(diào)優(yōu)的過程通常不依賴于機器學(xué)習(xí)模型。盡管還有其他替代方法,但網(wǎng)格搜索是執(zhí)行此任務(wù)的一種流行且常用的方法,我們將在本文后面深入討論。

1.2 三類ML模型

第一種類型涉及能夠接收數(shù)據(jù)并根據(jù)該數(shù)據(jù)生成預(yù)測的模型。這些模型可以分為三大類:

  • 基于距離(Distance-based)的模型,包括K-近鄰(K-nearest-neighbors)、線性判別分析(Linear Discriminant Analysis)和二次判別分析(Quadratic Discriminant Analysis)。在scikit-learn庫中,這些也被稱為"估算器(estimators)"。
  • 基于決策樹(Decision tree)的模型,例如單個決策樹(用于分類或回歸)、隨機森林(Random Forest)和梯度增強決策樹(Gradient-Boosted Decision Trees)。
  • 基于數(shù)學(xué)函數(shù)(Mathematical functions)的模型,也被稱為參數(shù)模型,是假設(shè)輸入和輸出之間關(guān)系的特定函數(shù)形式的模型??梢赃M一步分為線性模型(linear model),如OLS回歸、SVM(具有線性核)、Ridge和LASSO,以及非線性模型,如具有非線性核的SVM和神經(jīng)網(wǎng)絡(luò)。

1.3 元模型和集成方法

在機器學(xué)習(xí)中,元模型(meta-model)是一種將多個個體模型的預(yù)測結(jié)果結(jié)合起來以獲得更準確預(yù)測的模型,也被稱為"堆疊模型(stacked model)"或"超級學(xué)習(xí)器(super learner)"。構(gòu)成元模型的個體模型可以是不同類型的或使用不同算法,它們的預(yù)測結(jié)果可以通過加權(quán)平均或其他技術(shù)進行組合。

元模型的目標(biāo)是通過減少個體模型可能存在的方差和偏差來提高預(yù)測的總體準確性和魯棒性,并且通過捕捉數(shù)據(jù)中更復(fù)雜的模式來克服個體模型的局限性。

常見的創(chuàng)建元模型的方法是基于集成的方法,比如打包(bagging)、增強(boosting)或堆疊(stacking)。

  • 打包(Bagging)或Bootstrap Aggregating是一種通過組合基于數(shù)據(jù)集的不同樣本訓(xùn)練多個模型來減少模型方差的機器學(xué)習(xí)技術(shù)。Bagging背后的思想是生成多個模型,每個模型都有一個數(shù)據(jù)子集,然后組合起來創(chuàng)建一個更健壯、更不易過擬合的模型。
  • 增強(Boosting)是另一種集成方法,將多個弱模型組合在一起創(chuàng)建一個強模型。與Bagging不同的不同之處在于,Bagging是獨立訓(xùn)練每個模型,而Boosting是按順序訓(xùn)練模型,每個新模型都是在之前模型錯誤分類的數(shù)據(jù)上進行訓(xùn)練,通過匯總所有模型的預(yù)測來完成最終的預(yù)測。
  • 堆疊(Stacking)或堆疊泛化(stacked generalization),是一種元模型集成方法,方法是訓(xùn)練多個基本模型,并以基本模型的預(yù)測作為更高級模型的輸入,高級模型通過結(jié)合基本模型的預(yù)測來做出最終預(yù)測。
  • 隨機森林(Random forests)是Bagging的延伸,增加了額外的隨機性。除了對數(shù)據(jù)進行隨機抽樣外,隨機森林還為每個分割隨機選擇特征子集,從而有助于減少過擬合并增加集合中模型的多樣性。

集成方法最常應(yīng)用于決策樹,而非線性回歸等線性模型。這是因為決策樹比線性模型更容易出現(xiàn)過擬合,而集成方法通過組合多個模型有助于減少過擬合。

決策樹有高方差和低偏差,意味著容易過度擬合訓(xùn)練數(shù)據(jù),導(dǎo)致在新的、未見過的數(shù)據(jù)上表現(xiàn)不佳。集成方法通過聚合多個決策樹的預(yù)測來解決這個問題,從而產(chǎn)生更健壯和準確的模型。

另一方面,線性模型(如線性回歸)具有低方差和高偏差,意味著不太容易過度擬合,但可能造成欠擬合。集成方法對線性模型不那么有效,因為模型已經(jīng)是低方差的,無法從聚合中獲益。

然而,在某些情況下,集成方法仍然可以應(yīng)用于線性模型。例如,Bagging中使用的自舉聚合技術(shù)可以應(yīng)用于任何類型模型,包括線性回歸。在這種情況下,Bagging算法會對訓(xùn)練數(shù)據(jù)進行采樣,并在自舉樣本上擬合多個線性回歸模型,從而使模型更穩(wěn)定、更具有魯棒性。然而,值得注意的是,得到的模型仍然是線性回歸模型,而不是元模型。

總的來說,雖然集成方法最常用于決策樹,但在某些情況下,也可以與線性模型一起使用,重要的是要記住每種模型的優(yōu)點和局限性,并為手頭的問題選擇合適的方法。

1.4 機器學(xué)習(xí)算法概述

下圖提供了三類機器學(xué)習(xí)算法的摘要,本文后續(xù)部分將更深入研究每個類別。

7079cec4-ea5d-11ed-ba01-dac502259ad0.png

機器學(xué)習(xí)算法概述


2. 機器學(xué)習(xí)模型

本節(jié)我們將仔細研究機器學(xué)習(xí)模型的三大類別:

(1) 基于距離的模型

基于距離的模型:KNN

貝葉斯分類:LDA, QDA

(2) 決策樹模型

(3) 基于數(shù)學(xué)函數(shù)的模型

  • 線性模型
  • 核支持向量機(kernel SVM)或核嶺(kernel ridge)等核化模型(Kernelized models)
  • 神經(jīng)網(wǎng)絡(luò)

深度學(xué)習(xí)模型

2.1 基于距離的模型

第一類機器學(xué)習(xí)模型是基于距離的模型,這些模型利用數(shù)據(jù)點之間的距離進行預(yù)測。

最簡單、最具代表性的模型是K近鄰模型(KNN, K-Nearest Neighbors),可以計算新數(shù)據(jù)點與數(shù)據(jù)集中所有現(xiàn)有數(shù)據(jù)點之間的距離,然后選擇K個最近的鄰居,并將新數(shù)據(jù)點分配給K個鄰居中最常見的類。

在檢驗K近鄰(KNN)算法時,注意到在訓(xùn)練階段沒有建立顯式模型。在KNN中,對新觀測值的預(yù)測是通過在訓(xùn)練集中找到與該觀測值最近的K個鄰居,并取其目標(biāo)值的平均值或多數(shù)投票來完成的。

與其他算法在訓(xùn)練期間將模型擬合到數(shù)據(jù)不同,KNN存儲整個訓(xùn)練數(shù)據(jù)集,并簡單地計算新觀測值與現(xiàn)有數(shù)據(jù)集之間的距離來進行預(yù)測。因此,KNN可以被認為是一種"懶學(xué)習(xí)(lazy learning)"算法,在訓(xùn)練階段不主動構(gòu)建模型,并將決策過程推遲到推理時。

因此,推理/測試階段可能很慢,可以用更有效的算法(如k-d樹)進行優(yōu)化。

2.2 貝葉斯分類

線性判別分析(LDA,Linear Discriminant Analysis)和二次判別分析(QDA,Quadratic Discriminant Analysis)都是基于距離的模型,利用馬氏距離(Mahalanobis distance)進行預(yù)測,馬氏距離是點和分布之間距離的度量,因此考慮到了變量之間的相關(guān)性。

LDA假設(shè)不同類別的方差相同,而QDA假設(shè)每個類別的方差不同。這意味著LDA假設(shè)所有類別的協(xié)方差矩陣是相同的,而QDA允許每個類別有自己的協(xié)方差矩陣。

2.3 基于決策樹的模型

第二種機器學(xué)習(xí)模型是基于決策樹的模型,也被稱為基于規(guī)則的模型(rule-based models)。這種模型生成一組規(guī)則,用來解釋如何做出決策或預(yù)測。

決策樹的每個分支代表一個規(guī)則或條件,用于確定接下來要遵循的數(shù)據(jù)子集。這些規(guī)則通常采用簡單的if-then語句的形式,例如"如果變量X的值大于5,則遵循左分支,否則遵循右分支"。

決策樹的最終葉節(jié)點表示的是基于輸入變量值以及相關(guān)規(guī)則所做出的目標(biāo)變量預(yù)測類/值。

決策樹的優(yōu)點是易于解釋和理解,因為規(guī)則可以以清晰直觀的方式可視化和解釋,因此對于向非技術(shù)相關(guān)方解釋預(yù)測或決策背后的原因非常有用。

然而,決策樹也容易出現(xiàn)過擬合,當(dāng)模型變得過于復(fù)雜,與訓(xùn)練數(shù)據(jù)擬合過于緊密時,就會出現(xiàn)過擬合,從而導(dǎo)致對新數(shù)據(jù)的泛化能力差。為了解決這個問題,通常將集成方法應(yīng)用于決策樹。

2.4 基于數(shù)學(xué)函數(shù)的模型

第三類機器學(xué)習(xí)模型是基于數(shù)學(xué)函數(shù)的模型,基于數(shù)學(xué)函數(shù)模擬輸入變量和目標(biāo)變量之間的關(guān)系。線性模型(如普通最小二乘(OLS,Ordinary Least Squares)回歸、具有線性核的支持向量機(SVM,Support Vector Machines)、Ridge、LASSO)假設(shè)輸入變量與目標(biāo)變量之間的關(guān)系是線性的。非線性模型,如具有非線性核的支持向量機和神經(jīng)網(wǎng)絡(luò),可以模擬輸入變量和目標(biāo)變量之間更復(fù)雜的關(guān)系。

對于基于數(shù)學(xué)函數(shù)的模型,如線性回歸或邏輯回歸,必須定義損失函數(shù)。損失函數(shù)衡量模型的預(yù)測與實際數(shù)據(jù)的匹配程度,目標(biāo)是通過調(diào)整模型參數(shù)最小化損失函數(shù)。

相比之下,對于非數(shù)學(xué)函數(shù)為基礎(chǔ)的模型(如KNN或決策樹),不需要定義損失函數(shù),而是通過不同的方法進行匹配,例如在KNN的情況下找到最近的鄰居,或者在決策樹的情況下根據(jù)特征值遞歸分割數(shù)據(jù)。

在基于數(shù)學(xué)函數(shù)的模型中,定義合適的損失函數(shù)至關(guān)重要,因為它決定了模型要解決的優(yōu)化問題??梢愿鶕?jù)手頭問題使用不同的損失函數(shù),例如回歸問題的均方誤差或二元分類問題的交叉熵。

值得注意的是,所有具有線性核的線性模型(如OLS、LASSO、Ridge、SVM等),都可以寫成線性方程y = wX + b的形式。然而,這些模型之間的區(qū)別在于用于估計模型參數(shù)w和b的最優(yōu)值的代價函數(shù)。

因此,雖然所有這些模型都可以以相同的數(shù)學(xué)函數(shù)的形式編寫,但重要的是要注意選擇的代價函數(shù)決定了模型的行為和性能,因此可以將它們視為具有不同代價函數(shù)的不同模型,而不是具有不同代價函數(shù)的同一模型。

非線性模型是解決復(fù)雜機器學(xué)習(xí)問題的強大工具,而線性模型無法充分解決這些問題。在實踐中基本上有兩種方法:核技巧(kernel trick)和神經(jīng)網(wǎng)絡(luò)。

核技巧是一種有效實現(xiàn)特征映射的方法,無需顯式計算轉(zhuǎn)換后的特征。相反,它定義核函數(shù)來計算轉(zhuǎn)換后的特征空間中輸入樣本對之間的相似性。通過使用核函數(shù),可以隱式地將輸入數(shù)據(jù)映射到高維空間,在高維空間中可以更容易地分離和建模。

從這個意義上說,核部分可以看作是特征工程的一種形式,其中模型能夠創(chuàng)建更適合手頭任務(wù)的新特征。這與傳統(tǒng)特征工程不一樣,在傳統(tǒng)特征工程中,人類專家根據(jù)領(lǐng)域知識和直覺手動創(chuàng)建新特征。

另一種創(chuàng)建非線性模型的方法是使用神經(jīng)網(wǎng)絡(luò)。它們由相互連接的節(jié)點或"神經(jīng)元"層組成,每個節(jié)點對其輸入執(zhí)行簡單的數(shù)學(xué)運算,并將結(jié)果傳遞給下一層。

神經(jīng)網(wǎng)絡(luò)強大的關(guān)鍵在于能夠?qū)W習(xí)輸入和輸出之間復(fù)雜的非線性關(guān)系。這是通過在訓(xùn)練期間根據(jù)預(yù)測輸出和實際輸出之間的誤差調(diào)整神經(jīng)元之間連接的權(quán)重來實現(xiàn)的。

2.5 深度學(xué)習(xí)模型

深度學(xué)習(xí)的重點是通過多層結(jié)構(gòu)來學(xué)習(xí)數(shù)據(jù)的表示。近年來,由于其在計算機視覺、自然語言處理和語音識別等應(yīng)用中的廣泛成功,變得越來越受歡迎。雖然深度學(xué)習(xí)模型有大量參數(shù)和層,實現(xiàn)相對復(fù)雜,但其特征工程也是其重要部分之一。

卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)是深度學(xué)習(xí)模型的一個例子,其核心是對輸入圖像應(yīng)用一系列濾波器,每個濾波器尋找特定的特征,如邊緣或角,然后網(wǎng)絡(luò)的下一層使用這些提取的特征對輸入圖像進行分類。

像CNN這樣的深度學(xué)習(xí)模型可以被認為是特征工程和可訓(xùn)練模型的結(jié)合。該模型的特征工程涉及設(shè)計網(wǎng)絡(luò)架構(gòu)以從輸入數(shù)據(jù)中提取有用的特征,而可訓(xùn)練模型涉及優(yōu)化網(wǎng)絡(luò)參數(shù)以擬合數(shù)據(jù)并做出準確的預(yù)測。


3. 模型訓(xùn)練/擬合

訓(xùn)練機器學(xué)習(xí)模型是通過向模型展示一組標(biāo)記的示例來教模型做出預(yù)測或決策的過程。標(biāo)記的示例,也稱為訓(xùn)練數(shù)據(jù),由成對的輸入特征和輸出標(biāo)簽組成。

在訓(xùn)練過程中,機器學(xué)習(xí)模型學(xué)習(xí)識別輸入特征及其對應(yīng)的輸出標(biāo)簽中的模式。該模型使用特定算法從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)并調(diào)整其內(nèi)部參數(shù),以提高對新數(shù)據(jù)的預(yù)測或分類能力。

一旦模型在標(biāo)記的例子上進行了訓(xùn)練,就可以用來對新的、沒見過的數(shù)據(jù)進行預(yù)測或決策,這個過程被稱為推理或測試。

不同的機器學(xué)習(xí)模型有不同的訓(xùn)練算法,以下是不同機器學(xué)習(xí)模型使用的訓(xùn)練算法的一些示例。

3.1 基于距離的模型訓(xùn)練

KNN是一種不需要顯式訓(xùn)練的非參數(shù)算法。它存儲整個訓(xùn)練數(shù)據(jù)集,并用來預(yù)測新實例的標(biāo)簽,方法是根據(jù)一些距離度量在訓(xùn)練數(shù)據(jù)集中找到K個最接近的實例,然后根據(jù)K個最近鄰居的多數(shù)投票進行預(yù)測。

LDA是一種用于分類任務(wù)的監(jiān)督學(xué)習(xí)算法。LDA對每個類的輸入特征的分布進行建模,并用該信息找到輸入特征的線性組合,使類之間的分離最大化。得到的線性判別式可以用來對新實例進行分類。

LDA的訓(xùn)練過程包括估計每個類別的輸入特征的均值和協(xié)方差矩陣,然后用這些估值來計算類內(nèi)和類間散點矩陣,這些散點矩陣用于導(dǎo)出線性判別式,線性判別式的數(shù)量等于類的數(shù)量減一。

3.2 基于決策樹的模型訓(xùn)練

至于決策樹,通常用一種稱為遞歸劃分的方法進行訓(xùn)練。

遞歸分區(qū)從整個數(shù)據(jù)集開始,自上而下根據(jù)一組規(guī)則或條件將其分成子集。在每個子集上遞歸重復(fù)分割過程,直到滿足停止條件(通常是當(dāng)子集變得太小或進一步分割無法提高模型性能時)。

分割規(guī)則基于數(shù)據(jù)集特征或?qū)傩?,算法在每一步中選擇對模型性能改善最顯著的特征。分割過程產(chǎn)生一個樹狀結(jié)構(gòu),其中內(nèi)部節(jié)點表示分割條件,葉節(jié)點表示最終預(yù)測。

在訓(xùn)練過程中,可以使用各種度量來評估決策樹,例如信息增益或基尼雜質(zhì)(Gini impurity),以確定最佳分割標(biāo)準。一旦訓(xùn)練好決策樹,就可以根據(jù)輸入特征從根節(jié)點找到適當(dāng)?shù)娜~節(jié)點路徑,對新的、未知的數(shù)據(jù)進行預(yù)測。

3.3 基于數(shù)學(xué)函數(shù)的模型訓(xùn)練

基于數(shù)學(xué)函數(shù)的模型,也稱為參數(shù)模型,是為輸入和輸出之間的關(guān)系假設(shè)特定函數(shù)形式的模型。

用于優(yōu)化基于數(shù)學(xué)函數(shù)的模型參數(shù)的最基本算法是梯度下降(gradient descent)。梯度下降是一種迭代優(yōu)化算法,它首先對參數(shù)值進行初始猜測,然后根據(jù)損失函數(shù)相對于參數(shù)的梯度對參數(shù)值進行更新,持續(xù)這一過程直到算法收斂到損失函數(shù)最小為止。

對于非凸函數(shù)(non-convex functions),通常用隨機梯度下降(SGD, stochastic gradient descent)來代替梯度下降,SGD在每次迭代時隨機抽取一個數(shù)據(jù)子集來計算梯度,這種方法比梯度下降算法更快、更有效。

在神經(jīng)網(wǎng)絡(luò)中,反向傳播(backpropagation)用于計算損失函數(shù)相對于參數(shù)的梯度。反向傳播本質(zhì)上就是將微積分的鏈式法則應(yīng)用于由神經(jīng)網(wǎng)絡(luò)表示的復(fù)合函數(shù),可以有效計算網(wǎng)絡(luò)每層的梯度,對于訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)必不可少。

對于深度學(xué)習(xí)模型,通常使用更高級的優(yōu)化技術(shù)來提高性能,包括動量(momentum)和自適應(yīng)學(xué)習(xí)率(adaptive learning rate)等技術(shù),動量可以幫助算法避免陷入局部最小值,自適應(yīng)學(xué)習(xí)率可以在訓(xùn)練過程中自動調(diào)整學(xué)習(xí)率,以提高收斂速度和穩(wěn)定性。

綜上所述,梯度下降是優(yōu)化函數(shù)模型參數(shù)的基本算法。對于非凸函數(shù),通常使用隨機梯度下降法。反向傳播用于計算神經(jīng)網(wǎng)絡(luò)中的梯度,此外還有其他更高級的技術(shù)用于深度學(xué)習(xí)模型。


4. 模型優(yōu)化

機器學(xué)習(xí)的第三個方面包括通過使用網(wǎng)格搜索來優(yōu)化模型的超參數(shù)(hyperparameters)。超參數(shù)是模型的設(shè)置或配置,這些設(shè)置或配置不是在訓(xùn)練過程中學(xué)習(xí)到的,而必須手動指定。

超參數(shù)的例子包括學(xué)習(xí)率、神經(jīng)網(wǎng)絡(luò)中隱藏層的數(shù)量以及正則化強度等,通過使用網(wǎng)格搜索,評估多個超參數(shù)組合,從而可以確定模型的最佳配置。

網(wǎng)格搜索是一種用于優(yōu)化機器學(xué)習(xí)模型超參數(shù)的常用技術(shù)。然而,這并不是唯一可用的方法,還有其他幾種可用于微調(diào)模型參數(shù)的替代方法,一些最流行的替代方案包括:

  1. 隨機網(wǎng)格搜索:與網(wǎng)格搜索相比,隨機搜索涉及從預(yù)定義范圍內(nèi)隨機采樣超參數(shù),從而更有效的探索參數(shù)空間。
  2. 貝葉斯優(yōu)化:貝葉斯優(yōu)化利用概率模型,通過迭代評估模型性能,更新超參數(shù)的概率分布,找到超參數(shù)的最優(yōu)集合。
  3. 遺傳算法:遺傳算法模擬自然選擇過程,通過產(chǎn)生一組潛在的解決方案,評估其性能,并選擇最適合的個體進行繁殖,從而找到最優(yōu)的超參數(shù)集。
  4. 基于梯度的優(yōu)化:基于梯度的優(yōu)化涉及使用梯度迭代調(diào)整超參數(shù),目的是最大化模型性能。
  5. 基于集成的優(yōu)化:基于集成的優(yōu)化涉及將具有不同超參數(shù)的多個模型組合在一起,以創(chuàng)建更具魯棒性和更準確的最終模型。

每種替代方法都有其優(yōu)缺點,需要根據(jù)所處理的特定問題、參數(shù)空間大小和可用計算資源選擇最佳方法。


5. 高效學(xué)習(xí)機器學(xué)習(xí)的幾個技巧

現(xiàn)在我們對機器學(xué)習(xí)算法的不同類別有了大致了解,接下來探索一下為了創(chuàng)建有效的預(yù)測模型,需要學(xué)習(xí)什么。

5.1 算法太難學(xué)?

如果我們從一些乍一看可能很復(fù)雜的算法開始,就會覺得機器學(xué)習(xí)是個具有挑戰(zhàn)性的領(lǐng)域。然而,通過將該過程分解為三個階段(建模、擬合和調(diào)優(yōu)),就能夠獲得更清晰的理解。

例如,學(xué)習(xí)支持向量機(SVM)對于數(shù)據(jù)科學(xué)家來說可能令人生畏,因為有大量的技術(shù)術(shù)語,如最優(yōu)超平面(optimal hyperplane)、無約束最小化(unconstrained minimization)、對偶性(原始和對偶形式)、拉格朗日乘子(Lagrange multipliers)、Karush-Kuhn-Tucker條件、二次規(guī)劃等等。然而,有必要將SVM只是理解為一個線性模型,和OLS回歸類似,方程為y = wX + b。

雖然上面提到的各種技術(shù)可以被用來優(yōu)化SVM,但重要的是不要陷入技術(shù)問題的泥潭,而是要關(guān)注SVM作為線性模型的基本概念。

5.2 了解模型

我們已經(jīng)討論了三種類型的機器學(xué)習(xí)算法——模型、擬合算法和調(diào)優(yōu)算法。在我看來,對于數(shù)據(jù)科學(xué)家來說,重要的是將理解模型置于其他兩個步驟之上。

從這個角度來看,將機器學(xué)習(xí)模型分為三種主要類型,從而有助于理解其功能:

基于距離的模型:在這種類型中,KNN不是一個合適的模型,因為新數(shù)據(jù)的距離是直接計算的,而在LDA或QDA中,是基于分布距離計算。

基于決策樹的模型:決策樹遵循if-else規(guī)則,形成一組可用于決策的規(guī)則。

基于數(shù)學(xué)函數(shù)的模型:可能不太容易理解,然而函數(shù)通常都很簡單。

一旦對模型如何工作有了堅實的理解,就可以使用預(yù)先存在的包來進行擬合和調(diào)優(yōu):對于擬合,流行的scikit-learn庫提供了model.fit方法。而對于調(diào)優(yōu),像Optuna這樣的工具通過study.optimize提供了高效的學(xué)習(xí)優(yōu)化技術(shù)。通過專注于理解模型本身,數(shù)據(jù)科學(xué)家可以更好地為自己在該領(lǐng)域的成功做好準備。

對于一些獨立模型,如果采用這種方法,可以提升對其的理解,這里有一些例子:

  • 多項式回歸是對特征進行不同次冪變換后的線性回歸。
  • 線性回歸、ridge、LASSO和SVR是相同的模型,只是底層代價函數(shù)不同。
  • 線性回歸、邏輯回歸和支持向量機是同一模型,只是底層代價函數(shù)不同。你可能會注意到線性回歸是回歸量而邏輯回歸和支持向量機是分類器,請閱讀SGDClassifier的文檔或查看關(guān)于SGDClassifier的這篇文章[2]。

10個最常見但最令人困惑的機器學(xué)習(xí)模型名稱說明[3]這篇文章說明理解模型并不總是直截了當(dāng)?shù)摹?/p>

5.3 模型可視化

在理解模型時,可視化是一個非常有用的工具。當(dāng)使用機器學(xué)習(xí)模型時,使用簡單的數(shù)據(jù)集創(chuàng)建可視化可以幫助說明模型是如何創(chuàng)建以及如何工作的。

下面一些文章涵蓋的主題包括線性回歸的可視化,也可以應(yīng)用于ridge、lasso、SVM以及神經(jīng)網(wǎng)絡(luò)。

另一種方法是在Excel中實現(xiàn)模型,因為它可以提供一種可視化的方式來查看數(shù)據(jù)和模型的輸出。

  • Visualization of linear regression[4]
  • Visualization of neural networks[5]
  • Visualization of Decision Tree Regressors[6]
  • Nearest Neighbors Regressors — A Visual Guide[7]

7081211a-ea5d-11ed-ba01-dac502259ad0.png線性回歸的可視化

70956350-ea5d-11ed-ba01-dac502259ad0.png

不同特征尺度的KNN回歸器

5.4 使用Excel了解擬合過程

一開始,了解擬合過程可能會讓人望而生畏。但是,如果想要學(xué)習(xí),那么首先要對模型的工作原理有一個堅實的理解。在這方面,一個特別有用的工具是微軟Excel。

Excel是一個廣泛使用的電子表格程序,可用于可視化和操作數(shù)據(jù)。在機器學(xué)習(xí)領(lǐng)域,可以用來演示擬合過程是如何工作的簡單模型(如線性回歸)。通過使用Excel,可以看到這個算法是如何一步步實現(xiàn)的。

要記住,雖然Excel可以是一種理解簡單數(shù)據(jù)集的擬合過程的有效方法,但并不是機器學(xué)習(xí)最有效工具。

用Excel來理解擬合過程對于機器學(xué)習(xí)初學(xué)者來說是一個有用的工具,它提供了一種簡單易用的方法來可視化算法并了解它們是如何工作的。

下面是幾篇關(guān)于線性回歸、邏輯回歸和神經(jīng)網(wǎng)絡(luò)梯度下降的文章。

  • K-Nearest neighbors in Excel[8]
  • Linear Regression With Gradient Descent in Excel[9]
  • Logistic Regression With Gradient Descent in Excel[10]
  • Neural Network Classifier from Scratch in Excel[11]
  • Decision Tree Regressors in Excel[12]
  • Implementing KNN in Excel[13]
  • K-means from Scratch in Excel[14]
  • Neural Network with Backpropagation in Excel[15]

70a29c32-ea5d-11ed-ba01-dac502259ad0.png

基于Excel的機器學(xué)習(xí)算法

5.5 使用簡單數(shù)據(jù)集進行測試

為了全面理解機器學(xué)習(xí)算法,從頭開始實現(xiàn)可能是一種有效方法,然而這種方法可能相當(dāng)耗時,并且可能需要高水平的技術(shù)熟練度。另一種方法是使用預(yù)先訓(xùn)練好的包或庫來使用簡單的數(shù)據(jù)集創(chuàng)建和可視化模型的輸出。

通過這些包,可以輕松試驗不同參數(shù)并測試各種機器學(xué)習(xí)算法。這種方法可以幫助我們了解算法的內(nèi)部工作原理,同時也使我們能夠快速評估在特定數(shù)據(jù)集上的有效性。

通過使用這樣的數(shù)據(jù)集,可以很容易可視化模型的輸入和輸出。反過來,也可以讓我們更深入了解模型是如何進行預(yù)測的。此外,通過改變模型的超參數(shù)和其他方面,還可以可視化這些變化對模型預(yù)測的影響。

這種方法可以幫助初學(xué)者開始機器學(xué)習(xí),并更好地理解不同算法的工作原理。這是一種獲得實踐經(jīng)驗和試驗不同模型的極好方法,而無需在實現(xiàn)上花費太多時間。


6. 結(jié)論

總之,機器學(xué)習(xí)是一個復(fù)雜的領(lǐng)域。然而,了解三種主要類型的機器學(xué)習(xí)算法(模型、擬合算法和調(diào)優(yōu)算法),并根據(jù)它們的目標(biāo)和復(fù)雜性進行分類,可以幫助我們?nèi)媪私馄涔ぷ髟怼Mㄟ^優(yōu)先理解模型,將它們可視化,并在Excel等工具中實現(xiàn),可以揭開擬合和調(diào)優(yōu)過程的神秘面紗。

不斷學(xué)習(xí)機器學(xué)習(xí)的不同方面至關(guān)重要,例如分類與回歸、處理缺失值和變量權(quán)重,以不斷加深對該領(lǐng)域的理解。如果想了解更多,請查看這篇文章:監(jiān)督機器學(xué)習(xí)算法概述[16]


你好,我是俞凡,在Motorola做過研發(fā),現(xiàn)在在Mavenir做技術(shù)工作,對通信、網(wǎng)絡(luò)、后端架構(gòu)、云原生、DevOps、CICD、區(qū)塊鏈、AI等技術(shù)始終保持著濃厚的興趣,平時喜歡閱讀、思考,相信持續(xù)學(xué)習(xí)、終身成長,歡迎一起交流學(xué)習(xí)。
微信公眾號:DeepNoMind

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1821

    文章

    50366

    瀏覽量

    267056
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    67

    文章

    8567

    瀏覽量

    137258
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    DLPA3005:DLP Pico 投影儀的高效電源管理解決方案

    DLPA3005:DLP Pico 投影儀的高效電源管理解決方案 在電子工程師的日常工作中,尋找高效、可靠且功能豐富的電源管理解決方案是設(shè)計便攜式設(shè)備時的重要任務(wù)。今天,我們就來深入探
    的頭像 發(fā)表于 04-19 09:15 ?129次閱讀

    MAX16922:汽車應(yīng)用的高效電源管理解決方案

    MAX16922:汽車應(yīng)用的高效電源管理解決方案 引言 在汽車電子領(lǐng)域,對于中等功率水平的應(yīng)用,電源管理是一個關(guān)鍵的環(huán)節(jié)。Maxim Integrated推出的MAX16922電源管理集成電路
    的頭像 發(fā)表于 04-16 16:30 ?174次閱讀

    探索MAX5097A評估套件:高效電源管理解決方案

    探索MAX5097A評估套件:高效電源管理解決方案 在電子設(shè)計領(lǐng)域,電源管理是一個至關(guān)重要的環(huán)節(jié)。今天,我們將深入探討MAXIM的MAX5097A評估套件(EV kit),它為我們提供了一個高效
    的頭像 發(fā)表于 04-03 14:15 ?216次閱讀

    NVIDIA如何用AI構(gòu)建機器

    下一代機器人將是通用型專家,既能理解指令、學(xué)習(xí)通用技能,又可針對特定任務(wù)進行訓(xùn)練。
    的頭像 發(fā)表于 03-25 09:55 ?908次閱讀

    TPS25924x eFuse:高效電路保護與電源管理解決方案

    TPS25924x eFuse:高效電路保護與電源管理解決方案 在電子設(shè)備的設(shè)計中,電路保護和電源管理至關(guān)重要。德州儀器(TI)的TPS25924x系列eFuse就是這樣一款高度集成的解決方案,為
    的頭像 發(fā)表于 02-28 09:55 ?253次閱讀

    TPS2595xx eFuse:高效電路保護與電源管理解決方案

    TPS2595xx eFuse:高效電路保護與電源管理解決方案 在電子設(shè)計領(lǐng)域,電路保護和電源管理是至關(guān)重要的環(huán)節(jié)。今天,我們要深入探討德州儀器(TI)的TPS2595xx系列eFuse,它是一款
    的頭像 發(fā)表于 02-28 09:35 ?526次閱讀

    MAX77659:低功耗應(yīng)用的高效電源管理解決方案

    MAX77659:低功耗應(yīng)用的高效電源管理解決方案 在當(dāng)今的電子設(shè)備設(shè)計中,低功耗、高集成度的電源管理解決方案至關(guān)重要。Analog Devices的MAX77659 SIMO PMIC(單電感多輸
    的頭像 發(fā)表于 02-12 16:05 ?1293次閱讀

    MAX14720:緊湊高效的電源管理解決方案

    MAX14720/MAX14750:緊湊高效的電源管理解決方案 在當(dāng)今的電子設(shè)備設(shè)計中,尤其是對于空間受限且對電源效率要求極高的電池供電應(yīng)用,一款性能卓越的電源管理芯片顯得至關(guān)重要。Analog
    的頭像 發(fā)表于 02-06 09:25 ?638次閱讀

    人工智能與機器學(xué)習(xí)在這些行業(yè)的深度應(yīng)用

    自人工智能和機器學(xué)習(xí)問世以來,多個在線領(lǐng)域的數(shù)字化格局迎來了翻天覆地的變化。這些技術(shù)從誕生之初就為企業(yè)賦予了競爭優(yōu)勢,而在線行業(yè)正是受其影響最為顯著的領(lǐng)域。人工智能(AI)與機器學(xué)習(xí)
    的頭像 發(fā)表于 02-04 14:44 ?710次閱讀

    機器學(xué)習(xí)和深度學(xué)習(xí)中需避免的 7 個常見錯誤與局限性

    無論你是剛?cè)腴T還是已經(jīng)從事人工智能模型相關(guān)工作一段時間,機器學(xué)習(xí)和深度學(xué)習(xí)中都存在一些我們需要時刻關(guān)注并銘記的常見錯誤。如果對這些錯誤置之不理,日后可能會引發(fā)諸多麻煩!只要我們密切關(guān)注數(shù)據(jù)、模型架構(gòu)
    的頭像 發(fā)表于 01-07 15:37 ?368次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>和深度<b class='flag-5'>學(xué)習(xí)</b>中需避免的 7 個常見錯誤與局限性

    兆芯攜手合作伙伴打造高效智能視頻管理解決方案

    在視頻數(shù)據(jù)呈爆炸式增長的當(dāng)下,兆芯攜手凌川科技及深圳可數(shù)智能公司,聯(lián)合打造了一套高效智能的視頻管理解決方案。依托異構(gòu)架構(gòu)與垂直領(lǐng)域軟件的深度融合,該方案在性能表現(xiàn)、成本控制及安全自主三大維度均展現(xiàn)出顯著優(yōu)勢。
    的頭像 發(fā)表于 11-18 14:58 ?797次閱讀

    如何在機器視覺中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

    人士而言往往難以理解,人們也常常誤以為需要扎實的編程技能才能真正掌握并合理使用這項技術(shù)。事實上,這種印象忽視了該技術(shù)為機器視覺(乃至生產(chǎn)自動化)帶來的潛力,因為深度學(xué)習(xí)并非只屬于計算機科學(xué)家或程序員。 從頭開始:什么
    的頭像 發(fā)表于 09-10 17:38 ?1074次閱讀
    如何在<b class='flag-5'>機器</b>視覺中部署深度<b class='flag-5'>學(xué)習(xí)</b>神經(jīng)網(wǎng)絡(luò)

    再掀語音交互革命,廣和通AI解決方案加速機器人聽覺進化

    機器人世界里,感知是智能化的第一步,是機器人獲取環(huán)境信息,學(xué)習(xí)適應(yīng)并自主決策的前提。聽覺作為五感之一,深度融合AI,可幫助機器人實現(xiàn)高效
    的頭像 發(fā)表于 08-26 17:44 ?1066次閱讀

    【「Yocto項目實戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)」閱讀體驗】+基礎(chǔ)概念學(xué)習(xí)理解

    系統(tǒng)的基礎(chǔ)知識,及yocto的基礎(chǔ)知識。這部分內(nèi)容對于我這樣有一定 Linux 基礎(chǔ)的讀者來說,起到了很好的復(fù)習(xí)和鞏固作用,同時也為后續(xù)學(xué)習(xí) Yocto 項目奠定了堅實的理論基礎(chǔ)。 元數(shù)據(jù) 元數(shù)據(jù)架構(gòu)
    發(fā)表于 08-04 22:29

    FPGA在機器學(xué)習(xí)中的具體應(yīng)用

    隨著機器學(xué)習(xí)和人工智能技術(shù)的迅猛發(fā)展,傳統(tǒng)的中央處理單元(CPU)和圖形處理單元(GPU)已經(jīng)無法滿足高效處理大規(guī)模數(shù)據(jù)和復(fù)雜模型的需求。FPGA(現(xiàn)場可編程門陣列)作為一種靈活且高效
    的頭像 發(fā)表于 07-16 15:34 ?3115次閱讀
    陕西省| 哈尔滨市| 宕昌县| 千阳县| 太谷县| 田阳县| 林周县| 大埔区| 五河县| 合川市| 丹寨县| 郸城县| 新干县| 太原市| 淮阳县| 库尔勒市| 苏尼特右旗| 刚察县| 常山县| 花莲市| 金塔县| 连云港市| 嵊泗县| 惠安县| 嘉善县| 罗甸县| 临猗县| 清水河县| 大宁县| 天津市| 轮台县| 高尔夫| 贵州省| 江口县| 邹城市| 沐川县| 湘乡市| 岳普湖县| 厦门市| 双桥区| 汝州市|