Pull to refresh
17
0
Дмитрий Кирьянов @polybook

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

Send message

В аквариуме: вычислительная генетика на Python и Mathcad (часть 1)

Reading time3 min
Views4.3K

Начнем моделировать генетику популяции при помощи методов Монте-Карло, на примере рыбок в аквариуме, задавая генотип исходной популяции и пересчитывая его изменение от поколения к поколению. Эта статья — первая из серии, в которой мы рассчитаем цвет рыбок в зависимости от генетического кода, который они несут.

Читать далее

Еще раз про онлайн-обучение

Reading time4 min
Views9.5K
Казалось бы, про ДО (дистанционное обучение) за последний год написали все, кто только мог. В российских (да и не только) школах и вузах применение ДО, свалившееся в 2020 году как снег на голову, в основном, свелось к переносу оффлайновых занятий в Zoom или Teams и ускорению производства самого разного обучающего контента. Параллельно возникла дискуссия о том, должно ли быть ДО дешевле или дороже очного. Не повторяя то, что было уже много раз написано другими авторами, я выскажу свою точку зрения и поделюсь опытом подготовки материалов для вузовского онлайн-обучения, сконцентрировавшись на методах, которые почти никто не применяет.
Читать дальше →

Бернулли против Байдена

Reading time4 min
Views16K

В последнее время появляется все больше и больше аналитических обзоров результатов выборов, которые рассматривают их с точки зрения законов статистики и направлены, как правило, на изучение необычных явлений, сигнализирующих о возможных фальсификациях (см. "Гаусс против Чурова" и т.п. публикации). Думается, только что завершившиеся выборы президента США (подсчет голосов еще продолжается, причем беспрецедентно длительное время) дадут дополнительный толчок "электоральной математике". В этой статье при помощи классической схемы Бернулли и метода Монте-Карло я попробую оценить вероятность события, которое произошло на наших глазах: как при подсчете нескольких последних процентов голосов результаты голосования на президентских выборах в штате Джорджия "перевернулись", и вместо полпроцентного преимущества Трампа выборы, судя по всему, выигрывает Байден.

Читать далее

Курсопоиск: как выстроить траекторию обучения

Reading time2 min
Views3.2K
Три года назад я опубликовал статью, посвященную идее «динамических курсов» (тех, что генерируются из базы знаний в момент запроса пользователя), а чуть позже разработал несложный сервис, который ее реализует. Сейчас этот сервис доступен на другом сайте kursopoisk.ru и, фактически, представляет собой библиотеку атомарного контента (статьи, видеоролики и расчеты, главным образом, по математике), из которого, в соответствии с заранее прописанными связями, и формируются подобные микрокурсы. Я их называю динамическими, однако, в духе современной терминологии, правильно было бы использовать термин траектории обучения. Сразу хочу сказать, что создавал я Курсопоиск, в первую очередь, для себя, чтобы самому быстро находить нужный контент и вспоминать материал, с которым когда-то разобрался, а потом благополучно забыл.

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


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

Онлайн-конференции: стриминг vs вебинар

Reading time7 min
Views9.7K

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


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

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

Ферхюльстом по биткойну

Reading time5 min
Views13K
Биткойн и другие криптовалюты захватили внимание огромного количества людей. Почему бы не воспользоваться этим шансом для популяризации математики и, в частности, Mathcad? В этой статье мы рассмотрим несколько простых широко известных моделей на основе дифференциальных уравнений, а именно, семейства логистических моделей (неограниченного роста, с конкуренцией за ресурс, с промыслом и запаздыванием). Впервые системный фактор, ограничивающий рост биологической популяции, предложил бельгийский математик Ферхюльст, поэтому соответствующая модель (она будет рассмотрена второй по счету) по праву носит его имя.

Поскольку все, что происходит в последнее время с с биткойном, похоже на пирамиду, то и модели будут соответствующие, тем более, что математическому аппарату, благодаря МММ, уже в разное время посвящало свои статьи множество коллег, например, М.Баландин и В.Очков. Основное внимание, как и раньше, мы уделим приемам расчетов в Mathcad, в особенности, в его бесплатной версии Mathcad Express, не настаивая на точности прогноза, каким будет курс биткойна в ближайшее время, и когда именно он рухнет.


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

Запуск проекта Нерепетитор

Reading time2 min
Views13K
Некоторое время назад мы открыли пилот математической онлайн-школы Нерепетитор, основанной на идее «динамических» курсов. Их формат отличается от традиционных МООС тем, что для каждой выбранной темы предлагается «минимальная обучающая траектория», т.е. путь обучения, начинающийся с азов, и содержащий самое необходимое. Подробно об этой идее, с теоретической точки зрения, написано в предыдущей статье. Теперь практическая (немного упрощенная) реализация опубликована, и ей можно пользоваться (весь контент бесплатный).
Читать дальше →

