Рубрика «машинное обучение» - 235

Осталось менее трех дней до окончания конкурса «Оценка производительности». Возможно, данная статья кому-то поможет улучшить свое решение. Суть задачи — предсказать время умножения двух матриц на разных вычислительных системах. В качестве оценки качества предсказания берется наименьшая средняя относительная ошибка MAPE.

На текущий момент первое место — 4.68%. Ниже хочу описать свой путь к 6.69% (а это уже 70+ место).
Читать полностью »

Один из наиболее частых вопросов, с которыми сталкиваются специалисты по обработке и анализу данных — «Какой язык программирования лучше всего использовать для решения задач, связанных с машинным обучением?» Ответ на этот вопрос всегда приводит к сложному выбору между R, Python и MATLAB. Вообще говоря, никто не может дать объективный ответ, какой же язык программирования лучше. Конечно, язык, который вы выбираете для машинного обучения, зависит от ограничений конкретной задачи и данных, предпочтений самого специалиста и тех методов машинного обучения, которые нужно будет применить. Согласно опросу о любимом инструменте пользователей Kaggle для решения задач анализа данных R предпочитают 543 из 1714.

Сейчас в CRAN доступен 8341 пакет. Кроме CRAN, есть и другие репозитории с большим количеством пакетов. Синтаксис для установки любого из них прост: install.packages(“Name_Of_R_Package”).

Вот несколько пакетов, без которых вы вряд ли обойдетесь, как специалист по анализу данных: dplyr, ggplot2, reshape2. Безусловно, это не полный список. В этой статье мы подробнее остановимся на пакетах, применяемых в машинном обучении.
Читать полностью »

Городской АД: школьники и студенты - 1

Привет. В этом году у нас довольно успешно прошли эксперименты по вовлечению юных программистов в АД:

  • затеяли хакатон, где школьники и студенты соревновались на равных (выиграли, кстати, школьники), помогли организовать олимпиаду НТИ по большим данным.

  • открыли направление АДских чудес в летних школах. О том, как школьники написали рекомендательную систему ленты новостей Дождя, освоили параметрическое моделирование (не забыв отлить в силиконе сиськи директору), осваивали азы социальной инженерии по Митнику, расскажем в следующей статье.

  • организовали митапы для "укушенных" в Яндексе с Ежом. Еж (Александр Панин) не устоял перед обаянием юных "датасайнтистов" на хакатоне, с тех пор каждую субботу одна из переговорок превращается в Малый АД под звуки арфы, на которой Еж играет в перерывах.

Воодушевленные упорством ребят, решили начать вовлекать студентов постарше. Задумали школу прямо в Москве, пройдет она с 1 по 8 августа на факультете компьютерных наук ВШЭ, к участию приглашаются все желающие возрастом до 22 лет.

Отбор

Для участия необходимо пройти отбор – решить реальную задачу, с которой столкнулся наш партнер E­-Contenta при разработке рекомендательного движка для Tviz.tv. До 20 июля принимаем решения любым способом – интересно посмотреть на нестандартные идеи, возможно, кто переплюнет решение партнера. Опытные участники имеют возможность заявить о себе и выиграть грант на бесплатное обучение.

Понимаем, что кто-то в 20-21 уже рулит R&D в больших компаниях, входит в топ Kaggle. Кстати, Семенов стал первым в мировом рейтинге. Но хотели бы дать шанс молодежи с нуля погрузиться в Data Science не за 180 тысяч на курсах для "взрослых". Отбор нацелен прежде всего на проверку мотивации.

Читать полностью »

tensorflow

Проект TensorFlow масштабнее, чем вам может показаться. Тот факт, что это библиотека для глубинного обучения, и его связь с Гуглом помогли проекту TensorFlow привлечь много внимания. Но если забыть про ажиотаж, некоторые его уникальные детали заслуживают более глубокого изучения:

  • Основная библиотека подходит для широкого семейства техник машинного обучения, а не только для глубинного обучения.
  • Линейная алгебра и другие внутренности хорошо видны снаружи.
  • В дополнение к основной функциональности машинного обучения, TensorFlow также включает собственную систему логирования, собственный интерактивный визуализатор логов и даже мощную архитектуру по доставке данных.
  • Модель исполнения TensorFlow отличается от scikit-learn языка Python и от большинства инструментов в R.

Все это круто, но TensorFlow может быть довольно сложным в понимании, особенно для того, кто только знакомится с машинным обучением.

