Search
Write a publication
Pull to refresh
0
0
Андрей @andreypaa

User

Send message

Как попасть в топ на Kaggle, или Матрикснет в домашних условиях

Reading time9 min
Views32K
Хочу поделиться опытом участия в конкурсе Kaggle и алгоритмами машинного обучения, с помощью которых добрался до 18-го места из 1604 в конкурсе Avazu по прогнозированию CTR (click-through rate) мобильной рекламы. В процессе работы попытался воссоздать оригинальный алгоритм Мактрикснета, тестировал несколько вариантов логистической регрессии и работал с характеристиками. Обо всём этом ниже, плюс прикладываю полный код, чтобы можно было посмотреть, как всё работает.

Рассказ делю на следующие разделы:
1. Условия конкурса;
2. Создание новых характеристик;
3. Логистическая регрессия – прелести адаптивного градиента;
4. Матрикснет – воссоздание полного алгоритма;
5. Ускорение машинного обучения в Python.
Читать дальше →

Электромагнитная пушка Гаусса на микроконтроллере

Reading time4 min
Views140K
Всем привет. В данной статье рассмотрим, как изготовить портативную электромагнитную пушку Гаусса, собранную с применением микроконтроллера. Ну, насчет пушки Гаусса я, конечно, погорячился, но то, что это – электромагнитная пушка, нет сомнения. Данное устройство на микроконтроллере было разработано для того, чтобы обучить начинающих программированию микроконтроллеров на примере конструирования электромагнитной пушки своими руками.Разберем некоторые конструктивные моменты как в самой электромагнитной пушке Гаусса, так и в программе для микроконтроллера.
Читать дальше →

А у нас есть SDK, а у вас?

Reading time12 min
Views22K
Привет, Хабр! Правильнее было бы назвать этот пост «У нас есть классная партнёрская программа и крутой SDK для неё», но не хотелось делать длинный заголовок и сразу раскрывать все карты. Как бы там ни было, в этой публикации мы хотим рассказать про SDK наших сервисов, который каждый из вас может использовать в своих приложениях.


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

Deconvolutional Neural Network

Reading time9 min
Views62K
Использование классических нейронных сетей для распознавания изображений затруднено, как правило, большой размерностью вектора входных значений нейронной сети, большим количеством нейронов в промежуточных слоях и, как следствие, большими затратами вычислительных ресурсов на обучение и вычисление сети. Сверточным нейронным сетям в меньшей степени присущи описанные выше недостатки.

Свёрточная нейронная сеть (англ. convolutional neural network, CNN) — специальная архитектура искусственных нейронных сетей, предложенная Яном Лекуном и нацеленная на эффективное распознавание изображений, входит в состав технологий глубокого обучения (англ. deep leaning). Эта технология построена по аналогии с принципами работы зрительной коры головного мозга, в которой были открыты так называемые простые клетки, реагирующие на прямые линии под разными углами, и сложные клетки, реакция которых связана с активацией определённого набора простых клеток. Таким образом, идея сверточных нейронных сетей заключается в чередовании сверточных слоев (англ. convolution layers) и субдискретизирующих слоев (англ. subsampling layers, слоёв подвыборки).[6]

image
Рис 1. Архитектура сверточной нейронной сети

Ключевым моментом в понимании сверточных нейронных сетей является понятие так называемых «разделяемых» весов, т.е. часть нейронов некоторого рассматриваемого слоя нейронной сети может использовать одни и те же весовые коэффициенты. Нейроны, использующие одни и те же веса, объединяются в карты признаков (feature maps), а каждый нейрон карты признаков связан с частью нейронов предыдущего слоя. При вычислении сети получается, что каждый нейрон выполняет свертку (операцию конволюции) некоторой области предыдущего слоя (определяемой множеством нейронов, связанных с данным нейроном). Слои нейронной сети, построенные описанным образом, называются сверточными слоями. Помимо, сверточных слоев в сверточной нейронной сети могут быть слои субдискретизации (выполняющие функции уменьшения размерности пространства карт признаков) и полносвязные слои (выходной слой, как правило, всегда полносвязный). Все три вида слоев могут чередоваться в произвольном порядке, что позволяет составлять карты признаков из карт признаков, а это на практике означает способность распознавания сложных иерархий признаков [3].

Что же именно влияет на качество распознавания образов при обучении сверточных нейронных сетей? Озадачившись данным вопросом, наткнулись на статью Мэттью Зайлера (Matthew Zeiler).
Читать дальше →

Карандашом по бумаге: примитивный сенсор

Reading time2 min
Views17K
Группа исследователей из китайского университета науки и технологий обнаружила, что простой прямоугольник, нарисованный карандашом на листе бумаге, способен работать как высокочувствительный сенсор, определяющий степень изгиба бумаги. Его можно использовать в носимой электронике и разнообразных гаджетах, для мониторинга движения роботов, в системах сигнализации, которые срабатывают при открытии дверей и т.д.

