色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

手繪圖的方式帶你了解機器學習模型構建的全流程

人工智能與大數據技術 ? 來源:人工智能與大數據技術 ? 作者:人工智能與大數據 ? 2020-09-25 11:07 ? 次閱讀

周末在家無聊閑逛github,發現一個很有趣的開源項目,作者用手繪圖的方式講解了機器學習模型構建的全流程,邏輯清晰、生動形象。同時,作者也對幾張圖進行了詳細的講解,學習之后,收獲很多,于是將其翻譯下來,和大家一起學習。

地址:https://github.com/dataprofessor/infographic

全文如下:

感覺學習數據科學枯燥無味,那如何能讓學習數據科學變得有趣而簡單呢?帶著這個目標,我開始在iPad上涂鴉建立機器學習模型所需的流程。經過幾天的努力,上圖所示的信息圖就是我的成果,內容已經被發布在GitHub上。

1. 數據集

數據集是你構建機器學習模型歷程中的起點。簡單來說,數據集本質上是一個M×N矩陣,其中M代表列(特征),N代表行(樣本)。

列可以分解為X和Y,首先,X是幾個類似術語的同義詞,如特征、獨立變量和輸入變量。其次,Y也是幾個術語的同義詞,即類別標簽、因變量和輸出變量。

圖1. 數據集的卡通插圖

應該注意的是,一個可以用于監督學習的數據集(可以執行回歸或分類)將同時包含X和Y,而一個可以用于無監督學習的數據集將只有X。

此外,如果Y包含定量值,那么數據集(由X和Y組成)可以用于回歸任務,而如果Y包含定性值,那么數據集(由X和Y組成)可以用于分類任務。

