Жизнь на карантине чертовски хороша: очень много работаю,...

Жизнь на карантине чертовски хороша: очень много работаю, что-то где-то получается, что-то нет, но в любом случае продуктивность выросла очень сильно. В последнее время, несколько контринтуитивно, всё больше и интенсивнее преподаю: читаю онлайн-лекции в СПбГУ, в НИУ ВШЭ, в Самсунге, скоро начну ещё курс в MADE (академия Mail.Ru, спасибо Илье Макарову за приглашение!). Лекции из университетов выкладываю на YouTube, я теперь у мамы стример (ссылка в комментариях).

Но поговорить хотел о другом. Перед последними лекциями в СПбГУ что-то читал про коронавирус, и вдруг смотрю — вероятностные модели, обучаются MCMC-методами (Markov Chain Monte Carlo, типа Метрополис-Гастингс и сэмплирование по Гиббсу), прямо по теме! Решил попробовать разобраться детальнее; вроде даже разобрался, сам с нуля в учебных целях реализовал простейший вариант модели SIR (susceptible-infected-recovered), рассказал о нём студентам (опять же, ссылки в комментариях — лекция, думаю, вышла довольно мучительная, но зато всё по-настоящему, на живую, сам делал; там в лекции говорю, что код пока не работает — с тех пор всё поправил, заработало как ожидалось, всё нормально). В серьёзных ссылках про коронавирус пишут (см., опять же, комментарии), что использовали вариант такой модели — окей, там не SIR, а SEIR (ещё exposed, типа инкубационный период), и время там непрерывное, а не дискретное, как у меня, но по сути дела я всё равно остался в полном недоумении.

Дело в том, что это всё звучит разумно, прикольно работает и обучается, но там надо задать размер популяции, то есть по сути число людей, от которых ты можешь заразиться. Сама модель его обучить вряд ли может, ну или сможет, если зафиксировать другие параметры, которые как раз надо обучать и которые взять тем более неоткуда. Понятное дело, что сто или даже пять миллионов задавать нет никакого смысла, а если с потолка брать, то получается, что как задашь, так на выходе и получится... А откуда ж его взять, это число — такое ощущение, что данных таких в реальности нет и быть не может, и тогда это всё разумно только для замкнутых популяций, типа эпидемии гриппа в рамках одной группы университета или там какой-нибудь другой эпидемии в рамках одного клуба "Blue Oyster" (ссылка в комментариях).

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

Наверняка меня куча умных людей читают — как это на самом деле делается? Я вот честно прочитал ссылки прямо с сайта WHO и там нашёл то, о чём пишу выше, но подозреваю, что есть об этом какая-то ещё другая наука. А то пока это всё выглядит как отличный параграф для книжки про машинное обучение, если когда-нибудь возьмусь её писать, но совсем не как что-то реальное...
Life in quarantine is damn good: I work a lot, something works out somewhere, something doesn't, but in any case, productivity has grown very much. Recently, somewhat counterintuitively, I have been teaching more and more intensively: I read online lectures at St. Petersburg State University, at the Higher School of Economics, in Samsung, and soon I will start another course at MADE (Mail.Ru Academy, thanks to Ilya Makarov for the invitation!). I post lectures from universities on YouTube, now my mother has a streamer (link in the comments).

But I wanted to talk about something else. Before the last lectures at St. Petersburg State University I read something about the coronavirus, and suddenly I looked - probabilistic models, trained by MCMC methods (Markov Chain Monte Carlo, such as Metropolis-Hastings and Gibbs sampling), right on the topic! I decided to try to figure it out in more detail; I even sort of figured it out, I myself implemented the simplest version of the SIR (susceptible-infected-recovered) model from scratch for educational purposes, told the students about it (again, the links in the comments - the lecture, I think, came out quite painful, but everything is for real, live, I did it myself; there in the lecture I say that the code does not work yet - since then I have corrected everything, it worked as expected, everything is fine). In serious links about the coronavirus they write (see, again, comments) that they used a version of such a model - okay, there is not SIR, but SEIR (still exposed, such as the incubation period), and the time there is continuous, not discrete, like in me, but as a matter of fact I was still completely bewildered.

The fact is that it all sounds reasonable, it works and learns cool, but there you need to set the size of the population, that is, in fact, the number of people from whom you can become infected. The model itself is unlikely to train it, or it can, if we fix other parameters that just need to be trained and which are all the more impossible to get from. It is clear that there is no point in asking one hundred or even five million, but if you take it from the ceiling, it turns out that as you ask, it will work out ... And where can I get it, this number - it seems that such in reality it is not and cannot be, and then all this is reasonable only for closed populations, such as an influenza epidemic within one university group or some other epidemic within the framework of one Blue Oyster club (link in the comments).

All this is greatly aggravated by the fact that the data about the coronavirus is a sequence of a couple of dozen numbers - well, okay, if you launch it simultaneously for all countries, then a couple of hundred sequences of a couple of dozen numbers (but then for each you need to come up with a different population size from somewhere ). This, if anything, is very small.

Surely a lot of smart people read me - how is this actually done? I honestly read the links directly from the WHO website and found there what I am writing about above, but I suspect that there is some other science about this. In the meantime, it all looks like a great paragraph for a book about machine learning, if someday I undertake to write it, but not at all like something real ...
У записи 41 лайков,
3 репостов,
1033 просмотров.
Эту запись оставил(а) на своей стене Сергей Николенко

Понравилось следующим людям