機器學習中調優的思路總結

2021-09-29 03:15:13 字數 1276 閱讀 5033

在專案、工作中,如果你是作為乙個演算法工程師或者資料分析師,用到機器學習或深度學習模型的話,會經常遇到模型的結果始終提公升不了的瓶頸。在這個時候,我們該怎麼做呢?

我對模型的優化進行了乙份總結,以後大家遇到類似的模型效果提公升不了的時候,就按照這個清單看一遍有哪些自己還沒做的,有哪些覺得可以用到的,進行一番嘗試。

我主要從以下四個方面進行了一下總結:

1、資料

人們都說,資料決定了模型的上限,而不同的模型只是決定你能如何逼近這個上限。有時候,我們可以改變訓練資料或者改變樣本集的標籤,這時往往會有出乎意料的效果。有句話說的好,選擇比努力更重要!

策略總的核心思想就是建立不同的目標樣本,並且盡可能的使用最底層的特徵來進行模型訓練。

具體策略:

清洗資料:通過資料清洗,你可以對缺失值、異常值進行合理的填補與修復,從而提公升資料整體的質量。

重新取樣資料:其實可以通過對資料的重新取樣來改變資料的分布和大小。對某一特定型別的樣本進行取樣,說不定可以更好滴表現出效果。又或者是使用更小的資料,從而加快速度。

問題解決思路的重新思考:有的時候,你可以把你目前正在「焦頭爛耳」想要解決的「**性」問題,換成回歸、分類、時間序列、異常檢測、排序、推薦等等的問題。

調整變數再入模:這裡指的是對資料進行離散化、標準化等的操作。

對變數進行降維:有的時候降維後的變數有更好的表現哦。

特徵選擇:這個就是特徵工程了,簡單來說,就是你對特徵(變數)進行重要性的排序,選擇相對**力強的特徵進入模型。

2、演算法選擇

我們要做的就是識別出優於平均值的演算法,但是在查詢資料的時候,對實驗過程和結果都要抱有懷疑的態度,並反覆進行思考。

具體策略:

3、演算法調優

模型調參是乙個耗時耗力的體力活,有時候運氣好,馬上就能得到不錯的結果。但是如果要對所有的模型演算法都進行有優化,可能就需要幾天、幾個星期或者幾個月了。充分使用效能良好的機器學習演算法,並且使用良好的調參框架,在引數方面如果有經驗的話,那是最好的。

具體策略:

4、效果整合

這種方法在一些競賽中是非常有用的,可以結合多個模型的結果,綜合輸出乙個更加穩定而且效果不錯的模型。

具體策略:

以上就是我總結的一些優化模型效果的方法,大家可以收藏一下,方便以後隨時檢視~

mysql卡的調優思路 MySQL效能調優思路

1.mysql效能調優思路 如果一台伺服器出現長時間負載過高 週期性負載過大,或偶爾卡住如何來處理?是週期性的變化還是偶爾問題?是伺服器整體效能的問題,還是某單條語句的問題?具體到單條語句,這條語句是在等待上花的時間,還是查詢上花的時間?1.1.監測並觀察伺服器的狀態.觀察伺服器狀態,一般用如下2個...

MapReduce的調優總結

mapreduce的調優總結 mapreduce 伺服器調優 1.mapreduce.task.io.sort.factor mr程式進行合併排序的時候,開啟的檔案數量,預設為10個.3.mapreduce.map.sort.spill.percent mr程式進行flush操作的閥值,預設0.80...

機器學習之模型的選擇與調優

交叉驗證 將拿到的資料,分為訓練和驗證集。以下圖為例 將資料分成4份,其中乙份作為驗證集。然後經過4次 組 的測試,每次都更換不同的驗證集。即得到4組模型的結果,取平均值作為最終結果。又稱4折交叉驗證。通常情況下,有很多引數是需要手動指定的 如k 近鄰演算法中的k值 這種叫超引數。但是手動過程繁雜,...