Поскольку ранее уже были опубликованы коды методов для нормирования входных данных, а также классы для ядерных преобразований, то теперь самое время опубликовать код метода, с помощью которого будут выводиться результаты обученного бинарного классификатора при предъявлении ему какого нибудь паттерна.
Код на Java:
private KernelTrick trick = null;
/**
* Весовые коэффициенты нейронной сети
*/
private double[] weights = null;
/**
* Получение результатов обученного искусственного нейрона
* @param pattern ненормированные входные значения для предъявления нейрону
* @return результат
*/
public double getDecision(double[] pattern) {
double[] sample = new double[this.maxs.length];
for (int i = 0; i < sample.length; i++) {
sample[i] = this.convertToRange(pattern[i], this.maxs[i], this.mins[i]);
if (sample[i] > 1d) {
sample[i] = 1d;
}
if (sample[i] < -1d) {
sample[i] = -1d;
}
}
sample = this.trick.getTransformData(sample);
double result = 0d;
for (int i = 0; i < sample.length; i++) {
result = result + sample[i] * this.weights[i];
}
return result;
}
Комментариев нет:
Отправить комментарий