Лекция 4. Обучение нейронных сетей в Keras, ч. 2 (Анализ данных на Python в примерах и задачах. Ч2)

Поделиться
HTML-код
  • Опубликовано: 1 окт 2018
  • compscicenter.ru/
    Нейронные сети для прогнозирования. Сведение задачи прогнозирования к регрессионной задаче. Прогнозирование рядов с сезонной составляющей.
    Лекция №4 в курсе "Анализ данных на Python в примерах и задачах. Часть 2" (осень 2018).
    Преподаватель курса: Вадим Леонардович Аббакумов
    Страница лекции на сайте CS центра: bit.ly/2OseAS7
    Все видео курса: bit.ly/2NEwnWR

Комментарии • 39

  • @98maxt
    @98maxt 5 лет назад +63

    Коллеги, понятно

  • @HeyWhoTheFuckAreYou
    @HeyWhoTheFuckAreYou 3 года назад +5

    Почему я в своей жизни нигде не встречал таких преподавателей, максимально грамотно всё разжевал, то что я искал на протяжении месяцев просто в одном ролике на RUclips с примерами и практикой.

  • @andy0x58
    @andy0x58 5 лет назад +23

    Лекции огонь просто! И лектор супер! Спасибо большое!

  • @anastasiiatigges
    @anastasiiatigges 2 года назад +1

    Какое чудо, что нашла ваши лекции! Записалась на платные курсы, про нейронные сети дают аж 40 минут видео и все. У вас разбито доступно по полкам с основательными объяснениями. И бесплатно ) Спасибо!

  • @hcoderhy768
    @hcoderhy768 9 месяцев назад

    Спасибо за публикацию лекций! Вы восхитительный лектор! Также, вы мне напомнили персонажа из игры Detroit: Become Human, а именно Лейтенанта Андерсона. Ещё раз, спасибо вам

  • @MaxOdious
    @MaxOdious 4 года назад +10

    12/10 лектору.

  • @user-ur9fs8cx4f
    @user-ur9fs8cx4f 5 лет назад +12

    Спасибо большое за труд!

    • @gleb2971
      @gleb2971 5 лет назад

      Иван Иванов присоединяюсь!

  • @alexanderkraus3038
    @alexanderkraus3038 3 года назад

    Спасибо за эту информацию я как раз и искал !

  • @TheArkan777
    @TheArkan777 4 года назад +2

    Хорошая лекция! Подскажите что вы за редактор в браузере используете?

    • @VladKochetov
      @VladKochetov 4 года назад

      CrazyMult это скорее всего Google colaboratory

    • @dimka11ggg
      @dimka11ggg 4 года назад +1

      jupyter notebook

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 4 года назад +2

      jupyter notebook

    • @fix127
      @fix127 4 года назад

      Можно на colab.research.google.com тоже самое провернуть

  • @user-jd2jk1mx7s
    @user-jd2jk1mx7s 5 лет назад +1

    А почему не работает ссылка на страницу лекции? Где брать обучающую выборку?

  • @user-qd9ur2vp7x
    @user-qd9ur2vp7x 3 года назад

    # Creating a model
    model = Sequential()
    model.add(Dense(6, input_dim=12, activation='relu'))
    model.add(Dense(1, activation='linear'))
    # Compiling model
    model.compile(loss='mean_absolute_percentage_error', optimizer='adam', metrics=['mean_absolute_percentage_error'])
    Задача 1: 6 нейронов во внутреннем слое, функция потерь MAPE, получил на тестовой выборке 7.77%
    Во второй задаче получилось добиться 1.16%, используя только 4 нейрона, при этом итоговый график неплохо приближается к данным.

    • @Sasha-je4do
      @Sasha-je4do Год назад

      привет!
      подскажи пожалуйста, не могу разобраться, как в итоге сделать прогноз на n периодов вперёд?
      модель то мы сделали, а как её применить? в начале лекции говорилось, что уже обученную модель мы применяем к последним 12 значениям нашего набора и таким образом получаем 13ое. дальше используем это предсказанное значение и 11 предыдущих для прогнозирования 14го и так далее.
      если получилось разобраться как это сделать, скинь эту часть кода пожалуйста

    • @user-qd9ur2vp7x
      @user-qd9ur2vp7x Год назад +1

      @@Sasha-je4do привет, давно проходил, уженк помню деталей, советую лекцию ещё раз посмотреть внимательно

  • @VladKochetov
    @VladKochetov 4 года назад

    А если у нас есть статистические данные за всю история существования чего-либо, и в Y вписываем не 1 выход, а несколько?
    Будет ли сеть давать неточное предсказание на всех выходах сразу, или на первом мало ошибки, на втором больше и так далее?

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 4 года назад +3

      Такую сеть трудно (долго) обучать. Вы хотите одну сеть для решения 12 задач одновременно. Проще построить 12 сетей для прогноза на 1, 2, ...12 месяцев вперед.

  • @mrx8312
    @mrx8312 3 года назад

    Отличная лекция! Это то, что мне было нужно! Спасибо!
    Есть вопрос.
    Можно задать цикл для внешних параметров нейронной сети. Для каждого варианта запустить,
    оценить ошибку и точность. Далее выбрать тот вариант, где меньше ошибка и высокая точность. Но
    тут получается каждый раз инициализируем, запускаем обучение нейронной сети и при этом не меняем
    значения внешних параметров и результаты (потеря и точность) сильно отличаются. Почему так? И как этого
    избежать, чтобы можно было смело использовать цикл для внешних параметров?

    • @mrx8312
      @mrx8312 3 года назад

      Вопрос 2.
      Временной ряд имеет такое свойство как последовательность. Плюс влияние сезонности, номер дня недели, маркетинговые мероприятия. Предположим есть еще признаки-колонки "Дата" ("dd.mm.yyyy" или количество дней, прошедших с 0 января 1900 года), "Коэффициент сезонности" (0.01 - 1.00), "Номер дня недели" (1,2, ..., 7) и "Есть акция в торговой точке? (0 и 1)". Возможно ли задать такую модель, чтобы модель нейронной сети дополнительно отдельно брала информацию из этих четырех признаков? А также различала эти 4 признака от других признаков (t-1, t-2, ..., t-12)? Если да, то как это сделать?

    • @mrx8312
      @mrx8312 3 года назад

      Вопрос 3.
      Предположим есть ежедневные данные по продажам одного SKU одной торговой точки за 12 месяцев. Продажи не каждый день, например,
      Дата Продажи
      01.01.2020 5
      02.01.2020 3
      03.01.2020 1
      05.01.2020 4
      07.01.2020 2
      ... ...
      Скажите, для таких данных, где в каких-то датах отсутствуют продажи, как настраивать модель нейронной сети?
      После построения модели и получения прогнозных данных суммируются с остальными SKU и торговыми точками.

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 3 года назад

      @@mrx8312 Добавьте входы для каждого предиктора (тут их часто называют регрессорами). увеличьте матрицу входных данных на эти столбцы. С предикторами все как в линейной регрессии

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 3 года назад

      @@mrx8312 Есть много стратегий... Самая простая - заполнять интерполяцией с учетом сезонности

    • @mrx8312
      @mrx8312 2 года назад

      @@Vadim_Abbakumov Скажите, будет ли видео, где используется рекуррентная нейронная сеть. Так как эта сеть учитывает последовательность, что и характерно для временного ряда.

  • @markporoshin2126
    @markporoshin2126 3 года назад

    Это же получается просто AR модель, которую обучают с помощью градиентного спуска

  • @Gyringag
    @Gyringag 4 года назад +3

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

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 4 года назад +3

      Упускаем на этапе отбора модели. На этапе окончательного прогнозирования все последние наблюдения снова в обучающей выборке!

  • @shandi1241
    @shandi1241 4 года назад

    Нельзя ли рассматривать пример с машинами как выборку распределения Пуассона ? Фиксированный интервал времени,Y - у нас количество случившихся событий....

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 4 года назад

      Придется много модифицировать в определениях. Засунуть туда сезонность и тренд. Их же там нет. Что стоит сделать - модифицировать критерий качества под вариант с распределением Пуассона. Об этом критерии качества я кратко упоминал, когда показывал статью Ridgeway'я в теме Gradient Boosting

  • @ckortez222
    @ckortez222 5 лет назад +2

    по моему не плохо было бы нормализовать данные ))))

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 5 лет назад

      Можно, но IMHO именно при прогнозировании неплохо получается и без стандартизации...

  • @usertwgetrukwwr9669
    @usertwgetrukwwr9669 3 года назад

    Где это все применять?

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 3 года назад +4

      Я в растерянности. Прогноз продаж, прогноз складских запасов - все это никому не нужно?