日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

构建机器学习系统步骤

發布時間:2024/1/17 windows 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 构建机器学习系统步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

構建機器學習系統

我們使用機器學習預測模型的工作流程講解機器學習系統整套處理過程。

整個過程包括了數據預處理、模型學習、模型驗證及模型預測。其中數據預處理包含了對數據的基本處理,包括特征抽取及縮放、特征選擇、特征降維和特征抽樣;我們將帶有類標的原始數據劃按照 82 原則分為訓練數據集和測試集。使用訓練數據集用于模型學習算法中學習出適合數據集的模型,再用測試數據集用于驗證最終得到的模型,將模型得到的類標簽和原始數據的類標簽進行對比,得到分類的錯誤率或正確率。

當有新數據來的時候,我們可以代入模型進行預測分類。

:特征縮放、降維等步驟中所需的參數,只可以從訓練數據中獲取,并能夠應用于測試數據集及新的樣本,但僅僅在測試集上對模型進行性能評估或許無法監測模型是否被過度優化。

1、數據預處理(特征工程)

數據預處理是機器學習應用的必不可少的重要步驟之一,以提到的 Iris Dataset 為例,將花朵的圖像看做原始數據,從中提取有用的特征,其中根據常識我們可以知道這些特征可以是花的顏色、飽和度、色彩、花朵整體長度以及花冠的長度和寬度等。首先了解一下幾個數據預處理方法:

  • (數據歸一化與標準化,缺失值處理)大部分機器學習算法為達到性能最優的目的,將屬性映射到[0,1]區間,或者使其滿足方差為 1、均值為 0 的標準正態分布,從而提取出的特征具有相同的度量標準。
  • (數據降維)當源數據的某些屬性間可能存在較高的關聯,存在一定的數據冗余。此時,我們使用機器學習算法中的降維技術將數據壓縮到相對低緯度的子空間中是非常有用的。數據降維算法不僅可以能夠使得所需的存儲空間更小,而且還能夠使得學習算法運行的更快。
  • (數據集切分) )為了保證算法不僅在訓練集上有效,同時還能很好地應用于新數據,我們通常會隨機地將數據集劃分為訓練數據集和測試數據集,使用訓練數據集來訓練及優化我們的機器學習模型,完成后使用測試數據集對最終模型進行評估。

數據預處理也稱作特征工程,所謂的特征工程就是為機器學習算法選擇更為合適的特征。當然,數據預處理不僅僅還有上述的三種。

2、選擇預測模型進行模型訓練

任何分類算法都有其內在的局限性,如果不對分類任務預先做一些設定,沒有任何一個分類模型會比其他模型更有優勢。因此在實際的工作處理問題過程中,必不可少的一個環節就是選擇不同的幾種算法來訓練模型,并比較它們的性能,從中選擇最優的一個。

  • (1)如何選擇最優的模型呢?我們可以借助一些指標,如分類準確率(測量值和真實值之間的接近程度)、錯誤率等指標衡量算法性能。
  • (2)疑問:選擇訓練模型的時候沒有使用測試數據集,卻將這些數據應用于最終的模型評估,那么判斷究竟哪一個模型會在測試數據集有更好的表現?針對該問題,我們采用了交叉驗證技術,如 10 折交叉驗證,將訓練數據集進一步分為了訓練子集和測試子集,從而對模型的泛化能力進行評估。
  • (3)不同機器學習算法的默認參數對于特定類型的任務來說,一般都不是最優的,所以我們在模型訓練的過程中會涉及到參數和超參數的調整。?
    什么是超參數呢?超參數是在模型訓練之前已經設定的參數,一般是由人工設定的。什么是參數呢?參數一般是在模型訓練過程中訓練得出的參數。

3、模型驗證與使用未知數據進行預測

使用訓練數據集構建一個模型之后可以采用測試數據集對模型進行測試,預測該模型在未知數據上的表現并對模型的 泛化誤差進行評估。如果對模型的評估結果表示滿意,就可以使用此模型對以后新的未知數據進行預測。

但什么是泛化誤差呢?我們帶著這個問題分別對模型驗證這塊涉及到的基礎概念做一個深入理解:?
【基礎概念】通常我們把分類錯誤的樣本數占樣本總數的比例稱為“錯誤率(error rate)”,如果在 m 個樣本中有 a 個樣本分類錯誤,則錯誤率為 E=a/m;從另一個角度,1-a/m則稱為“分類精度(accurary)”,也就是“精度+錯誤率=1”。

