Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

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

Узел «Нейронная сеть» позволяет строить нейросеть типа MLP (multilayer perceptron, многослойный перцептрон), в которой входной сигнал преобразуется в выходной, проходя последовательно через несколько слоевскрытые слои.

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

Архитектура нейронной сети

...

Обучение нейронной сети

Обучение нейронной сети является итерационным процессом (задается параметром Количество итераций), которое заключается в нахождении весов и состоит из следующих больших этапов:

...

параметров модели (весов и смещений). На каждой итерации происходит два прохода сети:

  1. Настройка нейронной сети начинается с Прямого распространения.  Данные (задается параметром Количество наблюдений для одной итерации) подаются на вход сети, через все слои (и нейроны в них) распространяются в направлении выходов. Этот процесс называется Прямым проходом (Forward propagation). Итог – на данном этапе генерируются выходные значения.
  2. Выходные данные сети сравниваются с ожидаемыми, и вычисляется ошибка. Эта ошибка обратно распространяется по сети, с ее учетом корректируются веса. Этот процесс называется Обратным распространением ошибки (Backward propagation)

...

  1. , в ходе чего случайным образом генерируются значения весовых коэффициентов и смещений модели. Таким образом, формируются выходные значения. Далее фактические выходные значения оцениваются относительно ожидаемых выходных значений (целевых значений, target) с помощью функции потерь (задается параметрами Метрика для ранней остановки (регрессия) или Метрика для ранней остановки (классификация) в зависимости от решаемой задачи).
  2. Обратное распространение ошибки (Backward propagation) направлено на минимизацию функции потерь путем корректировки параметров нейронной сети (весов и смещений нейронов). Скорректировать эти параметры позволяют методы оптимизации на основе градиентного спуска (задается параметром Метод оптимизации).

Процесс оптимизации будет выполняться до тех пор, пока не будет достигнут критерий остановки (задается параметрами Ранняя остановка, Погрешность оптимизации и Количество итераций).

Список параметров узла

Список параметров узла представлен в таблице ниже.

Scroll Title
title-positiontop
title-alignmentright
titleПараметры узла «Нейронная сеть»

Параметр

Возможные значения и ограничения

Описание

Название

Ручной ввод
Ограничений на значение нет

Название узла, которое будет отображаться в интерфейсе

Описание

Ручной ввод
Ограничений на значение нет

Описание узла

Количество нейронов в скрытом слое

Для изменения количества нейронов и слоев необходимо:

  • Выбрать кнопку Изменить
  • Добавить необходимое количество слоев (Иконка позволяет добавить скрытый слой)
  • Указать необходимое число нейронов в каждом слое
  • Выбрать кнопку «Сохранить»
    По умолчанию — 1 слой, в котором 100 нейронов

Данный параметр задает количество скрытых слоев и нейронов в скрытых слоях

Функция активации

Раскрывающийся список со следующими значениями:

  • Identity
  • logistic
  • tanh
  • relu (по умолчанию)

Данный параметр задает функцию активации для скрытых слоев. Предусмотрены следующие функции:

  • Identity –  линейная функция, результат пропорционален переданному аргументу 

    LaTeX Unit
    bodyf(x) = x

  • logistic – сигмоидная (логистическая) функция
    LaTeX Unit
    bodyf--uriencoded--\sigma(x) = 1 / (1 + exp(-x))\frac%7B1%7D %7B1 + e%5e%7B-x%7D%7D
  • tanh – функция гиперболического тангенса тангенса 
  • LaTeX Unit
    body--uriencoded--f(x) = tanh(x) = \frac%7Be%5ex - e%5e%7B-x%7D%7D%7Be%5ex + e%5e%7B-x%7D%7D = \frac%7B1 - e%5e%7B-2x%7D%7D%7B1 + e%5e%7B-2x%7D%7D
  • relu – функция активации ReLu (Rectified Linear Unit)
    LaTeX Unit
    bodyf(x) = max(0, x)

Метод оптимизации

Раскрывающийся список со следующими значениями:

  • lbfgs
  • sgd
  • adam (по умолчанию)

Данный параметр задает метод оптимизации, который будет использоваться для обновления весов нейронов скрытых слоев нейронной сети. Предусмотрены следующие методы:

  • sgd – стохастический градиентный спуск.
  • lbfgs – алгоритм оптимизации из семейства квазиньютоновских методов, который аппроксимирует алгоритм Бройдена–Флетчера–Гольдфарба–Шанно (BFGS) с использованием ограниченного объема памяти.
  • adam метод адаптивной оценки моментов
Информация
titleПримечание

