• Must-have алгоритмы машинного обучения

    • Translation
    Хабр, привет.

    Этот пост — краткий обзор общих алгоритмов машинного обучения. К каждому прилагается краткое описание, гайды и полезные ссылки.

    Метод главных компонент (PCA)/SVD


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

    image

    SVD — это способ вычисления упорядоченных компонентов.

    Полезные ссылки:


    Вводный гайд:

    Читать дальше →
    • +24
    • 8.1k
    • 5
  • Скучный технологический стек интернет-компании из одного человека

    • Translation

    Поисковая выдача на ListenNotes.com

    Listen Notes — это поисковая система и база данных подкастов. Технология на самом деле очень скучная. Никакого ИИ, глубокого обучения или блокчейна. «Если вы должны объявлять о внедрении ИИ, то вы не используете Настоящий ИИ» :)

    После прочтения этой статьи вы сможете повторить мой проект или легко сделать нечто подобное. Не придётся нанимать много разработчиков. Помните, когда Instagram привлёк $57,5 млн и отошёл к Facebook за $1 млрд, у них было всего 13 сотрудников — и это не только разработчики. Покупка Instagram произошла в начале 2012-го. Сейчас 2019 год, и сегодня как никогда просто создать что-то значимое с крошечной инженерной командой — даже из одного человека.
    Читать дальше →
  • Эпопея по созданию робота с нюхом собаки

    • Translation


    Андрей Мершин до сих пор зол на собак. «Ну, вообще-то я их люблю», – говорит греческо-русский ученый в своем уютном офисе в Mассачусетском институте (MIT). – «Но они меня просто уделывают».


    Он включает видео, чтобы показать то, о чём говорит. В нём черно-белый спаниель по кличке Люси подходит к шести стаканчикам с человеческой мочой. Собака нюхает их, иногда – коротко, иногда – чуть подольше, явно пытаясь в чём-то разобраться. На самом деле, она совершает диагностику. Ищет контрольный аромат, свидетельствующий о раке простаты. Оказывается, этот рак придает характерную нотку мужской моче. Вполне заметную – по крайней мере, для собаки. Когда Люси находит стаканчик от больного раком, она садится напротив него и получает от тренеров вкусняшку.


    Среди людей – которые слетали на Луну, получили фото черной дыры и создали машины с автопилотами, – определение рака простаты до сих пор считается очень непростой задачей. В основном, человечество пытается проверить кровь пациента на повышенные уровни специфических протеинов (PSA). Но успех этого занятия – крайне сомнителен. Ученый, который впервые открыл PSA, назвал тест «чуть более удачным, чем подбрасывание монетки». А ложноположительное срабатывание может привести к биопсии простаты, крайне неприятной процедуре, при которой большая полая игла вставляется через стенку прямой кишки для извлечения образцов ткани.


    С другой стороны, правильно натренированные собаки могут определять рак простаты с точностью больше 90%, и для них это вообще не составляет проблем. Люси справляется с шестью образцами меньше чем за две минуты.

    Читать дальше →
  • Когнитивное выпрямление 2: изучаем иллюзии и искажения


      (с)

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

      В последние годы благодаря технологическому прогрессу мы значительно продвинулись в исследованиях, и даже раскрыли несколько нейронных механизмов формирования оптических иллюзий (подробнее смотрите в первой части). Впереди еще больше открытий, в чем мы сегодня убедимся — для некоторых зрительных иллюзий до сих пор не предложено подтвержденного и правильно описанного научного объяснения.
      Читать дальше →
    • Что почитать и посмотреть для старта в Data Science: книги, словари и курсы

        Подборка ресурсов по математике, статистике и программированию для начинающих Дата Сайентистов. Ознакомьтесь с материалами, если вы планируете учиться на онлайн-курсах. Так вы опередите одногруппников, а заодно прокачаете полезный навык — изучать дополнительные материалы самостоятельно.
        Читать дальше →
        • +15
        • 7.2k
        • 1
      • Простые эксперименты с микроконтроллером STM32F103 («Голубая таблетка»)



        Многие приобрели «голубую таблетку» на попробовать. Но из-за сложности программирования данная вещь оказалась где то на полке, до лучших времен.

        Будем считать, что «лучшие времена» — наступили.
        Читать дальше →
      • SFINAE — это просто

          TLDR: как определять, есть ли в типе метод с данным именем и сигнатурой, а также узнавать другие свойства типов, не сойдя при этом с ума.
          image

          Здравствуйте, коллеги.
          Хочу рассказать о SFINAE, интересном и очень полезном (к сожалению*) механизме языка C++, который, однако, может представляться неподготовленному человеку весьма мозгоразрывающим. В действительности принцип его использования достаточно прост и ясен, будучи сформулирован в виде нескольких чётких положений. Эта заметка рассчитана на читателей, обладающих базовыми знаниями о шаблонах в C++ и знакомых, хотя бы шапочно, с C++11.
          * Почему к сожалению? Хотя использование SFINAE — интересный и красивый приём, переросший в широко используемую идиому языка, гораздо лучше было бы иметь средства, явно описывающие работу с типами.
          Читать дальше →
        • Безопасный доступ к полям регистров на С++ без ущерба эффективности (на примере CortexM)

            image
            Рис. взят с сайта www.extremetech.com/wp-content/uploads/2016/07/MegaProcessor-Feature.jpg

            Всем доброго здравия!

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

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

            Всех кого заинтересовал, добро пожаловать под кат. Кода будет много.
            Читать дальше →
          • C/C++ из Python (ctypes)

            • Tutorial
            main

            Про то как вызывать Python из C написал в прошлой статье, теперь поговорим как делать наоборот и вызывать C/C++ из Python3. Раз начал писать об этом, то раскроем всю тему до конца. Тем более, что ни чего сложного здесь нет тоже.

            Читать дальше →
          • Профилирование JavaScript с Chrome Developer Tools

            • Translation
            Скорость сайта состоит из 2 частей: как быстро загружается страница и как быстро работает код в ней. Многие сервисы, такие как минификаторы или CDN, помогают ускорить загрузку, но скорость работы кода зависит только от вас.

            Небольшие изменения в коде могут давать огромные изменения в производительности. Всего несколько строк могут означать разницу между быстрым сайтом и диалогом “Unresponsive Script”.
            Читать дальше →
            • +58
            • 49.2k
            • 5
          • Визуализация больших графов для самых маленьких



              Что делать, если вам нужно нарисовать граф, но попавшиеся под руку инструменты рисуют какой-то комок волос или вовсе пожирают всю оперативную память и вешают систему? За последние пару лет работы с большими графами (сотни миллионов вершин и рёбер) я испробовал много инструментов и подходов, и почти не находил достойных обзоров. Поэтому теперь пишу такой обзор сам.
              Читать дальше →
            • Разработка кода не глядя

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

              Читать дальше →
            • Рекомендации от Роскачества: «что делать, если ваш ребенок подвергается кибербуллингу?»



                Независимая некоммерческая организация Роскачество напоминает, что согласно статистике, более 56% детей подросткового возраста постоянно находятся в Сети, и с каждым годом эта цифра только растет. По показателю интернет-вовлеченности Россия начинает уверенно догонять Европу и США.

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

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

                  Читать дальше →
                • Как не потерять все полимеры, став руководителем в новой компании

                    Новая команда для тимлида — стресс не меньший, чем новый тимлид для команды. «С чего начать, на кого положиться, кому помочь в первую очередь? Как всех запомнить, какие здесь традиции, регламенты, что если я не уложусь в испытательный срок и не заработаю доверие?» Этими вопросами задается любой тимлид на новом месте. Когда Алексей Петров (pifagor_mc) перешел в FunCorp, то также искал ответы. Нашел их и на TeamLead Conf рассказал, как максимально комфортно войти в новую компанию на позицию руководителя в первый или n-й раз. При этом комфортно будет не только вам, но и сотрудникам компании.


                    Алексей Петров — QA Head в FunCorp. В 19 лет увлекся тематикой IT благодаря интересу к компьютерным играм. Работает в сфере с 2005 года, а руководит — с 2010. Прошел путь от младшего тестировщика до директора по качеству.
                    Читать дальше →
                  • Как я делал трекер парковки для людей

                      Недавно меня опять заклампили. Я живу в Европе, и здесь вместо штрафов за неправильную парковку и эвакуаторов “клампят” — заковывают колесо твоего автомобиля в цепи. Чтобы выбраться, нужно звонить по телефону, платить круглую сумму и ждать мужика с ключами, который снимет цепь. Это долго, унизительно и порой (зависит от района) грабительски дорого.

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

                      “Для всего должно быть приложение” — подумал я и начал копаться в апп сторе. После вороха сомнительных результатов у меня поубавилось уверенности, и я решил уточнить: “для всего должно быть приложение на андроид”. После чего нашел свой хуавей и полез в недра плей стора. Оттуда на меня высыпалось еще больше мусора, и я, утопая в корявых поделках, плюнул. Либо я ищу как-то не так, либо не существует удобного и понятного трекера парковки. Вывод простой: если у нас чего-то нет, давайте сделаем это сами.

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

                      image
                      Читать дальше →
                    • Sampler. Консольная утилита для визуализации результата любых shell команд

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


                        Sampler


                        Наблюдение за изменением состояния в базе данных, мониторинг размера очередей, телеметрия с удаленных серверов, запуск деплой скриптов и получение нотификации по завершению — конфигурируется за минуту простым YAML файлом.


                        Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

                        Читать дальше →
                      • Как линуксовый админ управлял детским хором с помощью системы распознавания нот под Ubuntu 16.04. Микрофон и аккорды

                          Что нужно, чтобы лето проходило весело? Нужна музыка! Но если музыка записана нотами на бумаге, а вы — обыкновенный системный администратор, и вам поручили задачу создать детский хор, то в качестве одного из вариантов решения этой проблемы представляю несколько полезных программ. Они написаны на Java и доступны как в репозитарии Ubuntu 16.04, так и на Гитхабе для решения задачи машинного распознавания нот, создания музыкальных партий, выгрузки и редактирования получившегося музыкального продукта в популярные форматы и раздачи файлов (а также и подзатыльников) отдельным исполнителям. Тема, я надеюсь, будет интересна читателям нашего блога.

                          image
                          Читать дальше →
                        • ShIoTiny: узлы, связи и события или особенности рисования программ



                            Основные тезисы или о чем эта статья


                            Тема статьи — визуальное программирование ПЛК ShIoTiny для умного дома, описанного тут: ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска».

                            Очень кратко рассмотрены такие понятия, как узлы, связи, события, а также особенности загрузки и выполнения визуальной программы на ESP8266, который является основой ПЛК ShIoTiny.
                            Читать дальше →
                          • Вход в Aeronet, эпизод 2: Самонаводящийся дрон


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


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


                              Такое задание (лопнуть шарик автономным дроном) недавно выполняли команды на секции Аэронет всероссийского Робокросса-2019. На него нас вдохновила песня “Seek and destroy” с дебютного альбома одной весьма популярной во времена моей бурной молодости американской группы.
                              В последующем цикле статей мы рассмотрим, как научить автономного дрона выполнять нехитрые инструкции из припева вышеупомянутой песенки.

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