Pull to refresh
2
0
Андрей Петров @4uvak

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

Send message

Лемма Ито

Reading time6 min
Views16K

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

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments3

Как возникают электромагнитные волны

Reading time16 min
Views29K


Bremsstrahlung ("тормозное излучение") — ударная волна света, которая генерируется, когда заряженные частицы "застревают" в твердом теле (классический процесс генерации излучения в рентгеновских вакуумных трубках).


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

Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments27

История интерпретируемости в распознавании изображений

Reading time10 min
Views3K


Распознавание изображений (т. е. классификация того, какой объект отображается на изображении) является основной задачей в области компьютерного зрения, так как она позволяет использовать различные последующие приложения (автоматическая маркировка фотографий, помощь слабовидящим людям и т. д.) и стала стандартной задачей, по которой можно проводить сравнение алгоритмов машинного обучения (ML). Алгоритмы глубокого изучения (DL) за последнее десятилетие стали наиболее конкурентоспособными алгоритмами распознавания образов. Однако по умолчанию это алгоритмы «чёрного ящика»: трудно объяснить, почему они делают конкретный прогноз. Почему это является проблемой? Пользователи моделей ML часто хотят иметь возможность интерпретировать, какие части изображения привели к прогнозу алгоритма, по многим причинам:

  • Разработчики машинного обучения могут анализировать интерпретации к отладочным моделям, идентифицировать заблуждения и прогнозировать, обобщается ли модель на новые изображения.
  • Пользователи моделей машинного обучения могут больше доверять модели, если модели объясняют, почему был сделан конкретный прогноз.
  • Законодательное регулирование относительно ML, такое как GDPR, требует некоторых алгоритмических решений, которые можно объяснить с человеческой точки зрения.

Мотивированные такими условиями, в течение последнего десятилетия исследователи разработали множество различных методов для открытия «чёрного ящика» глубокого обучения с целью сделать базовые модели более объяснимыми. Некоторые методы специфичны для определённых видов алгоритмов, в то время как другие являются общими. В этой статье представлен обзор методов интерпретации, изобретённых для распознавания образов, а также примеры и код, чтобы попробовать их самостоятельно с помощью Gradio. Автор статьи Али Абдалла — сооснователь Gradio и инженер по машинному обучению. До этого он работал в Tesla, iRobot и MIT. Он опубликовал несколько научных статей  и участвовал во многих проектах с открытым исходным кодом.
Приятного чтения!
Total votes 11: ↑10 and ↓1+11
Comments0

Процессы и потоки in-depth. Обзор различных потоковых моделей

Reading time10 min
Views117K
Здравствуйте дорогие читатели. В данной статье мы рассмотрим различные потоковые модели, которые реализованы в современных ОС (preemptive, cooperative threads). Также кратко рассмотрим как потоки и средства синхронизации реализованы в Win32 API и Posix Threads. Хотя на Хабре больше популярны скриптовые языки, однако основы — должны знать все ;)
Далее
Total votes 64: ↑62 and ↓2+60
Comments45

Параллелизм против многопоточности против асинхронного программирования: разъяснение

Reading time4 min
Views134K
Хочу представить вашему вниманию перевод статьи Concurrency vs Multi-threading vs Asynchronous Programming: Explained.

В последние время, я выступал на мероприятиях и отвечал на вопрос аудитории между моими выступлениями о Асинхронном программировании, я обнаружил что некоторые люди путали многопоточное и асинхронное программирование, а некоторые говорили, что это одно и тоже. Итак, я решил разъяснить эти термины и добавить еще одно понятие Параллелизм. Здесь есть две концепции и обе они совершенно разные, первая синхронное и асинхронное программирование и вторая – однопоточные и многопоточные приложения. Каждая программная модель (синхронная или асинхронная) может работать в однопоточной и многопоточной среде. Давайте обсудим их подробно.
Читать дальше →
Total votes 35: ↑24 and ↓11+13
Comments59

Как устроен GIL в Python

Reading time6 min
Views123K
Почему после распараллеливания выполнение вашей программы может замедлиться вдвое?
Почему после создания потока перестает работать Ctrl-C?
Представляю вашему вниманию перевод статьи David Beazley «Inside the Python GIL». В ней рассматриваются некоторые тонкости работы потоков и обработки сигналов в Python.

GIL
Читать дальше →
Total votes 67: ↑65 and ↓2+63
Comments27

