0
在反向傳播實現中,展開(將theta作爲一維向量)看起來是一個規範,然後將它們作爲參數傳遞給成本函數。爲什麼我們要「展開」神經網絡反向傳播中的theta?
爲了說明(我asuume 3層NN情況下):
def NNCostFunction(unrolled_thetas, input_layer_size, hidden_layer_size, num_labels, X, y):
# **ROLL AGAIN** unrolled_thetas to theta1, theta2 (3 layer assumption)
# Forward propagate to calculate the cost
# Then Back propagate to calculate the delta
return cost, gradient_theta1, gradient_theta2
是什麼讓我納悶的是: 爲什麼我們通過展開θ驅動的功能,然後再捲起來(形成θ驅動的原始形狀)裏面的函數?爲什麼我們不把原始的經濟理念傳遞給成本函數呢?
我想我並沒有在這裏掌握重要的東西。我們爲什麼要這樣做一定是有原因的。是否因爲大多數語言的優化實施只將θ作爲矢量?請闡明我的理解! 謝謝。