Искусственная нейронная сеть представляет собой сложную дифференцируемую функцию, которая в процессе обучения способна выявлять сложные зависимости между входными и выходными данными и выполнять обобщение.
Узел «Нейронная сеть» позволяет строить нейросеть типа MLP (multilayer perceptron, многослойный перцептрон), в которой входной сигнал преобразуется в выходной, проходя последовательно через несколько слоев.
Архитектура нейронной сети
Нейрон – базовый элемент для построения искусственной нейронной сети (далее просто нейронной сети). Представляет собой вычислительный элемент, который имеет несколько входов и один выход. Каждый вход имеет некоторый вес, на который умножается поступившее на данный вход значение. Далее в нейроне происходит суммирование взвешенных входных данных, и полученная сумма преобразуется с помощью функции активации в значение, которое и будет являться выходом нейрона.
В многослойных сетях нейроны сгруппированы в слои, причем каждый нейрон предыдущего слоя связан со всеми нейронами следующего слоя, а внутри слоев связь между нейронами отсутствует.
Первый слой сети называется входным: его нейроны принимают элементы вектора признаков и передают их нейронам следующего слоя без какой-либо обработки.
Далее располагаются один или несколько скрытых слоев (число скрытых слоев и количество нейронов в них задается параметром Количество нейронов в скрытом слое, подробнее в таблице с описанием параметров ниже). Каждый нейрон в скрытом слое преобразует значения из предыдущего слоя с взвешенным линейным суммированием функцией активации, которая порождает более информативные признаковые описания, преобразую данные нелинейным образом (функция активации для скрытых слоев задается параметром Функция активации).
Последний слой – выходной, получает значения из последнего скрытого слоя и преобразует их в выходные значения сети исходя из решаемой задачи.
Список параметров узла представлен в таблице ниже.
Параметр | Возможные значения и ограничения | Описание | ||
---|---|---|---|---|
Название | Ручной ввод | Название узла, которое будет отображаться в интерфейсе | ||
Описание | Ручной ввод | Описание узла | ||
Количество нейронов в скрытом слое | Для изменения количества нейронов и слоев необходимо:
| Данный параметр задает количество скрытых слоев и нейронов в скрытых слоях | ||
Функция активации | Раскрывающийся список со следующими значениями:
| Данный параметр задает функцию активации для скрытых слоев. Предусмотрены следующие функции:
f(x) = 1 / (1 + exp(-x))
| ||
Метод оптимизации | Раскрывающийся список со следующими значениями:
| Данный параметр задает метод оптимизации, который будет использоваться для обновления весов нейронов скрытых слоев нейронной сети. Предусмотрены следующие методы:
Примечание Метод SGD стоит использовать на небольших сбалансированных наборах данных, в которых достаточно равномерно представлены элементы каждого класса. В случае несбалансированности исходной выборки, стохастический градиент не производит качественного распознавания редких значений признаков, также низкая скорость сходимости проявляется на большом объеме данных. Метод adam довольно хорошо работает с большими наборами данных с точки зрения как времени обучения, так и валидационной оценки. Однако для небольших наборов данных метод lbfgs может сходиться быстрее и работать лучше. | ||
L2 регуляризация | Ручной ввод | Данный параметр задает значение L2-регуляризации | ||
Правило определения скорости обучения | Раскрывающийся список со следующими значениями:
| Данный параметр задает правило определения скорости обучения для обновления веса. Предусмотрены следующие варианты:
| ||
Начальная скорость обучения | Ручной ввод | Данный параметр задает начальную скорость обучения, которая управляет размером шага при обновлении весов. | ||
Показатель степени для изменения скорости обучения | Ручной ввод | Данный параметр залает показатель степени для изменения скорости обучения, который используется для обновления скорости обучения, когда для параметра Правило определения скорости обучения указано значение invscalling. | ||
Перемешивание наблюдений | Чекбокс | Выбор данного чекбокса указывает на необходимость перемешать наблюдения в каждой итерации | ||
Seed | Ручной ввод числового значения | Начальное числовое значение для генератора случайных чисел | ||
Максимальное количество итераций | Ручной ввод | Данный параметр задает максимальное количество итераций. Оптимизатор выполняет итерации до сходимости (определяемой значением параметра Погрешность оптимизации) или до указанного количества итераций. | ||
Количество наблюдений для одной итерации | Ручной ввод | Данный параметр задает количество наблюдений для одной итерации | ||
Ранняя остановка | Чекбокс | Выбор данного чекбокса указывает на необходимость ранней остановки алгоритма, если валидационная оценка не улучшается на значение, указанное в параметре Погрешность оптимизации, в течение указанного в параметре Количество итераций без существенного улучшения значения. | ||
Метрика для ранней остановки (регрессия) | Раскрывающийся список со следующими значениями:
| Данный параметр задает метрику для ранней остановки (задача регрессии). Предусмотрены следующие метрики:
| ||
Метрика для ранней остановки (классификация) | Раскрывающийся список со следующими значениями:
| Данный параметр задает метрику для ранней остановки (задача классификации). Предусмотрены следующие метрики:
| ||
Размер валидационной выборки для ранней остановки (%) | Ручной ввод | Данный параметр задает долю обучающих данных, которые нужно отложить в качестве валидационного набора для ранней остановки. Используется только в случае выбора чекбокса Ранняя остановка. | ||
Количество итераций без существенного улучшения | Ручной ввод | Данный параметр задает количество итераций без существенного улучшения | ||
Погрешность оптимизации | Ручной ввод | Данный параметр задает допустимую погрешность для оптимизации. В случае, если потери не улучшаются на указанное значение в течение указанного в параметре Количество итераций без существенного улучшения числа, то считается, что сходимость достигнута, и обучение останавливается. | ||
Инерция | Ручной ввод | Данный параметр задает инерцию для обновления градиентного спуска | ||
Использовать инерцию Нестерова | Чекбокс | Выбор данного чекбокса указывает на необходимость использовать инерцию Нестерова | ||
Beta 1 | Ручной ввод | Данный параметр задает скорость экспоненциального убывания для оценок вектора первого момента при методе оптимизации adam | ||
Beta 2 | Ручной ввод | Данный параметр задает скорость экспоненциального убывания для оценок вектора второго момента при методе оптимизации adam | ||
Epsilon | Ручной ввод | Данный параметр задает значение числовой устойчивости при методе оптимизации adam | ||
Стандартизация | Раскрывающийся список со следующими значениями:
| Данные параметр отвечает за выбор метода стандартизации данных. Предусмотрены следующие методы:
| ||
Максимальное количество вызовов целевой функции | Ручной ввод целочисленного значения больше 0 | Данный параметр задает максимальное количество вызовов функции потерь. Т.е. алгоритм выполняет итерации до сходимости (параметр Погрешность оптимизации), если количество итераций достигает значения параметра Максимальное количество итераций или заданного значения параметра вызова функции потерь. |
Результаты выполнения узла:
Узел «Нейронная сеть» имеет разные результаты в зависимости от решаемой задачи.
Результаты бинарной классификации представлены следующими объектами:
- График ROC.
- График Lift.
- График Cumulative Lift.
- График Gain.
- График Cumulative Gain.
- График потери точности.
- Таблица с метриками качества модели.
- Таблица с метриками качества модели задачи классификации.
Результаты многоклассовой классификации представлены следующими объектами:
- График потери точности.
- Таблица с метриками качества модели.
- Таблица с метриками качества модели задачи классификации.
Результаты регрессии представлены следующими объектами:
- Тепловые карты для обучающей, валидационной и тестовой выборок.
- График потери точности.
- Таблица с метриками качества модели.
- Таблицы с метриками качества в разбиениях обучающей и валидационной выборках.