Pull to refresh
240
0
Ермоленко Игорь @Yermack

Пользователь

Send message

Выращиваем ИИ — Генетические алгоритмы: введение

Reading time19 min
Views25K


(сгенерированое изображение)


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


В таких подходах нет нечего плохого, они помогают решать поставленные перед ними задачи. Но похоже мне очень хочется написать велосипед.

Генная инженерия от A до Z

Reading time6 min
Views40K
Приветствую уважаемое сообщество!

Итак, это мой первый пост на хабре :)
Посвящен он будет серьезной теме, в которой, волею судеб, я неплохо разбираюсь. А именно, генной инженерии.

Помнится, тут пробегал пост в котором говорилось о геннотехнологической лаборатории “на коленке”. Оказалось, что тема интересна аудитории, поэтому я решил заняться ее развитием с просветительскими целями.

Я буду давать наглядные и понятные обычным людям примеры для описания сложных процессов. Если кто-то посчитает нужным меня поправить – не стесняйтесь. Я буду сознательно упускать многие вещи, но если вам кажется, что без них страдает логика изложения – так же поправляйте.
Читать дальше →

Фракталы на Python. Пошаговое руководство

Reading time10 min
Views73K
Привет, Хабр! Сегодняшний пост про фракталы попался в рамках проработки темы Python, в частности, Matplotlib. Последуем примеру автора и предупредим, что в посте много тяжелой анимации, которая может даже не работать на мобильном устройстве. Зато как красиво.



Всем приятного чтения
Читать дальше →

Работаем с двумерной графикой в JavaScript

Reading time5 min
Views13K
Доброго времени суток, друзья!

Создание реалистичной анимации физических процессов может казаться сложной задачей, но это не так. Используемые для этого алгоритмы могут быть очень простыми и при этом точно воспроизводить такие физические явления, как движение, ускорение и гравитация (притяжение).

Хотите узнать, как эти алгоритмы реализуются в JS?



Примеры можно посмотреть здесь.

Исходный код находится здесь.
Читать дальше →

Построение графов для чайников: пошаговый гайд

Reading time7 min
Views75K
Ранее мы публиковали пост, где с помощью графов проводили анализ сообществ в Точках кипения из разных городов России. Теперь хотим рассказать, как строить такие графы и проводить их анализ.



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

Подборка датасетов для машинного обучения

Reading time6 min
Views173K
Привет, читатель!

Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи.

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

Меньше слов, больше данных.

image

Подборка датасетов для машинного обучения:


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

Визуализация странных аттракторов в Plotly — это шедеврально

Reading time10 min
Views16K
Поэзия — это очень красивый, зачастую глубокомысленный слог, которым мы не пользуемся в обыденной жизни, но так им любим наслаждаться. То же самое можно сказать и о математике. В фильме «Пи» главный герой называет математику «языком природы», а в фильме «Игры разума» главный герой говорит о ней, как об «особом виде искусства». Мы же, в обыденной жизни, можем напрочь забыть об этом.

Облик странных аттракторов необычен и притягателен даже в двумерном измерении. Plotly позволяет строить их в трех измерениях, причем он дает возможность очень легко получить именно 3D-модель, которую можно «вертеть» и сквозь которую можно «пролетать» — ощущение «прикосновения».

image

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

Фрактальное сжатие изображений

Reading time7 min
Views13K
image

Пару лет назад я написал очень простую реализацию фрактального сжатия изображений для студенческой работы и выложил код на github.

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

C++ и Численные Методы: Приближенное интегрование по Ньютону-Котесу

Reading time3 min
Views68K
Методы Ньютона-Котеса — это совокупность техник приближенного интегрирования, основанных на:

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

В этой статье будут рассмотрены несколько методов Ньютона-Котеса:

  • метод трапеций;
  • метод Симпсона;
  • метод Ромберга.
Читать дальше →

Мультифункциональный фиттинг экспериментальных данных

Reading time9 min
Views12K

Введение


