Как стать автором
Поиск
Написать публикацию
Обновить
32.23

Data Mining *

Глубинный анализ данных

Сначала показывать
Порог рейтинга
Уровень сложности

SAS: мы анализировали данные и обучали модели задолго до того, как это стало модным

Время на прочтение9 мин
Количество просмотров23K


Наша аналитическая платформа работает в WalMart, Bank of America, Bank of China, Сбербанке, МТС. SAS как предмет преподают в МГУ, ВШЭ, МИФИ, МГТУ им. Баумана, МЭИ, МИИТ и других ВУЗах. А под катом — наша краткая история-знакомство, с которой мы хотим открыть наш блог на Хабре.
Читать дальше →

Диагностика промышленных электродвигателей и генераторов по спектру потребляемого тока и предотвращение аварий

Время на прочтение9 мин
Количество просмотров43K

Анализатор спектра тока

Представьте себе ТЭЦ с турбинами, скажем, 50–60-х годов выпуска. Это примерно половина мощностей нашей страны. Там есть огромные насосы с электродвигателями и такие же огромные генераторы, которые тоже суть электродвигатели, только «перевёрнутые». У них нет встроенной телеметрии, и диагностируются они методами последовательных обходов. Это было нормальным на конец 70-х, но не сегодня.

На ТЭЦ, на крупных буровых, на насосных станциях и во множестве других мест, где отказ электродвигателя или генератора обходится очень дорого, как правило, есть специальные люди, которые имеют огромный опыт обслуживания конкретно этого экземпляра оборудования. Например, там может быть дедушка, который по звуку запуска определяет состояние движка. Или мужик-нос, который умеет обнюхивать насос так, что чувствует даже малейшие утечки масла.

Современная диагностика делается немного иначе — в основном по вибродатчикам. Проблема вибродатчиков в том, что их нужно поставить на железку, а железка на той же буровой или подлодке не очень-то доступна. Поэтому мы очень живо исследовали тему изучения снятия данных с движка путём снятия информации с питающего контура. Электромагнитное поле передаёт куда больше информации, которую раньше считали шумом. Теперь его можно анализировать.
Читать дальше →

RNN: может ли нейронная сеть писать как Лев Толстой? (Спойлер: нет)

Время на прочтение16 мин
Количество просмотров27K
При изучении технологий Deep Learning я столкнулся с нехваткой относительно простых примеров, на которых можно относительно легко потренироваться и двигаться дальше.

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

Структуру изложения я старался делать такой, чтобы можно было повторить все шаги новичку, даже не понимая в деталях, что именно происходит внутри этой сети. Профессионалы Deep Learning скорее всего не найдут тут ничего интересного, а тех, кто только изучает эти технологии, прошу под кат.
Читать дальше →

Визуализация процесса обучения нейронной сети средствами TensorFlowKit

Время на прочтение5 мин
Количество просмотров24K
Hint
Перед прочтением этой статьи советую ознакомиться с предыдущей статьей о TensorFlowKit и поставить star репозиторию.

Я не люблю читать статьи, сразу иду на GitHub
GitHub: TensorFlowKit
GitHub: Example
GitHub: Другое
TensorFlowKit API
Посeтив репозиторий, добавьте его в «Stars» это поможет мне написать больше статей на эту тему.

image

Начиная работать в сфере машинного обучения, мне было тяжело переходить от объектов и их поведений к векторам и пространствам. Сперва все это достаточно тяжело укладывалось в голове и далеко не все процессы казались прозрачными и понятными с первого взгляда. По этой причине все, что происходило внутри моих наработок, я пробовал визуализировать: строил 3D модели, графики, диаграммы, изображения и тд.

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

Существуют целые сообщества, решающие такого рода задачи, например Distill, Welch Labs, 3Blue1Brown.

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

Классификация на гуманитариев и технарей по комментариям в VK

Время на прочтение11 мин
Количество просмотров31K

