Search
Write a publication
Pull to refresh
0
@Repulseread⁠-⁠only

User

Send message

Автоэнкодеры в Keras, Часть 2: Manifold learning и скрытые (latent) переменные

Reading time11 min
Views28K

Содержание






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

Автоэнкодеры в Keras, Часть 1: Введение

Reading time11 min
Views98K

Содержание



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

Автоэнкодеры


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



Кому интересно, добро пожаловать под кат
Читать дальше →

LSTM – сети долгой краткосрочной памяти

Reading time8 min
Views259K

Рекуррентные нейронные сети


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

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

Решить эту проблемы помогают рекуррентые нейронные сети (Recurrent Neural Networks, RNN). Это сети, содержащие обратные связи и позволяющие сохранять информацию.
Читать дальше →

Типичные распределения вероятности: шпаргалка data scientist-а

Reading time11 min
Views141K

У data scientist-ов сотни распределений вероятности на любой вкус. С чего начать?


Data science, чем бы она там не была – та ещё штука. От какого-нибудь гуру на ваших сходках или хакатонах можно услышать:«Data scientist разбирается в статистике лучше, чем любой программист». Прикладные математики так мстят за то, что статистика уже не так на слуху, как в золотые 20е. У них даже по этому поводу есть своя несмешная диаграмма Венна. И вот, значит, внезапно вы, программист, оказываетесь совершенно не у дел в беседе о доверительных интервалах, вместо того, чтобы привычно ворчать на аналитиков, которые никогда не слышали о проекте Apache Bikeshed, чтобы распределённо форматировать комментарии. Для такой ситуации, чтобы быть в струе и снова стать душой компании – вам нужен экспресс-курс по статистике. Может, не достаточно глубокий, чтобы вы всё понимали, но вполне достаточный, чтобы так могло показаться на первый взгляд.
Читать дальше →

Да, Python медленный, но меня это не волнует

Reading time9 min
Views77K
Разговоры о снижении производительности ради продуктивности.


Я беру паузу в моём обсуждении asyncio в Python, чтобы поговорить о скорости Python. Позвольте представиться, я — ярый поклонник Python, и использую его везде, где только удаётся. Одна из причин, почему люди выступают против этого языка, — то, что он медленный. Некоторые отказываются даже попробовать на нём поработать лишь из-за того, что «X быстрее». Вот мои мысли на этот счёт.
Читать дальше →

Pygest #10. Релизы, статьи, интересные проекты из мира Python [23 мая 2017 — 5 июня 2017]

Reading time2 min
Views12K
image Всем привет! Это уже десятый выпуск дайджеста на Хабрахабр о новостях из мира Python.

В сегодняшнем выпуске вы найдёте интересные материалы, касающиеся Python 3 и его внутреннего устройства, Django, производительности и многого другого. Присылайте свои актуальные материалы, а также любые замечания и предложения, которые будут добавлены в ближайший дайджест.

А теперь к делу!
Перейти к дайджесту

Открытый курс машинного обучения. Тема 9. Анализ временных рядов с помощью Python

Reading time27 min
Views376K

Доброго дня! Мы продолжаем наш цикл статей открытого курса по машинному обучению и сегодня поговорим о временных рядах.


Посмотрим на то, как с ними работать в Python, какие возможные методы и модели можно использовать для прогнозирования; что такое двойное и тройное экспоненциальное взвешивание; что делать, если стационарность — это не про вас; как построить SARIMA и не умереть; и как прогнозировать xgboost-ом. И всё это будем применять к примеру из суровой реальности.


UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.


Видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017).

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

Анализ временных рядов с помощью python

Reading time8 min
Views196K
Добрый день, уважаемые читатели.
В сегодняшней статье, я попытаюсь описать процесс анализа временных рядов с помощью python и модуля statsmodels. Данный модуль предоставляет широкий набор средств и методов для проведения статистического анализа и эконометрики. Я попытаюсь показать основные этапы анализа таких рядов, в заключении мы построим модель ARIMA.
Для примера взяты реальные данные по товарообороту одного из складских комплексов Подмосковья.
Читать дальше →

Pygest #9. Релизы, статьи, интересные проекты из мира Python [8 мая 2017 — 22 мая 2017]

Reading time2 min
Views9.8K
image Всем привет! Это уже девятый выпуск дайджеста на Хабрахабр о новостях из мира Python.

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

А теперь к делу!
Перейти к дайджесту

