-
Notifications
You must be signed in to change notification settings - Fork 8
Loss Functions
StanislavGrigoriev edited this page Jan 7, 2020
·
2 revisions
EasyCNTK имеет несколько стандартных функций потерь, а так же позволяет создавать свои собственные. Перечень стандартных функций потерь:
- AbsoluteError
- SquaredError
- BiasError
- BinaryCrossEntropyError
- WeightedBinaryCrossEntropyError
- CrossEntropyWithSoftmaxError
- ClassificationError - Функция ошибки при бинарной, одноклассовой и многоклассовой классификации. Допускается использование с Softmax выходом, при этом создается условие классификации: класс должен иметь вероятность выше заданного порога, иначе он не будет классифицирован. Обычно передается как функция оценки в параметре eval метода Fit
Для использования собственных функций потерь необходимо реализовать абстрактный класс Loss.
Функция потерь BiasError представляет собой среднюю ошибку смещения и вычисляется по формуле: BiasError = E(x-y)
, где для каждого значения факта y
и прогноза x
вычисляется абсолютная разница и усредняется для всех наблюдений. В EasyCNTK достаточно реализовать вычислительную логику для одного наблюдения.
public sealed class BiasError : Loss
{
public override Function GetLoss(Variable prediction, Variable targets, DeviceDescriptor device)
{
return CNTKLib.Minus(prediction, targets);
}
}