我有一個cntk模型,其中包含與點擊和其他信息相關的功能,並預測將來是否會點擊某些內容。然而,在randomforest中使用相同的功能可以很好地對cntk進行分類。1.爲什麼會發生這種情況?是否需要調整參數?這些功能具有不同的規模。 我乘坐的火車動作看起來是這樣的:CNTK分類模型分類全部1
BrainScriptNetworkBuilder = [
inputD = $inputD$
labelD = $labelD$
#hidden1 = $hidden1$
model(features) = {
w0 = ParameterTensor{(1 : 2), initValueScale=10}; b0 = ParameterTensor{1, initValueScale=10};
h1 = w0*features + b0; #hidden layer
z = Sigmoid (h1)
}.z
features = Input(inputD)
labels = Input(labelD)
z = model(features)
#now that we have output, find error
err = SquareError (labels, z)
lr = Logistic (labels, z)
output = z
criterionNodes = (err)
evaluationNodes = (err)
outputNodes = (z)
]
SGD = [
epochSize = 4 #learn
minibatchSize = 1 #learn
maxEpochs = 1000 #learn
learningRatesPerSample = 1
numMBsToShowResult = 10000
firstMBsToShowResult = 10
]
batchanormalization層z功能的歸一化?什麼樣的標準化可以完成? –
我指的是標準化,即'(x - mean)/ std'。但是,BatchNormalization可以用來做到這一點,並可能會表現更好。它實際上將學習規範化作爲你模型學習過程的一部分。據我所知,它使用均值和方差來標準化輸入。然而,它還有其他很多好處,例如減少過度擬合,減少仔細初始化的需要 - 這幾乎總是有好處。如果你有興趣,你可以在這裏閱讀更多關於它的細節(https://arxiv.org/abs/1502.03167)。 –