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

Машинное обучение *

Основа искусственного интеллекта

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

Стеганография в акроконструкциях. Алгоритм DANTSOVA

Время на прочтение7 мин
Количество просмотров14K
— Потом решила избавиться. Во!
— Ей!.. так хорошо?
— А, без разницы...

Давно хотел опубликовать этот just4fun проектик по стеганографии, но что-то не было времени.
И вот и время и повод нашелся.
К тому же пятница!



Решил я как-то раз реализовать стеганографию в акроконструкциях.
Для наглядности сделать, как в акростихах, только автоматизировать процесс и строить акропредложения автоматически. Короче говоря, повторить задумку Тритемия, только программным способом ;)

Интерфейс итоговой программы прост:
  1. пользователь вводит сообщение на русском языке;
  2. программа выдает акротекст. (Это текст, по первым буквам каждого слова которого можно собрать исходное сообщение).


Например на запрос "привет хабр!" программа написала текст: "потом решила избавиться во ей так хорошо а без разницы". Знаки препинания программа пока не расставляет — это делает пользователь на свое усмотрение.

Конечно далеко до naitive русского языка, но для just4fun проекта, написанного на коленке за пару вечеров, я думаю сгодиться…

Алгоритм обучается на бесчисленных романах Дарьи Донцовой. Именно поэтому он в честь нее и назван — DANTSOVA.

Кому интересно, как все это работает, прошу под кат!

Дальше читать

Прогнозирование посещаемости объявлений по содержанию

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

Введение


Предсказуемая, но такая долгожданная мной смена времен года происходит прямо сейчас. Многие из знакомых предвкушают начало дачного сезона и активно обновляют свой инвентарь. Список очень нужных вещей, которые необходимо купить превышает все мыслимые бюджеты на десять лет вперед(ведь еще надо предусмотреть аренду товарного поезда для доставки всего необходимого) и на помощь приходят онлайн доски размещения объявлений. В надежде сэкономить, вы определяете список вещей, которые вам уже не пригодятся, размещаете их на продажу, и в предвкушении выгодной сделки начинаете ждать звонков и… Их нет. В чем дело? Оказывается, разборчивого покупателя интересует не только тот факт, что «газонокосилка находится в отличном состоянии», но и мощность двигателя, направление выброса травы, положение вала, время наработки и т.д. Не являясь спецом в садовом оборудовании, как вы могли все это предусмотреть? И вот вы начинаете просматривать другие объявления на схожую тему, а время идет и ваш человек по дачной логистике уже заказал для перевозок баржу и два грузовых самолета. На примере одной из рубрик доски объявлений мы рассмотрим построение прогнозной модели, которая помогла бы выяснить, что именно хотели бы узнать люди из описания вашего предложения, а так же дать очень примерную оценку числа переходов на ваше объявление.
Читать дальше →

Блеск и нищета Big Data

Время на прочтение4 мин
Количество просмотров8.5K
Революция, связанная с анализом больших данных, порождает не только замечательные достижения, но и определенные трудности, в том числе методологического характера. Рассмотрим некоторые из них детальнее.
Читать дальше →

Как навести порядок в почтовом ящике с помощью нейронной сети. Часть 2

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

В нашем блоге мы много пишем о создании email-рассылок и работе с электронной почтой. В современном мире люди получают множество писем, и в полный рост встает проблема с их классификацией и упорядочиванием почтового ящика. Инженер из США Андрей Куренков в своем блоге рассказал о том, как решил эту задачу с помощью нейронной сети. Мы решили осветить ход этого проекта — несколько дней назад опубликовали первую часть рассказа, а сегодня представляем вашему вниманию его продолжение.
Читать дальше →

Русский нейросетевой чатбот

Время на прочтение5 мин
Количество просмотров81K
О чатботах, использующих нейронные сети я уже писал некоторое время назад. Сегодня я расскажу о том как я попробовал сделать полномасштабный русскоязычный вариант.



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

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

Как навести порядок в почтовом ящике с помощью нейронной сети. Часть 1

Время на прочтение6 мин
Количество просмотров22K
image

В нашем блоге мы много пишем о создании email-рассылок и работе с электронной почтой. Мы уже обсудили сложности борьбы со спамом, будущее email, вопросы защиты почтовой переписки, а также техники работы с email, применяемые руководителями крупных ИТ-компаний. 

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

Ученые создали нейросеть, распознающую «пьяные» сообщения в Twitter

Время на прочтение4 мин
Количество просмотров12K
В свете текущих выходных, важно не забывать, что алкоголь и общение, вместе составляют не всегда хорошую комбинацию, даже у звезд. Тем не менее, многие из нас повторяют этот опыт снова и снова. И этот опыт дал американским ученым (Nabil Hossain с приятелями из University of Rochester) интересную идею. В итоге, американские ученые разработали нейронную сеть, способную распознавать в Twitter посты написанные в состоянии алкогольного опьянения. Кроме того, полученная математическая модель может определять, где авторы «пьяных» постов находились в момент их написания.
Об этом сообщает MIT Technology Review.


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

Как нельзя делать рекомендации контента

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

