DataWhale天池比賽 Task5

2021-10-06 18:33:12 字數 1491 閱讀 2010

常見的整合學習方法有stacking、bagging和boosting,同時這些整合學習方法與具體驗證集劃分聯絡緊密。由於深度學習模型一般需要較長的訓練週期,如果硬體裝置不允許建議選取留出法,如果需要追求精度可以使用交叉驗證的方法。 

那麼在10個cnn模型可以使用如下方式進行整合:

dropout經常出現在在先有的cnn網路中,可以有效的緩解模型過擬合的情況,也可以在**時增加模型的精度。

**:nn.dropout(0.25)

測試集資料擴增(test time augmentation,簡稱tta)也是常用的整合學習技巧,資料擴增不僅可以在訓練時候用,而且可以同樣在**時候進行資料擴增,對同乙個樣本**三次,然後對三次結果進行平均。

def predict(test_loader, model, tta=10):

model.eval()

test_pred_tta = none

# tta 次數

for _ in range(tta):

test_pred =

with torch.no_grad():

for i, (input, target) in enumerate(test_loader):

c0, c1, c2, c3, c4, c5 = model(data[0])

output = np.concatenate([c0.data.numpy(), c1.data.numpy(),

c2.data.numpy(), c3.data.numpy(),

c4.data.numpy(), c5.data.numpy()], axis=1)

test_pred = np.vstack(test_pred)

if test_pred_tta is none:

test_pred_tta = test_pred

else:

test_pred_tta += test_pred

return test_pred_tta

在**snapshot ensembles中,作者提出使用cyclical learning rate進行訓練模型,並儲存精度比較好的一些checkopint,最後將多個checkpoint進行模型整合。

1、統計中每個位置字元出現的頻率,使用規則修正結果;

2、單獨訓練乙個字元長度**模型,用來**中字元個數,並修正結果。

注意:

1、整合學習只能在一定程度上提高精度,並需要耗費較大的訓練時間,因此建議先使用提高單個模型的精度,再考慮整合學習過程

2、具體的整合學習方法需要與驗證集劃分方法結合,dropout和tta在所有場景有可以起作用。

天池比賽打卡

1.線性回歸模型 線性回歸對於特徵的要求 處理長尾分布 理解線性回歸模型 2.模型效能驗證 評價函式與目標函式 交叉驗證方法 留一驗證方法 針對時間序列問題的驗證 繪製學習曲線 繪製驗證曲線 3.嵌入式特徵選擇 lasso回歸 ridge回歸 決策樹4.模型對比 常用線性模型 常用非線性模型 5.模...

天池 Datawhale 街景字元編碼識別

天池 datawhale 街景字元編碼識別 task1 賽題理解 需要選手 真實場景下的字元識別,這是乙個典型的字元識別問題 分類問題 資料集 自google街景影象中的門牌號資料集 the street view house numbers dataset,svhn 並根據一定方式取樣得到比賽資料...

DataWhale 街景字元編碼識別比賽記錄

作為正式參加的第乙個cv比賽,打算通過這個來入個門。因為前兩天因為私事沒來得及跑這個比賽。看小組的討論,打算先試試已有成功方案,跑通模型,先有個baseline然後逐步優化。下面的內容都是來自比賽的官網。賽題 自google街景影象中的門牌號資料集 the street view house num...