Очень часто, как и в точных науках (физика, химия), так и в прочих областях (экономика, социология, маркетинг и пр.) при работе с разного рода экспериментально полученными зависимостями одной величины (Y) от другой (X) возникает потребность описать полученные данные какой-нибудь математической функцией. Этот процесс часто называют экспрессией, аппроксимацией, приближением или фиттингом.


Наиболее часто для фиттинга данных используется линейная функция:

$Y(x) = Ax + B.$


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

Методы наименьших квадратов: текст, написанный программистом для программистов

Reading time19 min
Views38K
Продолжаю публикацию своих лекций, изначально предназначенных для студентов, учащихся по специальности «цифровая геология». На хабре это уже третья публикация из цикла, первая статья была вводной, она необязательна к прочтению. Однако же для понимания этой статьи необходимо прочитать введение в системы линейных уравнений даже в том случае, если вы знаете, что это такое, так как я буду много ссылаться на примеры из этого введения.

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


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

Спектральный анализ сигналов

Reading time8 min
Views294K
image

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

Под катом краткий обзор метода выделения гармоник из произвольного сигнала с помощью цифрового гетеродинирования, и немного особой, Фурье-магии.
Читать дальше →

Расчет биномиальных коэффициентов с использованием Фурье-преобразований

Reading time4 min
Views23K
При решении задач комбинаторики часто возникает необходимость в расчете биномиальных коэффициентов. Бином Ньютона, т.е. разложение image также использует биномиальные коэффициенты. Для их расчета можно использовать формулу, выражающую биномиальный коэффициент через факториалы: image или использовать рекуррентную формулу:image Из бинома Ньютона и рекуррентной формулы ясно, что биномиальные коэффициенты — целые числа.

Одним из методов, позволяющих значительно сократить количество вычислений, является применение Фурье преобразований и дискретных Фурье преобразований.

Наличие большого числа библиотек, реализующих Фурье преобразований (во всевозможных вариантах быстрых версий), делает реализацию алгоритмов не очень сложной задачей для программирования.
Реализованные алгоритмы являются частью библиотеки с открытым исходным кодом FFTTools. Интернет-адрес: github.com/dprotopopov/FFTTools
Читать дальше →

Тридцать шесть градусов красоты

Reading time11 min
Views17K
Сеточные системы координат, в которых плоскость делится на одинаковые симметричные элементы — на квадраты, треугольники, шестиугольники, достаточно известны. Им соответствуют квадратная, треугольная, шестиугольная симметрия. Но еще существует симметрия десятиугольная.

В ней плоскость не делится на десятиугольники, вместо этого все линии расположены под углами кратными 36°. Координаты в этой системе можно записывать целыми числами, по два целых числа на горизонтальное и вертикальное направление.



Расскажу как это нарисовать.
Читать дальше →

Анализ сферического движения твердого тела в случае Лагранжа

Reading time5 min
Views16K
В данной статье будет рассказано и показано, как применять среду Wolfram Mathematica к решению сложных систем дифференциальных уравнений, графической интерпретации результатов решения, применения элементов процедурного программирования к физическим задачам, на примере движения твёрдого тела. Суть статьи в том, что бы показать, как с помощью средств компьютерной алгебры легко и просто проводить анализ сложных физических систем, которые будоражили умы физиков XIX века.
Читать дальше →

Нейросети и глубокое обучение, глава 4: визуальное доказательство того, что нейросети способны вычислить любую функцию

Reading time21 min
Views21K
В данной главе я даю простое и по большей части визуальное объяснение теоремы универсальности. Чтобы следить за материалом этой главы, не обязательно читать предыдущие. Он структурирован в виде самостоятельного эссе. Если у вас есть самое базовое представление о НС, вы должны суметь понять объяснения.


Один из наиболее потрясающих фактов, связанных с нейросетями, заключается в том, что они могут вычислить вообще любую функцию. То есть, допустим, некто даёт вам какую-то сложную и извилистую функцию f(x):


Криптографический алгоритм «Кузнечик»: просто о сложном

Reading time14 min
Views101K
В данной статье будет подробно рассмотрен алгоритм блочного шифрования, определенный в ГОСТ Р 34.12-2015 как «Кузнечик». На чем он основывается, какова математика блочных криптоалгоритмов, а так же как реализуется данный алгоритм в java.