Во время общения с медиа мы в Relap.io часто сталкиваемся с массой заблуждений, в которые все верят, потому что так сложилось исторически. На сайте есть блоки типа «Читать также» или «Самое горячее» и т.п. Словом, всё то, что составляет обвязку статьи и стремится дополнить UX дорогого читателя. Мы расскажем, какие заблуждения есть у СМИ, которые делают контентные рекомендации, и развеем их цифрами.
 
HAbr1
 
 
Читать дальше →

Отчёт с конференции Data Fest

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

В начале марта в офисе Mail.Ru Group прошла двухдневная конференция Data Fest2, посвящённая всевозможным актуальным вопросам в сфере анализа данных, как практическим, так и теоретическим. Кроме того, в рамках конференции прошёл хакатон, участники которого пытались как можно точнее предсказать результаты турнира по Dota 2, а также питч-постер сессия для исследователей, на которой были представлены различные разработки и исследовательские проекты. Предлагаем вашему вниманию видеозаписи всех выступлений на Data Fest2.
Читать дальше →

Deep Reinforcement Learning (или за что купили DeepMind)

Время на прочтение5 мин
Количество просмотров43K
Продолжаю рассказывать про успехи DeepMind. Этот пост про их первое известное публике достижение — алгоритм, который обучается играть в игры Atari, не зная об играх ничего, кроме пикселей на экране.

Вот, собственно, главный артефакт (если вы это видео не видели, посмотрите обязательно, оно взрывает мозг)


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

MCMC-сэмплинг для тех, кто учился, но ничего не понял

Время на прочтение15 мин
Количество просмотров34K
Рассказывая о вероятностном программировании и Байесовской статистике, я обычно не уделяю особого внимания тому, как, на самом деле, выполняется вероятностный вывод, рассматривая его как некий «чёрный ящик». Вся прелесть вероятностного программирования заключается в том, что, на самом деле, для того, чтобы строить модели, не обязательно понимать, как именно делается вывод. Но это знание, безусловно, весьма полезно.


Как-то раз я рассказывал о новой Байесовской модели человеку, который не особенно разбирался в предмете, но очень хотел всё понять. Он-то и спросил меня о том, чего я обычно не касаюсь. «Томас, — сказал он, — а как, на самом деле, выполняется вероятностный вывод? Как получаются эти таинственные сэмплы из апостериорной вероятности?».
Читать дальше →

Линейные модели: простая регрессия

Время на прочтение7 мин
Количество просмотров76K
В прошлый раз мы подробно рассмотрели многообразие линейных моделей. Теперь перейдем от теории к практике и построим самую простую, но все же полезную модель, которую вы легко сможете адаптировать к своим задачам. Модель будет проиллюстрирована кодом на R и Python, причем сразу в трех ароматах: scikit-learn, statsmodels и Patsy.
Читать дальше →

Учимся у машинного обучения (субботнее, философское)

Время на прочтение5 мин
Количество просмотров14K
Машинное обучение втягивает в свою орбиту все новых энтузиастов. Таким энтузиастом стал я несколько лет назад. Я – представитель одной из групп «примкнувших», экономист с практикой работы с данными. Данные – всегда проблема в экономической науке (таковой и осталась, впрочем) и было легко купиться на мантру «большие данные». От больших данных было легко перейти, вслед за Гарнтером в 2016, к машинному обучению.



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

По ходу изучения темы, я не переставал думать о том, что, кажется, машинное обучение объясняет, как устроен наш разум. Ниже я перечислю уроки, которые я извлек о человеке, изучая машинное обучение. Не претендую на правоту, приношу извинения, если все это очевидно, буду рад, если материал позабавит, или если будут контр-примеры, чтобы начать (опять) жить верой в «непонятное». Кстати, у Вышки есть курс, где машинное обучение используется для понимания работы мозга.
Читать дальше →

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

AlphaGo на пальцах

Время на прочтение5 мин
Количество просмотров62K
Итак, пока наши новые повелители отдыхают, давайте я попробую рассказать как работает AlphaGo. Пост подразумевает некоторое знакомство читателя с предметом — нужно знать, чем отличается Fan Hui от Lee Sedol, и поверхностно представлять, как работают нейросети.
Читать дальше →

Знакомьтесь, линейные модели

Время на прочтение10 мин
Количество просмотров50K
Машинное обучение шагает по планете. Искусственный интеллект, поскрипывая нейронными сетями, постепенно опережает людей в тех задачах, до которых успел дотянуться своими нейронами. Однако не стоит забывать и про простую модель линейной регрессии. Во-первых, потому что на ней построены многие сложные методы машинного обучения, включая нейронные сети. А, во-вторых, потому что зачастую прикладные бизнес-задачи легко, быстро и качественно решаются именно линейными моделями.
И для начала небольшой тест. Можно ли с помощью линейной модели описать:
— зависимость веса человека от его роста?
— длительность ожидания в очереди в магазине в разное время суток?
— посещаемость сайта в фазе экспоненциального роста?
— динамику во времени количества человек, ожидающих поезда на станции метро?
— вероятность, что клиент не оформит заказ на сайте в зависимости от его производительности?
Как вы догадываетесь, на все вопросы ответ будет «Да, можно». Так что линейные модели не так просты, как может показаться на первый взгляд. Поэтому давайте познакомимся с их богатым разнообразием.
Читать дальше →

