Ответы пользователя по тегу Машинное обучение
  • Почему не сходится градиентный спуск?

    @SeptiM
    Попробуй градиент нормализовать.
    Ответ написан
    Комментировать
  • Как найти паттерны во времени посещения приложения?

    @SeptiM
    В целом звучит как задача кластеризации. Методы тут можно разные выбрать, главное -- как метрику задать.

    На вскидку, можно попробовать определить расстояние между пользователями Вася и Петя следующим образом. Для каждого захода Вася ищем ближайший заход Пети и смотрим как они различаются по времени. Получится набор времен t_1, t_2, ... t_В. Делаем тоже самое для Пети. Дальше считаем среднее значение как расстояние. Разницу можно считать на зацикленном периоде (на неделе между воскресеньем и понедельником расстояние -- 1 один день).

    Расстояние между Васей и Васей будет 0. Неравенство треугольника вроде выполняется. Если Вася и Петя заходили в одно и то же время, расстояние между ними будет маленькое.

    P.S. Расстояние можно посчитать за линию от числа заходов через линейный мердж сортированных массивов.
    Ответ написан
  • Кто учился в магистратуре на машинное обучение (ИТМО)?

    @SeptiM
    В Питере CS Center есть. Я бы туда пошел. Яндекс преподает и денег драть не будут (им кадры нужны).
    Ответ написан
    Комментировать
  • Есть ли платформы для машинного обучения без программирования?

    @SeptiM
    Может куда-нибудь сюда посмотреть: https://habrahabr.ru/post/244625/ ?
    Ответ написан
    Комментировать
  • Подходит Java для ИИ и машинного обучения?

    @SeptiM
    Я бы больше думал про Python. Там экосистема под ML побогаче, чем в Java.
    Ответ написан
    Комментировать
  • С чего начинать разработку нейронной сети?

    @SeptiM
    Не самый большой опыт, но если хотите именно понять, как использовать нейронные сети, то лучше воспользоваться питоном. Там неплохо развита экосистема, есть возможность использовать cuda. Посмотрите keras, и попробуйте решить что-нибудь на kaggle. На первое время должно хватить.

    В процессе, обычно хочется меньше тратить время на технические особенности языка. Каких-нибудь проблем с переобучением там хватит за глаза.
    Ответ написан
    Комментировать
  • Суть машинного обучения сводится к классификации проанализированных данных?

    @SeptiM
    Мне кажется, на русской википедии есть базовый набор задач.

    Так, примеры не из классификации.
    1. Пишем поисковик. Нашли 100500 страниц, нужно выделить топ-10 самых релевантых. Проблема ранжирования.
    2. Пишем сервис для сравнения цен на квартиры. У нас есть база данных по рынку. Приходит очередная квартира со своими параметрами: дом, площадь, расстояние до метро, местная инфраструктура. Нужно восстановить цену. Регрессия.
    3. Мы ведем популярный аккаунт в инстаграме. У нас есть аудитория, мы хотим понять ее структуру, подумать, что там можно продавать. Требуется выделить сообщества, на которые разбиваются подписчики (обычно они подписаны друг на друга). Задача кластеризации.
    4. Мы -- кинопоиск. У нас есть огромная разреженная матрица (пользователи x фильмы). Кому что и насколько понравилось. Хотим научиться советовать, кому какой фильм порекомендовать. Рекомендательные системы.
    Ответ написан
    3 комментария
  • Представление категорических и порядковых данных линейной регрессии (машинное обучение)?

    @SeptiM
    1. По сути вся машинка сводится к решению оптимизационных задач. Есть набор ограничений и есть функция, которую надо оптимизировать (min, max). В вашем случае вы, скорее всего, минимизируете среднеквадратическое отклонение. Делите выборку на две части, обучаетесь на тренировочной, считаете значение на контрольной. Вот это значение и есть критерий качества вашей модели.

    2. Если есть несколько моделей и непонятно какую выбрать. Нужно поделить выборку на три части. На первой части мы тренируем модели, на второй -- выбираем модель с наилучшим показателем, на третьей -- получаем значение оптимизируемой функции на победителе предыдущей части, тот самый критерий качества.

    3. Вывод: теория -- это хорошо, но лучше честно сравнить модели по данным.

    4. Теория. Если вы представляете одну категорию несколькими переменными, то у вас получается большая размерность. На примере, если цвет вносит вклад по принципу белый -- 0, красный -- 10, черный -- 20, то в одной модели это будет 10 * x_цвет, а в другой 0 * x_белый + 10 * x_красный + 20 * x_черный. В то же время ситуация выглядит как белый -- 0, красный -- 10, черный -- 100, то в первой модели точного представления уже не получится, а во второй можно по прежнему расставить соответствующие веса.

    По сути модель с множеством переменных является обобщением модели с одной. Проблема только, что число переменных растет...
    Ответ написан
    Комментировать
  • Как обработать null значения переменных в регрессии (машинное обучение)?

    @SeptiM
    В первом приближении NULL's можно заменить средним значением или медианой. Если хочется лучше, можно попробовать угадать значения через дополнительную регрессию. Еще более тонкий метод через создание нескольких версий оригинальных данных (см. multiple imputation).
    Ответ написан
    2 комментария
  • Как построить регрессию на данных типа string (машинное обучение)?

    @SeptiM
    Можно попробовать сделать следующее. Берем каждую колонку, по сути категорию. Смотрим сколько значений она имеет. Пусть это будет k. Заводим k переменных, которые будут принимать значения либо 0, либо 1.

    Если, скажем, дом был построен из кирпича, то ставим переменной x_кирпич = 1, а x_бетон и x_дерево равным 0. Ну и обучаем веса.

    P.S. Можно сделать k - 1 переменную, проставляя нули всем переменным для одного из значений.
    Ответ написан
    Комментировать
  • Как найти работу джуниором в Big Data?

    @SeptiM
    Я бы на вашем месте пошел в Яндекс. Сказал бы, что хочу заниматься тем-то. Они либо вас в ШАД пошлют, либо к себе возьмут джуниором. Наверняка подскажут роадмэп к бигдате, а может чем-то еще заинтересуют.
    Ответ написан
    2 комментария