Собрали в одном месте самые важные ссылки
читайте нас в Telegram
Хочу предложить реализацию двух подходов разработки программного обеспечения датчика движения, работающего совместно с платой Arduino. Ни датчик движения [1], ни Arduino [2]. в дополнительной рекламе не нуждаются.
Сравним существующие методы программирования с точки зрения простоты и удобства использования. Предлагаем начать статью со знакомства с характеристиками выбранного датчика движения.
В интернете много информации, что data sciencist должен знать и уметь. Но я решил, что становиться data sciencist надо сразу, поэтому мы выясним требования к специалистам при помощи анализа текста вакансий.
Редко когда кандидат проходит только одно техническое собеседование — обычно их несколько. Среди причин, почему человеку они могут даваться непросто, можно назвать и ту, что каждый раз приходится общаться с новыми людьми, думать о том, как они восприняли твой ответ, пытаться интерпретировать их реакцию. Мы решили попробовать использовать формат контеста, чтобы сократить количество итераций для всех участников процесса.
Оказывается, не все компьютерное зрение сегодня делается с использованием нейронных сетей. Хотя многие стартапы и заявляют, что у них дип лернинг везде, спешу вас разочаровать, они просто хотят хайпануть немножечко. Рассмотрим, например, задачу сегментации. В нашем слаке развернулась целая драма. Одна богатая и высокотехнологичная селфи-компания собрала датасет для сегментации селфи с помощью нейросетей (а это непростое и недешевое занятие). А другая, более бедная и не очень развитая решила, что можно подкупить людей, размечающих фотки, и спполучить базу. В общем, страсти в этих ваших Интернетах еще те. Недавно я наткнулся на статью, где без всяких нейросетей на устройстве делают очень даже хорошую сегментацию. Для сегментации от пользователя требуется дать алгоритму несколько подсказок, но с помощью dlib и opencv такие подсказки легко автоматизируются. В качестве бонуса мы так же сгладим вырезанное лицо и перенесем на какого-нибудь рандомного человека, тем самым поймем, как работают маски во всех этих снапчятах и маскарадах. В общем, классика еще жива, и если вы хотите немного окунуться в классическое компьютерное зрение на питоне, то добро пожаловать под кат.
Одним из экспериментов стала разработка алгоритма классификации клиентских заявок по текстам для дальнейшей маршрутизации на группу исполнителей. В этой статье я хочу рассказать, как "не программист" может за 1,5 месяца в фоновом режиме освоить python и написать незамысловатый ML-алгоритм, имеющий прикладную пользу.
Многие из программистов хотят выучить английский язык по ряду причин. Кто то посещает курсы в оффлайне, занимается с частным репетитором в свободное от работы время. Другие же предпочитают занятия в онлайн-режиме, без траты времени на дорогу. Да и найти подходящий вариант в этом случае не так уж сложно - поскольку сейчас рынок онлайн-образования растет весьма быстро и предоставляет варианты подходящие под Ваш вкус и кошелёк. Весьма вероятно что читатель знает о компаниях которые предлагают свои услуги в этом сегменте. Если вам подходят любой из вышеупомянутых вариантов - можете не читать дальше, иным же, знакомым с Python/Pandas/Seaborn и прочие радостями анализа и визуализации данных - добро пожаловать.
Результаты небольшого исследования, проведённого большим сайтом, обнаруживают занимательную тенденцию.
Цифровые и аналоговые датчики, подключенные к Arduino, генерируют большие объёмы информации, которая требует обработки в реальном масштабе времени [1].
В настоящее время данные от Arduino распечатывают из командной строки или отображают в графическом интерфейсе с запаздыванием. Поэтому данные в режиме реального времени и не сохраняются, что делает невозможным их дальнейший анализ.
Данная публикация посвящена программному решению задачи хранения информации от датчиков, работающих с Arduino и её графическому представлению в реальном масштабе времени. В примерах используются широко известными датчиками, такими как потенциометр и датчик движения PIR.
Я помню тот момент, когда подумал «Как же медленно всё работает, что если я распараллелю вызовы?», а спустя 3 дня, взглянув на код, ничего не мог понять в жуткой каше из потоков, синхронизаторов и функций обратного вызова.
Тогда я познакомился с asyncio, и всё изменилось.
Недавно мы писали о забавных, хитрых и странных примерах на JavaScript. Теперь пришла очередь Python. У Python, высокоуровневого и интерпретируемого языка, много удобных свойств. Но иногда результат работы некоторых кусков кода на первый взгляд выглядит неочевидным.
Ниже — забавный проект, в котором собраны примеры неожиданного поведения в Python с обсуждением того, что происходит под капотом. Часть примеров не относятся к категории настоящих WTF?!, но зато они демонстрируют интересные особенности языка, которых вы можете захотеть избегать. Я думаю, это хороший способ изучить внутреннюю работу Python, и надеюсь, вам будет интересно.
В прошлой части, удалось распарсить сайт Додо-пиццы и загрузить данные об ингредиентах, а самое главное — фотографии пицц. Всего в нашем распоряжении оказалось 20 пицц. Разумеется, формировать обучающие данные всего из 20 картинок не получится. Однако, можно воспользоваться осевой симметрией пиццы: выполнив вращение картинки с шагом в один градус и вертикальным отражением — позволяет превратить одну фотографию в набор из 720 изображений. Тоже мало, но всё же попытаемся.
О том как совершенствуется искусственный интеллект, можно судить по обычным играм. За последние два десятилетия алгоритмы превзошли лучших мировых игроков: сначала пали нарды и шашки, затем шахматы, «Своя Игра» (Jeopardy!), в 2015 году — видеоигры Atari и в прошлом году — Го.
Все эти успехи — про игры с информационной симметрией, где игроки имеют идентичную информацию о текущем состоянии игры. Это свойство полноты информации лежит в основе алгоритмов, обеспечивающих эти успехи, например, локальном поиске во время игры.
Но как обстоит дело с играми с неполной информацией?
Самым наглядный пример такой игры — покер. Чтобы на деле разобраться с этой игрой и алгоритмами решения этой задачи, мы организуем хакатон по написанию игровых ботов на основе машинного обучения. О том как научить алгоритмы блефовать и попробовать свои силы в покер, не трогая карты, под катом.
В первой статье мы успели осознать, как легко и непринужденно ИИ впитывает человеческие предрассудки в логику своих моделей. Как я и обещала, выкладываю вторую часть перевода, в которой мы разберемся, как измерить и ослабить влияние расизма в ИИ с помощью простых методов.
Напомню: мы закончили на том, что наш классификатор считал идею пойти в итальянский ресторан в 5 раз лучше, чем в мексиканский.
У начинающего специалиста по данным (data scientist) есть возможность выбрать один из множества языков программирования, который поможет ему быстрее освоить данную науку.
Тем не менее, никто точно не скажет вам, какой язык программирования лучше всего подходит для этой цели. Ваш успех как специалиста в данной области будет зависить от множества факторов и сегодня мы постараемся их рассмотреть, а в конце статьи вы сможете проголосовать за тот язык программирования, который вы считаете наиболее подходящим для работы с данными.
PyTest — отличный пакет для тестирования на Python, и с давних пор один из моих любимых пакетов в целом. Он значительно облегчает написание тестов и обладает широкими возможностями по составлению отчетов о непройденных тестах.
Тем не менее, на момент версии 2.7, он менее эффективен в тестировании (asyncio) подпрограмм. Поэтому не стоит пытаться их тестировать таким способом:
PyTorch — современная библиотека глубокого обучения, развивающаяся под крылом Facebook. Она не похожа на другие популярные библиотеки, такие как Caffe, Theano и TensorFlow. Она позволяет исследователям воплощать в жизнь свои самые смелые фантазии, а инженерам с лёгкостью эти фантазии имплементировать.
Итак, на протяжении уже нескольких лет я в свободное время копошусь в вопросах, связанных с освещением и больше всего мне интересны спектры разных источников света, как «пращуры» производных от них характеристик. Но не так давно у меня совершенно случайно появилось еще одно хобби — это машинное обучение и анализ данных, в этом вопросе я абсолютный новичок, и чтобы было веселей делюсь периодически с вами своим обретенным опытом и набитыми «шишками»
В предыдущей части я рассказывал о создании модуля для запуска SQL-запросов и оболочки, в которой эти модули запускаются. После недолгой работы с запросами возникает очевидный вопрос — а как воспользоваться результатом выборки, кроме как посмотреть на экране?
Для этого стоит сделать дополнительные инструменты экспорта и копирования данных. Экспортировать будем в файл в формате Excel, а копировать в системный буфер в формате HTML.
Суть идеи заключается в том, что есть земельные участки на которых можно строить только частные жилые дома (Индивидуальное жилое строительство), и при этом запрещается использовать эти помещения для коммерческой деятельности. Хотя в России это никого не останавливало, и получается, что сотрудники должны ходить и проверять, что дом построен как жилой, а используется как ларек. В итоге ходить нужно долго и много плюс постоянно нужен доступ к информации для уточнения что же это за дом. Ну или же в офисе выбирать адреса для проверки и потом запрячь верблюдов, пополнить запасы воды и отправляться в удивительное путешествие.
В моих публикациях [1,2] экономические задачи рассматривались в статике без учёта времени. В задачах оптимизации экономической динамики анализируются изменение экономических параметров и их взаимосвязей во времени. В моделях экономической динамики время может рассматриваться как дискретное изменяющееся скачком, например, за год. Для описания таких процессов используются разностные уравнения. При непрерывном изменении во времени для описания параметров модели используются дифференциальные уравнения.