Пользовательская функция потерь Keras для оптимизации оцениваемых вероятностей - PullRequest
1 голос
/ 06 января 2020

Набор данных выглядит следующим образом:

In [5]: df.head()
Out[5]: 
    _unit_id   category  category:confidence                                          image_url
0  851505458       ikat               0.3487  http://s3-eu-west-1.amazonaws.com/we-attribute...
1  851505459      plain               1.0000  http://s3-eu-west-1.amazonaws.com/we-attribute...
2  851505460  polka dot               0.6709  http://s3-eu-west-1.amazonaws.com/we-attribute...
3  851505461      plain               1.0000  http://s3-eu-west-1.amazonaws.com/we-attribute...
4  851505462   geometry               0.7035  http://s3-eu-west-1.amazonaws.com/we-attribute...

Здесь _unit_id содержит список изображений, image_url содержит ссылку на него, category определяет его метку (всего 17) и category:confidence - вероятность того, что данный ярлык верный. Поскольку доверительная оценка не является распределением вероятностей, а скорее вероятностью наиболее вероятного класса, я подумал, что если вероятность первой записи (например) равна 0.3487, то вероятность остальных классов может быть равномерно распределена как (1-0.3487)/16. Тогда вероятности из softmax и эти оцененные вероятности могут быть оптимизированы с помощью MSE или перекрестной энтропии. Так как пользовательская функция потерь принимает только yTrue и yPred, я не знаю, как с этим справиться. Нужны подсказки. Если любой другой эффективный подход тогда предлагает!

...