Как стать автором
Обновить
1
0
Дмитрий Донцов @Donskoy

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

Отправить сообщение

Теоретические основы всех популярных алгоритмов машинного обучения и их реализация с нуля на Python

Уровень сложностиСложный
Время на прочтение1 мин
Количество просмотров22K

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

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии21

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

Уровень сложностиСредний
Время на прочтение33 мин
Количество просмотров97K

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

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Читать далее
Всего голосов 216: ↑214 и ↓2+212
Комментарии77

STS-107

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров14K

- Lock the doors!

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

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

Итак, во время старта международной космической миссии NASA STS-107 космический корабль «Колумбия» получил повреждения теплоизоляции крыла от попадания фрагмента другой теплоизоляции, оторвавшейся со стойки топливного бака. Подобные случаи были нередкими, а потому инциденту не придали значения, и на этапе возвращения корабль неожиданно и трагически сгорел в атмосфере, унеся жизни 7 человек экипажа. Такую картину рисуют большинство заметок, коротких статей и репортажей об инциденте. Но было ли это все так просто на самом деле?

Читать далее
Всего голосов 125: ↑125 и ↓0+125
Комментарии60

CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее

Время на прочтение6 мин
Количество просмотров50K

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

В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привык полагаться. Если тут нет вашего любимого - дайте мне знать в комментариях :)

Читать далее
Всего голосов 114: ↑107 и ↓7+100
Комментарии83

Как помириться с бессонницей, или зачем Толстой студил ноги на ночь

Время на прочтение6 мин
Количество просмотров44K
image
Фотограф: Gianni Berengo Gardin
… Жизни мышья беготня…
Что тревожишь ты меня?…
Я понять тебя хочу,
Смысла я в тебе ищу…
Александр Пушкин, «наше всё». «Стихи, сочиненные ночью во время бессонницы»
Внимание, внимание: наш мир в опасности! Нет, нам угрожает не ядерная война и не астероид — просто люди стали плохо спать!

О чём речь?


У вас случается такое, что вы физически спать хотите, и даже очень, но мозг упрямо «не отключается»? Вы лежите, десять минут, двадцать. А часики тикают. Ночь с воскресенья на понедельник давно началась, сосед уже спит, соседка тоже, и котик во дворе спит, и собачка. Все спят. А вы — нет. С опаской смотрите на экран телефона — и видите, что до начала рабочего дня осталось уже совсем немного (а заодно и понимаете, что зря посмотрели на экран — читали же давеча, что свет мобильников вреден). Осознание этого ещё больше толкает вас в бездну бессонницы, и лишь под утро, измождённые, вы (возможно) засыпаете.

Что ж, если это хотя бы немного про вас, то вы не одиноки.
Читать дальше →
Всего голосов 50: ↑38 и ↓12+26
Комментарии117

Интуиция как инструмент инженера, или чему нас учит опыт покорителей Севера

Время на прочтение27 мин
Количество просмотров24K
image

Авторские права на фотографию принадлежат "Russian Travel Geek".

«Чтобы попасть на Территорию, вы должны сесть в самолет. Правда, летом вы можете добраться сюда и на пароходе — месячное плавание среди льда и тумана, когда кажется, что мир исчез и существуют лишь железная палуба, перекличка сирен каравана и ваша каюта. Через несколько дней именно в каюте вы и будете проводить почти всё свое время, ибо вам быстро осточертеет блеклая полярная вода, низкое небо и слово „навигация“, которое произносится тысячу раз на дню.… Рейс ваш окончится не на той планете, с которой начался. Вас ожидает прохладный и влажный воздух, черный и желтый пейзаж, если вы прилетели летом, и некая суровая снежная обнаженность, которую трудно передать словами, если вас затащило туда зимой.»
Олег Куваев, роман «Территория», 1978 г.

Чтобы поехать строить свою карьеру на Север, нужно быть сильным. Инфраструктура там и сейчас-то развита не очень, а лет 70 назад путь из Чукотки до Москвы даже на самолёте занимал четверо суток.
Читать дальше →
Всего голосов 52: ↑50 и ↓2+48
Комментарии26

Практическое руководство по разработке бэкенд-сервиса на Python

Время на прочтение57 мин
Количество просмотров173K
Привет, меня зовут Александр Васин, я бэкенд-разработчик в Едадиле. Идея этого материала началась с того, что я хотел разобрать вступительное задание (Я.Диск) в Школу бэкенд-разработки Яндекса. Я начал описывать все тонкости выбора тех или иных технологий, методику тестирования… Получался совсем не разбор, а очень подробный гайд по тому, как писать бэкенды на Python. От первоначальной идеи остались только требования к сервису, на примере которых удобно разбирать инструменты и технологии. В итоге я очнулся на сотне тысяч символов. Ровно столько потребовалось, чтобы рассмотреть всё в мельчайших подробностях. Итак, программа на следующие 100 килобайт: как строить бэкенд сервиса, начиная от выбора инструментов и заканчивая деплоем.



