Использование модели CNN Кераса с SVM Sklearn для двоичной классификации (подход повышения или голосования)? - PullRequest
0 голосов
/ 01 августа 2020

Я пытаюсь применить ансамблевый подход к моей модели двоичной классификации спама. Спам-изображения - это любое изображение в мире, которое не является изображением вопроса, написанного от руки или учебника . У меня есть не-спам изображения:

enter image description here

So these images follow some interesting patterns

  1. Most of the images have width>height so I extracted a feature of the ratio
  2. Most of the images are having light background with dark foreground so I calculated grayscale_image.std()
  3. I used the method to вычислить красочность изображения с помощью OpenCv на основе статьи Хаслера и Зюстранка 2003 года и обнаружил, что большая часть моих Non-spam Image (почти 97,5%) попадает в диапазон <= 20,0, а 99,1% - в диапазон <= 30. Но для изображений спама оно увеличивается до 150. </li>

Итак, я пытаюсь использовать эти 3 функции в своей модели. Я использую этот первый раз, поэтому понятия не имею, как мне использовать Ensemble. Давайте предположим, что у меня есть обученная модель CNN с 1 плотным слоем из 256 нейронов и последним слоем Sigmoid с 1 нейроном. (или Softmax with 2)

in_ = Input(shape)
...
....
second_last = Dense(256,activation='relu')(prev_out)
out_ = Dense(1,activation='sigmoid')(second_last)
model = Model(in_,out_)

Таким образом, мои 2 вывода кандидатов после обучения будут:

  1. probs = model.predict (X_train)
  2. model2 = Model (in_, second_last) -> feat_254 = model2.predict (X_train)
  • Должен ли я использовать Вероятности последнего слоя или Второй последний слой 256 особенности ? Таким образом, это будет метод последовательного повышения, в котором SVM использует выходные данные CNN.
  • Или мне следует использовать только эти 3 функции с Average Voting или Weighted Voting (с весами, присвоенными каждой модели на основе какова оценка% f-1 для каждой модели) для окончательных вероятностей?

Какой вариант должен давать лучшие результаты? Может ли кто-нибудь предоставить фиктивный код и для этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...