Pull to refresh
15
12

Lead Data Scientist | AI/ML Consultant

Send message

ML и DS оттенки кредитного риск-менеджмента

Reading time14 min
Views25K


Всем привет.

Мы команда Advanced Analytics GlowByte и запускаем цикл статей о моделировании в задачах управления кредитным риском. Цель цикла — кратко рассказать о сфере, расширить словарь профессиональных терминов и дать ссылки на полезные статьи и книги. В вводной статье мы покажем особенности применения ML и DS в сфере кредитного риска, без глубокого погружения в предметную область.

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

Основа публикаций — наш проектный опыт по разработке и внедрению аналитических моделей в банковской сфере.

А теперь под кат.
Читать дальше →
Total votes 5: ↑3 and ↓2+5
Comments1

Продвинутые методы Uplift-моделирования

Reading time8 min
Views7.7K

Всем привет! Меня зовут Окунева Полина, я ведущий аналитик компании GlowByte. Сегодня я хочу рассказать о задаче Uplift-моделирования — частном случае такой большой сферы как Causal Inference, или причинно-следственный анализ, — и методах ее решения. Задачи такого типа важны во многих областях. Если вы сотрудник, например, продуктовой компании, то причинно-следственный анализ поможет сократить издержки на коммуникации с людьми, на которых она не повлияет. Если вы врач, то такой анализ подскажет, выздоровел пациент благодаря лекарству или из-за удачного стечения обстоятельств. 

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

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

В Data Science не нужна математика (Почти)

Reading time6 min
Views89K

Привет, чемпион!

Ребята с «вышкой» всё время умничают, что в Data Science нужна «математика», но стоит копнуть глубже, оказывается, что это не математика, а вышмат.

В реальной повседневной работе Data Scientist'а я каждый день использую знания математики. Притом очень часто это далеко не «вышмат». Никакие интегралы не считаю, детерминанты матриц не ищу, а нужные хитрые формулы и алгоритмы мне оперативнее просто загуглить.

Решил накидать чек-лист из простых математических приёмов, без понимания которых — тебе точно будет сложно в DS. Если ты только начинаешь карьеру в DS, то тебе будет особенно полезно. Мощь вышмата не принижаю, но для старта всё сильно проще, чем кажется. Важно прочитать до конца!
Читать дальше →
Total votes 109: ↑102 and ↓7+129
Comments87

Совместные конфиденциальные вычисления на пальцах

Reading time5 min
Views4.2K

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

Начну немного издалека, я в целом интересуюсь темой распределенной обработки данных с сохранением конфиденциальности, в частности активно смотрю на развитие такого направления, как Federated Learning. Часто попадаются статьи и материалы на эту тему, в которых наблюдаю некоторую терминологическую путаницу, тк термины Federated Learning и Confidential Computing часто используют как синонимы, но это не совсем так. Может быть я не совсем прав, но набор методов, для "обучения" (learning) и для "вычислений" вообще-то отличаются и не являются подмножеством друг друга. Поэтому в первую очередь хочу высказаться про мое понимание их фундаментальной разницы:

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

Теория звука. Что нужно знать о звуке, чтобы с ним работать. Опыт Яндекс.Музыки

Reading time14 min
Views213K
Звук, как и цвет, люди воспринимают по-разному. Например, то, что кажется слишком громким или некачественным одним, может быть нормальным для других.

Для работы над Яндекс.Музыкой нам всегда важно помнить о разных тонкостях, которые таит в себе звук. Что такое громкость, как она меняется и от чего зависит? Как работают звуковые фильтры? Какие бывают шумы? Как меняется звук? Как люди его воспринимают.



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

Поводом для этого поста можете считать то, что мы добавили в приложения Яндекс.Музыки возможность слушать треки в высоком качестве (320kbps). А можете не считать. Итак.
Читать дальше →
Total votes 83: ↑78 and ↓5+73
Comments52

Ассоциативные правила, или пиво с подгузниками

Reading time19 min
Views76K


Введение в теорию


Обучение на ассоциативных правилах (далее Associations rules learning — ARL) представляет из себя, с одной стороны, простой, с другой — довольно часто применимый в реальной жизни метод поиска взаимосвязей (ассоциаций) в датасетах, или, если точнее, айтемсетах (itemsests). Впервые подробно об этом заговорил Piatesky-Shapiro G [1] в работе “Discovery, Analysis, and Presentation of Strong Rules.” (1991) Более подробно тему развивали Agrawal R, Imielinski T, Swami A в работах “Mining Association Rules between Sets of Items in Large Databases” (1993) [2] и “Fast Algorithms for Mining Association Rules.” (1994) [3].
Читать дальше →
Total votes 59: ↑59 and ↓0+59
Comments25

Техники обратной связи для тимлида: разбор с примерами

Reading time7 min
Views42K

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

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

Читать далее
Total votes 26: ↑25 and ↓1+31
Comments34

Причина и следствие

Reading time13 min
Views5.9K