ОТО. Геометрическое представление кривизны пространства в метрике Шварцшильда. Часть 2

Reading time15 min
Views4.6K
… или один плюс три снова четыре.

Для понимания статьи необходим школьный курс математики, и, может быть, даже достаточен.

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

Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments38

Сэмплирование Томпсона

Reading time13 min
Views9.7K

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

С помощью стратегий из задачи про многорукого бандита нам нужно найти лучшую розетку в кратчайшие сроки, чтобы Маленький Робот подзарядился и отправился в путь. Сэмплирование Томпсона — это один из самых сложных и интересных способов решения задачи «многорукого бандита».

Читать далее
Total votes 49: ↑48 and ↓1+53
Comments1

Создание образа Мона Лизы в Игре «Жизнь»

Reading time10 min
Views11K

Клеточные автоматы представляют большой интерес и являются предметом исследования во многих областях, включая математику, физику, биологию, программирование и прочие. В статье мы разберем базовую реализацию и оптимизацию алгоритма для поиска состояния Жизни, из которого в течение нескольких поколений будет генерироваться образ Мона Лизы.
Total votes 79: ↑79 and ↓0+79
Comments11

Как я изучал структуры данных и алгоритмы для собеседования в FAANG

Reading time12 min
Views61K
Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber.

Эта история началась в 2015 году, когда стартап, к которому я присоединился как «сотрудник-основатель», закрылся через шесть месяцев после первого раунда инвестиций, и я искал новую работу. Первое моё собеседование было с  Codecademy, где на этапе телефонного разговора меня заверили: «Не волнуйтесь, мы не задаём сумасшедших вопросов об алгоритмах или что-то в этом роде». И я им поверил…


Приятного чтения!
Total votes 46: ↑40 and ↓6+49
Comments71

Математические бэкдоры в алгоритмах шифрования

Reading time17 min
Views24K

Мы привыкли полагаться на современные алгоритмы шифрования. Однако, действительно ли они так безопасно защищают наши данные? Давайте разберёмся с таким понятием как математический бэкдор, что он из себя представляет и как работает.

Читать далее
Total votes 39: ↑37 and ↓2+50
Comments49

Как писать книгу по физике в LaTeX. Cтатья 1

Reading time26 min
Views35K
Это моя первая статья на Хабре.

Глава 1. Введение


1.1 Позвольте представиться и почему я это пишу

Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по ее содержимому. Она отняла у меня очень много времени, что естественно. Что не естественно — это то, что громадная часть потраченного времени ушла на оформление, то есть на изучение языка Латех. И это при том, что я на Латехе пишу всю жизнь, лично написал и опубликовал около 50 статей в разных издательствах.

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

После публикации книги (пока, увы, только на русском языке) у меня возникло громадное желание написать ещё книгу "Как написать книгу по физике в Латехе"
Читать дальше →
Total votes 90: ↑89 and ↓1+126
Comments100

Пошаговое руководство по созданию торгового бота на любом языке программирования

Reading time14 min
Views112K
У меня нет квалификации, позволяющей давать советы, касающиеся инвестиций, законов, или чего-то подобного. Я и не пытаюсь этого делать. Цель руководства заключается в том, чтобы, в учебных целях, рассказать о программировании торговых ботов. Вы должны понимать, что, создав бота, вы несёте ответственность за принимаемые им решения, за выполняемые им инвестиционные операции, за те риски, которые сопряжены с торговой деятельностью. Я не могу отвечать за те решения, которые вы примете после прочтения данного материала. Помните, что боты способны потерять большие деньги, поэтому используйте их с осторожностью.

Часто можно встретить статьи, которые называются примерно так: «10 проектов, которые нужно реализовать программисту». Часто в списки этих статей входят торговые боты. Я считаю, что разработка торгового бота — это достойное вложение сил. Поэтому я решил уделить некоторое время тому, чтобы написать учебное руководство об этом.

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

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



Я буду демонстрировать примеры, написанные на псевдокоде. Поэтому вы сможете читать это руководство и тут же писать собственного бота на выбранном вами языке программирования.

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

Вы выберете оружие, а я научу вас владеть этим оружием.
Читать дальше →
Total votes 32: ↑24 and ↓8+27
Comments28

Продвинутый уровень визуализации данных для Data Science на Python

Reading time7 min
Views48K
Как сделать крутые, полностью интерактивные графики с помощью одной строки Python

image

