Строим первую нейронную сеть #
Восстановление зависимостей #
Размеченная обучающая выборка состоит из объектов, для которых мы знаем:
- некоторые признаки
- метку объекта
Хорошей практикой является разделение датасета на три поддатасета:
- train (используется непосредственно для обучения модели)
- valid (используется для подстраивания параметров обучения нашей модели)
- test (используется для проверки окончательного результата)
Компоненты нейронной сети #
- Архитектура нейронной сети
- Функции потерь (способ определения результата работы создаваемой сети; минимум этой функции соответствует оптимально настроенной сети)
- Метод оптимизации (говорит о том, как именно нужно изменить настройки сети для минимизации функции потерь)
- Метрики (показывают насколько успешно сеть решает поставленную задачу; например: точность; в отличии от функции потерь могут быть не дифференцируемыми)
Результирующая зависимость - сумма сигмоидных функций с соответствующими параметрами.
Функция потерь #
Для задач восстановления скрытых зависимостей зачастую в качестве функции потерь используют функцию среднего квадрата ошибки (MSE, mean squared error):
MSE=(1/N)*sum_N_i=1(y_av_i - y_i)^2
где:
- y_av_i - результат работы сети
- y_i - целевые значения
То есть это сумма квадратов отклонения полученных результатов от ожидаемых значений.
Алгоритмы настройки нейронной сети #
Градиентный спуск #
w0 - вектор весов, который содержит все значения весов и смещений, которые используются в сети.
Градиент функции потерь - вектор, состоящий из производных по каждой из координат функции. Градиент указывает в сторону наибольшего роста функции потерь => требуется сделать шаг из точки w0 в направлении обратном направлению градиента. Далее шаги повторяются.
Градиентный спуск находит минимум функции, но не гарантирует нахождения оптимального минимума.
Ограничения, накладываемые на функцию потерь:
- должна быть дифференцируемой (если в некотором множестве точек производная не определена, ее можно доопределить)
- производная функции потерь не должна быть равна нулю в большинстве точек
Правило цепочки (правило производной сложной функции) #
Граф вычисления - порядок вычисления сложной функции.