Метод SGD стоит использовать на небольшихсбалансированныхнаборахданных, в которых достаточно равномерно представлены элементы каждого класса. В случае несбалансированностиисходнойвыборки, стохастический градиент не производит качественного распознавания редких значений признаков, также низкая скорость сходимости проявляется на большом объеме данных.

Метод adam довольно хорошо работает с большими наборами данных с точки зрения как времени обучения, так и валидационной оценки. Однако для небольших наборов данных метод lbfgs может сходиться быстрее и работать лучше.

L2 регуляризация

Ручной ввод
Неотрицательное число
По умолчанию — 0,0001

Данный параметр задает значение L2-регуляризации

Правило определения скорости обучения

Раскрывающийся список со следующими значениями:

  • constant (по умолчанию)
  • invscalling
  • adaptive

Данный параметр задает правило определения скорости обучения для обновления веса. Предусмотрены следующие варианты:

  • constant – постоянная скорость обучения, которая задается в параметре Начальная скорость обучения
  • invscalling – постепенно снижает скорость обучения на каждом шаге, используя показатель обратный указанному в параметре Показатель степени для изменения скорости обучения
  • adaptive – поддерживает скорость обучения постоянной на уровне значения, указанного в параметре Начальная скорость обучения, пока потери при обучении продолжают уменьшаться. Каждый раз, когда две последовательные эпохи не могут уменьшить потери при обучении по крайней мере на значение, указанное в параметре Погрешность оптимизации, или не могут увеличить оценку проверки по крайней мере на это же значение, если включена Ранняя остановка, текущая скорость обучения делится на 5.
Информация
titleПримечание

Данный параметр можно задать только в случае выбранного метода оптимизации sgd.

Начальная скорость обучения

Ручной ввод
Число больше 0
По умолчанию — 0,001

Данный параметр задает начальную скорость обучения, которая управляет размером шага при обновлении весов.

Информация
titleПримечание

Данный параметр можно задать только в случае выбранного метода оптимизации sgd или adam.

Показатель степени для изменения скорости обучения

Ручной ввод
Число больше 0
По умолчанию — 0,5

Данный параметр

залает

задает показатель степени для изменения скорости обучения, который используется для обновления скорости обучения, когда для параметра Правило определения скорости обучения указано значение invscalling.

Информация
titleПримечание

Данный параметр можно задать только в случае выбранного метода оптимизации sgd.

Перемешивание наблюдений

Чекбокс

Выбор данного чекбокса указывает на необходимость перемешать наблюдения в каждой итерации.

Информация
titleПримечание

Данный параметр можно задать только в случае выбранного метода оптимизации sgd или adam.

Seed

Ручной ввод числового значения
По умолчанию — 42

Начальное числовое значение для генератора случайных чисел.
Используется для воспроизведения результатов при повторном запуске узла

Максимальное количество итераций (эпох)

Ручной ввод
Число больше 0
По умолчанию — 200

Данный параметр задает максимальное количество итераций. Оптимизатор выполняет итерации до сходимости (определяемой значением параметра Погрешность оптимизации) или до указанного количества итераций.

Количество наблюдений для одной итерации

Ручной ввод
Число больше 0
По умолчанию — 200

Данный параметр задает количество наблюдений для одной итерации

Ранняя остановка

Чекбокс

Выбор данного чекбокса указывает на необходимость ранней остановки алгоритма, если валидационная оценка не улучшается на значение, указанное в параметре Погрешность оптимизации, в течение указанного в параметре Количество итераций без существенного улучшения значения.

Информация
titleПримечание

Ранняя остановка эффективна только в случае выбранного метода оптимизации sgd или adam.

Метрика для ранней остановки (регрессия)

Раскрывающийся список со следующими значениями:

  • MSE (по умолчанию)
  • MAE
  • MAPE
  • R2

Данный параметр задает метрику для ранней остановки (задача регрессии). Предусмотрены следующие метрики:

  • MSE – среднеквадратичная ошибка
  • MAE – средняя абсолютная ошибка
  • MAPE – средняя абсолютная ошибка в процентах
  • R2 – коэффициент детерминации

Метрика для ранней остановки (классификация)

Раскрывающийся список со следующими значениями:

  • Logloss (по умолчанию)
  • Accuracy
  • MCC
  • AUC ROC

Данный параметр задает метрику для ранней остановки (задача классификации). Предусмотрены следующие метрики:

  • Logloss – логистическая функция потерь
  • Accuracy – доля правильных ответов алгоритма
  • MCC – коэффициент корреляции Мэтьюза
  • AUC ROC – площадь под ROC-кривой

