Как стать автором
Обновить

Комментарии 8

Сеть №1: 20-22-1
Сеть №2: 20-26-1
Сеть №3: 20-27-1
Сеть №4: 20-16-1
А почему были выбраны именно такие параметры сети? Например разница между 20-26-1 и 20-27-1 практически отсутствует (по идее). Почему не 20-120-1, почему бы не увеличить число hidden layers?

Также было бы интересно посмотреть на learning curve для вашей системы.

Заранее извиняюсь за возможные ошибки, я не особенно в теме.
Поддерживаю. Очень странно увидеть только двуслойные сети, есть ли этому какое-нибудь обоснование?
Скорее всего, это обычная однослойная нейросеть: варьируется число нейронов скрытого слоя, входных элементов как было 20 — так 20 и осталось. Вроде ничего странного — универсальный аппроксиматор просто делает свое дело.

Вот чтото глубокое, для такой низкоразмерной задачи — действительно было бы очень странно увидеть :)
531 наблюдение * 70% обучающей выборки * 21 поле данных = 7806 датапоинтов. 20 * 27 + 27 = 567 синаптических связей максимум, 20 * 16 + 16 = 336 минимум. В принципе нормально. Но я бы выбрал архитектуру примерно 20-8-3-1.
В случае серьезных изменений на объекте сеть необходимо переобучить.

Вообще, как мне кажется, для постоянного использования сети, ее нужно постоянно обучать. Во-первых, это со временем добавит точности предсказаний, а во-вторых, сгладит ошибки на новых данных.
Еще, как выше писали, поиграйтесь с количеством слоев и с количеством нейронов в скрытых слоях. Возможно, для вашего случая другие сети покажут меньшие ошибки.
Промазал комментарием. Активное обучение — выход, но надо данные собирать чаще (не всегда возможно на производстве).

Сложности возникнут только, если появятся новые переменные, которых не было во всех предыдущих данных.
Да, согласен. Бывает, что методы попроще дают хорошую оценку.
Я просто в комментарии исходил из того, что автор уже выбрал нейросеть как инструмент для предсказаний.
Пока одни предлагают копать глубже (на 20 переменных), я бы предложил обратный ход:
А вы сравнивали точность работы нейросети с обычной линейной регрессией? На производственных данных она обычно работает очень хорошо. Достаточно хорошо, чтобы демотивировать специалистов по машинному обучению пытаться побить ее результат.

Еще один момент — сравнив результаты с линейной регрессией, может так получиться, что нейросеть хорошо работает в более густых областях данных, с значительными ошибками на границах их диапазонов. В то же время, линейная регрессия нормально работает «везде», но не так точно в центральной области, где и находятся нелинейности. Можно попробовать сшить две модели: одна работет внутри (нейросеть), другая снаружи.

И да, у вас не так много данных (common story) и не высокая размерность — использовать глубокие архитектуры здесь не имеет смысла, только оверфитить будете жестче. В то же время, можно попробовать другие методы: SVM, Random Forest, Gradient Boosting. Возможно они, будучи хорошо настроенными, улучшат реультаты нейросетей на 5-10% (но не стоит ждать чуда).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории