मैं अनिश्चित कैसे निम्नलिखित स्थिति में Keras के डिफ़ॉल्ट व्यवहार की व्याख्या करने के हूँ:केरास मल्टीलाबेल वर्गीकरण को कैसे संभालता है?
मेरे वाई (जमीनी सच्चाई) की MultilabelBinarizer
() scikit-जानने का उपयोग कर स्थापित किया गया था।
इसलिए, एक यादृच्छिक उदाहरण देने के लिए, मेरे y
कॉलम की एक पंक्ति एक-गर्म एन्कोडेड है: [0,0,0,1,0,1,0,0,0,0,1]
।
तो मेरे पास 11 कक्षाएं हैं जिनकी भविष्यवाणी की जा सकती है, और एक से अधिक सत्य हो सकते हैं; इसलिए समस्या की multilabel प्रकृति। इस विशेष नमूने के लिए तीन लेबल हैं।
मैं मॉडल को प्रशिक्षित करता हूं क्योंकि मैं एक गैर multilabel समस्या (सामान्य रूप से व्यापार) के लिए होगा और मुझे कोई त्रुटि नहीं है।
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
from keras.optimizers import SGD
model = Sequential()
model.add(Dense(5000, activation='relu', input_dim=X_train.shape[1]))
model.add(Dropout(0.1))
model.add(Dense(600, activation='relu'))
model.add(Dropout(0.1))
model.add(Dense(y_train.shape[1], activation='softmax'))
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer=sgd,
metrics=['accuracy',])
model.fit(X_train, y_train,epochs=5,batch_size=2000)
score = model.evaluate(X_test, y_test, batch_size=2000)
score
Keras क्या करें जब यह मेरे y_train
का सामना करना पड़ता है और देखता है कि यह "बहु" एक गर्म इनकोडिंग है, जिसका अर्थ है y_train
की प्रत्येक पंक्ति में एक से अधिक 'एक' वर्तमान करता है? असल में, क्या केरा स्वचालित रूप से मल्टीलाबेल वर्गीकरण करते हैं? स्कोरिंग मीट्रिक की व्याख्या में कोई अंतर?
धन्यवाद, तो आप कई द्विआधारी वर्गीकरण समस्याओं में मेरी multilabel समस्या विघटित कह रहे हैं? केरास कैसे जानता है कि मैं इसे एक मल्टीलाबेल वर्गीकरण कार्य दे रहा हूं? – user798719
हां, यह सही है। केरास को वास्तव में पता नहीं है। 'सिग्मोइड 'और' बाइनरी_crossentropy' का उपयोग करके, लेबल अलग-अलग सुधार किए जाएंगे, और इस तरह आप मल्टीलाबेल कार्य के लिए चाहते हैं, है ना? – frankyjuang
आपको कक्षाएं कैसे मिलेंगी जिनमें 1 है –