Процесс исключительно прост и дёшев, так что такие сенсоры подходят для разнообразных любительских DIY-проектов.
Читать дальше →

Кофе как источник вдохновения

Reading time9 min
Views23K

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

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

Новая программа лояльности для разработчиков от Microsoft

Reading time2 min
Views19K


Привет, разработчики мобильных приложений и все интересующиеся!

Не так давно, у нас появилась новая программа лояльности для разработчиков Dev Center Benefits и сейчас появился еще один повод поговорить об этом. Проект пришел в Россию, а точнее сказать, к нам сюда, на Хабр!
Читать дальше →

Bluetooth пульт для телевизора на arduino

Reading time12 min
Views34K
Продолжаем делать разные смарт/умные/bluetooth девайсы на ардуино. В прошлых статьях я рассказывал про bluetooth машинку и bluetooth вольтметр. сегодня речь пойдет о чем-то вроде bluetooth пульта для телевизора. Голосование на наиболее удачное название для такого девайса будет в конце статьи, а для начала предлагаю посмотреть видео как же этот девайс работает.



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

Deep Learning, NLP, and Representations

Reading time13 min
Views63K
Предлагаю читателям «Хабрахабра» перевод поста «Deep Learning, NLP, and Representations» крутого Кристофера Олаха. Иллюстрации оттуда же.

В последние годы методы, использующие глубокое обучение нейросетей (deep neural networks), заняли ведущее положение в распознавании образов. Благодаря им планка для качества методов компьютерного зрения значительно поднялась. В ту же сторону движется и распознавание речи.

Результаты результатами, но почему они так круто решают задачи?



В посте освещено несколько впечатляющих результатов применения глубоких нейронных сетей в обработке естественного языка (Natural Language Processing; NLP). Таким образом я надеюсь доходчиво изложить один из ответов на вопрос, почему глубокие нейросети работают.
Вглубь по кроличьей норе

Поиск взаимосвязей на примере Нефть-Рубль

Reading time2 min
Views137K
Одна из базовых задач анализа данных — поиск взаимосвязи двух величин. Здесь я хочу показать пример поиска связи между ценой нефти и курсом рубля.

image

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

Журнальный клуб как средство развития знаний

Reading time7 min
Views6.4K
Все люди разные. Одни могут удерживать в памяти ранее полученные знания годами. Другие — забывают их через пару недель. Но всем нужно постоянно поддерживать и углублять свои знания. Студентам это нужно чтобы успешно закончить обучение и стать востребованными специалистами. Специалистам это необходимо чтобы поддерживать своё развитие, осваивать новые навыки и быть подготовленным к собеседованиям для получения работы. Группе студентов и специалистов это нужно для повышения и поддержки уровня знаний и конкурентоспособности.

В научной среде для достижения подобных целей используется несколько методов. Эти методы включают в себя посещение лекций, семинаров, конференций, личное общение, чтение книг и журнальных статей. Проблема с чтением книг и журнальных статей в том, что некоторые специализированные публикации достаточно сложно понять. Более того, все мы — занятые люди и не всегда можем найти время для чтения. Вот как раз последние две сложности успешно решаются за счёт проведения журнальных клубов (ЖК) в научной группе. Но я решил о них написать не просто потому что они полезны для научной работы, но и потому, что думаю, они могут приносить пользу и за пределами научного мира.

Если взять за основу определение ЖК из Википедии, то ЖК — это группа людей, которые регулярно встречаются для критической оценки новых научных статей.

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

  • что такое ЖК;
  • как ЖК появились;
  • как они проводятся;
  • для достижения каких целей они могут быть полезны;
  • какие есть проблемы в проведении ЖК и как они решаются.


Интересно? В таком случае, добро пожаловать под кат.

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

Bash Booster — SCM инструмент на чистом баше

Reading time4 min
Views9.9K
Для управления серверами профессиональные администраторы давно используют такие SCM системы, как Chef, Ansible, SaltStack и т.п. Данные инструменты помогают централизованно администрировать большой парк серверов. Для управления же одним сервером трудозатраты на установку и настройку такого инструмента часто превышают выигрыш от его использования. В данном случае нередко применяется подход «да ну его, я быстрее скрипт на баше напишу». Подход достаточно популярный, а потому я хотел бы познакомить вас с легковесным SCM инструментом, который не требует ничего, кроме старого доброго баша, и может вполне успешно применяться для настройки одного сервера.
Читать дальше →

Почему я не испытываю неприязни к Git: скрытая целостность

Reading time5 min
Views42K


