演算法開發筆記

2021-10-09 05:36:03 字數 1524 閱讀 4457

丟棄訓練集與真實資料(測試集,**集)分布不一致的特徵

丟棄離散程度太小的特徵(要考慮特徵的量綱,即均值)

定乙個指標(如與**值的相關係數),丟棄指標得分差的特徵

根據模型的返回值保留或丟棄一些特徵,如線性回歸的偏回歸係數,隨機森林的相對重要性

利用逐步回歸的思想,給定乙個特徵集合,迭代地從這個特徵集合裡丟棄或增加一些特徵,確定停止條件來確定特徵集合(特徵選擇)

已知模型確定,特徵工程完畢(即訓練集固定),調參的內容包括:

引數空間

搜尋策略 (網格搜尋,隨機搜尋,座標下降法,智慧型優化演算法)

驗證方案 (交叉驗證)

評價指標

在哪個引數空間裡,用什麼樣的策略確定引數,什麼樣的方案驗證引數好不好,好壞的指標是什麼

參與融合的每個模型要求:

最起碼的精度要求(模型不能太差)

模型間要有差異性

常用的融合方法

平均法簡單平均:回歸問題就是直接平均,分類問題就是投票

加權平均:回歸分類問題都是加權平均

blending

該名稱不確定,也有說平均法也屬於blending

(訓練集 測試集)劃分成 (訓練集,驗證集,測試集)

對於某個模型m1,在訓練集上訓練,驗證集上**得到**值a1,測試集上**得到**值b1

多個模型(假設3個),可以得到(a1,a2,a3,驗證集真值)作為訓練集,(b1,b2,b3,測試集真值)作為測試集

第二輪的模型在新的訓練集和測試集的基礎上訓練和測試

stacking

實質上就是將多個模型的**值作為特徵,再次進行訓練

(訓練集 測試集)根據k折交叉驗證劃分成 (訓練集(k份),驗證集(k份),測試集)

對於某個模型m1,在訓練集上訓練,每份驗證集上**得到**值(a1,……,ak),將這些**值組合起來得到所有資料的**值a1。

每份訓練集訓練出來的模型在測試集上**得到**值(b1,……,bk),將這些**值平均得到測試集的**值b1。

多個模型(假設3個),可以得到(a1,a2,a3,訓練集真值)作為訓練集,(b1,b2,b3,測試集真值)作為測試集

第二輪的模型在新的訓練集和測試集的基礎上訓練和測試

bagging和boosting的思想

主題輸出層神經元個數

啟用函式

標籤格式

損失函式

二分類1

sigmoid

0或1binary_crossentropy

多分類k

softmax

one-hot

categorical_crossentropy

多分類k

softmax

1個整數

sparse_categorical_crossentropy

多標籤多分類

ksigmoid

k-hot

binary_crossentropy回歸1

無(恒等)

數值mse,mae回歸k

無(恒等)

k個數值

mse,mae

Android 開發筆記

版本控制的注意事項 以下資料夾不要加入版本控制 bin bin是編譯的二進位制檔案的存放路徑 gen gen是android需要的資源檔案的原始檔存放的目錄 使用svn的時候要注意專案編譯的問題 在編譯的時候程式會把src資料夾裡面的檔案拷貝到bin裡面,但是svn是每個資料夾裡面都包含乙個隱藏的....

ORACLE 開發筆記

oracle 日期 submitdate datetime.parse submitdate tostring d m月 yyyy to date 2002 01 02 yyyy m dd select count 1 from l perm where cancel y and sysdate p...

開發筆記2

開發筆記2 2012 5 4 周五 系統報警資訊傳送程式開發。其它程式收集了報警資訊,如 硬碟滿 硬碟壞 網路連不通 使用者欠費 硬體裝置無法訪問等,這些程式已經實現了插入資料到幾張不同型別的表,類似流水日誌表,狀態變化表。我則在這個基礎上,對這些表寫個簡單觸發器,觸發器盡量簡單,然後呼叫同乙個儲存...