欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

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

穎脈Imgtec ? 2023-05-08 10:24 ? 次閱讀

來源:DeepNoMind


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

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

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


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

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

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

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

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

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

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

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

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

  1. 用于接收輸入數(shù)據(jù)并隨后生成預(yù)測的機(jī)器學(xué)習(xí)模型,如線性回歸、支持向量機(jī)、決策樹、KNN等。
  2. 用于創(chuàng)建或優(yōu)化模型的**模型訓(xùn)練/擬合算法(model training/fitting algorithms)**,即為特定數(shù)據(jù)集找到模型的參數(shù)。不同的機(jī)器學(xué)習(xí)模型有其特定的訓(xùn)練算法。雖然梯度下降是最著名的訓(xùn)練基于數(shù)學(xué)函數(shù)的模型的方法,但其他機(jī)器學(xué)習(xí)模型可以使用不同的技術(shù)進(jìn)行訓(xùn)練,本文將在后面的部分中更詳細(xì)探討這些技術(shù)。
  3. **超參數(shù)調(diào)優(yōu)(hyperparameter tuning)**,即尋找機(jī)器學(xué)習(xí)模型的最優(yōu)超參數(shù)。與訓(xùn)練過程相反,超參數(shù)調(diào)優(yōu)的過程通常不依賴于機(jī)器學(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)的模型,例如單個決策樹(用于分類或回歸)、隨機(jī)森林(Random Forest)和梯度增強(qiáng)決策樹(Gradient-Boosted Decision Trees)。
  • 基于數(shù)學(xué)函數(shù)(Mathematical functions)的模型,也被稱為參數(shù)模型,是假設(shè)輸入和輸出之間關(guān)系的特定函數(shù)形式的模型??梢赃M(jìn)一步分為線性模型(linear model),如OLS回歸、SVM(具有線性核)、Ridge和LASSO,以及非線性模型,如具有非線性核的SVM和神經(jīng)網(wǎng)絡(luò)

1.3 元模型和集成方法

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

(1) 基于距離的模型

基于距離的模型:KNN

貝葉斯分類:LDA, QDA

(2) 決策樹模型

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

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

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

2.1 基于距離的模型

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

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

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

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

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

2.2 貝葉斯分類

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

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

2.3 基于決策樹的模型

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

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

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

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

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

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

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

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

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

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

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

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

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

核技巧是一種有效實(shí)現(xiàn)特征映射的方法,無需顯式計(jì)算轉(zhuǎn)換后的特征。相反,它定義核函數(shù)來計(jì)算轉(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é)點(diǎn)或"神經(jīng)元"層組成,每個節(jié)點(diǎn)對其輸入執(zhí)行簡單的數(shù)學(xué)運(yùn)算,并將結(jié)果傳遞給下一層。

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

在訓(xùn)練過程中,可以使用各種度量來評估決策樹,例如信息增益或基尼雜質(zhì)(Gini impurity),以確定最佳分割標(biāo)準(zhǔn)。一旦訓(xùn)練好決策樹,就可以根據(jù)輸入特征從根節(jié)點(diǎn)找到適當(dāng)?shù)娜~節(jié)點(diǎn)路徑,對新的、未知的數(shù)據(jù)進(jìn)行預(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ìn)行初始猜測,然后根據(jù)損失函數(shù)相對于參數(shù)的梯度對參數(shù)值進(jìn)行更新,持續(xù)這一過程直到算法收斂到損失函數(shù)最小為止。

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

在神經(jīng)網(wǎng)絡(luò)中,反向傳播(backpropagation)用于計(jì)算損失函數(shù)相對于參數(shù)的梯度。反向傳播本質(zhì)上就是將微積分的鏈?zhǔn)椒▌t應(yīng)用于由神經(jīng)網(wǎng)絡(luò)表示的復(fù)合函數(shù),可以有效計(jì)算網(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ī)梯度下降法。反向傳播用于計(jì)算神經(jīng)網(wǎng)絡(luò)中的梯度,此外還有其他更高級的技術(shù)用于深度學(xué)習(xí)模型。


4. 模型優(yōu)化

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

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

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

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

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


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

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

5.1 算法太難學(xué)?

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

例如,學(xué)習(xí)支持向量機(jī)(SVM)對于數(shù)據(jù)科學(xué)家來說可能令人生畏,因?yàn)橛写罅康募夹g(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)討論了三種類型的機(jī)器學(xué)習(xí)算法——模型、擬合算法和調(diào)優(yōu)算法。在我看來,對于數(shù)據(jù)科學(xué)家來說,重要的是將理解模型置于其他兩個步驟之上。

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