Предлагаю вашему вниманию перевод небольшой статьи из блога Armin Ronacher — автора Flask, Jinja2 и много чего еще. На этот раз он поделится своими мыслями о Git — распределенной системе управления версиями файлов.

Git для меня интересная тема. Впервые я попробовал использовать Git, когда там не было вообще никакой системы команд, а Cogito считался многообещающим проектом. Не могу сказать, что мне это понравилось, в то время я в основном пользовался SVN, и он полностью решал все мои задачи. Вскоре я познакомился с Mercurial, и это была любовь с первого взгляда, положившая начало долгому и позитивному опыту использования этой VCS (version control system), которая получила в моем лице преданного сторонника. Только в 2008 году я перешел на Git, и мне потребовалось несколько попыток, прежде чем я понял, что пора переносить на него мои репозитории.
Читать дальше →

Прощай, MongoDB, здравствуй, PostgreSQL

Reading time8 min
Views77K
Наш стартап Olery был основан почти 5 лет назад. Мы начали с единственного продукта, Olery Reputation, который был создан агентством, занимавшимся разработкой на Ruby. Всё это выросло в набор различных продуктов. Сегодня у нас есть ещё Olery Feedback, API для Hotel Review Data, виджеты для вставки на сайты и многое другое.

Всего у нас работает 25 приложений (все на Ruby) – некоторые из них в вебе (Rails или Sinatra), но в основном это фоновые приложения для обработки данных.

Хотя нам есть, чем гордиться, есть у нас одна проблема, которая всё время висела где-то в фоне – база данных. Изначально мы использовали MySQL для важных данных (пользователи, контракты, и т.д.) и MongoDB для хранения обзоров и других данных, которые легко можно было бы восстановить в случае утери. Сначала всё работало неплохо, но по мере роста мы начали испытывать проблемы, в особенности с MongoDB. Некоторые из них возникали в сфере взаимодействия БД с приложениями, некоторые – непосредственно у самой БД.

К примеру, в какой-то момент нам надо было удалить миллион документов из MongoDB, а позже вставить. В результате работа базы застопорилась на несколько часов. Потом нам пришлось запускать repairDatabase. И сама починка тоже заняла несколько часов.
Читать дальше →

Перевод книги «Выразительный Javascript» в pdf

Reading time1 min
Views195K
Хабр, привет.

Не так давно SLY_G опубликовал цикл переводов книги Eloquent Javascript (за что ему большое спасибо). В комментариях раз за разом поднимались вопросы о сборке переводов книги, что, собственно, я и сделал при помощи сервиса Gitbook — «Выразительный Javascript», pdf, ePub, mobi и онлайн версия.

Репозитарий книги, pull requests принимаются.
Читать дальше →

Смысл — это иллюзия

Reading time8 min
Views46K
Это перевод статьи, которая очень странно на меня повлияла. Оригинал

checkerboard

Поля Α и B — одного и того же цвета

Скорее всего это самое важное, что я когда-либо писал, т.к. я считаю, что нашёл не что иное, как смысл жизни, или его отсутствие. Если вы умны/образованны, начало этого эссе может показаться вам достаточно стандартным. Тем не менее следите за мыслью.

Основной аргумент


Смысл << Эмоция << Химия << Физика

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

Создание игр без Canvas

Reading time8 min
Views20K
Однажды мне попалась на глаза карточная игра HeartStone от Blizzard. Играя в нее пришла мысль, что подобные вещи можно создавать используя технологии html5, что позволит им быть кроссплатфорсенными. На мой взгляд, подобные вещи могут делать люди, до сих пор занимающиеся только созданием сайтов.

Итак, что мы имеем:
  • Выделенный сервер с LAMP (без phpDaemon);
  • Желание обкатать WebSockets.


Собственно, все. Этого вполне хватит, чтобы осуществить задуманное.
Читать дальше →

Лишние элементы или как мы балансируем между серверами

Reading time8 min
Views43K
Привет, Хабр! Какое-то время назад люди осознали, что увеличивать мощность сервера в соответствии с ростом нагрузки просто невозможно. Тогда-то мы и узнали слово «кластер». Но как бы красиво это слово не звучало, всё равно приходится технически объединять разрозненные серверы в единое целое – тот самый кластер. По городам и весям мы добрались до наших узлов в моём предыдущем опусе. А сегодня мой рассказ пойдёт о том, как делят нагрузку между членами кластера системные интеграторы, и как это сделали мы.



Внутри публикации вас также ждёт бонус в виде трёх сертификатов на месячную подписку ivi+.
Читать дальше →

Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 2.5. практическая)

Reading time8 min
Views221K


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



Солнце, ветер или вода?

Information

Rating
Does not participate
Location
Мордовия, Россия
Date of birth
Registered
Activity