Когнитивное искажение о невозвратных затратах (sunk cost fallacy) является одним из многих вредных когнитивных предубеждений, жертвой которых становятся люди. Это относится к нашей тенденции продолжать посвящать время и ресурсы проигранному делу, потому что мы уже потратили — утонули — так много времени в погоне. Заблуждение о заниженной стоимости применимо к тому, чтобы оставаться на плохой работе дольше, чем мы должны, рабски работать над проектом, даже когда ясно, что он не будет работать, и да, продолжать использовать утомительную, устаревшую библиотеку построения графиков — matplotlib — когда существуют более эффективные, интерактивные и более привлекательные альтернативы.

За последние несколько месяцев я понял, что единственная причина, по которой я использую matplotlib, — это сотни часов, которые я потратил на изучение сложного синтаксиса. Эти сложности приводят к часам разочарования, выясняя на StackOverflow, как форматировать даты или добавить вторую ось Y. К счастью, это прекрасное время для построения графиков в Python, и после изучения вариантов, явным победителем — с точки зрения простоты использования, документации и функциональности — является библиотека plotly. В этой статье мы погрузимся прямо в plotly, изучая, как создавать лучшие графики за меньшее время — часто с помощью одной строки кода.
Читать дальше →
Total votes 20: ↑17 and ↓3+23
Comments10

Коды избыточности: простыми словами о том, как надёжно и дёшево хранить данные

Reading time11 min
Views31K


Так выглядит избыточность


Коды избыточности* широко применяются в компьютерных системах для увеличения надёжности хранения данных. В Яндексе их используют в очень многих проектах. Например, применение кодов избыточности вместо репликации в нашем внутреннем объектном хранилище экономит миллионы без снижения надёжности. Но несмотря на широкое распространение, понятное описание того, как работают коды избыточности, встречается очень редко. Желающие разобраться сталкиваются примерно со следующим (из Википедии):



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


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


* Под термином «коды избыточности» в статье подразумевается инженерный термин «erasure codes».

Читать дальше →
Total votes 47: ↑43 and ↓4+54
Comments32

Сортировка декартовым деревом

Reading time5 min
Views16K
Свежий взгляд на традиционные концепции. Сегодня будет такой «декарт» которого в школе не проходили.


Суть алгоритма в том, что на основании массива строится так называемое декартово дерево. А из построенного декартового дерева очень легко получить все элементы в порядке возрастания или убывания.
Траффик
Total votes 15: ↑12 and ↓3+14
Comments6

3D ML. Часть 2: функции потерь в задачах 3D ML

Reading time22 min
Views11K


Основной сложностью при выборе функций ошибок для работы с 3D данными является неевклидовость рассматриваемых структур, из-за которой задача определения расстояния в пространстве 3D моделей становится совсем нетривиальной.


В этой заметке мы поговорим о том, какие функции ошибки (Loss functions) алгоритмов используются в 3D ML, какие из них можно использовать в качеств метрик качества (metrics), а какие — в качестве регуляризаторов (regularizers).

Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments1

Стажировка аналитиком в Яндексе: разбор тестовых задач

Reading time14 min
Views46K


Привет, Хабр!

Однажды, штудируя очередную книгу по пресловутой Data Science, я пришел к мысли, что пора бы применить накопленные знания на практике и увидеть жизнь отдела аналитики своими глазами. К моему счастью, Яндекс запустил отбор на полугодичную стажировку по соответствующему направлению, и я не мог пройти мимо. Приём заявок 2020 уже закончился, поэтому в этой статье я с чистой совестью разберу задачи, которые Яндекс предлагал решить соискателям на первом этапе. Будет и код на Python. Спойлер: сложно, но интересно.
Читать дальше →
Total votes 12: ↑10 and ↓2+15
Comments10

50 оттенков matplotlib — The Master Plots (с полным кодом на Python)

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



Встретимся «внутри»!
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments15

10 интересных репозиториев на GitHub, полезных любому разработчику

Reading time4 min
Views82K
Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО.


Фото с ресурса Unsplash. Автор: Vishnu R Nair

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

Каждый из них имеет множество звезд на GitHub, что только подтверждает их популярность, актуальность и полезность. Одни репозитории научат вас чему-то новому, благодаря другим вы сможете создать какие-то классные штуки. В целом, используя их, можно основательно прокачать навык разработки программного обеспечения.
Читать дальше →
Total votes 69: ↑64 and ↓5+78
Comments14

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity