• Основы deep learning на примере дебага автоэнкодера, часть №1

    • Tutorial

    Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:


    Their main claim to fame comes from being featured in many introductory machine learning classes available online. As a result, a lot of newcomers to the field absolutely love autoencoders and can't get enough of them. This is the reason why this tutorial exists!


    Тем не менее, одна из практических задач, для которых их вполне себе можно применять — поиск аномалий, и лично мне в рамках вечернего проекта потребовался именно он.


    На просторах интернетов есть очень много туториалов по автоэнкодерам, нафига писать еще один? Ну, если честно, тому было несколько причин:


    • Сложилось ощущение, что на самом деле туториалов примерно 3 или 4, все остальные их переписывали своими словами;
    • Практически все — на многострадальном MNIST'е с картинками 28х28;
    • На мой скромный взгляд — они не вырабатывают интуицию о том, как это все должно работать, а просто предлагают повторить;
    • И самый главный фактор — лично у меня при замене MNIST'а на свой датасет — оно все тупо переставало работать.

    Дальше описан мой путь, на котором набиваются шишки. Если взять любую из предложенных плоских (не сверточных) моделей из массы туториалов и втупую ее скопипастить — то ничего, как это ни удивительно, не работает. Цель статьи — разобраться почему и, как мне кажется, получить какое-то интуитивное понимание о том, как это все работает.


    Я не специалист по машинному обучению и использую подходы, к которым привык в повседневной работе. Для опытных data scientists наверное вся эта статья будет дикой, а для начинающих, как мне кажется, может что-то новое и встретится.

    Читать дальше →
  • Игровая агрессия, или как кооператив превращается в кровавую баню и что делать, чтобы он этого не делал



      В прошлый раз мы остановились на том феномене, что игра, которая изначально задумывалась как кооператив (например, D&D или многопользовательская песочница типа Space Station 13), почему-то может использоваться игроками совершенно по другому назначению, становясь пространством насилия и травли. Сегодня, соответственно, будем разбираться в том, как устроена детская (и не только детская) агрессия, как работает формат песочницы, что делает агрессия в песочнице (и вообще в игре) и как можно ей управлять.

      Физика эмоции


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


        Джотто ди Бондоне. Изгнание менял из храма. ок. 1305 г. Капелла Скровеньи, Падуя.


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

        Читать дальше →
        • +22
        • 5.1k
        • 3
      • Обзор методов отбора признаков

        • Translation


        Правильный отбор признаков для анализа данных позволяет:

        • повысить качество моделей машинного обучения с учителем и без, 
        • уменьшить время обучения и снизить требуемые вычислительные мощности,
        • а в случае входных данных высокой размерности позволяет ослабить «проклятие размерности».

        Оценка важности признаков необходима для интерпретации результатов модели.

        Мы рассмотрим существующие методы отбора признаков для задач обучения с учителем и без. Каждый метод проиллюстрирован open source-реализацией на Python, чтобы вы могли быстро протестировать предложенные алгоритмы. Однако это не полная подборка: за последние 20 лет было создано множество алгоритмов, и здесь вы найдёте самые основные из них. Для более глубокого исследования ознакомьтесь с этим обзором.
        Читать дальше →
        • +33
        • 7.2k
        • 4
      • 50 оттенков matplotlib — The Master Plots (с полным кодом на Python)

        • Translation
        Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужные и так далее. Для подобных целей часто используется визуализация с помощью библиотеки matplotlib.



        Встретимся «внутри»!
        Читать дальше →
      • Проще, чем кажется. Перелом

          «Проще, чем кажется» — бизнес-роман о том, на что еще способны программисты.


          — Сергей, приветствую, рад видеть! Проходи, присаживайся. — Курчатов встал с места, протянул Сергею руку через большой стол, искренне улыбнулся. По крайней мере, Сергею показалось, что улыбка была искренней. Если и не была, то симулировал Курчатов очень хорошо — явно чувствовался богатый опыт общения с людьми. У такого человека многому хотелось научиться.

          — Сергей, это не формальная встреча, не для отчета о проделанной работе. — вступил сидевший во главе стола Воронин. — Евгений Викторович часто встречается с сотрудниками, особенно с новыми, чтобы быть в курсе событий, настроений, проблем и успехов.

          — Да, Сергей, ты у нас человек относительно новый, — подхватил Курчатов. — и мне очень интересно, какое впечатление о нашей компании у тебя сложилось за время работы. Не хочу тебя ограничивать конкретными темами, говори все, что посчитаешь нужным.
          Читать дальше →
        • Как написать смарт-контракт для ICO за 5 минут



            Всем привет! В этой статье я расскажу вам, как за 5 минут и несколько команд в терминале запустить смарт-контракт сбора денег для своего ICO на Ethereum. Этот очерк потенциально сэкономит вам десятки тысяч американских долларов, так как любой программист — да и не программист тоже — сможет запустить проаудированный и безопасный смарт-контракт (вместо того, чтобы платить $15,000 – $75,000 за разработку). Вкратце, на этот смарт-контракт можно будет отправить денег и получить за это ERC20 токены. Можно сказать, эта статья — сборник всего опыта, который я получил, запуская ICO для своего проекта.

            В Интернетах этих ваших и так полно статьей про смарт-контракты, но как только начинаешь писать оный, сталкиваешься с тем, что информация везде повторяется, а туториалов, как запулить свой ERC20 попросту либо нет, либо они устарели что аж донельзя. К слову, чтобы эта статья оставалась актуальной, постараюсь указать потенциальные места, где она может устареть (и как это поправить). Поехали!
            Читать дальше →
          • Однажды в HFT-компании…

            Моя личная история трейдинга, все совпадения случайны.
            image
            Я начал свою карьеру в HFT в австралийском филиале одной из крупнейших американских трейдерских компаний в качестве программиста на C++. В первый день меня встретил офис с огромными окнами с видом на сиднейскую гавань, на одном из которых было написано фломастером “< 2ms”. Это было главной задачей для дюжины разработчиков, но, пока что, не для меня. Итак…

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