Размер валидационной выборки для ранней остановки (%)

Ручной ввод
Число больше 0 и меньше 1
По умолчанию — 0,1

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

Количество итераций без существенного улучшения

Ручной ввод
Число больше 0
По умолчанию — 10

Данный параметр задает количество итераций без существенного улучшения

Информация
titleПримечание

Данный параметр можно задать только в случае выбранного метода оптимизации sgd или adam.

Погрешность оптимизации

Ручной ввод
Число больше 0
По умолчанию — 0,0001

Данный параметр задает допустимую погрешность для оптимизации. В случае, если потери не улучшаются на указанное значение в течение указанного в параметре Количество итераций без существенного улучшения числа, то считается, что сходимость достигнута, и обучение останавливается.

Инерция

Ручной ввод
Число больше или равно 0 и меньше или равно 1
По умолчанию — 0,9

Данный параметр задает инерцию для обновления градиентного спуска

Информация
titleПримечание

Данный параметр можно задать только в случае выбранного метода оптимизации sgd


Использовать инерцию Нестерова

Чекбокс

Выбор данного чекбокса указывает на необходимость использовать инерцию Нестерова

Информация
titleПримечание

Данный параметр можно задать только в случае выбранного метода оптимизации sgd и значения Инерции > 0


Beta 1

Ручной ввод
Число больше 0 и меньше 1
По умолчанию — 0,9

Данный параметр задает скорость экспоненциального убывания для оценок вектора первого момента при методе оптимизации adam

Beta 2

Ручной ввод
Число больше 0 и меньше 1
По умолчанию — 0,999

Данный параметр задает скорость экспоненциального убывания для оценок вектора второго момента при методе оптимизации adam

Epsilon

Ручной ввод
Число больше 0
По умолчанию — 1e-8

Данный параметр задает значение числовой устойчивости при методе оптимизации adam

Стандартизация

Раскрывающийся список со следующими значениями:

  • No (по умолчанию)
  • std
  • range

Данные Данный параметр отвечает за выбор метода стандартизации данных. числовых переменных.
Стандартизация – преобразование числовых наблюдений с целью приведения их к некоторой общей шкале. Необходимость стандартизации вызвана тем, что разные признаки из обучающего набора могут быть представлены в разных масштабах и изменяться в разных диапазонах, что влияет на выявление некорректных зависимостей моделью.

Предусмотрены следующие методы:

  • no — стандартизация не нужна
  • std — стандартное отклонение - преобразует наблюдения таким образом, чтобы их среднее значение равнялось нулю, а стандартное отклонение равнялось 1.
  • range — диапазон - линейно преобразует значения переменных в диапазон [0, 1].

Максимальное количество вызовов целевой функции

Ручной ввод целочисленного значения больше 0
По молчанию - 15000

Данный параметр задает максимальное количество вызовов функции потерь. Т.е. алгоритм выполняет итерации до сходимости (параметр Погрешность оптимизации), если количество итераций достигает значения параметра Максимальное количество итераций или заданного значения параметра вызова функции потерь.

Информация
titleПримечание

Данный параметр можно задать только в случае выбранного метода оптимизации lbfgs


Результаты выполнения узла

...


Узел «Нейронная сеть» имеет разные результаты в зависимости от решаемой задачи.


Раскрыть
titleРезультаты бинарной классификации представлены следующими объектами:
  • График ROC.


Scroll Title

Image Modified


  • График Lift.


Scroll Title

Image Modified


  • График Cumulative Lift.


Scroll Title

Image Modified


  • График Gain.


Scroll Title

Image Modified


  • График Cumulative Gain.


Scroll Title

Image Modified


  • График потери точности.


Scroll Title

Image Modified


  • Таблица с метриками качества модели.


Scroll Title

Image Modified


  • Таблица с метриками качества модели задачи классификации.


Scroll Title

Image Modified

Раскрыть
titleРезультаты многоклассовой классификации представлены следующими объектами:
  • График потери точности.


Scroll Title

Image Modified



  • Таблица с метриками качества модели.


Scroll Title

Image Modified


  • Таблица с метриками качества модели задачи классификации.


Scroll Title

Image Modified

Раскрыть
titleРезультаты регрессии представлены следующими объектами:
  • Тепловые карты для обучающей, валидационной и тестовой выборок.


Scroll Title

Image Modified


  • График потери точности.


Scroll Title

Image Modified


  • Таблица с метриками качества модели.


Scroll Title

Image Modified


  • Таблицы с метриками качества в разбиениях обучающей и валидационной выборках.


Scroll Title

Image Modified