некоторые аспекты качества обучающих последовательностей

На хабре появился ряд статей о качестве образования и как процесса и как результата (уровень выпускников).
Тема заинтересовала и руки зачесались проверить, а как это устроено у пчелок роботов искусственного интеллекта, влияет ли качество обучающей последовательности на результат.
Была выбрана простая сеть из примеров Keras в которую добавил одну строку.
Нас интересует насколько упорядоченность входной обучающей последовательности mnist влияет на результат обучения MLP.

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

Читать дальше →

Исправляем опечатки с учётом контекста

Недавно мне понадобилась библиотека для исправления опечаток. Большинство открытых спелл-чекеров (к примеру hunspell) не учитывают контекст, а без него сложно получить хорошую точность. Я взял за основу спеллчекер Питера Норвига, прикрутил к нему языковую модель (на базе N-грамм), ускорил его (используя подход SymSpell), поборол сильное потребление памяти (через bloom filter и perfect hash) а затем оформил всё это в виде библиотеки на C++ со swig биндингами для других языков.

Читать дальше →

Использование Intel Movidius для нейронных сетей

Введение


Мы занимаемся разработкой глубоких нейронных сетей для анализа фото, видео и текстов. В прошлом месяце мы купили для одного из проектов очень интересную штуковину:
Intel Movidius Neural Compute Stick.
Intel MNCS

Это специализированное устройство для нейросетевых вычислений. По сути, внешняя видеокарточка, заточенная под нейронные сети, очень компактная и недорогая (~$83). Первыми впечатлениями от работы с Movidius’ом мы и хотим поделиться. Всех заинтересовавшихся прошу под кат.
Читать дальше →

Парсим мемы в питоне: как обойти серверную блокировку

Новогодние праздники — прекрасный повод попрокрастинировать в уютной домашней обстановке и вспомнить дорогие сердцу мемы из 2k17, уходящие навсегда, как совесть Electronic Arts.



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

Читать дальше →

[Перевод] Линейная регрессия с помощью Go


Долгое время меня интересовала тема машинного обучения. Меня удивляло, как машины могут обучаться и прогнозировать безо всякого программирования — поразительно! Я всегда был очарован этим, однако никогда не изучал тему подробно. Время — ресурс скудный, и каждый раз, когда я пытался почитать о машинном обучении, меня заваливало информацией. Освоение всего этого казалось трудным и требовало много времени. Также я убедил себя, что у меня нет необходимых математических знаний даже для того, чтобы начать вникать в машинное обучение.


Но в конце концов я решил подойти к этому иначе. Мало-помалу я буду пытаться воссоздавать в коде разные концепции, начиная с основ и постепенно переходя к более сложным, стараясь охватить как можно больше базовых вещей. В качестве языка я выбрал Go, это один из моих любимых языков, к тому же я не знаком с традиционными для машинного обучения языками вроде R или Python.

Читать дальше →

R и СИБ. Как устранить противоречие интересов и запустить R на Linux в оффлайн-режиме

Является продолжением предыдущих публикаций.


Очень часто попытки применить инструменты DataScience в корпоративной среде встают в полное противоречие с требованиями Службы Информационной Безопасности (СИБ). В мире DataScience рекомендация «поставь с гитхаба» становится практически нерешаемой при полной изоляции аналитической машины от интернета. Тем не менее, задача запуска на linux инфраструктуры R в offline окружении вполне решаемая. Ниже приведу последовательность мантр, которые позволят это исполнить. Если какие-то шаги будут не совсем прозрачными, то скорректирую по мере появления комментариев. Эти же шаги можно использовать и для online инсталляции, пропуская шаги, относящиеся к хитрым трюкам или созданию локальных репозиториев. Практика показала, что тема весьма актуальна.


Читать дальше →

Готовим данные для анализа правильно

image

В задачах машинного обучения качество моделей очень сильно зависит от данных.
Но сами данные в реальных задачах редко бывают идеальными. Как правило, самих данных не много, количество доступных для анализа параметров ограничено, в данных шумы и пропуски. Но решать задачу как-то нужно.

Я хочу поделиться практическим опытом успешного решения задач машинного обучения. И дать простой набор шагов, позволяющих выжать из данных максимум.
Читать дальше →

Использование R для «промышленной» разработки

Является продолжением предыдущих публикаций. Не секрет, что при упоминании R в числе используемых инструментов вторым по популярности является вопрос о возможности его применения в «промышленной разработке». Пальму первенства в России неизменно держит вопрос «А что такое R?»


Попробуем разобраться в аспектах и возможности применения R в «промышленной» разработке.


Читать дальше →

[Перевод] Анализ файлов robots.txt крупнейших сайтов

Robots.txt указывает веб-краулерам мира, какие файлы можно или нельзя скачивать с сервера. Он как первый сторож в интернете — не блокирует запросы, а просит не делать их. Интересно, что файлы robots.txt проявляют предположения веб-мастеров, как автоматизированным процессам следует работать с сайтом. Хотя бот легко может их игнорировать, но они указывают идеализированное поведение, как следует действовать краулеру.

По существу, это довольно важные файлы. Так что я решил скачать файл robots.txt с каждого из 1 миллиона самых посещаемых сайтов на планете и посмотреть, какие шаблоны удастся обнаружить.

Я взял список 1 млн крупнейших сайтов от Alexa и написал маленькую программу для скачивания файла robots.txt с каждого домена. После скачивания всех данных я пропустил каждый файл через питоновский пакет urllib.robotparser и начал изучать результаты.


Найдено в yangteacher.ru/robots.txt
Читать дальше →

1-ая лабораторная работа программы Data Engineer

Как говорится, никогда такого не было, и вот опять. Мы подумали и решили выложить в свободный доступ первую лабораторную работу нашей новой программы Data Engineer. Бесплатно. Без смс.


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



Так вот. Потенциально каждый самостоятельно может пройти эту лабу и почувствовать себя немножко этим дата инженером. Для этого будет все, что требуется.


А делать в этой лабе мы будем следующее.


  1. Зарегимся на облачном сервисе.
  2. Поднимем на нем 4 виртуальных машины.
  3. Развернем кластер при помощи Ambari.
  4. Поднимем сайт на nginx на одной из виртуалок.
  5. Добавим специальный javascript на каждую страницу этого сайта.
  6. Соберем кликстрим на HDFS.
  7. Соберем его же в Kafka.
Читать дальше →


Последние посты