基于距離的模型:在這種類型中,KNN不是一個合適的模型,因?yàn)樾聰?shù)據(jù)的距離是直接計(jì)算的,而在LDA或QDA中,是基于分布距離計(jì)算。

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

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

一旦對模型如何工作有了堅(jiān)實(shí)的理解,就可以使用預(yù)先存在的包來進(jìn)行擬合和調(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)域的成功做好準(zhǔn)備。

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

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

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

5.3 模型可視化

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

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

另一種方法是在Excel中實(shí)現(xiàn)模型,因?yàn)樗梢蕴峁┮环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í),那么首先要對模型的工作原理有一個堅(jiān)實(shí)的理解。在這方面,一個特別有用的工具是微軟Excel。

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

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

用Excel來理解擬合過程對于機(jī)器學(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的機(jī)器學(xué)習(xí)算法

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

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

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

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

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


6. 結(jié)論

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

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


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

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

    關(guān)注

    1796

    文章

    47734

    瀏覽量

    240415
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8442

    瀏覽量

    133103
收藏 人收藏

    評論

    相關(guān)推薦

    如何選擇云原生機(jī)器學(xué)習(xí)平臺

    當(dāng)今,云原生機(jī)器學(xué)習(xí)平臺因其彈性擴(kuò)展、高效部署、低成本運(yùn)營等優(yōu)勢,逐漸成為企業(yè)構(gòu)建和部署機(jī)器學(xué)習(xí)應(yīng)用的首選。然而,市場上的云原生
    的頭像 發(fā)表于 12-25 11:54 ?166次閱讀

    zeta在機(jī)器學(xué)習(xí)中的應(yīng)用 zeta的優(yōu)缺點(diǎn)分析

    的應(yīng)用(基于低功耗廣域物聯(lián)網(wǎng)技術(shù)ZETA) ZETA作為一種低功耗廣域物聯(lián)網(wǎng)(LPWAN)技術(shù),雖然其直接應(yīng)用于機(jī)器學(xué)習(xí)的場景可能并不常見,但它可以通過提供高效、穩(wěn)定的物聯(lián)網(wǎng)通信支持,間接促進(jìn)
    的頭像 發(fā)表于 12-20 09:11 ?368次閱讀

    ASR和機(jī)器學(xué)習(xí)的關(guān)系

    自動語音識別(ASR)技術(shù)的發(fā)展一直是人工智能領(lǐng)域的一個重要分支,它使得機(jī)器能夠理解和處理人類語言。隨著機(jī)器學(xué)習(xí)(ML)技術(shù)的迅猛發(fā)展,ASR系統(tǒng)的性能和準(zhǔn)確性得到了顯著提升。 ASR
    的頭像 發(fā)表于 11-18 15:16 ?402次閱讀

    什么是機(jī)器學(xué)習(xí)?通過機(jī)器學(xué)習(xí)方法能解決哪些問題?

    來源:Master編程樹“機(jī)器學(xué)習(xí)”最初的研究動機(jī)是讓計(jì)算機(jī)系統(tǒng)具有人的學(xué)習(xí)能力以便實(shí)現(xiàn)人工智能。因?yàn)闆]有學(xué)習(xí)能力的系統(tǒng)很難被認(rèn)為是具有智能的。目前被廣泛采用的
    的頭像 發(fā)表于 11-16 01:07 ?521次閱讀
    什么是<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>?通過<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>方法能解決哪些問題?

    eda在機(jī)器學(xué)習(xí)中的應(yīng)用

    機(jī)器學(xué)習(xí)項(xiàng)目中,數(shù)據(jù)預(yù)處理和理解是成功構(gòu)建模型的關(guān)鍵。探索性數(shù)據(jù)分析(EDA)是這一過程中不可或缺的一部分。 1. 數(shù)據(jù)清洗 數(shù)據(jù)清洗 是機(jī)器學(xué)習(xí)
    的頭像 發(fā)表于 11-13 10:42 ?398次閱讀

    機(jī)器人技術(shù)的發(fā)展趨勢

    能力。 機(jī)器人能夠通過學(xué)習(xí)和訓(xùn)練,不斷優(yōu)化自身的行為和性能,實(shí)現(xiàn)更高效、更智能的工作。 自然語言處理與理解 : 隨著自然語言處理技術(shù)的進(jìn)步,機(jī)器
    的頭像 發(fā)表于 10-25 09:27 ?1346次閱讀

    適合高效、多輸出應(yīng)用的電源管理解決方案

    電子發(fā)燒友網(wǎng)站提供《適合高效、多輸出應(yīng)用的電源管理解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 10-21 09:12 ?0次下載
    適合<b class='flag-5'>高效</b>、多輸出應(yīng)用的電源管<b class='flag-5'>理解</b>決方案

    【《時(shí)間序列與機(jī)器學(xué)習(xí)》閱讀體驗(yàn)】+ 時(shí)間序列的信息提取

    本人有些機(jī)器學(xué)習(xí)的基礎(chǔ),理解起來一點(diǎn)也不輕松,加油。 作者首先說明了時(shí)間序列的信息提取是時(shí)間序列分析的一個重要環(huán)節(jié),目標(biāo)是從給定的時(shí)間序列數(shù)據(jù)中提取出有用的信息和特征,以支持后續(xù)的分析和預(yù)測任務(wù),可以
    發(fā)表于 08-14 18:00

    【「時(shí)間序列與機(jī)器學(xué)習(xí)」閱讀體驗(yàn)】+ 簡單建議

    這本書以其系統(tǒng)性的框架和深入淺出的講解,為讀者繪制了一幅時(shí)間序列分析與機(jī)器學(xué)習(xí)融合應(yīng)用的宏偉藍(lán)圖。作者不僅扎實(shí)地構(gòu)建了時(shí)間序列分析的基礎(chǔ)知識,更巧妙地展示了機(jī)器學(xué)習(xí)如何在這一領(lǐng)域發(fā)揮巨
    發(fā)表于 08-12 11:21

    如何理解機(jī)器學(xué)習(xí)中的訓(xùn)練集、驗(yàn)證集和測試集

    理解機(jī)器學(xué)習(xí)中的訓(xùn)練集、驗(yàn)證集和測試集,是掌握機(jī)器學(xué)習(xí)核心概念和流程的重要一步。這三者不僅構(gòu)成了模型學(xué)習(xí)
    的頭像 發(fā)表于 07-10 15:45 ?4693次閱讀

    機(jī)器學(xué)習(xí)在數(shù)據(jù)分析中的應(yīng)用

    隨著大數(shù)據(jù)時(shí)代的到來,數(shù)據(jù)量的爆炸性增長對數(shù)據(jù)分析提出了更高的要求。機(jī)器學(xué)習(xí)作為一種強(qiáng)大的工具,通過訓(xùn)練模型從數(shù)據(jù)中學(xué)習(xí)規(guī)律,為企業(yè)和組織提供了更高效、更準(zhǔn)確的數(shù)據(jù)分析能力。本文將深入
    的頭像 發(fā)表于 07-02 11:22 ?840次閱讀

    深度學(xué)習(xí)與傳統(tǒng)機(jī)器學(xué)習(xí)的對比

    在人工智能的浪潮中,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)無疑是兩大核心驅(qū)動力。它們各自以其獨(dú)特的方式推動著技術(shù)的進(jìn)步,為眾多領(lǐng)域帶來了革命性的變化。然而,盡管它們都屬于機(jī)器
    的頭像 發(fā)表于 07-01 11:40 ?1552次閱讀

    大語言模型(LLM)快速理解

    自2022年,ChatGPT發(fā)布之后,大語言模型(LargeLanguageModel),簡稱LLM掀起了一波狂潮。作為學(xué)習(xí)理解LLM的開始,先來整體理解一下大語言模型。一、發(fā)展歷史大語言模型的發(fā)展
    的頭像 發(fā)表于 06-04 08:27 ?1156次閱讀
    大語言模型(LLM)快速<b class='flag-5'>理解</b>

    深入探討機(jī)器學(xué)習(xí)的可視化技術(shù)

    機(jī)器學(xué)習(xí)可視化(簡稱ML可視化)一般是指通過圖形或交互方式表示機(jī)器學(xué)習(xí)模型、數(shù)據(jù)及其關(guān)系的過程。目標(biāo)是使理解模型的復(fù)雜算法和數(shù)據(jù)模式更容易,
    發(fā)表于 04-25 11:17 ?485次閱讀
    深入探討<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>的可視化技術(shù)

    機(jī)器學(xué)習(xí)怎么進(jìn)入人工智能

    人工智能(Artificial Intelligence,AI)是一門涉及計(jì)算機(jī)、工程、數(shù)學(xué)、哲學(xué)和認(rèn)知科學(xué)等多個領(lǐng)域的交叉學(xué)科,旨在構(gòu)建智能化計(jì)算機(jī)系統(tǒng),使之能夠自主感知、理解、學(xué)習(xí)和決策。如今
    的頭像 發(fā)表于 04-04 08:41 ?394次閱讀