Эволюция фрактальных монстров

Reading time9 min
Views27K
Сегодня будем рисовать геометрические фракталы, которым уделяют незаслуженно мало внимания. А между тем, тут каждый фрактал — маленький шедевр, поражающий воображение!


Дальше много картинок и gif-анимация. Но прежде, чем переходить под кат, посмотрите на картинку выше и скажите, что на ней нарисовано?
Читать дальше →

Как я перешёл из системного администрирования в Android-разработку

Reading time8 min
Views73K


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

CRISP-DM: проверенная методология для Data Scientist-ов

Reading time16 min
Views80K
Постановка задач машинного обучения математически очень проста. Любая задача  классификации, регрессии или кластеризации – это по сути обычная оптимизационная задача с ограничениями. Несмотря на это, существующее многообразие алгоритмов и методов их решения делает профессию аналитика данных одной из наиболее творческих IT-профессий. Чтобы решение задачи не превратилось в бесконечный поиск «золотого» решения, а было прогнозируемым процессом, необходимо придерживаться довольно четкой последовательности действий. Эту последовательность действий описывают такие методологии, как CRISP-DM.

Методология анализа данных CRISP-DM упоминается во многих постах на Хабре, но я не смог найти ее подробных русскоязычных описаний и решил своей статьей восполнить этот пробел. В основе моего материала – оригинальное описание и адаптированное описание от IBM. Обзорную лекцию о преимуществах использования CRISP-DM можно посмотреть, например, здесь.


* Crisp (англ.) — хрустящий картофель, чипсы
Читать дальше →

Web crawler с использованием Python и Chrome

Reading time3 min
Views48K
Добрый день, дорогие друзья.

Недавно, сидя на диване, я задумался о том, что хочется мне сделать своего паука, который что-то бы смог качать с веб сайтов. Но качать он должен был бы не простой загрузкой, а как настоящий милый добрый браузер (т.е. JavaScript чтобы исполнялся).

В моей голове всплыли такие интересные штуки, как Selenium, PhantomJS, Splash и всякое подобное. Все эти штуки были мне немного втягость. Вот какие причины я выявил:

  • Дело в том, что я хотел бы писать на своем любимом питоне, потому что очень не люблю JavaScript, а это уже означает, что большая часть уже не работала бы (или пришлось их как-то склеивать, что тоже отстой).
  • Еще эти безголовые браузеры обновляются как когда.
  • Но вот Selenium очень милая штука, но я не нашел, как там отслеживать загрузку страниц, или хотя бы адекватного способа выдрать куку или задать её. Слышал, что многие любители селениума инжектят в страничку JavaScript, что для меня дико, потому что где-то полгода назад я делал сайтик, который отрывал любые JavaScript вызовы с сайта и потенциально мог определять моего паука. Мне бы очень не хотелось таких казусов. Хочется чтобы мой паук выглядел как браузер максимально точно.

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

Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Версия II

Reading time24 min
Views16K
Прежде всего, я хотел бы поблагодарить всех, кто дал свои критические комментарии по первой версии статьи. Мне показалось, что написать версию два, а не просто оставить все как есть, было бы правильной идеей.
 
Конечно же, искусственный интеллект уже существует!  Если посмотреть заголовки статей в популярных СМИ, названия и слоганы различных научных конференций на эту тему – безусловно это так. Нельзя не поверить, особенно когда очень этого хочется наконец-то оказаться в XXI веке — «настоящем», как это описывалось во всех научно-фантастических романах. Но так ли это? А если нет, то что существует на самом деле. В попытке разобраться в мифах и реалиях была написана эта статья.
 
Первоначально хотелось начать как-то так: «впервые упоминание термина «Искусственный интеллект» появилось у Д. Мккарти в 1956 году на конференции в Дартмундском университете, основоположниками ИИ следует считать У.Мак-Каллока, У.Питса, Ф.Розенблата» и т.д. Однако, это уже слишком поздно и не совсем отвечает целям статьи, да и википедия опередила с таким началом.

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

Генетический советник для торговли опционами

Reading time11 min
Views17K


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

Для начала — пару слов о генетическом алгоритме:

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

Отчет с Data Fest⁴ 11-12 февраля

Reading time2 min
Views8.4K


11-12 февраля в нашем московском офисе состоялась четвертая конференция Data Fest⁴, объединившая исследователей, инженеров и разработчиков, связанных с Data Science во всех его проявлениях. Под катом мы подготовили для вас видеоматериалы с конференции.