Привет, хабр! Хочу поделиться своим опытом классификации пользователей социальной сети по их комментариям на два класса по складу ума: гуманитарный или технический. В данной статье не будут использоваться последние достижения глубокого обучения, но будет разобран завершенный проект по классификации текстов: от поиска подходящих данных до предсказаний. В конце будет представлено веб-приложение, в котором вы сможете проверить себя.


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

Таргетирование приложения «Модератор Одноклассников»

Время на прочтение7 мин
Количество просмотров12K

У социальной сети Одноклассники, как и у других интернет-ресурсов, где пользователи могут загружать любой контент, существует задача фильтровать изображения, нарушающие законы Российской Федерации и лицензионное соглашение самой площадки. Таким контентом в соцсети считается порнография в открытом доступе, а также сцены насилия, жестокости и прочие ужасные картинки.


Ежедневно в социальную сеть загружается более 20 миллионов картинок. Для того чтобы их проверить, наши инструменты на основе нейронных сетей автоматически фильтруют картинки определенных категорий. Однако часть контента мы пропускаем через ручную разметку, так как не всегда нейронная модель однозначно может определить, есть запрещенный контент на картинке или нет. Наш любимый пример пограничного контента — диван из разряда «показалось».


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

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

Время на прочтение8 мин
Количество просмотров15K

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


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


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

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

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

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

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


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

R, Asterisk и платяной шкаф

Время на прочтение5 мин
Количество просмотров10K

Является продолжением предыдущих публикаций. Основное назначение публикаций — демонстрация возможностей R по решению различных "рутинных" задач по обработке данных, возникающих в бизнесе. Основной акцент ставится на создание законченного решения для конечного пользователя, а не на принципиальное решение частной задачи набором команд в консоли. Схематический прототип и продукт с конвейера имеют больше различий чем сходства.


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


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

Barnes-Hut t-SNE и LargeVis: визуализация больших объёмов данных

Время на прочтение11 мин
Количество просмотров8.2K
Наборами данных в миллионы экземпляров в задачах машинного обучения уже давным давно никого не удивишь. Однако мало кто задаётся вопросом, как качественно визуализировать эти титанические пласты информации. Когда размер датасета превышает миллион, становится довольно грустно использовать стандартный t-SNE; остаётся играться с даунсэмплированием или вовсе ограничиваться грубыми статистическими инструментами. Но на каждую задачу найдётся свой инструмент. В своей статье я бы хотел рассмотреть два алгоритма, которые преодолевают барьер квадратичной сложности: уже хорошо известный Barnes-Hut t-SNE и новый претендент на звание «золотого молотка infovis'a» LargeVis.


(Это не картина художника-абстракциониста, а визуализация LiveJournal-датасета с высоты птичьего полёта)
Читать дальше →

Повышение качества отбора персонала на основе данных

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

Глядя на то, как с этим обстоят дела в среднем по IT-отрасли, осмелюсь дать достаточно негативную оценку: на мой взгляд, собеседования полны субъективности и случайности, а среднее качество отбора получается весьма посредственным — работодатели жалуются на неадекватность запросов кандидатов, вакансии могут оставаться незакрытыми месяцами, а принятые в штат сотрудники часто не оправдывают ожиданий.

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

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

Пару лет назад я уже рассказывал о нëм на HR Unconference. Но записи выступления нет, а знакомые, которые не могут найти себе людей в отдел, всë чаще интересуются деталями, так что я решил, наконец, подробно всë расписать, а заодно и опубликовать свой первый пост на Хабре, поделившись своими наработками с широким кругом читателей.
Читать дальше →

Нестандартная кластеризация 5: Growing Neural Gas

Время на прочтение13 мин
Количество просмотров19K
Часть первая — Affinity Propagation
Часть вторая — DBSCAN
Часть третья — кластеризация временных рядов
Часть четвёртая — Self-Organizing Maps (SOM)
Часть пятая — Growing Neural Gas (GNG)