2. 探索性數據分析(EDA

進行探索性數據分析(EDA)是為了獲得對數據的初步了解。在一個典型的數據科學項目中,我會做的第一件事就是通過執行EDA來 "盯住數據",以便更好地了解數據。

我通常使用的三大EDA方法包括:

描述性統計:平均數、中位數、模式、標準差。

數據可視化:熱力圖(辨別特征內部相關性)、箱形圖(可視化群體差異)、散點圖(可視化特征之間的相關性)、主成分分析(可視化數據集中呈現的聚類分布)等。

數據整形:對數據進行透視、分組、過濾等。

圖2. NBA球員統計數據的箱形圖示例

圖3. NBA球員統計數據的相關熱力圖示例

圖4. NBA球員統計數據的直方圖示例

圖5. NBA球員統計數據的散布圖示例

3. 數據預處理

數據預處理(又稱數據清理、數據整理或數據處理)是指對數據進行各種檢查和審查的過程,以糾正缺失值、拼寫錯誤、使數值正?;?標準化以使其具有可比性、轉換數據(如對數轉換)等問題。

"Garbage in, Garbage out."

正如上面的引言所說,數據的質量將對生成模型的質量產生很大的影響。因此,為了達到最高的模型質量,應該在數據預處理階段花費大量精力。一般來說,數據預處理可以輕松地占到數據科學項目所花費時間的80%,而實際的模型建立階段和后續的模型分析僅占到剩余的20%。

4. 數據分割

4.1 訓練--測試集分割

在機器學習模型的開發過程中,希望訓練好的模型能在新的、未見過的數據上表現良好。為了模擬新的、未見過的數據,對可用數據進行數據分割,從而將其分割成2部分(有時稱為訓練—測試分割)。特別是,第一部分是較大的數據子集,用作訓練集(如占原始數據的80%),第二部分通常是較小的子集,用作測試集(其余20%的數據)。需要注意的是,這種數據拆分只進行一次。

接下來,利用訓練集建立預測模型,然后將這種訓練好的模型應用于測試集(即作為新的、未見過的數據)上進行預測。根據模型在測試集上的表現來選擇最佳模型,為了獲得最佳模型,還可以進行超參數優化。

圖6. 訓練—測試集分割示意圖

4.2 訓練--驗證--測試集分割

另一種常見的數據分割方法是將數據分割成3部分。(1) 訓練集,(2) 驗證集和(3) 測試集。與上面解釋的類似,訓練集用于建立預測模型,同時對驗證集進行評估,據此進行預測,可以進行模型調優(如超參數優化),并根據驗證集的結果選擇性能最好的模型。正如我們所看到的,類似于上面對測試集進行的操作,這里我們在驗證集上做同樣的操作。請注意,測試集不參與任何模型的建立和準備。因此,測試集可以真正充當新的、未知的數據。Google的《機器學習速成班》對這個話題進行了更深入的處理。

圖7. 訓練—驗證—測試集分割示意圖

4.3 交叉驗證

為了最經濟地利用現有數據,通常使用N倍交叉驗證(CV),將數據集分割成N個折(即通常使用5倍或10倍CV)。在這樣的N倍CV中,其中一個折被留作測試數據,而其余的折則被用作建立模型的訓練數據。

例如,在5倍CV中,有1個折被省略,作為測試數據,而剩下的4個被集中起來,作為建立模型的訓練數據。然后,將訓練好的模型應用于上述遺漏的折(即測試數據)。這個過程反復進行,直到所有的折都有機會被留出作為測試數據。因此,我們將建立5個模型(即5個折中的每個折都被留出作為測試集),其中5個模型中的每個模型都包含相關的性能指標(我們將在接下來的部分討論)。最后,度量(指標)值是基于5個模型計算出的平均性能。

圖8. 交叉驗證示意圖

在N等于數據樣本數的情況下,我們稱這種留一的交叉驗證。在這種類型的CV中,每個數據樣本代表一個折。例如,如果N等于30,那么就有30個折(每個折有1個樣本)。在任何其他N折CV中,1個折點被留出作為測試集,而剩下的29個折點被用來建立模型。接下來,將建立的模型應用于對留出的折進行預測。與之前一樣,這個過程反復進行,共30次;計算30個模型的平均性能,并將其作為CV性能指標。

5. 模型建立

現在,有趣的部分來了,我們終于可以使用精心準備的數據來建立模型了。根據目標變量(通常稱為Y變量)的數據類型(定性或定量),我們要建立一個分類(如果Y是定性的)或回歸(如果Y是定量的)模型。

5.1 學習算法

機器學習算法可以大致分為以下三種類型之一:

監督學習:是一種機器學習任務,建立輸入X和輸出Y變量之間的數學(映射)關系。這樣的X、Y對構成了用于建立模型的標簽數據,以便學習如何從輸入中預測輸出。

無監督學習:是一種只利用輸入X變量的機器學習任務。這種 X 變量是未標記的數據,學習算法在建模時使用的是數據的固有結構。

強化學習:是一種決定下一步行動方案的機器學習任務,它通過試錯學習來實現這一目標,努力使回報最大化。

5.2 參數調優

超參數本質上是機器學習算法的參數,直接影響學習過程和預測性能。由于沒有 "一刀切 "的超參數設置,可以普遍適用于所有數據集,因此需要進行超參數優化(也稱為超參數調整或模型調整)。

我們以隨機森林為例。在使用randomForest R包時,通常會對兩個常見的超參數進行優化,其中包括mtry和ntree參數(這對應于scikit-learnPython庫中RandomForestClassifier()和RandomForestRegressor()函數中的nestimators和maxfeatures)。mtry(maxfeatures)代表在每次分裂時作為候選變量隨機采樣的變量數量,而ntree(nestimators)代表要生長的樹的數量。 另一種流行的機器學習算法是支持向量機。需要優化的超參數是徑向基函數(RBF)內核的C參數和gamma參數(即線性內核只有C參數;多項式內核的C和指數)。C參數是一個限制過擬合的懲罰項,而gamma參數則控制RBF核的寬度。如上所述,調優通常是為了得出超參數的最佳值集,盡管如此,也有一些研究旨在為C參數和gamma參數找到良好的起始值(Alvarsson等人,2014)。

地址:https://pubs.acs.org/doi/10.1021/ci500344v

5.3 特征選擇

顧名思義,特征選擇從字面上看就是從最初的大量特征中選擇一個特征子集的過程。除了實現高精度的模型外,機器學習模型構建最重要的一個方面是獲得可操作的見解,為了實現這一目標,能夠從大量的特征中選擇出重要的特征子集非常重要。

特征選擇的任務本身就可以構成一個全新的研究領域,在這個領域中,大量的努力都是為了設計新穎的算法和方法。從眾多可用的特征選擇算法中,一些經典的方法是基于模擬退火和遺傳算法。除此之外,還有大量基于進化算法(如粒子群優化、蟻群優化等)和隨機方法(如蒙特卡洛)的方法。

我們自己的研究小組也在對醛糖還原酶抑制劑的定量結構—活性關系建模的研究中,探索了利用蒙特卡洛模擬進行特征選擇的方法(Nantasenamat等,2014)。

地址:https://doi.org/10.1016/j.ejmech.2014.02.043

在《遺傳算法搜索空間拼接粒子群優化作為通用優化器》的工作中,我們還設計了一種基于結合兩種流行的進化算法即遺傳算法和粒子群算法的新型特征選擇方法(Li等,2013)。

地址:https://doi.org/10.1016/j.chemolab.2013.08.009

圖9. 遺傳算法搜索空間拼接粒子群優化(GA-SSS-PSO)方法的原理示意圖,用Schwefel函數在2維度上進行說明

"原搜索空間(a)x∈[-500,0]在每個維度上以2的固定間隔拼接成子空間(圖中一個維度等于一個橫軸)。這樣就得到了4個子空間(b-e),其中x在每個維度上的范圍是原始空間的一半。GA的每一個字符串都會編碼一個子空間的索引。然后,GA啟發式地選擇一個子空間(e),并在那里啟動PSO(粒子顯示為紅點)。PSO搜索子空間的全局最小值,最好的粒子適應性作為編碼該子空間索引的GA字符串的適應性。最后,GA進行進化,選擇一個新的子空間進行探索。整個過程重復進行,直到達到滿意的誤差水平。"

6. 機器學習任務

在監督學習中,兩個常見的機器學習任務包括分類和回歸。

6.1 分類

一個訓練有素的分類模型將一組變量(定量或定性)作為輸入,并預測輸出的類標簽(定性)。下圖是由不同顏色和標簽表示的三個類。每一個小的彩色球體代表一個數據樣本。

圖10. 多類別分類問題的示意圖

三類數據樣本在二維中的顯示。上圖顯示的是數據樣本的假設分布。這種可視化圖可以通過執行PCA分析并顯示前兩個主成分(PC)來創建;或者也可以選擇兩個變量的簡單散點圖可視化。

6.1.1 樣例數據集

以企鵝數據集(Penguins Dataset)為例(最近提出作為大量使用的Iris數據集的替代數據集),我們將定量(喙長、喙深、鰭長和身體質量)和定性(性別和島嶼)特征作為輸入,這些特征唯一地描述了企鵝的特征,并將其歸入三個物種類別標簽(Adelie、Chinstrap或Gentoo)之一。該數據集由344行和8列組成。之前的分析顯示,該數據集包含333個完整的案例,其中11個不完整的案例中出現了19個缺失值。

圖11. 三個企鵝物種的類別標簽(Chinstrap、Gentoo和Adelie)

6.1.2 性能指標

如何知道我們的模型表現好或壞?答案是使用性能指標,一些常見的評估分類性能的指標包括準確率(Ac)、靈敏度(Sn)、特異性(Sp)和馬太相關系數(MCC)。

其中TP、TN、FP和FN分別表示真陽性、真陰性、假陽性和假陰性的實例。應該注意的是,MCC的范圍從-1到1,其中MCC為-1表示最壞的可能預測,而值為1表示最好的可能預測方案。此外,MCC為0表示隨機預測。

6.2 回歸

簡而言之,可以通過以下簡單等式很好地總結訓練有素的回歸模型:Y = f(X)。其中,Y對應量化輸出變量,X指輸入變量,f指計算輸出值作為輸入特征的映射函數(從訓練模型中得到)。上面的回歸例子公式的實質是,如果X已知,就可以推導出Y。一旦Y被計算出來(我們也可以說是 "預測"),一個流行的可視化方式是將實際值與預測值做一個簡單的散點圖,如下圖所示。

圖12. 實際值與預測值的簡單散點圖

6.2.1 樣例數據集

波士頓住房數據集(Boston Housing Dataset)是數據科學教程中通常使用的一個熱門示例數據集。該數據集由506行和14列組成。為了簡潔起見,下面顯示的是標題(顯示變量名稱)加上數據集的前4行。

在14列中,前13個變量被用作輸入變量,而房價中位數(medv)被用作輸出變量??梢钥闯?,所有14個變量都包含了量化的數值,因此適合進行回歸分析。我還在YouTube上做了一個逐步演示如何用Python建立線性回歸模型的視頻

地址:https://youtu.be/R15LjD8aCzc

在視頻中,我首先向大家展示了如何讀取波士頓房屋數據集,將數據分離為X和Y矩陣,進行80/20的數據拆分,利用80%的子集建立線性回歸模型,并應用訓練好的模型對20%的子集進行預測。最后顯示了實際與預測medv值的性能指標和散點圖。

圖13. 測試集的實際medv值與預測medv值(20%子集)的散點圖。

6.2.2 性能指標

對回歸模型的性能進行評估,以評估擬合模型可以準確預測輸入數據值的程度。

評估回歸模型性能的常用指標是確定系數(R2)。

從公式中可以看出,R2實質上是1減去殘差平方和(SSres)與總平方和(SStot)的比值。簡單來說,可以說它代表了解釋方差的相對量度。例如,如果R2=0.6,那么意味著該模型可以解釋60%的方差(即60%的數據符合回歸模型),而未解釋的方差占剩余的40%。

此外,均方誤差(MSE)以及均方根誤差(RMSE)也是衡量殘差或預測誤差的常用指標。

從上面的公式可以看出,MSE顧名思義是很容易計算的,取平方誤差的平均值。此外,MSE的簡單平方根可以得到RMSE。

7. 分類任務的直觀說明

現在我們再來看看分類模型的整個過程。以企鵝數據集為例,我們可以看到,企鵝可以通過4個定量特征和2個定性特征來描述,然后將這些特征作為訓練分類模型的輸入。在訓練模型的過程中,需要考慮的問題包括以下幾點。

使用什么機器學習算法?

應該探索什么樣的搜索空間進行超參數優化?

使用哪種數據分割方案?80/20分割還是60/20/20分割?還是10倍CV?

一旦模型被訓練,得到的模型就可以用來對類別標簽(即在我們的案例中企鵝種類)進行預測,可以是三種企鵝種類中的一種:Adelie、Chinstrap或Gentoo。

除了只進行分類建模,我們還可以進行主成分分析(PCA),這將只利用X(獨立)變量來辨別數據的底層結構,并在這樣做的過程中允許將固有的數據簇可視化(如下圖所示為一個假設圖,其中簇根據3種企鵝物種進行了顏色編碼)。

圖14. 建立一個分類模型的過程示意圖

責任編輯:xj

原文標題:機器學習模型訓練全流程!

文章出處:【微信公眾號:人工智能與大數據技術】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7085

    瀏覽量

    89216
  • 機器學習
    +關注

    關注

    66

    文章

    8425

    瀏覽量

    132775

原文標題:機器學習模型訓練全流程!

文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數據技術】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    《具身智能機器人系統》第7-9章閱讀心得之具身智能機器人與大模型

    醫療領域,手術輔助機器人需要毫米級的精確控制,書中有介紹基于視覺伺服的實時控制算法,以及如何利用大模型優化手術路徑規劃。工業場景中,協作機器人面臨的主要挑戰是快速適應新工藝流程。具身智
    發表于 12-24 15:03

    構建云原生機器學習平臺流程

    構建云原生機器學習平臺是一個復雜而系統的過程,涉及數據收集、處理、特征提取、模型訓練、評估、部署和監控等多個環節。
    的頭像 發表于 12-14 10:34 ?149次閱讀

    如何使用Python構建LSTM神經網絡模型

    : NumPy:用于數學運算。 TensorFlow:一個開源機器學習庫,Keras是其高級API。 Keras:用于構建和訓練深度學習模型
    的頭像 發表于 11-13 10:10 ?450次閱讀

    AI大模型與深度學習的關系

    AI大模型與深度學習之間存在著密不可分的關系,它們互為促進,相輔相成。以下是對兩者關系的介紹: 一、深度學習是AI大模型的基礎 技術支撐 :深度學習
    的頭像 發表于 10-23 15:25 ?936次閱讀

    AI大模型與傳統機器學習的區別

    AI大模型與傳統機器學習在多個方面存在顯著的區別。以下是對這些區別的介紹: 一、模型規模與復雜度 AI大模型 :通常包含數十億甚至數萬億的參
    的頭像 發表于 10-23 15:01 ?746次閱讀

    構建語音控制機器人 - 線性模型機器學習

    2024-07-31 |Annabel Ng 在該項目的[上一篇博客文章]中,我介紹了運行機器人電機、處理音頻信號和調節電壓所需的電路的基礎知識。然而,機器人還沒有完全完成!盡管機器人可以正確移動
    的頭像 發表于 10-02 16:31 ?229次閱讀
    <b class='flag-5'>構建</b>語音控制<b class='flag-5'>機器</b>人 - 線性<b class='flag-5'>模型</b>和<b class='flag-5'>機器</b><b class='flag-5'>學習</b>

    【《大語言模型應用指南》閱讀體驗】+ 基礎篇

    章節介紹了機器學習,從方法論上來看,機器學習屬于歸納推理;從開發設計方式來看,機器
    發表于 07-25 14:33

    【《大語言模型應用指南》閱讀體驗】+ 俯瞰全書

    上周收到《大語言模型應用指南》一書,非常高興,但工作項目繁忙,今天才品鑒體驗,感謝作者編寫了一部內容豐富、理論應用相結合、印刷精美的著作,也感謝電子發燒友論壇提供了一個讓我了解大語言模型機器
    發表于 07-21 13:35

    如何構建多層神經網絡

    構建多層神經網絡(MLP, Multi-Layer Perceptron)模型是一個在機器學習和深度學習領域廣泛使用的技術,尤其在處理分類和
    的頭像 發表于 07-19 17:19 ?927次閱讀

    如何理解機器學習中的訓練集、驗證集和測試集

    理解機器學習中的訓練集、驗證集和測試集,是掌握機器學習核心概念和流程的重要一步。這三者不僅構成了模型
    的頭像 發表于 07-10 15:45 ?4373次閱讀

    PyTorch神經網絡模型構建過程

    PyTorch,作為一個廣泛使用的開源深度學習庫,提供了豐富的工具和模塊,幫助開發者構建、訓練和部署神經網絡模型。在神經網絡模型中,輸出層是尤為關鍵的部分,它負責將
    的頭像 發表于 07-10 14:57 ?522次閱讀

    機器學習中的數據預處理與特征工程

    機器學習的整個流程中,數據預處理與特征工程是兩個至關重要的步驟。它們直接決定了模型的輸入質量,進而影響模型的訓練效果和泛化能力。本文將從數
    的頭像 發表于 07-09 15:57 ?490次閱讀

    keras模型轉tensorflow session

    和訓練深度學習模型。Keras是基于TensorFlow、Theano或CNTK等底層計算框架構建的。TensorFlow是一個開源的機器學習
    的頭像 發表于 07-05 09:36 ?561次閱讀

    Al大模型機器

    豐富的知識儲備。它們可以涵蓋各種領域的知識,并能夠回答相關問題。靈活性與通用性: AI大模型機器人具有很強的靈活性和通用性,能夠處理各種類型的任務和問題。持續學習和改進: 這些模型可以
    發表于 07-05 08:52

    谷歌模型框架是什么軟件?谷歌模型框架怎么用?

    谷歌模型框架通常指的是谷歌開發的用于機器學習和人工智能的軟件框架,其中最著名的是TensorFlow。TensorFlow是一個開源的機器學習
    的頭像 發表于 03-01 16:25 ?910次閱讀
    主站蜘蛛池模板: 年轻老师毛茸茸自由性| caoporn超碰在线| 老头狠狠挺进小莹体内视频| 成人免费肉动漫无遮网站| 樱桃BT在线观看| 天天啪免费视频在线看| 男男h开荤粗肉h文1v1| 极品少妇高潮XXXXX| 国产成人在线观看网站| WRITEAS检查身体| 中文字幕在线免费观看视频| 亚洲AV无码乱码A片无码蜜桃| 求个av网站| 免费在线视频成人| 久久婷五月综合色啪首页| 国产日韩高清一区二区三区| 丰满五十六十老熟女HD60| 99热免费精品店| 中文字幕精品无码一区二区| 亚洲人成77777| 午夜福利电影网站鲁片大全| 日韩黄色软件| 欧美乱妇15p图| 美女张开让男生桶| 久久热这里面只有精品| 花季v3.0.2黄在线观看| 国产午夜视频在线| 国产GV无码A片在线观看| porono日本xxx| 9亚洲欧洲免费无码在线| 最新亚洲人成网站在线影院| 亚洲免费在线视频观看| 香蕉59tv视频| 无码内射成人免费喷射| 双性被疯狂灌满精NP| 日本一二三区在线视频| 桥本有菜黑丝| 人人模人人干| 日韩人妻少妇一区二区三区| 日本漫画大全无翼乌| 日日摸夜夜添夜夜爽出水|