Кто, как, когда и зачем разработал данный алгоритм останется за рамками статьи, так как в данном случае нас это мало интересует, разве что:

КУЗНЕЧИК = КУЗнецов, НЕЧаев И Компания.



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

Подборка академических и науч-поп источников

Reading time5 min
Views13K
Академическое знание давно уже обитает в интернете, и как и любая информация, индексируется поисковыми машинами и базами данных. Я говорю о более широкой категории знаний, чем STEM (Science Technology Engineering and Mathematics), основным критерием академических источников является их рецензирование (например, скопусовский журнал Modern Theology является рецензируемым источником, хотя не все согласятся назвать его научным, а вот академическим, пожалуйста). Однако, насколько обычный пользователь интернета представляет себе этот сектор Сети, знает где, что, и как искать, умеет различать надежность различных академических источников, имеет доступ к этим источникам, а также понимает всю сложность и объем академического знания? Мне не встречалось каких-либо обзоров на русском языке, в котором была бы представлена информация, рамочно характеризующая условный «Scholarnet», дающая общее представление, справку, прочтя которую, можно было эффективно академическим знанием пользоваться. Я решил составить обзор источников академической информации, и источников, вторичных к ним (пресс-релизы научных новостей и науч-поп). Сразу оговорюсь, обзор произволен, и не выведен из какой-то точной методологии, но это лучше чем его отсутствие. Описав при этом разные потоки данных, с которыми может взаимодействовать самые разные люди: от самих исследователей до, как принято говорить в аннотациях книг, «широкого круга читателей» (в т.ч. википедистов, журналистов, участников интернет-споров, и т.д.). Также прошу заранее извинить за огрехи оформления, по мере возможности постараюсь исправить то, на что укажет читатель (желательно в ЛС).
Читать дальше →

Играем с генетическими алгоритмами

Reading time6 min
Views103K
Одним субботним декабрьским вечером сидел я над книгой The Blind Watchmaker (Слепой Часовщик), как на глаза мне попался невероятно интересный эксперимент: возьмём любое предложение, например Шекспировскую строку: Methinks it is like a weasel и случайную строку такой же длины: wdltmnlt dtjbkwirzrezlmqco p и начнем вносить в неё случайные изменения. Через сколько поколений эта случайная строка превратится в Шекспировскую строку, если выживать будут лишь потомки более похожие на Шекспировскую?

Сегодня мы повторим этот эксперимент, но в уже совершенно другом масштабе.



Структура статьи:
  1. Что такое генетический алгоритм
  2. Почему это работает
  3. Формализуем задачу со случайной строкой
  4. Пример работы алгоритма
  5. Эксперименты с классикой
  6. Код и данные
  7. Выводы

Осторожно трафик!
Читать дальше →

Краткое введение в цепи Маркова

Reading time16 min
Views218K
image

В 1998 году Лоуренс Пейдж, Сергей Брин, Раджив Мотвани и Терри Виноград опубликовали статью «The PageRank Citation Ranking: Bringing Order to the Web», в которой описали знаменитый теперь алгоритм PageRank, ставший фундаментом Google. Спустя чуть менее двух десятков лет Google стал гигантом, и даже несмотря на то, что его алгоритм сильно эволюционировал, PageRank по-прежнему является «символом» алгоритмов ранжирования Google (хотя только немногие люди могут действительно сказать, какой вес он сегодня занимает в алгоритме).

С теоретической точки зрения интересно заметить, что одна из стандартных интерпретаций алгоритма PageRank основывается на простом, но фундаментальном понятии цепей Маркова. Из статьи мы увидим, что цепи Маркова — это мощные инструменты стохастического моделирования, которые могут быть полезны любому эксперту по аналитическим данным (data scientist). В частности, мы ответим на такие базовые вопросы: что такое цепи Маркова, какими хорошими свойствами они обладают, и что с их помощью можно делать?
Читать дальше →

Information

Rating
Does not participate
Location
Волгоград, Волгоградская обл., Россия
Works in
Registered
Activity