Как работает TensorFlow? Давайте попробуем разобраться, посмотреть и понять, как работает каждая часть. Мы изучим граф движения данных, который определяет вычисления, через которые предстоит пройти вашим данным, поймем, как тренировать модели градиентным спуском с помощью TensorFlow, и как TensorBoard визуализирует работу с TensorFlow. Наши примеры не помогут решать настоящие проблемы машинного обучения промышленного уровня, но они помогут понять компоненты, которые лежат в основе всего, что создано на TensorFlow, в том числе того, что вы напишите в будущем!Читать полностью »

kaggle-monster2

Превью

Здравствуй! 25-го апреля 2016 года закончилось 3-х месячное напряженное соревнование Home Depot Product Search Relevance в котором нашей команде Turing Test (Igor Buinyi, Kostiantyn Omelianchuk, Chenglong Chen) удалось не только неплохо разобраться с Natural Language Processing и ML, но и занять 3-е место из 2125 команд. Полное описание нашего решения и код доступны тут, краткое интервью тут, а цель этой публикации не только рассказать о решении, которое принесло нам такой результат, но и о тех трудностях и переживаниях, через которые нам довелось пройти во время соревнования.
Читать полностью »

Accord.Net: ищем ошибку в коде, из-за которой машины поработят человечество - 1

Статьи о проверке проектов с открытым исходным кодом — вещь полезная. Кто-то, в том числе и разработчики, узнает об ошибках, содержащихся в проекте, кто-то узнает о методологии статического анализа и начнет применять её для повышения качества своего кода. Для нас же это прекрасный способ популяризации анализатора PVS-Studio, а заодно возможность его дополнительного тестирования. На этот раз я проверил платформу Accord.Net и нашёл в коде много интересных фрагментов.
Читать полностью »

image

Вряд ли можно представить мир современных сетевых технологий без DPI (deep packet inspection – глубокий анализ пакетов). На нём держатся системы обнаружения сетевых атак, львиная доля политик безопасности корпоративных сетей, шейпинг и блокировка пользовательского трафика оператором связи – да-да, чтобы выполнять требования Роскомнадзора, средства DPI обязан иметь каждый провайдер.

И всё-таки, при всей своей востребованности, DPI – затратный зверь. На магистральных линиях связи стоимость аппаратного решения (о софте тут речь идти не может) исчисляется миллионами зелёных американских человечков. А программные решения вроде OpenDPI подходят только для небольших корпоративных и кампусных сетей. Дело всё в том, что быстро определить протокол прикладного уровня по шаблону, коих могут быть тысячи — задача очень ресурсоёмкая.

В данной статье я хочу предложить способ эффективного решения одной из главных задач DPI – определения протокола прикладного уровня – при этом не сверяясь со списком широко известных портов (well-known ports) и не глядя в полезную нагрузку пакетов. Вообще.
Читать полностью »

Авторы публикации — Дмитрий Сергеев и Юлия Петропавловская.

Недавно закончился первый в России Виртуальный хакатон от компании Microsoft при поддержке Forbes. Нашей команде, состоящей из двух человек, удалось занять первое место в номинации от WorldClass, в которой требовалось предсказать вероятности перехода каждого клиента компании в статус бывшего члена клуба. В этой статье мы бы хотели поделиться нашим решением и рассказать о его основных этапах.

image

Читать полностью »

image
Идея для написания этой статьи возникла прошлым летом, когда я слушал доклад на конференции BigData по нейронным сетям. Лектор «посыпал» слушателей непривычными словечками «нейрон», «обучающая выборка», «тренировать модель»… «Ничего не понял — пора в менеджеры», — подумал я. Но недавно тема нейронных сетей все же коснулась моей работы и я решил на простом примере показать, как использовать этот инструмент на языке JavaScript.

Мы создадим нейронную сеть, с помощью которой будем распознавать ручное написание цифры от 0 до 9. Рабочий пример займет несколько строк. Код будет понятен даже тем программистам, которые не имели дело с нейронными сетями ранее. Как это все работает, можно будет посмотреть прямо в браузере.
Читать полностью »

Было бы очень хорошо, если бы дети смогли освоить навыки программирования еще до того, как они закончат младшую школу. Но как упростить процесс понимания программирования детьми, который требует немалых усилий?

Root — робот который помогает детям учить программирование - 1Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js