«Динамические» онлайн-курсы потребуют нового «нормализованного» контента

Reading time6 min
Views7.5K
В последнее время в онлайн-обучении набирают популярность, как сервисы для построения индивидуальных обучающих траекторий, так и микрокурсы, позволяющие строить траектории более эффективно. Между тем, как кажется автору, давно пора сделать следующий шаг и перейти от траекторий и микро-обучения к разработке курсов, которые будут формироваться динамически, в момент запроса клиента. Однако, такие решения потребуют создания полностью обновленного «нормализованного» контента (базы знаний, состоящей из «квантов обучения», с минимальной избыточностью учебного материала).

Последние 15 лет я разрабатываю разные мультимедийные курсы в области ИТ и STEM (в основном, для вузовского и корпоративного обучения). Соответственно, на моих глазах разворачивалась шумиха вокруг массовых открытых онлайн-курсов (МООС). Этот формат, который, по сути, сводится к переносу в онлайн традиционного вузовского учебного процесса, к настоящему времени затмил почти все остальное и продолжает наращивать популярность. В этой статье мне хочется представить свои мысли о будущем МООС (а именно, о превращении современных «статических» курсов в «динамические») и показать несколько картинок прототипов «динамических» курсов, которые мы начали разрабатывать в Нерепетиторе (сразу оговорюсь, что все скриншоты сделаны с рабочего варианта сервиса, пока его нет в открытом доступе даже в виде альфа-версии).


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

Продолжение задачи о конфетах (или еще раз о Центральной Предельной Теореме)

Reading time2 min
Views17K
Недавно viktorpanasiuk опубликовал задачу о конфетах, которая «зацепила» многих (в частности, koldyr опубликовал на Хабре свое аналитическое решение), в том числе и меня. Задача практическая, от инженера-кондитера, формулировалась так: «Найти максимально допустимое отклонение массы конфеты при ее производстве, чтобы нетто коробки, состоящей из n=12 штук их, не выходило за пределы M=310±7 грамм в 90% случаев. Закон распределения считать нормальным».

Автор решил задачу, исходя из предположения о нормальном распределении конфет по массе, и нашел среднюю массу конфеты (очевидно, равную µ=M/n=25.83 г) и стандартное отклонение σ=1.23 г. Использование метода Монте-Карло, т.е. генерация N*n случайных чисел с гауссовым распределением конфет со средним µ и стандартным отклонением σ, подтверждает правильность решения. Распределение масс коробок является гауссовым, и его параметры близки к найденным аналитически (расчеты в Mathcad Express в форматах MCDX и XPS прилагаются). На левом графике показана гистограмма плотности распределения (по массе) конфет, а на правом — соответственно, распределения коробок.



В финале процитированной статьи автор упоминает о немного измененной (на практике, более актуальной) задаче определения границ массы отдельной конфеты, при выходе за которые эту (чересчур большую или маленькую) конфету нужно отбросить, чтобы коробки удовлетворяли исходным условиям (310±7 г в 90% случаев). На мой взгляд, исходная статья уже содержит решение, надо лишь посмотреть на нее немного с другой точки зрения.
Читать дальше →

Считаем разностные схемы в Mathcad Express

Reading time4 min
Views13K
Продолжаю зарисовки об использовании бесплатного математического редактора Mathcad Express. На этот раз предлагаю обратиться к численному решению дифференциальных уравнений (в сегодняшнем примере — с частными производными). Файл с дальнейшими расчетами в форматах Mathcad и XPS вы найдете здесь.

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



На графике показано начальное распределение температуры вдоль оси Х (красная линия) и два расчетных профиля – после первого шага и после нескольких шагов по времени.
Читать дальше →

Монте-Карло моделирование в Mathcad Express

Reading time4 min
Views13K
На Хабре много статей посвящено алгоритмам Монте-Карло, например, вот эта, вчерашняя. Как основная идея, так и реализация методов весьма несложная, но небольшим препятствием может служить отсутствие под рукой подходящих инструментов для моделирования. Тем из читателей, для кого проблема актуальна, советую использовать бесплатный математический редактор Mathcad Express, про который я и пишу в моем блоге.

Mathcad Express — это «легкая» версия известного пакета PTC Mathcad Prime, в которой большая часть функционала выключена. Тем не менее, датчики псевдослучайных чисел остаются доступными, что позволяет реализовать (довольно быстро и наглядно) различные статистические модели на основе алгоритмов Монте-Карло. Сразу оговорюсь, что некоторые решения будут не самыми лучшими, с точки зрения пользователей коммерческой версии Mathcad Prime, однако, они гарантированно не выведут нас за пределы функционала бесплатного Mathcad Express.