我們將模型(或學習器)的實際輸出與樣本的真實值之間的差異稱為“誤差(error)”,學習器在訓練集上的誤差稱為“訓練誤差(training error)”或經驗誤差(empirical error),在新的樣本上的誤差稱為“泛化誤差(generalization error)”。

我們在模型驗證的時候 期望得到泛化誤差小的學習器。

實際的任務中,我們事先并不知道新樣本是什么樣子的,實際能做的就是努力使得訓練誤差最小。但是真正當一個模型對訓練集的分類錯誤率為 0,分類精度為 100%,但是這是我們真正想要的學習器嗎?通常情況下,訓練集上的分類精度太高,模型在測試集上的性能不會太好。所以我們 初步討論下模型的評估及模型選擇問題。

( 敘述 :模型評估主要從準備率、召回率等幾個指標做預測模型的評估,模型選擇我們主要從模型的泛化性能的兩個方面展開,一個是欠擬合,一個是過擬合。)

4、 模型評估

構建機器學習模型的一個關鍵步驟就是在新數據上對模型的性能進行評估,模型評估就是評估得到的經訓練數據集結合機器學習算法訓練得到的預測模型是否是最優的或者對新數據有較強的泛化能力。我們通過以下幾個性能指標評估預測模型:分類的混淆矩陣、分類準確率、召回率以及 F1-score,K 折交叉驗證幾個部分來學習模型評估。

4.1、 混淆矩陣讀取

首先,認識混淆矩陣 confusion matrix,該矩陣是展示學習算法性能的一種矩陣。?
(1)首先繪制混淆矩陣,該矩陣為方陣?
(2)如下圖,該矩陣用于展示分類器預測結果—-真正 TP(true positive)、真負 TN(true negative)、假正 FP(false positive)、假負 FN(false negative)。

4.2、準確率和召回率、1 F1 分數

預測誤差(error,ERR)和準確率(accurary,ACC)都提供了誤分類樣本數量的相關信息。誤差可以理解為預測錯誤樣本與所有被預測樣本數量量的比值,而準確率計算方法則是正確預測樣本的數量與所有被預測樣本數量的比值。

比如在腫瘤診斷中,我們更為關注是正確檢測出的惡性腫瘤,使得病人得到治療。然而降低良性腫瘤(假負 FN)錯誤被劃分為惡性腫瘤,但對患者影響并不大。與 FPR 相反,真正率提供了有關正確識別出來的惡性腫瘤樣本(或相關樣本)的有用信息。?
由此提出了準確率(persoon,PRE)和召回率(recall,REC),是與真正率、真負率相關的性能評價指標,召回率實際上與真正率含義相同,定義如下:?
(真正率是看矩陣的行,即實際情況)

準確率(模型的預測情況,看矩陣的列)定義:

4.3、Khold 評估模型性能

驗證模型準確率是非常重要的內容,我們可以將數據手工切分成兩份,一份做訓練,一份做測試,這種方法也叫“留一法”交叉驗證。這種方法很有局限,因為只對數據進行一次測試,并不一定能代表模型的真實準確率。因為模型的準確率和數據的切分是有關系的,在數據量不大的情況下,影響比較大。因此我們提出了 K 折交叉驗證,K-Fold 交叉驗證。

K-Fold 交叉驗證,將數據隨機且均勻地分成 k 分,常用的 k 為 10,數據預先分好并保持不動。假設每份數據的標號為 0-9,第一次使用標號為 0-8 的共 9 份數據來做訓練,而使用標號為 9 的這一份數據來進行測試,得到一個準確率。第二次使用標記為 1-9 的共 9 份數據進行訓練,而使用標號為 0 的這份數據進行測試,得到第二個準確率,以此類推,每次使用9 份數據作為訓練,而使用剩下的一份數據進行測試,這樣共進行 10 次,最后模型的準確率為 10 次準確率的平均值。這樣就避免了數據劃分而造成的評估不準確的問題。

如下圖:

總結

以上是生活随笔為你收集整理的构建机器学习系统步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。