Доброго времени суток, Хабр! Сегодня я бы хотел рассказать об одном интересном, но крайне малоизвестном алгоритме для выделения кластеров нетипичной формы — расширяющемся нейронном газе (Growing Neural Gas, GNG). Особенно мало информации об этом инструменте анализа данных в рунете: статья в википедии, рассказ на Хабре о сильно изменённой версии GNG и пара статей с одним лишь перечислением шагов алгоритма — вот, пожалуй, и всё. Весьма странно, ведь мало какие анализаторы способны работать с меняющимися во времени распределениями и нормально воспринимают кластеры экзотической формы — а это как раз сильные стороны GNG. Под катом я попробую объяснить этот алгоритм сначала человеческим языком на простом примере, а затем более строго, в подробностях. Прошу под кат, если заинтриговал.

(На картинке: нейронный газ осторожно трогает кактус)
Читать дальше →

Как мы участвовали в хакатоне М.Видео

Время на прочтение7 мин
Количество просмотров9.1K

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


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

Ближайшие события

А вы уже применяете R в бизнесе?

Время на прочтение4 мин
Количество просмотров9.7K

Настоящая публикация не содержит ни кода, ни картинок, поскольку суть вопроса несколько шире, а на конкретные вопросы всегда можно ответить в комментариях.


За последние пару лет мне довелось применять R для решения весьма разнообразных задач в различных вертикалях. Естественно, что применение R заведомо подразумевает решение задач, связанных с той или иной математической обработкой цифровых данных, а разнообразность задач определялась, в первую очередь, самой предметной областью в которой эти прикладные задачи возникали. Частично отдельные задачи кратко упоминались в предыдущих публикациях. Разные предметные области, от земли (АПК) и заканчивая применением для прикладных задач с использованием летательных аппаратов, вплоть до космических.


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


Независимое подтверждение этого тезиса можно получить путем наблюдения за экспоненциальным ростом успешного применения R в обычном бизнесе (не ИТ) на Западе. Например, практически половина докладов с конференции EARL 2017 (Enterprise Applications of the R Language), прошедшей в сентябре этого года, содержат кейсы по использованию R для решения бизнес-задач. В докладах есть примеры по анализу данных в недвижимости, автоматизация деятельности аудиторов, анализ транспортных систем, анализ системы канализации и многие другие отрасли...

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

Рекомендательная система на коленке как средство против экзистенциального кризиса

Время на прочтение6 мин
Количество просмотров12K
Может быть отсылка к экзистенциальному кризису звучит слишком громко, но лично для меня проблема поиска и выбора (или выбора и поиска, это имеет значение) как в мире интернета так и в мире простых вещей по мучениям иногда приближается к нему. Выбор фильма на вечер, книги неизвестного автора, сосисок в магазине, нового утюга — дикое количество вариантов. Особенно когда не очень знаешь чего хочешь. Да и когда знаешь, но не можешь попробовать — тоже не праздник — мир разнообразен и все сразу не перепробуешь.

image

Рекомендательные системы сильно помогают в выборе, но не везде и не всегда так как хотелось бы. Часто не учитывается семантика содержания. Кроме того, во весь рост встает проблема "длинного хвоста", когда рекомендации сосредоточены только на самых популярных позициях, а интересные, но не очень популярные в массе вещи ими не охвачены.

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

Введение в архитектуры нейронных сетей

Время на прочтение31 мин
Количество просмотров218K


Григорий Сапунов (Intento)


Меня зовут Григорий Сапунов, я СТО компании Intento. Занимаюсь я нейросетями довольно давно и machine learning’ом, в частности, занимался построением нейросетевых распознавателей дорожных знаков и номеров. Участвую в проекте по нейросетевой стилизации изображений, помогаю многим компаниям.

Давайте перейдем сразу к делу. Моя цель — дать вам базовую терминологию и понимание, что к чему в этой области, из каких кирпичиков собираются нейросети, и как это использовать.

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

Дальше я расскажу про важные тренды, что происходит в этой области. Затем мы углубимся в архитектуру нейросетей, рассмотрим 3 основных их класса. Это будет самая содержательная часть.

После этого рассмотрим 2 сравнительно продвинутых темы и закончим небольшим обзором фреймворков и библиотек для работы с нейросетями.
Читать дальше →