Напомню, что алгоритмы Монте-Карло — это общее название группы численных методов, основанных на программном создании определенной последовательности псевдослучайных чисел, моделирующей тот или иной эффект, например, последовательность отказов техники. Получив большое число реализаций случайного процесса, можно надеяться, что его вероятностные характеристики совпадут с аналогичными величинами решаемой задачи «реального мира». Файл с дальнейшими расчетами в форматах Mathcad и XPS лежит здесь.

Часть 1. Как сгенерировать выборку псевдослучайных чисел


В Mathcad Express доступен ряд генераторов псевдослучайных чисел, создающих выборки псевдослучайных данных с различными законами распределения. Для создания вектора из N псевдослучайных чисел нужна всего лишь одна строка Mathcad-документа. Например сгенерировать N=5 псевдослучайных чисел с нормальным распределением (нулевым средним и единичной дисперсией) можно так:



Векторы случайных чисел удобно визуализировать на графиках так: одна выборка (т.е. компоненты одного из случайных векторов T1) по оси абсцисс, а другая выборка (другой случайный вектор T2)  – по оси ординат. На следующем рисунке приведены графики пар псевдослучайных чисел для экспоненциального (слева) и нормального (справа) распределения. Параметры распределений задаются в формулах над графиками.



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

Машинное обучение — 4: Скользящее среднее

Reading time3 min
Views33K
Принято считать, что две базовые операции «машинного обучения» — это регрессия и классификация. Регрессия — это не только инструмент для выявления параметров зависимости y(x) между рядами данных x и y (чему я уже посвятил несколько статей), но и частный случай техники их сглаживания. В этом примере мы пойдем чуть дальше и рассмотрим, как можно проводить сглаживание, когда вид зависимости y(x) заранее неизвестен, а также, как можно отфильтровать данные, которые контролируются разными эффектами с существенно разными временными характеристиками.

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



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

Задача о двух старушках, которые отправились в путь на рассвете

Reading time2 min
Views73K
Условие задачи из знаменитой книги В.И.Арнольда «Задачи для детей от 5 до 15 лет»:
Из A в B и из B в A на рассвете (одновременно) вышли навстречу друг другу (по одной дороге) две старушки.Они встретились в полдень, но не остановились, а каждая продолжала идти с той же скоростью, и первая пришла (в B) в 4 часа дня, а вторая (в A) в 9 часов вечера. В котором часу был в этот день рассвет?

Предлагаю вам послушать (МР3) обсуждение этой задачи на радио «Говорит Москва» (С.Доренко, А.Оношко), и попробовать решить ее, прежде, чем лезть под кат, чтобы сравнить…
три варианта решения

Linkedin покупает Lynda.com. А кто в России решится возглавить онлайн-образование?

Reading time3 min
Views5.4K
Новость дня: социальная сеть Linkedin покупает образовательный портал Lynda.com за $1.5 млрд. Еще один проект, который у нас меньше заметили: объединение усилий Алибабы и Пекинского университета по созданию китайской МООС-платформы. А как у нас? Кто в Рунете первым сделает серьезную заявку на то, чтобы возглавить онлайн-образование?
Читать дальше →

Задачи реального мира: как на практике считают надежность систем (reliability, MTTF, failure rate)?

Reading time3 min
Views17K
В предыдущей статье мы рассмотрели терминологию и математическую основу расчетов отказоустойчивости различных систем и выяснили, что на практике, когда речь идет об оценках MTTF (Mean Time To Failure — среднего времени до отказа) и других характеристик надежности, в большинстве случаев предполагается, что отказы подчиняются пуассоновской модели. Соответственно, их вероятностное описание основано на экспоненциальном распределении вероятностей.

Этот материал будет посвящен практическим аспектам применения этой модели, причем стоит сразу оговориться, что он широко используется, как в электронике, так и в самых разных областях: например, при оценке рисков в авиационной и атомной отрасли, прогнозирования в автопроме, оценке надежности облачных сервисов в Интернете и т.п. Общим предположением, повторюсь, является гипотеза о постоянстве интенсивности отказов λ, которая, как мы увидели из предыдущей статьи, обратно пропорциональна среднему времени безотказной работы MTTF=1/λ.

Итак, давайте для начала рассмотрим совсем простой пример: устройство, состоящее из двух элементов, для каждого из которых известны интенсивности отказов λ1 и λ2. Отказ любого из элементов приводит к отказу устройства в целом. Например, компьютер (условно) можно представить, как систему, состоящую из процессора и материнской платы. Пусть для них среднее время до отказа (MTTF) равны 2 и 3 годам (соответственно, λ1=1/2 года-1 и λ2=1/3 года-1). Какова будет оценка MTTF для компьютера, в целом? И какова вероятность отказа компьютера через 1 год после начала эксплуатации?

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

