В чем разница между SVM и этим KerasClassifier? - PullRequest
0 голосов
/ 29 апреля 2020

Я реализовал KerasClassifier, как показано ниже

def create_baseline():
# create model
model = Sequential()
model.add(layers.Dense(5, input_dim=5, activation='relu', name="input")) 
model.add(layers.Dense(1, activation='sigmoid', name="output"))

# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
return model

estimator = KerasClassifier(build_fn=create_baseline, epochs=100, batch_size=2, verbose=2)

Теперь у меня вопрос, что это за классификатор сейчас? Это линейный классификатор или SVM или что-то совсем другое? Как можно сделать классификатор SVM, просто изменив его на

model = Sequential()
model.add(layers.Dense(5, input_dim=5, name="input")) 
model.add(layers.Dense(1,  activation='linear',kernel_regularizer=tf.keras.regularizers.l2(), name="out"))

# Compile model
 model.compile(loss='hinge',
               optimizer='adam',
               metrics=['accuracy'])

Как я могу описать, почему я выбираю один из них в начале? Это просто попытка взять лучшее или есть определенные c правила, почему я выбираю одно из них или что-то совершенно другое, например BoostedTree, ..

...