• Генетические алгоритмы в Matlab играючи

    Игра включите свет
    Предисловие

    Здравствуй, Хабр! Хотелось бы предложить вам простой прикладной урок по генетическим алгоритмам. Если вы неплохо знакомы и работаете с ними, то чтение его напрасная трата времени. Этот урок именно для тех, кто хочет начать из использовать, но не знает как. Предполагается, что вы уже знакомы со смыслом генетических алгоритмов, немного представляете как они работают.
    Читать дальше →
    • +17
    • 18.2k
    • 6
  • Прогнозирование финансовых временных рядов

    Введение

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

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

      • Translation
      Есть один курс, который я бы добавил в программу обучения по всякой инженерной специальности, и он не о компиляторах или сложности алгоритмов. Это “Введение в реальность индустрии”, ибо об этом не говорят и это приводит к никому не нужным обломам. Эта статья претендует стать README.txt для молодого инженера в деле построения карьеры. Ее цель — сделать вас счастливее, заполнив пробелы в образовании относительно того, как работает реальный мир. Я не призываю следовать написанному как подробному руководству, но я надеюсь, что эта информация окажется для вас более ценной, чем то ничто, что вам рассказали об этом в университете.
      Читать дальше →
    • История авторского права. Часть 1: Чёрная смерть

      • Translation
      Об авторе: Рикард Фальквинге — основатель Пиратской Партии Швеции. В 2009 году Пиратская Партия прошла в Европарламент, набрав больше 7% голосов. В 2010 Рикард Фальквинге вошёл в список 100 самых влиятельных людей Швеции по версии журнала Fokus. В 2011 он уступил место руководителя партии Анне Троберг и сосредоточился на пропаганде идей Пиратского Интернационала, выступая с лекциями по всему миру.


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

      Мы начнём с прихода в Европу чёрной смерти в 1350-х годах. Европейские страны пострадали от чумы не меньше остального мира. Европе понадобилось больше 150 лет на то, чтобы восстановить своё политическое, экономическое и социальное положение после эпидемии.


      Читать дальше →
    • Process Explorer. Обзор некоторых возможностей

        Process Explorer – альтернатива стандартному Task Manager-у. Эта утилита, как и многие другие утилиты Sysinternals, здорово расширяет возможности контроля и управления системой. Главное новшество только что вышедшей 14-ой версии — возможность мониторить сетевую активность процессов. Далее небольшой обзор возможностей этой утилиты, которые считаю наиболее полезными для себя.

        Для справки. С 2006 года Sysinternals была приобретена Microsoft, а ключевая фигура этой компании – Марк Руссинович с тех пор работает в Microsoft. Марк известен своими утилитами, книгой Windows Internals, блогом и является признанным специалистом по архитектуре Windows.

        Содержание:
        • Колонки в главном окне
        • Сервисы внутри svchost
        • Суммарные графики активности, процесс с максимальной активностью
        • Суммарные графики активности в трее, процесс с максимальной активностью
        • Сетевые соединения процесса
        • Потоки процесса, их активность, стек потока с загрузкой символов
        • Информация по использованию памяти в системе
        • Handles и DLL процесса
        • Поиск handles и DLL

        Читать дальше →
      • Cisco Unequal Load Balancing с двумя провайдерами, NAT и статическими шлюзами

          Тема, возможно, избитая. Но решения задачи при указанных исходных данных не нашёл. Ткните носом, если не прав. Пришлось приложить немного хитрости ;-).

          Постановка задачи


          В одном городе N-ке живёт небольшая сеть с двумя провайдерами подключёнными к маршрутизатору Cisco. IOS 12.2(33). После очередного расширения каналов у "First" провайдера берём 8 Мбит, у "Second" 4 Мбита.

          Динамической маршрутизации с провайдерами нет и не предвидится.
          Пользователи NAT-ятся на провайдеро-зависимые IP адреса.

          Необходимо прогружать максимально оба канала.

          image

          Читать дальше →
          • +13
          • 1.3k
          • 6
        • Битва за конверсию

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

            Мы проведем обзор публичных инструментов, которые мы использовали, чтобы повысить конверсию Бурук на 25% и сделать пользователей немного счастливее. В конце — про новинку от Google Analytics, которая позволяет связать онлайн источники трафика с оффлайн конверсией.

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

            Повысить конверсию просто.

            Читать дальше →
          • Взгляд изнутри или инфраструктура проекта Likeastore

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

              Я пойду от железа к софту, от низких инфрастуктурных уровней к более высоким. Для всех сервисов, которые мы используем по подписке, я укажу цены. Для каждого из пункта будет небольшой комментарий, но в перспективе каждый из них может быть открыт более глубоко, в последующих постах. Поехали…
              Читать дальше →
            • How-to: как выбрать язык программирования для создания торгового робота

              • Translation
              • Tutorial
              image

              Один из самых распространенных вопросов, который задают люди, только начинающие интересоваться алгоритмической торговлей это «Какой язык программирования для этого подходит лучше всего?». Само собой, короткий ответ заключается в том, что никакого «лучшего» варианта не существует. При выборе инструмента следует учитывать параметры торговой стратегии, необходимую производительность, модульность, методологию разработки и требования к отказоустойчивости. В этой статье мы поговорим о главных компонентах архитектуры алгоритмической торговой системы и о том, как каждый из них влияет на выбор языка программирования.
              Читать дальше →
            • Поражение роботов: взлеты и падения высокочастотного трейдинга (Часть 1)

              • Translation
              image

              Компания Stamen из Сан-Франциско объединилась с Nasdaq для визуализации бешеного ритма автоматизированных торгов. Рисунок иллюстрирует запросы на покупку и продажу, отправленные алгоритмами в течение всего лишь одной минуты (на иллюстрации изображены торги от 8 марта 2011г.)

              Стив Свенсон (Steve Swanson) был типичным 21-летним компьютерным гиком с очень нетипичной работой. Дело было летом 1989 года, и он только что получил степень математика в Колледже Чарльстона. В одежде его привлекали футболки и шлепанцы, а на телевидении – сериал Звездный Путь. Большую часть времени он проводил в гараже Джима Хоукса (Jim Hawkes), преподавателя статистики из колледжа, в котором учился Стив. Там он программировал алгоритмы для того, что в последствии станет первой в мире компанией, ведущей высокочастотную торговлю, и получит название Automated Trading Desk. Хоукса преследовала навязчивая идея о том, что можно получать прибыль на фондовых рынках, используя формулы для предсказания поведения цен, выведенные его другом, Дэвидом Уиткомбом (David Whitcomb), преподававшим экономику в Ратгерском Университете. Задачей Свенсона было превратить формулы Уиткомба в машинный код.
              Читать дальше →
              • +21
              • 24.9k
              • 7
            • Биржевой софт: Инструменты для создания торговых роботов

                image

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

                  Давным давно, в 2008 году, когда я работал над своей диссертацией меня заинтересовала тема применения сверточных нейронных сетей для задач распознавания изображений. На тот момент они еще не были так популярны как сейчас и попытка найти готовые библиотеки ни к чему не привела — нашлась только реализация на Lush (языке созданном автором сверточных сетей, Яном ЛеКуном). Тогда я подумал, что можно было бы их реализовать на Матлабе используя Neural Network Toolbox. Но столкнулся с невозможностью реализации разделяемых весов в рамках этого тулбокса. И тогда было принято решение написать собственную реализацию.
                  Читать дальше →
                  • +57
                  • 24.4k
                  • 6
                • Алгоритм Self-Organizing Incremental Neural Network (SOINN)

                    Введение


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

                    Для задач онлайн обучения или длительного обучения, перечисленные выше методы не подходят. Фундаментальная проблема для таких задач — это как система может приспособиться к новой информации без повреждения или уничтожения уже известной.

                    В данной статье рассматривается алгоритм SOINN, который частично решает озвученные выше проблемы.
                    Читать дальше →
                    • +30
                    • 21.5k
                    • 7
                  • Алгоритм Улучшенной Самоорганизующейся Растущей Нейронной Сети (ESOINN)


                      Введение


                      В моей предыдущей статье о методах машинного обучения без учителя был рассмотрен базовый алгоритм SOINN — алгоритм построения самоорганизующихся растущих нейронных сетей. Как было отмечено, базовая модель сети SOINN имеет ряд недостатков, не позволяющих использовать её для обучения в режиме lifetime (т.е. для обучения в процессе всего срока эксплуатации сети). К таким недостаткам относилась двухслойная структура сети, требующая при незначительных изменениях в первом слое сети переобучать второй слой полностью. Также алгоритм имел много настраиваемых параметров, что затрудняло его применение при работе с реальными данными.

                      В этой статье будет рассмотрен алгоритм An Enhanced Self-Organizing Incremental Neural Network, являющийся расширением базовой модели SOINN и частично решающий озвученные проблемы.
                      Читать дальше →
                    • Построение модели SARIMA с помощью Python+R

                        Введение


                        Добрый день, уважаемые читатели.
                        После написания предыдущего поста про анализ временных рядов на Python, я решил исправить замечания, которые были указаны в комментариях, но при их исправлении я столкнулся с рядом проблем, например при построении сезонной модели ARIMA, т.к. подобной функции а пакете statsmodels я не нашел. В итоге я решил использовать для этого функции из R, а поиски привели меня к библиотеке rpy2 которая позволяетиспользовать функции из библиотек упомянутого языка.
                        У многих может возникнуть вопрос «зачем это нужно?», ведь проще просто взять R и выполнить всю работу в нем. Я полность согласен с этим утверждением, но как мне кажется, если данные требуют предварительной обработки, то ее проще произвести на Python, а возможности R использовать при необходимости именно для анализа.
                        Кроме этого, будет показано как интегрировать результаты выдачи работы функции R в IPython Notebook.
                        Читать дальше →
                        • +17
                        • 33.4k
                        • 5
                      • Список литературы для менеджера продукта 80 уровня

                          Менеджер продукта – все еще редкий зверь в российских и украинских IT компаниях. И если внутри команд, где менеджер продукта существует, его роль вопросов не вызывает (если он, конечно, занимается делом), то знакомые в других компаниях, на конференциях, друзья, от разработчиков до менеджеров проектов задают массу любопытствующих вопросов. Вопросы очень разномастные – от того, о чем собственно работа, и как устроен процесс работы над продуктом в нашей команде, до того, где поучиться, что почитать, и где вообще берут на работу продакт менеджеров.

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

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

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

                          Итак, мой список рекомендованной литературы для всех, кто хочет хочет проливать кровь, пот и слезы работать продакт менеджером или уже работает им.
                          Читать дальше →
                        • Калман, Матлаб, и State Space Models

                            Недавно kuznetsovin опубликовал пост об использовании Питона для анализа временных рядов в экономике. В качестве модели была выбрана «рабочая лошадка» эконометрики — ARIMA, пожалуй, одна из наиболее распространенных моделей для временных данных. В то же время, главный недостаток АRIMA-подобных моделей в том, что они не приспособлены для работы с нестационарными рядами. Например, если в данных присутствует тренд или сезонность, то математическое ожидание будет иметь разное значение в разных участках серии — , что не есть хорошо. Для избежания этого, АRIMA предполагает работать не с исходными данными, а с их разностью (так называемое дифференцирование — от «taking a difference»). Все бы хорошо, но тут возникают две проблемы — (а) мы возможно теряем значимую информацию беря разницу ряда, и (б) упускается возможность разложить ряд данных на составляющие компоненты — тренд, цикл, и т.п. Поэтому, в данной статье я хотел бы привести альтернативный метод анализа — State Space Modeling (SSM), в русском переводе — Модель Пространства Состояний.
                            Читать дальше →
                            • +21
                            • 22.2k
                            • 7
                          • Пару слов о распознавании образов

                            • Tutorial
                            Давно хотел написать общую статью, содержащую в себе самые основы Image Recognition, некий гайд по базовым методам, рассказывающий, когда их применять, какие задачи они решают, что возможно сделать вечером на коленке, а о чём лучше и не думать, не имея команды человек в 20.
                            image

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

                            В этой статье я постараюсь максимально доходчиво рассказать о таком простом, но эффективном методе оптимизации, как имитация отжига (simulated annealing). А чтобы не быть причисленным к далёким от практики любителям теоретизировать, я покажу как применить этот метод для решения задачи коммивояжёра.

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

                            image


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