2017-04-07 161 views
0

在我的項目中,負面實例遠遠多於正面實例,所以我想給予更大權重的正面實例。 我的目標是:在tensorflow中定義的損失函數?

loss = 0.0 
if y_label==1:loss += 100 * cross_entropy 
else:loss += cross_entropy 

如何tensorflow realizate這個

回答

0

losses是損耗值的向量(等級1張量)在批次例子[?]。並且讓y成爲相應標籤的向量。然後,您可以通過

weights = w_pos*y + w_neg*(1.0-y) 
loss = tf.reduce_mean(weights*losses) 

在這裏實現你想要的結果,w_posw_neg是恆定的標量值(在你的榜樣w_pos=100.0w_neg=1.0)。 weights的值爲w_pos,其中標籤等於1,而w_neg等於0.然後將weights元素與losses相乘,以根據相應標籤對losses中的值進行加權,然後取平均值。

+0

謝謝,我實現了編碼。 –