Уроки участия в хакатоне «Dota Science» в рамках «Data Fest 2»

Время на прочтение7 мин
Количество просмотров17K
6 дней назад около полуночи мы, команда «EC.Dota2» из четырех человек ( ivankomarov, kolyanzzz, Sergei_Smetanin, AzZzone), начали работать над онлайн частью хакатона «Dota Science». Никто из нас ничего не знал об игре Dota2.

Сначала, хронологически, о первой, «онлайн» части. Есть сетка игр мирового финала «The Shanghai Major 2016». Нужно до матча предсказать его исход. Как показало время (но не описание конкурса), предсказывать нужно было матчи за 3, 4, 5 марта. Для обучения были даны исторические данные о матчах в Dota2 по разным прошлым турнирам с агрегированной информацией о каждом матче. Со среды пришлось начать недосыпать, т.к. все днем работают. Для онлайн этапа были разработаны две модели.

В качестве показателя качества прогноза использовалась следующая метрика: score=log2(p_winner)+1, где p_winner — предсказанная до начала матча вероятность победы команды, которая в результате победила.



Тут стоит сказать несколько слов о целях хакатона. Цель формальная — получить самую высокую относительно других оценку качества прогнозов. Цель, соответствующая смыслу Data Fest — построить самую лучшую, относительно других, модель для прогнозирования исхода матча методами машинного обучения.

Один выступающий в последний день Data Fest 2 (Nuker?) верно заметил, что «задачу машинного обучения всегда можно решить и без машинного обучения» (своими собственными нейронными сетями в голове). Кто использовал модели, кто использовал экспертный опыт, кто просто случайно играл? Неизвестно.

Финальная оценка первого этапа – среднее всех значений метрики качества для предсказанных вероятностей. Как показывает турнирная таблица первого этапа Хакатона, количество предсказаний на «команду» разнилось в 10-20 раз.
Читать дальше →

Введение в практическую аналитику, или что общего у нейронных сетей с таблетками для похудения

Время на прочтение8 мин
Количество просмотров25K
Сегодня, когда во всех деревнях и сёлах идёт нейрореволюция, мы всё больше убеждаемся, что нейросети — это чистая магия и манна-небесная. Их стали использовать везде и всюду, и даже встроили в Excel. Неявно, при виде сложной задачи многим представляется следующая картина:



И сегодня мы займёмся совмещением приятного с полезным: разберём интересную (практическую) аналитическую задачу и заодно проанализируем ряд факторов, определяющих (не-)применимость нейронных сетей к аналитическим задачам.

Представьте, вы работаете аналитиком в какой-нибудь компании, которой важен её облик на Хабре (условно назовём её Почта.com). И тут к вам приходит девушка из PR-отдела и говорит: "Мы с менеджерами определили в качестве важного KPI нашего бренда Хабра-рейтинг компании. У нас есть бюджет и мы хотим понять, как его распределить, чтобы максимизировать Хабра-индекс. Нам нужно, чтобы ты определил ключевые факторы, которые на него влияют и вывел наиболее разумную стратегию. Попробуй там какие-нибудь нейросети".

Во время этой речи у вас начинает дергаться глаз, но спустя пару минут составляете список вопросов для анализа:

  • Q1: Какие ключевые факторы влияют на Хабра-индекс компании?
  • Q2: Где найти данные?
  • Q3: Какой будет оптимальная стратегия согласно восстановленной эмпирической зависимости?

Структура статьи

  1. Определяем потенциальные факторы
  2. Сбор данных
  3. Эффект кармы и рейтинга подписчиков и работников
  4. Финальная формула
  5. Анализ применимости нейросетей
  6. Анализ оптимальной стратегии
Узнать, чем же это всё закончится

Разбираемся с войной нейронных сетей (GAN)

Время на прочтение7 мин
Количество просмотров40K
Generative adversarial networks (GAN) пользуются все большей популярностью. Многие говорят о них, кто-то даже уже использует… но, как выясняется, пока мало кто (даже из тех кто пользуется) понимает и может объяснить. ;-)
Давайте разберем на самом простом примере, как же они работают, чему учатся и что на самом деле порождают.
Читать дальше →

Машинное обучение: Вопросы и ответы

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


Как вы уже успели заметить, мы достаточно часто обращаем внимание на тему машинного обучения. Так, мы рассказывали о глубоком обучении, писали о работе с данными и адаптировали различные подборки источников по теме: 1, 2, 3.

Сегодня мы решили посмотреть на наиболее интересные вопросы и ответы по теме машинного обучения на ресурсе Quora.
Читать дальше →

Байесовская нейронная сеть — потому что а почему бы и нет, черт возьми (часть 1)

Время на прочтение16 мин
Количество просмотров94K
То, о чем я попытаюсь сейчас рассказать, выглядит как настоящая магия.

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

Итак, магия:


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

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

Вклад авторов