Как сделать функцию потерь триплета перед обучением ядра rbf - PullRequest
0 голосов
/ 09 мая 2020

Я работаю над проектом face recognition, где тренирую ядро ​​rbf на наборе данных из двух человек, каждый из которых имеет 10 изображений. Я заметил, что это нормально, но для некоторых тестовых изображений уверенность немного низкая. Я читал в Интернете и читал о triplet loss function, где мы пытаемся сохранить расстояние между anchor и positive изображениями меньше и расстояние между anchor и negative изображениями большим.

Я подумал применить это к моему набору данных перед обучением модели, чтобы повысить точность. Вот как я тренируюсь:

params = {"C": [0.001, 0.01, 0.1, 1.0, 10.0, 100.0, 1000.0], "gamma": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]}
model = GridSearchCV(SVC(kernel="rbf", gamma="auto", probability=True), params, cv=2, n_jobs=-1)

model.fit(data["embeddings"], labels)

У меня нет сценария python для применения функции потери триплетов. Может ли кто-нибудь указать мне в правильном направлении и сослаться на несколько хороших статей по этому поводу. Пожалуйста помоги. Спасибо

...