TL;DR: Вот репка на GitHub с приложением, а кто любит (настоящие) лонгриды — прошу под кат.
Читать дальше →
Всего голосов 70: ↑68 и ↓2+66
Комментарии48

BERT, ELMO и Ко в картинках (как в NLP пришло трансферное обучение)

Время на прочтение11 мин
Количество просмотров46K

2018 год стал переломной точкой для развития моделей машинного обучения, направленных на решение задач обработки текста (или, что более корректно, обработки естественного языка (Natural Language Processing, NLP)). Быстро растет концептуальное понимание того, как представлять слова и предложения для наиболее точного извлечения их смысловых значений и отношений между ними. Более того, NLP-сообщество продвигает невероятно мощные инструменты, которые можно бесплатно скачать и использовать в своих моделях и пайплайнах. Эту переломную точку также называют NLP’s ImageNet moment, ссылаясь на тот момент несколько лет назад, когда схожие разработки значительно ускорили развитие машинного обучения в области задач компьютерного зрения.


transformer-ber-ulmfit-elmo


(ULM-FiT не имеет ничего общего с Коржиком, но что-то лучше не пришло в голову)

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

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

Время на прочтение14 мин
Количество просмотров45K


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

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

41 вопрос о работе со строками в Python

Время на прочтение9 мин
Количество просмотров140K
Я начал вести список наиболее часто используемых функций, решая алгоритмические задачи на LeetCode и HackerRank.

Быть хорошим программистом — это не значит помнить все встроенные функции некоего языка. Но это не означает и того, что их запоминание — бесполезное дело. Особенно — если речь идёт о подготовке к собеседованию.

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


Читать дальше →
Всего голосов 65: ↑62 и ↓3+59
Комментарии40

Transformer в картинках

Время на прочтение14 мин
Количество просмотров112K

В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (Transformer) – модель, которая использует механизм внимания для повышения скорости обучения. Более того, для ряда задач Трансформеры превосходят модель нейронного машинного перевода от Google. Однако самое большое преимущество Трансформеров заключается в их высокой эффективности в условиях параллелизации (parallelization). Даже Google Cloud рекомендует использовать Трансформер в качестве модели при работе на Cloud TPU. Попробуем разобраться, из чего состоит модель и какие функции выполняет.


Впервые модель Трансформера была предложена в статье Attention is All You Need. Реализация на TensorFlow доступна как часть пакета Tensor2Tensor, кроме того, группа NLP-исследователей из Гарварда создали гид-аннотацию статьи с реализацией на PyTorch. В данном же руководстве мы попробуем максимально просто и последовательно изложить основные идеи и понятия, что, надеемся, поможет людям, не обладающим глубоким знанием предметной области, понять данную модель.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии5

Оценка качества кластеризации: свойства, метрики, код на GitHub

Время на прочтение11 мин
Количество просмотров34K

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


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


В далёком 2013 году мне повезло поучаствовать в разработке очень сложного алгоритма кластеризации. Требовалось с очень высоким качеством кластеризовать сотни тысяч объектов и делать это быстро: за десятки секунд на одной машине. Первым делом нужно было построить систему оценки качества, и в этой статье я расскажу именно о ней.



Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии10

Домашний кластер на Dask

Время на прочтение9 мин
Количество просмотров6.5K

image


Я недавно проводил исследование, в рамках которого было необходимо обработать несколько сотен тысяч наборов входных данных. Для каждого набора — провести некоторые расчеты, результаты всех расчетов собрать вместе и выбрать "лучший" по некоторым критериям. По сути это bruteforce перебор. Тоже самое происходит при подборе параметров ML моделей с помощью GridSearch.


Однако, с некоторого момента размер вычислений может стать для одного компьютера великоват, даже если запускать ее в несколько процессов с помощью joblib. Или, если сказать точнее, он становится слишком долгим для нетерпеливого экспериментатора.


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

Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии4

Как я искал пацанский движок для блога

Время на прочтение8 мин
Количество просмотров42K


Я много пишу в интернетах и мне захотелось завести свой личный стэндалон блог, куда можно писать мелкие заметки и статьи, не подходящие для других площадок. Главная проблема личного блога — мне лень оформлять посты. Чтобы черкануть пару строк в каком-нибудь Wordpress, нужно слишком много телодвижений. Я попробовал несколько разных движков и каждый раз ловил себя на ощущении, что мне не хочется ими пользоваться, намного быстрее и проще писать в записную книжку вроде Evernote или Notion. Так я стал искать идеальный движок для блога, отвечающий всем моим потребностям.