Как вычисляется среднее время до отказа и вероятность безотказной работы?

Reading time4 min
Views128K
Понятиям MTTF (Mean Time To Failure — среднее время до отказа) и другим терминам теории надежности посвящено большое количество статей, в том числе на Хабре (см., например, тут). Вместе с тем, редкие публикации «для широкого круга читателей» затрагивают вопросы математической статистики, и уж тем более они не дают ответа на вопрос о принципах расчета надежности электронной аппаратуры по известным характеристикам ее составных элементов.

В последнее время мне довольно много приходится работать с расчетами надежности и рисков, и в этой статье я постараюсь восполнить этот пробел, отталкиваясь от своего предыдущего материала (из цикла о машинном обучении) о пуассоновском случайном процессе и подкрепляя текст вычислениями в Mathcad Express, повторить которые вы сможете скачав этот редактор (подробно о нем тут, обратите внимание, что нужна последняя версия 3.1, как и для цикла по machine learning). Сами маткадовские расчеты лежат здесь (вместе с XPS- копией).
Читать дальше →

Машинное обучение — 3. Пуассоновский случайный процесс: просмотры и клики

Reading time4 min
Views22K
В предыдущих статьях, посвященных вероятностному описанию конверсии сайта, мы рассматривали число событий (просмотров и кликов), как выборку случайной величины, без зависимости от времени. Теперь пришло время сделать следующий шаг и ввести ее в рассмотрение.
Читать дальше →

Машинное обучение — 2. Нелинейная регрессия и численная оптимизация

Reading time4 min
Views23K
Прошел месяц с появления моей первой статьи на Хабре и 20 дней с момента появления второй статьи про линейную регрессию. Статистика по просмотрам и целевым действиям аудитории копится, и именно она послужила отправной точкой для данной статьи. В ней мы коротко рассмотрим пример нелинейной регрессии (а именно, экспоненциальной) и с ее помощью построим модель конверсии, выделив среди пользователей две группы.

Когда известно, что случайная величина y зависит от чего-то (например, от времени или от другой случайной величины x) линейно, т.е. по закону y(x)= Ax+b, то применяется линейная регрессия (так в прошлой статье мы строили зависимость числа регистраций от числа просмотров). Для линейной регрессии коэффициенты A и b вычисляются по известным формулам. В случае регрессии другого вида, например, экспоненциальной, для того чтобы определить неизвестные параметры, необходимо решить соответствующую оптимизационную задачу: а именно, в рамках метода наименьших квадратов (МНК) задачу нахождения минимума суммы квадратов (y(xi) — yi)2.

Итак, вот данные, которые будем использовать в качестве примера. Пики посещаемости (ряд Views, красный пунктир) приходятся на моменты выхода статей. Второй ряд данных (Regs, с множителем 100) показывает число читателей, выполнивших после прочтения определенное действие (регистрацию и скачивание Mathcad Express – с его помощью, к слову, вы сможете повторить все расчеты этой и предыдущих статей). Все картинки — это скриншоты Mathcad Express, а файл с расчетами вы можете взять здесь.


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

Машинное обучение — 1. Корреляция и регрессия. Пример: конверсия посетителей сайта

Reading time3 min
Views37K
Как и обещал, начинаю цикл статей по «машинному обучению». Эта будет посвящена таким понятиям из статистики, как корреляция случайных величин и линейная регрессия. Рассмотрим, как реальные данные, так и модельные (симуляцию Монте-Карло).

Часть 1. Реальные данные


Чтобы было интереснее, рассказ построен на примерах, причем в качестве данных (и в этой, и в следующих, статьях) я буду стараться брать статистику прямо отсюда, с Хабра. А именно, неделю назад я написал свою первую статью на Хабре (про Mathcad Express, в котором и будем все считать). И вот теперь статистику по ее просмотрам за 10 дней и предлагаю в качестве исходных данных. На графике это ряд Views, синяя линия. Второй ряд данных (Regs, с коэффициентом 100) показывает число читателей, выполнивших после прочтения определенное действие (регистрацию и скачивание дистрибутива Mathcad Prime).


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

Mathcad Express — бесплатный математический редактор, про который мало кто знает

Reading time4 min
Views281K
Прежде всего, приветствую первых посетителей моего блога. Это моя первая статья на Хабре и я надеюсь, что смогу рассказать вам здесь много полезного.

РТС Mathcad – это характерный пример математического ПО, предназначенного для осуществления, как численных, так и аналитических расчетов по формулам и визуализации их результатов в виде графиков.
Читать дальше

Information

Rating
Does not participate
Location
Россия
Registered
Activity