Мы привыкли, что Machine Learning предоставляет нам большое количество предиктивных методов, которые с каждым годом предсказывают события лучше и лучше. Деревья, леса, бустинги, нейронные сети, обучение с подкреплением и другие алгоритмы машинного обучения позволяют предвидеть будущее все более отчетливо. Казалось бы, что нужно еще? Просто улучшать методы и тогда мы рано или поздно будем жить в будущем так же спокойно, как и в настоящем. Однако не все так просто.

Когда мы рассматриваем бизнес задачи, мы часто сталкиваемся с двумя моментами. Во-первых, мы хотим понять что к чему относится и что с чем связано. Нам важна интерпретация. Чем сложнее модели мы используем, тем более нелинейные они. Тем больше они похожи на черную коробку, в которой очень сложно выявить связи, понятные человеческому разуму. Все же мы привыкли мыслить довольно линейно или близко к тому. Во-вторых, мы хотим понять - если мы подергаем вот эту "ручку", изменится ли результат в будущем и насколько? То есть, мы хотим увидеть причинно-следственную связь между нашим целевым событием и некоторым фактором. Как сказал Рубин - без манипуляции нет причинно следственной связи. Мы часто ошибочно принимаем обыкновенную корреляцию за эту связь. В этой серии статей мы сконцентрируемся на причинах и следствиях.

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

Читать далее
Rating0
Comments3

Создаем Python Flask сервис с актуальными данными по COVID-19 из Википедии

Reading time10 min
Views12K

image


Наша команда занимается созданием информационного сервиса по отображению глобальных данных для многих стран, городов и территорий — Routitude. К концу февраля этого года стремительное распространение коронавируса по всему миру побудило нас внедрить дополнительный функционал для мониторинга ситуации в наше приложение. Помимо визуализации данных в веб-интерфейсе, основным компонентом реализации этой задачи стал микросервис, написанный на Python с использованием популярного веб-фреймворка Flask.


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


В статье я расскажу про основные компоненты сервиса, от получения и обновления данных до создания API для клиентских запросов. Код проекта доступен в github репозитории.

Читать дальше →
Total votes 14: ↑6 and ↓8+1
Comments2

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

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

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

Шпаргалка по визуализации данных в Python с помощью Plotly

Reading time62 min
Views302K
Plotly — библиотека для визуализации данных, состоящая из нескольких частей:

  • Front-End на JS
  • Back-End на Python (за основу взята библиотека Seaborn)
  • Back-End на R

В этой простыне все примеры разобраны от совсем простых к более сложным, так что разработчикам с опытом будет скучно. Так же эта «шпаргалка» не заменит на 100% примеры из документации.



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

Гиперпараметры: как перестать беспокоиться и начать их оптимизировать

Reading time11 min
Views22K

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





Источник изображения: thecode.media



Размер батча, learning rate, размер того слоя, размер сего слоя, вероятность dropout-a. Страшно? Уже представляете часы (дни) ожидания? А это я еще про количество голов у трансформеров не говорил…

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

Как мы написали еще один алгоритм RFM-анализа

Reading time5 min
Views14K

КДПВ Недавно мы рассказали, почему придумали свой RFM-сегментатор, который помогает сделать RFM-анализ за 20 секунд, и показали, как использовать его результаты в маркетинге.


Теперь рассказываем, как он устроен.


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

Винеровский хаос или Еще один способ подбросить монетку

Reading time9 min
Views23K

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

  • Первый «вау-эффект» я испытал от Центральной предельной теоремы. Берем кучу случайных величин, устремляем их количество в бесконечность и получаем нормальное распределение. И совсем неважно как распределены эти величины, неважно, будь это подбрасывания монетки или капли дождя на стекле, вспышки на Солнце или остатки кофейной гущи, результат будет всегда один — их сумма всегда стремится к нормальности. Разве что, нужно потребовать их независимость и существование дисперсии (позднее я узнал, что существует теорема и для экстремальных тяжелохвостых распределений с бесконечной дисперсией). Тогда этот парадокс долго не давал мне заснуть.
  • В какой-то момент учебы в университете такие предметы как дискретная математика и функциональный анализ слились вместе и всплыли в теорвере под видом выражения «почти наверное». Стандартный пример: вы случайно выбираете число от 0 до 1. С какой вероятностью вы ткнёте в рациональное число (привет, функция Дирихле)? Спойлер: 0. Ноль, Карл! Бесконечное множество не имеет никакой силы, если оно счетно. У вас бесконечное число вариантов, но вы не выберете ни один из них. Вы не выберете 0, или 1, или 1/2, или 1/4. Вы и не выберете 3/2.

    Да-да, что выбрать 1/2, что выбрать 3/2, вероятность нулевая. Вот только в 3/2 вы не ткнёте точно, таковы условия, а в 1/2 вы не попадёте ну… «почти наверное». Концепция «почти всюду»/«почти наверное» забавляет математика, а обывателя заставляет крутить пальцем у виска. Многие ломают себе мозг в попытке классифицировать нули, но результат того стоит.
  • Третий по счёту, но не по силе, «вау-эффект» настиг уже на переходе в advanced level
Читать дальше →
Total votes 47: ↑45 and ↓2+43
Comments25

Увеличение чувствительности A/Б-тестов с помощью Cuped. Доклад в Яндексе