Мои требования к идеальному движку:


  • Желательно self-hosted — я пережил много закрытий сервисов, от narod.ru до google+ и точно знаю, что рано или поздно все протухает, поэтому надежнее всего держать контент у себя. Также посты могут удалять по каким-то фейковым жалобам или по DMCA, как это происходит на Medium и LiveJournal.
  • Возможность подключения своего домена — мне нужен сайт-визитка со всеми проектами и ссылками в одном месте, где можно разместить портфолио, резюме, контакты.
  • Минимум телодвижений и интерфейса — в идеале интерфейса CMS вообще не должно быть видно, админская панель не нужна, посты должны редактироваться, создаваться и просматриваться в одном месте.
  • Полноценный WYSIWYG редактор — поддержка разметки Markdown и обработка её в реальном времени, подсветка кода, вставка картинок из буфера обмена.
  • Нормальные комментарии — возможность оставлять анонимные комментарии и авторизовываться через максимум соц. сетей для персонифицированных комментариев.
  • Минималистичный внешний вид — я не хочу заниматься версткой и темами, подходящее оформление должно быть из коробки.


Внутри я рассказываю какой вижу идеальную CMS, редактор постов и комментарии, почему большинство существующих движков устарели на десять лет, и сравниваю между собой разные движки.
Всего голосов 94: ↑87 и ↓7+80
Комментарии80

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

Время на прочтение12 мин
Количество просмотров204K

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Всего голосов 201: ↑196 и ↓5+191
Комментарии342

Как научиться разработке на Python: новый видеокурс Яндекса

Время на прочтение6 мин
Количество просмотров244K
Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Яндексе. К каждому видео приложены ссылки на примеры и полезные материалы.

Для изучения курса нужно знать основы Python и понимать, как приложения развёртываются на серверах. Мы ждём, что вы умеете делать запросы к базам данных и знаете, как создаются веб‑приложения, — хотя бы на начальном уровне.
Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии41

Лучшие материалы о собеседованиях и поиске работы

Время на прочтение4 мин
Количество просмотров15K


Команда Хабр Карьеры собрала 11 лучших материалов о поиске работы и неизбежных в этом случае собеседованиях. Чего ожидать и как к этому приготовиться, в своих статьях с одной стороны рассказывают бывалые люди, поработавшие в куче компаний, а с другой стороны — опытные рекрутеры.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии0

Где найти фриланс, который будет приносить удовольствие? (Спойлер: не Upwork)

Время на прочтение6 мин
Количество просмотров44K

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


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


Теперь «фриланс» становится новым трендом. И поскольку многие начинают к нему присматриваться, первый вопрос, который возникает: «Где можно найти хорошие предложения по удаленной работе?»


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


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


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

Читать дальше →
Всего голосов 32: ↑24 и ↓8+16
Комментарии15

Рубрика «Читаем статьи за вас». Март 2020. Часть 1

Время на прочтение12 мин
Количество просмотров5.7K


Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество!


Статьи на сегодня:


  1. Fast Differentiable Sorting and Ranking (Google Brain, 2020)
  2. MaxUp: A Simple Way to Improve Generalization of Neural Network Training (UT Austin, 2020)
  3. Deep Nearest Neighbor Anomaly Detection (Jerusalem, Israel, 2020)
  4. AutoML-Zero: Evolving Machine Learning Algorithms From Scratch (Google, 2020)
  5. SpERT: Span-based Joint Entity and Relation Extraction with Transformer Pre-training (RheinMain University, Germany, 2019)
  6. High-Resolution Daytime Translation Without Domain Labels (Samsung AI Center, Moscow, 2020)
  7. Incremental Few-Shot Object Detection (UK, 2020)
Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии0

Рубрика «Читаем статьи за вас». Март 2020. Часть 2

Время на прочтение13 мин
Количество просмотров6.4K


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


Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Первая часть мартовской сборки обзоров опубликована ранее.


Статьи на сегодня:


  1. NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis (UC Berkeley, Google Research, UC San Diego, 2020)
  2. Scene Text Recognition via Transformer (China, 2020)
  3. PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization (Imperial College London, Google Research, 2019)
  4. Lagrangian Neural Networks (Princeton, Oregon, Google, Flatiron, 2020)
  5. Deformable Style Transfer (Chicago, USA, 2020)
  6. Rethinking Few-Shot Image Classification: a Good Embedding Is All You Need? (MIT, Google, 2020)
  7. Attentive CutMix: An Enhanced Data Augmentation Approach for Deep Learning Based Image Classification (Carnegie Mellon University, USA, 2020)
Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии2
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Зарегистрирован
Активность