Translate

воскресенье, 7 декабря 2014 г.

Получение результатов обученного нейрона


Поскольку ранее уже были опубликованы коды методов для нормирования входных данных, а также классы для ядерных преобразований, то теперь самое время опубликовать код метода, с помощью которого будут выводиться результаты обученного бинарного классификатора при предъявлении ему какого нибудь паттерна.

Код на 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;
    }

Комментариев нет:

Отправить комментарий