Reading time12 min
Views34K
CUPED (Controlled-experiment Using Pre-Experiment Data) — техника A/Б-экспериментов, которую стали применять в продакшене сравнительно недавно. Она позволяет увеличить чувствительность метрик за счёт использования данных, полученных ранее. Чем больше чувствительность, тем более слабые изменения можно замечать и учитывать в эксперименте. Первой компанией, внедрившей CUPED, была Microsoft. Теперь этой техникой пользуются многие международные фирмы. В своём докладе Валерий Бабушкин venheads объяснил, в чём заключается смысл CUPED и каких результатов можно достичь, а перед этим разобрал метод стратификации, который также улучшает чувствительность.


— Меня зовут Валерий Бабушкин, я директор по моделированию и анализу данных в X5 Retail Group и советник в Яндекс.Маркете. В свободное время преподаю в Высшей школе экономики и частенько летаю в Казахстан, преподаю в Нацбанке Казахстана.
Читать дальше →
Total votes 8: ↑5 and ↓3+8
Comments0

Как мы используем item2vec для рекомендаций похожих товаров

Reading time9 min
Views16K

Привет, меня зовут Вася Рубцов, я занимаюсь разработкой рекомендательных систем в Авито.


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


Два основных продукта, которым занимается отдел рекомендаций в Авито, — это рекомендации для пользователя на главной странице или user2item и блок похожих объявлений на карточке товара или item2item. Треть всех просмотров объявлений и четверть всех контактов происходит с рекомендаций, поэтому рекомендательные движки играют важную роль в Авито.


В статье я расскажу, как мы улучшили наши item2item рекомендации за счёт item2vec и как это повлияло на user2item рекомендации.


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

Цифровая Вселенная

Reading time6 min
Views4.5K

Третья часть статьи "Цифровая Вселенная"

Квантовое представление выражений основных характеристик электрона. Алгебраические структуры в основании "элементарных" частиц и фундаментальных физических законов

Читать далее
Total votes 14: ↑8 and ↓6+6
Comments8

Сравнение матричной факторизации с трансформерами на наборе данных MovieLens с применением библиотеки pytorch-acceleratd

Reading time45 min
Views7.1K

Современный человек много чем занимается в интернете: ходит по магазинам, слушает музыку, читает новости. Все эти задачи подразумевают поиск и выбор того, что ему нужно. При этом важную роль тут играют рекомендательные системы. Они помогают людям не утонуть в многообразии вариантов и увидеть именно то, что им подойдёт, то, что иначе им сложно было бы найти. Предоставление пользователям качественных рекомендаций — это важнейшая часть обеспечения первоклассного уровня удовлетворения клиента. Это — один из самых эффективных способов взращивания лояльности клиентов и повышения ценности продукта или услуги в их глазах. Всё это так важно, что целые бизнес-модели некоторых компаний построены вокруг предоставления их клиентам наилучших рекомендаций, что делает рекомендательные системы важнейшими факторами, влияющими на прибыль подобных компаний! В результате неудивительно то, что клиенты проекта Microsoft CSE часто обращаются к нам с просьбами, касающимися реализации эталонных рекомендательных техник. Один из таких проектов был моим первым опытом в данной сфере.

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

Рекомендательные системы: проблемы и методы решения. Часть 1

Reading time14 min
Views27K

Привет! Я хочу рассказать вам о рекомендательных алгоритмах. Мы в Prequel создаем фильтры и эффекты для редактирования фото и видео. Создаем давно, и постепенно этих эффектов стало очень много. А с ними и пользовательского контента. Мы захотели помочь с выбором из этого многообразия, для чего нам и понадобилась система рекомендаций. Если масштабы вашей системы такие, что пользователям сложно в ней ориентироваться, возможно, что рекомендации могут помочь и вам.

Задуманный систем оказался слишком объемным для одной статьи, поэтому мы разбили его на две части. Перед вами первая, она посвящена постановке задачи и базовым методам решения. В этой части мы разберем коллаборативные модели от матричного разложения (на примере ALS) до neural collaborative filtering. Кроме того, будет небольшой обзор метрик и техник борьбы с проблемой холодного старта.

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

Нестандартная кластеризация, часть 3: приёмы и метрики для кластеризации временных рядов

Reading time16 min
Views44K
Часть первая — Affinity Propagation
Часть вторая — DBSCAN
Часть третья — кластеризация временных рядов
Часть четвёртая — Self-Organizing Maps (SOM)
Часть пятая — Growing Neural Gas (GNG)

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

Кластеризация временных рядов — неблагодарное дело. Даже при группировке статических данных часто получаются сомнительные результаты, что уж говорить про информацию, рассеянную во времени. Однако нельзя игнорировать задачу, только потому что она сложна. Попробуем разобраться, как выжать из рядов без меток немного смысла. В этой статье рассматриваются подтипы кластеризации временных рядов, общие приёмы и популярные меры расстояния между рядами. Статья рассчитана на читателя, уже имевшего дело с последовательностями в data science: о базовых вещах (тренд, ARMA/ARIMA, спектральный анализ) рассказываться не будет.

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

Information

Rating
587-th
Works in
Registered
Activity