Keras

8
में एक भविष्यवाणी प्राप्त करने

मैं सफलतापूर्वक Keras में एक साधारण मॉडल छवियों को वर्गीकृत करने के लिए प्रशिक्षित किया है:Keras

model = Sequential() 

model.add(Convolution2D(32, 3, 3, border_mode='valid', input_shape=(img_channels, img_rows, img_cols), 
         activation='relu', name='conv1_1')) 
model.add(Convolution2D(32, 3, 3, activation='relu', name='conv1_2')) 
model.add(MaxPooling2D(pool_size=(2, 2))) 
model.add(Dropout(0.25)) 

model.add(Convolution2D(64, 3, 3, border_mode='valid', activation='relu', name='conv2_1')) 
model.add(Convolution2D(64, 3, 3, activation='relu', name='conv2_2')) 
model.add(MaxPooling2D(pool_size=(2, 2))) 
model.add(Dropout(0.25)) 

model.add(Flatten()) 
model.add(Dense(512, activation='relu')) 
model.add(Dropout(0.5)) 

model.add(Dense(nb_classes, activation='softmax')) 

model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy']) 

मैं भी छवि वर्गों की भविष्यवाणी कर सकते

y_pred = model.predict_classes(img, 1, verbose=0) 

का उपयोग कर y_pred के उत्पादन में हमेशा होता है फिर भी द्विआधारी। यह predict_proba और predict का उपयोग करते समय भी ऐसा प्रतीत होता है। मेरे आउटपुट इस फार्म

[[ 1. 0. 0. 0.]] 
[[ 0. 1. 0. 0.]] 

यह ठीक काम करता है में हैं, लेकिन मैं उदाहरण

[[ 0.8 0.1 0.1 0.4]] 

मैं कैसे Keras में यह मिलता है के लिए, प्रत्येक वर्गीकरण के लिए एक संभावना प्रतिशत करना चाहते हैं?

उत्तर

1

सॉफ़्टमैक्स आउटपुट की तरह "एक-गर्म" उत्पन्न कर सकता है। निम्न उदाहरण पर विचार करें:

# Input; Exponent; Softmax value 
20 485165195 0.99994 
9   8103 0.00002 
5   148 0.00000 
10  22026 0.00005 
------------------------ 
# Sum 485195473 1 

घातीय समारोह बहुत तेजी से शुरू होता है softmax परिमाण 1. के आदेश Keras implementation of the softmax function में अधिकतम मूल्य इनपुट से घटाया जाता है से शुरू उत्पादन की तरह एक गर्म उपज बढ़ता है के बाद से, लेकिन में कहा गया है उपरोक्त मामले में इससे कोई फर्क नहीं पड़ता है।

संभव इसे ठीक करने के तरीके: इतना है कि पिक्सल मूल्यों 0 और 1 के बीच हैं

  1. , सुनिश्चित करें कि इनपुट छवियों पुनः पैमाना कर रहे हैं।

  2. अपने मॉडल में कुछ regularizers जोड़ें।

संबंधित मुद्दे