Нестандартная кластеризация 4: Self-Organizing Maps, тонкости, улучшения, сравнение с t-SNE

Время на прочтение13 мин
Количество просмотров26K
Часть первая — Affinity Propagation
Часть вторая — DBSCAN
Часть третья — кластеризация временных рядов
Часть четвёртая — Self-Organizing Maps (SOM)
Часть пятая — Growing Neural Gas (GNG)

Self-organizing maps (SOM, самоорганизующиеся карты Кохонена) — знакомая многим классическая конструкция. Их часто поминают на курсах машинного обучения под соусом «а ещё нейронные сети умеют вот так». SOM успели пережить взлёт в 1990-2000 годах: тогда им пророчили большое будущее и создавали новые и новые модификации. Однако, в XXI веке SOM понемногу уходят на задний план. Хоть новые разработки в сфере самоорганизующихся карт всё ещё ведутся (большей частью в Финляндии, родине Кохонена), даже на родном поле визуализации и кластеризации данных карты Кохонена всё чаще уступает t-SNE.

Давайте попробуем разобраться в тонкостях SOM'ов, и выяснить, заслуженно ли они были забыты.


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

О конференции Strata AI: будущее искусственного интеллекта

Время на прочтение17 мин
Количество просмотров9.9K
Хабр, привет!

В этой статье я расскажу о конференции O’Reilly Strata Artificial Intelligence, которую мне довелось посетить этим летом в Нью-Йорке.

Strata AI – одна из главных конференций, посвященных искусственному интеллекту, проходит примерно раз в полгода. Конференцию не стоит путать с другим известным мероприятием Strata + Hadoop World – его также проводит O’Reilly, но то посвящено исключительно большим данным и по тематике они мало пересекаются.


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

Когда лучше не использовать глубинное обучение

Время на прочтение11 мин
Количество просмотров16K
Я понимаю, что странно начинать блог с негатива, но за последние несколько дней поднялась волна дискуссий, которая хорошо соотносится с некоторыми темами, над которыми я думал в последнее время. Всё началось с поста Джеффа Лика в блоге Simply Stats с предостережением об использовании глубинного обучения на малом размере выборки. Он утверждает, что при малом размере выборки (что часто наблюдается в биологии), линейные модели с небольшим количеством параметров работают эффективнее, чем нейросети даже с минимумом слоёв и скрытых блоков.

Далее он показывает, что очень простой линейный предиктор с десятью самыми информативными признаками работает эффективнее простой нейросети в задаче классификации нулей и единиц в наборе данных MNIST, при использовании всего около 80 образцов. Эта статья сподвигла Эндрю Бима написать опровержение, в котором правильно обученная нейросеть сумела превзойти простую линейную модель, даже на очень малом количестве образцов.

Такие споры идут на фоне того, что всё больше и больше исследователей в области биомедицинской информатики применяют глубинное обучение на различных задачах. Оправдан ли ажиотаж, или нам достаточно линейных моделей? Как всегда, здесь нет однозначного ответа. В этой статье я хочу рассмотреть случаи применения машинного обучения, где использование глубоких нейросетей вообще не имеет смысла. А также поговорить о распространённых предрассудках, которые, на мой взгляд, мешают действительно эффективно применять глубинное обучение, особенно у новичков.
Читать дальше →

На пути к естественному интеллекту

Время на прочтение8 мин
Количество просмотров19K
Machine Learning с каждым днём становится всё больше. Кажется, что любая компания, у которой есть хотя бы пять сотрудников, хочет себе разработать или купить решение на машинном обучении. Считать овец, считать свёклу, считать покупателей, считать товар. Либо прогнозировать всё то же самое.

image

Формула проста: если цена внедрения ниже, чем ты платишь охраннику — ставь управляемый шлагбаум. Потери от бездельников выше стоимости внедрения биометрической системы учёта времени — внедряй. «Эксперт» берёт взятки за контроль качества продукта? Продублируй его системой контроля качества.

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

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