Добро пожаловать в мой бложик, меня зовут Никита!
Здесь я буду делиться о своем пути от стажера до сеньора-помидора в области Data Science! 🚀
Обо мне:
- На данный момент (07.09.2023) я работаю ML-engineer в Infosystems Jet
- Закончил бакалавриат в МАИ по специальности "Программная инженерия"
- Закончил магистратуру в РАНХиГС по программе "Финансы и технологии"
- Учусь на первом курсе в магистратуре ВШЭ ФКН по программе "Современные компьютерные науки"
- Учусь на первом курсе ШАД
Что вас ждет:
🧌 Увлекательные (нет) истории;
📊 Обзоры статей, научных публикаций и конференций;
🧠 Советы о том, как развить свои навыки, а также различные best practice;
🔍 Глубокие анализы кейсов и проектов.
Тэги для навигации:
#CV - комп. зрение
#MLOPS - млопс
#QUANT - анализ фин/крипто рынков
#CML - классическое мл
#STUDY - всё, что связано с учёбой/начинанием в чем-либо
P.S. Советы, рекомендации, а также моё "ИМХО" не будут претендовать на истину в последней инстанции!
P.S.S. По большей степени блог будет полезен скорее для меня (Никиты), для фиксирования своих успехов и неудач, но, надеюсь, что и Вам, мои будущие дорогие читатели, он принесёт пользу, всех обнял!💋
Здесь я буду делиться о своем пути от стажера до сеньора-помидора в области Data Science! 🚀
Обо мне:
- На данный момент (07.09.2023) я работаю ML-engineer в Infosystems Jet
- Закончил бакалавриат в МАИ по специальности "Программная инженерия"
- Закончил магистратуру в РАНХиГС по программе "Финансы и технологии"
- Учусь на первом курсе в магистратуре ВШЭ ФКН по программе "Современные компьютерные науки"
- Учусь на первом курсе ШАД
Что вас ждет:
🧌 Увлекательные (нет) истории;
📊 Обзоры статей, научных публикаций и конференций;
🧠 Советы о том, как развить свои навыки, а также различные best practice;
🔍 Глубокие анализы кейсов и проектов.
Тэги для навигации:
#CV - комп. зрение
#MLOPS - млопс
#QUANT - анализ фин/крипто рынков
#CML - классическое мл
#STUDY - всё, что связано с учёбой/начинанием в чем-либо
P.S. Советы, рекомендации, а также моё "ИМХО" не будут претендовать на истину в последней инстанции!
P.S.S. По большей степени блог будет полезен скорее для меня (Никиты), для фиксирования своих успехов и неудач, но, надеюсь, что и Вам, мои будущие дорогие читатели, он принесёт пользу, всех обнял!💋
Привет, друзья, а вот и мой первый пост, сильно не ругайте!
В этом посте я постараюсь дать Вам пошаговую реализацию простого pet-project, который вы смогли бы добавить в своё резюме.
Для начала рекомендую выбрать простой, но в то же время интересный для вас датасет, который потенциально можно обернуть в сервис (чтобы потенциальный работодатель смог поиграться). Например, IrisData или HeartDisease, но можно выбрать и что-то другое, что ближе к вашей области интересов.
В проекте используйте понятную структуру. Во-первых, это будет удобно в будущем, когда проект разрастется, а во-вторых, структурированный проект легче поддерживать и модифицировать. За основу рекомендую взять cookiecutter и по необходимости подстроить шаблон под себя.
Плюсы cookiecutter:
Делайте выводы по итогам анализа данных. Что увидели на графиках? Какие зависимости или аномалии обнаружили? Например:
Ответы на эти вопросы помогут вам лучше понять данные и выбрать подходящие методы для дальнейшей обработки и моделирования. Плюс это покажет работодателю, что вы провели анализ данных осмысленно и с пониманием.
Не забывайте про докстринги, линтеры и комментарии в коде:
Комментировать каждую строчку кода не нужно, это перенагружает и создаёт больше неудобств, нежели удобств.
def load_data(path: str) -> pd.DataFrame:
"""
Загружает данные из указанного файла.
Args:
file_path (str): Путь к файлу с данными.
Returns:
pd.DataFrame: Загруженные данные.
"""
# Здесь логика загрузки данных
pass
Соблюдайте одинаковую структуру в написании кода, комментариев, докстрингов и т.п. Это упрощает чтение и поддержку кода, позволяет быстрее вникнуть в проект новым участникам команды, а также повышает качество и стандартизацию проекта.
Для каждого этапа работы вашего сервиса выделяйте отдельный .py файл: для препроцессинга, для обучения модели, для предсказаний и т.п.
Плюсы:
После того как получите финальную версию модели, оберните её в сервис. Для первого своего проекта рекомендую использовать Streamlit.
Плюсы Streamlit, которые я вынес для себя после использования:
Разверните сервис при помощи Docker. Это обеспечит консистентность среды исполнения и упростит деплой.
В заключении, сделайте описание вашего проекта в README. Это поможет потенциальным работодателям и другим разработчикам быстро понять суть вашего проекта и его ключевые аспекты.
_________________________________
Please open Telegram to view this post
VIEW IN TELEGRAM
И снова, добрый
MLSecOps (Machine Learning Security Operations) — это комбинация методов из области DevOps, безопасности и машинного обучения. Не трудно догадаться, что основной целью MLSecOps является обеспечение безопасности моделей на всех этапах их жизненного цикла, начиная от разработки и обучения и заканчивая деплоем и эксплуатацией.
Представим, что какой-нибудь недобросовестный
Три пункта почему об этом стоит хотя бы задуматься:
Как правило модели обучаются на больших объёмах данных и зачастую могут содержать конфиденциальную информацию, а потеря или компрометация этих данных может иметь катастрофические последствия, например, в сфере финансовых услуг утечка данных о торговле, используемых для обучения моделей, может позволить вашим конкурентам получить представление о торговых стратегиях, что нарушит рыночную целостность и конкурентоспособность бизнеса.
Наши недоброжелатели могут манипулировать входными данными (атаки на входы) или изменять поведение моделей (атаки на модели), чтобы они делали неправильные предсказания или получали ту информацию, которая, к примеру, наша LLM не должна выдавать.
Для соблюдения, например, федерального закона (ФЗ) «О персональных данных» в России или аналога, действующего в ЕС — General Data Protection Regulation (GDPR) и других нормативных актов требует применения надежных мер безопасности.
Ниже я указал некоторые из наиболее часто используемых инструментов:
_________________________________
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
За «отлично» по машинному обучению в ШАД подогнали трехтомник ГПиМРМ
В ближайшее время постараюсь (реально постараюсь) выложить пост об интересных докладах и, в целом, о моём впечатлении от этой конфы.
Please open Telegram to view this post
VIEW IN TELEGRAM
https://habr.com/ru/companies/jetinfosystems/articles/832288/
Please open Telegram to view this post
VIEW IN TELEGRAM
Тут мой руководитель выступает с докладом по MLSecOps, который мы совместно готовили. Приятного просмотра🍸
https://2024.cybercamp.su/?utm_source=yandex&utm_medium=cpc&utm_campaign=y_epk_rf_cybercamp24_ret_lal&utm_content=5496777396_16529294510_desktop_53193153036_premium_1&utm_term=---autotargeting&yclid=9368573875148292095
https://2024.cybercamp.su/?utm_source=yandex&utm_medium=cpc&utm_campaign=y_epk_rf_cybercamp24_ret_lal&utm_content=5496777396_16529294510_desktop_53193153036_premium_1&utm_term=---autotargeting&yclid=9368573875148292095
Please open Telegram to view this post
VIEW IN TELEGRAM
2024.cybercamp.su
CyberCamp 2024
Практическая онлайн-конференция
для кибербезопасников. Проводим
третий год подряд!
для кибербезопасников. Проводим
третий год подряд!
Всем добрейшего вечерочка, потпищики!
Решил написать пост затравочку перед большой статьей на хабре по своей магистерской диссертации на тему "Машинное обучение в анализе криптовалютных рынков", а именно о Triple Barrier Method Лопеса Де Прадо.
🚧 Что такое метод тройного барьера?
Представьте себе, что вы открыли позицию на рынке и хотите определить, когда ее закрыть. Метод тройного барьера использует три "барьера" для принятия решения:
⏺️ Верхний барьер (Take Profit) — уровень прибыли, при достижении которого мы фиксируем доход.
⏺️ Нижний барьер (Stop Loss) — уровень убытка, при достижении которого мы ограничиваем потери.
⏺️ Временной барьер — максимальное время удержания позиции.
↗️ Как это работает?
Когда мы открываем позицию в момент времени 𝑡0 по цене 𝑃_𝑡0 , мы устанавливаем:
⏺️ Верхний барьер: 𝑃_𝑢𝑝 = 𝑃_𝑡0 × (1 + 𝛿)
⏺️ Нижний барьер: 𝑃_𝑑𝑜𝑤𝑛 = 𝑃_𝑡0 × (1 − 𝛿)
Где 𝛿 — это заданный процент изменения цены (например, 5%).
Пример:
⏺️ Цена открытия позиции 𝑃_𝑡0 = $100
⏺️ 𝛿 = 5% или 0.05
⏺️ Верхний барьер: 𝑃_𝑢𝑝 = $100 × (1 + 0.05) = $105
⏺️ Нижний барьер: 𝑃_𝑑𝑜𝑤𝑛 = $100 × (1 − 0.05) = $95
Временной барьер 𝑡_max может быть, скажем, 10 дней. Это значит, что если цена не достигнет ни верхнего, ни нижнего барьера за это время, мы закрываем позицию по текущей цене.
📌 Маркировка данных
Теперь, как мы маркируем наши данные в зависимости от того, какой барьер был достигнут первым:
⏺️ Если цена достигла верхнего барьера 𝑃_𝑢𝑝 до 𝑡_max, то маркируем как +1 (прибыльная сделка)
⏺️ Если цена достигла нижнего барьера 𝑃_𝑑𝑜𝑤𝑛 до 𝑡_max, то маркируем как -1 (убыточная сделка)
⏺️ Если истекло время 𝑡_max, а ни один барьер не достигнут, то маркируем как 0 (нейтрально)
🤔 Почему это важно?
Традиционные методы маркировки часто упускают из виду либо время, либо направление движения цены. Метод тройного барьера учитывает оба фактора, что делает его более надежным для обучения моделей машинного обучения.
📎 Полезные ссылки:
Книга Маркоса Лопеса де Прадо "Advances in Financial Machine Learning" — книга для тех, кто хочет погрузиться в тему поглубже.
____________________________________________________________
Если было интересно — накидайте эщкере в коммы🤙
#QUANT
Решил написать пост затравочку перед большой статьей на хабре по своей магистерской диссертации на тему "Машинное обучение в анализе криптовалютных рынков", а именно о Triple Barrier Method Лопеса Де Прадо.
🚧 Что такое метод тройного барьера?
Представьте себе, что вы открыли позицию на рынке и хотите определить, когда ее закрыть. Метод тройного барьера использует три "барьера" для принятия решения:
Когда мы открываем позицию в момент времени 𝑡0 по цене 𝑃_𝑡0 , мы устанавливаем:
Где 𝛿 — это заданный процент изменения цены (например, 5%).
Пример:
Временной барьер 𝑡_max может быть, скажем, 10 дней. Это значит, что если цена не достигнет ни верхнего, ни нижнего барьера за это время, мы закрываем позицию по текущей цене.
Теперь, как мы маркируем наши данные в зависимости от того, какой барьер был достигнут первым:
🤔 Почему это важно?
Традиционные методы маркировки часто упускают из виду либо время, либо направление движения цены. Метод тройного барьера учитывает оба фактора, что делает его более надежным для обучения моделей машинного обучения.
Книга Маркоса Лопеса де Прадо "Advances in Financial Machine Learning" — книга для тех, кто хочет погрузиться в тему поглубже.
____________________________________________________________
Если было интересно — накидайте эщкере в коммы
#QUANT
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Это для вас, моложежь.
Заметил, что вы предыдущий кружок не оценили, на этот хоть скиньте парочку огонечков (можно и звездочек, не обижусь).
Не подведите.
Заметил, что вы предыдущий кружок не оценили, на этот хоть скиньте парочку огонечков (можно и звездочек, не обижусь).