Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 16 Следующий »

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

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

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

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

Строение искусственного нейрона


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


Слои нейронной сети


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

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

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



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


Параметры узла «Нейронная сеть»

Параметр

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

Описание

Название

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

    f(x) = x
  • logistic – сигмоида

f(x) = 1 / (1 + exp(-x))

  • tanh – гиперболический тангенс f(x) = tanh(x)
  • relu – функция активации ReLu f(x) = max(0, x)

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чекбокс

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

Seed

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

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

Максимальное количество итераций

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

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

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

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

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

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

Чекбокс

Выбор данного чекбокса указывает на необходимость ранней остановки алгоритма, если валидационная оценка не улучшается на значение, указанное в параметре Погрешность оптимизации, в течение указанного в параметре Количество итераций без существенного улучшения значения.
Ранняя остановка эффективна только в случае выбранного метода оптимизации 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

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

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

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

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

Инерция

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

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

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

Чекбокс

Выбор данного чекбокса указывает на необходимость использовать инерцию Нестерова
Данный параметр можно задать только в случае выбранного метода оптимизации 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

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


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


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


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

  • График ROC.




  • График Lift.




  • График Cumulative Lift.




  • График Gain.




  • График Cumulative Gain.




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




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




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




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

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



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



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



Результаты регрессии представлены следующими объектами:

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



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



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



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


  • Нет меток