Лекция 4. Примеры решения задач Machine Learning с помощью нейронных сетей. Часть 2

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

Лекция №4 в курсе "Анализ данных на R в примерах и задачах, часть 2" (весна 2017).
Преподаватель курса: Вадим Леонардович Аббакумов
Рекомендации по теме
Комментарии
Автор

Интересно лектор рассказывает, спасибо!

andreykoshkarov
Автор

50 мин. -
# algorithm did not converge in 1 of 1 repetition(s) within the stepmax
Фиксируемая ERROR говорит о том, что Метод не обеспечивает порог схождения threshold=0.01 за stepmax=1е+5 и выдает ошибку
Что говорит либо о заведомо плохой Архитектуре НС либо об ошибках в коде. Если проблема в архитектуре, то:
Лечится просто - увеличиваем порог сходимости с 0.01 (по умолчанию) до, например threshold = 0.02 или 0.05
nn.temp <- neuralnet( f, data=olv.train, hidden = hidden.n, linear.output=FALSE, threshold = 0.05)

ЕвгенийЛучко-щц
Автор

а как же сбалансированность Классов (кол-во наблюдений каждого региона)?
table(olive$region) # кол-во наблюдений каждого Класса - "region"
# 1 2 3
# 323 98 151
Хм. не смотря на несбалансированность - метод отлично прогнозирует!

ЕвгенийЛучко-щц
Автор

56 мин -
Т.к. я выборки балансировал у меня такой дилемы нет.
Т.е. результаты на обучающей выборке ВСЕГДА лучше чем на тестовой.
для hidden = 7
error.best.train # [1] 0.2597402597
error.best.test # [1] 6.951871658
cbind(error.train, error.test) # таблица % ошибок для каждого прогона
# error.train error.test
# [1, ] 0.5195 8.021
# [2, ] 1.0390 8.021
# [3, ] 0.5195 8.021
# [4, ] 1.0390 8.021
# [5, ] 0.2597 10.160
# [6, ] 0.7792 9.091
# [7, ] 0.5195 9.091
# [8, ] 1.0390 9.626
# [9, ] 1.0390 6.952
# [10, ] 1.2987 7.487

ЕвгенийЛучко-щц