Спортивный анализ данных, или как стать специалистом по data science

Reading time17 min
Views61K
Меня зовут Пётр Ромов, я — data scientist в Yandex Data Factory. В этом посте я предложу сравнительно простой и надежный способ начать карьеру аналитика данных.

Многие из вас наверняка знают или хотя бы слышали про Kaggle. Для тех, кто не слышал: Kaggle — это площадка, на которой компании проводят конкурсы по созданию прогнозирующих моделей. Её популярность столь велика, что часто под «кэглами» специалисты понимают сами конкурсы. Победитель каждого соревнования определяется автоматически — по метрике, которую назначил организатор. Среди прочих, Kaggle в разное время опробовали Facebook, Microsoft и нынешний владелец площадки — Google. Яндекс тоже несколько раз отметился. Как правило, Kaggle-сообществу дают решать задачи, довольно близкие к реальным: это, с одной стороны, делает конкурс интересным, а с другой — продвигает компанию как работодателя с солидными задачами. Впрочем, если вам скажут, что компания-организатор конкурса задействовала в своём сервисе алгоритм одного из победителей, — не верьте. Обычно решения из топа слишком сложны и недостаточно производительны, а погони за тысячными долями значения метрики не настолько и нужны на практике. Поэтому организаторов больше интересуют подходы и идейная часть алгоритмов.



Kaggle — не единственная площадка с соревнованиями по анализу данных. Существуют и другие: DrivenData, DataScience.net, CodaLab. Кроме того, конкурсы проводятся в рамках научных конференций, связанных с машинным обучением: SIGKDD, RecSys, CIKM.

Для успешного решения нужно, с одной стороны, изучить теорию, а с другой — начать практиковать использование различных подходов и моделей. Другими словами, участие в «кэглах» вполне способно сделать из вас аналитика данных. Вопрос — как научиться в них участвовать?
Хардкор

Библиотеки для глубокого обучения: Keras

Reading time13 min
Views179K

Привет, Хабр! Мы уже говорили про Theano и Tensorflow (а также много про что еще), а сегодня сегодня пришло время поговорить про Keras.


Изначально Keras вырос как удобная надстройка над Theano. Отсюда и его греческое имя — κέρας, что значит "рог" по-гречески, что, в свою очередь, является отсылкой к Одиссее Гомера. Хотя, с тех пор утекло много воды, и Keras стал сначала поддерживать Tensorflow, а потом и вовсе стал его частью. Впрочем, наш рассказ будет посвящен не сложной судьбе этого фреймворка, а его возможностям. Если вам интересно, добро пожаловать под кат.


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

Разбор вступительного экзамена ШАД-2015 и воспоминания выпускника 2017 года

Reading time9 min
Views104K

Введение


В мае далёкого 2015 года я заканчивал бакалавриат факультета общей и прикладной физики МФТИ. В основном я занимаюсь квантовой теорией поля, но в тот момент я решил, что хотелось бы больше вникнуть в современный мир компьютерных наук, что можно попробовать совместить МФТИ с ШАД Yandex (две магистратуры). ШАД тогда уже был у всех на слуху, вокруг только и твердили, какой там жёсткий курс алгоритмов, мне понравился сайт (лол), тематика курсов, и я решился поступать.

В этом посте я хотел бы рассказать о том, как происходило моё поступление в ШАД, рассказать своё решение экзаменационного варианта (разборов ШАДовских заданий на просторах рунета не очень-то много) и поговорить о том, что понравилось / не понравилось в этом замечательном заведении.
Вперёд!

Галлюцинируй как Трамп, или мини-анализ Рекуррентных Нейронных Сетей

Reading time9 min
Views14K
Я уже довольно давно занимаюсь проблемами машинного обучения и глубокими архитектурами (нейронные сети), и мне необходимо было сделать мини-презентацию системы, генерирующую временные ряды для эмуляции различных процессов. Поскольку на серьезные темы лучше говорить с юмором, то я решил подобрать какой либо веселый пример, чтобы выступление слушалось с улыбками на лицах. Нам крупно повезло, поскольку мы живем в одно время с великим оратором, чьи речи заставляют сердца людей биться чаще. Я говорю о Дональде Трампе. Поэтому вполне естественно было бы создать систему, которая галлюцинировала говорила бы как Трамп.


Information

Rating
Does not participate
Registered
Activity