簡體   English   中英

如何在nnet中使用大小和衰減

[英]How to use size and decay in nnet

我對神經網絡世界很陌生,所以我要求你理解。 我正在生成一些測試,因此我對參數sizedecay有疑問。 我使用caret包和方法nnet 示例數據集:

require(mlbench)
require(caret)
require (nnet)

data(Sonar)
mydata=Sonar[,1:12] 

set.seed(54878)
ctrl = trainControl(method="cv", number=10,returnResamp = "all")
for_train= createDataPartition(mydata$V12, p=.70, list=FALSE) 
my_train=mydata[for_train,]
my_test=mydata[-for_train,] 

t.grid=expand.grid(size=5,decay=0.2)
mymodel = train(V12~ .,data=my_train,method="nnet",metric="Rsquared",trControl=ctrl,tuneGrid=t.grid) 

所以,有兩個是我的問題。 首先,這是使用nnet方法的最佳方式嗎?其次,我已經讀過大小和衰減(例如,R中nnet函數中衰減參數的目的 )但我無法理解如何在實踐中使用它們這里。 有人可以幫忙嗎?

簡短的Caret解釋

Caret軟件包允許您使用交叉驗證(Hold-Out或K-fold)或Bootstrap來訓練不同的模型和調整超參數。

使用Caret調整超參數有兩種不同的方法:網格搜索和隨機搜索。 如果使用網格搜索(蠻力),則需要根據您的先前知識為每個參數定義網格,或者您可以修復一些參數並迭代剩余參數。 如果使用隨機搜索,則需要指定調整長度(最大迭代次數),Caret將使用超參數的隨機值,直到停止條件成立。

無論您選擇何種方法,Caret都將使用每個超參數組合來訓練模型並計算性能指標,如下所示:

  1. 將初始訓練樣本分為兩組:訓練和驗證(用於自舉或交叉驗證)和k組(用於k折交叉驗證)。

  2. 使用訓練集訓練模型並預測驗證集(用於交叉驗證保持和引導)。 或者使用k-1訓練集並使用第k個訓練集進行預測(用於K-fold交叉驗證)。

  3. 在驗證集上,Caret將一些性能指標計算為ROC,Accuracy ......

  4. 一旦網格搜索完成或調整長度完成,Caret使用性能指標根據先前定義的標准選擇最佳模型(您可以使用ROC,准確度,敏感度,RSquared,RMSE ....)

  5. 您可以創建一些圖來理解重采樣配置文件並選擇最佳模型(請記住性能和復雜性)

如果您需要有關Caret的更多信息,請查看Caret網頁

基於Caret的神經網絡訓練過程

當您使用Caret訓練神經網絡(nnet)時,您需要指定兩個超參數: 大小衰減 大小是隱藏層中的單位數(nnet適合單個隱藏層神經網絡),衰減是正則化參數,以避免過度擬合。 請記住,對於每個R包,超參數的名稱都可以更改。

使用Caret訓練神經網絡進行分類的示例:

fitControl <- trainControl(method = "repeatedcv", 
                           number = 10, 
                           repeats = 5, 
                           classProbs = TRUE, 
                           summaryFunction = twoClassSummary)

nnetGrid <-  expand.grid(size = seq(from = 1, to = 10, by = 1),
                        decay = seq(from = 0.1, to = 0.5, by = 0.1))

nnetFit <- train(Label ~ ., 
                 data = Training[, ],
                 method = "nnet",
                 metric = "ROC",
                 trControl = fitControl,
                 tuneGrid = nnetGrid,
                 verbose = FALSE)

最后,您可以制作一些圖來了解重采樣結果。 以下圖是從GBM培訓過程生成的

使用Caret的GBM培訓流程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM