Интересное что-то – Telegram
Интересное что-то
517 subscribers
2.71K photos
252 videos
138 files
4.51K links
Материалы и мысли, понадерганные отовсюду
Блог: https://news.1rj.ru/str/asisakov_channel
Чат: https://news.1rj.ru/str/youknowds_chat
Download Telegram
#How_to_заботать

How to заботать алгоритмы? (((Первая Научная)))

Уже делали подобный гайд, но там как-то вышло совсем для гоев, да и участников становится все больше и больше. На этот же раз представляю (((Первую Научную Подборку))). Подборка, на мой взгляд, наиболее удачных материалов. Она поможет вам успешно сдать экзамены в магистратуру, поступить в ШАД, проявить себя на собеседовании. При этом предполагается школьное владение синтаксисом Си++, в противном смотрим How to заботать прогу перед ВУЗом (или пойдет обычный курс на том же степик). Также предполагаются познания в школьной математике на уровне элементарных функций и мат индукции, комбинаторике, графах, что возможно посмотреть в "Ленинградских кружках".
Как всегда, все книжки в комментариях, там же делимся своими любимыми материалами и сексуальным опытом с алгосами.

Шаг 0.
Для тех, кто ни разу не слышал про алгосы.
1) Для нуля подойдет известный курс на степике от СS и его продолжение. Объем небольшой, что дает надежду не умереть на половине курса, но знакомит со всем основным, дает скромное представление о чем эта (((наука))) все вообще.
2) "Грокаем Алгоритмы" Адитья Бхаргава и "Фундаментальные алгоритмы на C++" Роберт Седжвик. Два брата акробата: один попроще, другой посложнее. Своеобразные Тик-Токи того времени: все в картинках и не особо строго. Самое то, если школьная математика успешно забыта. В эти же ворота всякие книжики для школьников по олимпиадному программированию в духе той же "Олимпиадное программирование" Анти Лаксонен или все, где есть в заглавии "Для начинающих" в духе "Алгоритмы для начинающих" Панос Луридас. Сюда же А. Шень "Программирование теоремы и задачи".
3) Если же мама курила, употребляла алкоголь во время беременности и понимание всего написанного не пришло, то возможно попробовать учить алгосы по Тик Токам. Смотреть их визуализацию на графах, квадратиках, табли4е4ках: Сосайт_1, Сосайт_2, Сосайт_3, Сосайт_4.
Упражняемся в построении структур, глядим на них в работе, создаем свои анимации, становимся ТикТокером— пробуем себя в профессии будущего😲😲.

Шаг 1.
Дальше хорошо было бы структурировать всю эту теорию и привести ее к чему-то строгому и осмысленному, не оставаться кривозубым самоучкой. Здесь подойдут академические курсы с ИТМО, ФКН, ФПМИ, которые, конечно же, в большинстве просто копипаст "Алгоритмы: Построение и Анализ" Томаса Кормена. Но его из-за большого объема освоить будет тяжеловато и это больше справочник, чем учебное пособие. Поэтому могу посоветовать взять за основу какой-либо из следующих курсов, а к Кормену обращаться лишь для расшара и повторения. В дополнение непонятым главам/ темам может идти "Алгоритмы" Дасгупта С., Пападимитриу Х., Вазирани У., где немало полезных заданий для понимания материала.
1) Лекции ИТМО и конпекст, листочки
2) Сосайт ФКН
3) Конспект и лекции основного потока ФПМИ
Если что-то непонятно в одном курсе, бежим смотреть в другой, не зацикливаемся на одном лекторе. Для этого в комментах оставлю кучу ссылок на другие лекции.

Шаг 2.
На предыдущем шаге, как только пробел по теме был устранен, ее срочно нужно зарешать на задачах. Помимо листков из Шаг-2, конечно же, топаем на
1) Leetcode
2) Codeforces
3) hackerrank
И не такие известные
4) eolymp
5) CSES
6) Timus Online Judge
Также есть замечательный сосайт со всеми возможными темами и алгоритмами MAXimal.
Шаг 3.
Конечно же, алгоритмы на хлеб не намажешь: пора конкретизировать знания.
Для ШАД достаточно просто почитать их методичку "Введение в теорию алгоритмов и структуру данных" М. А. Бабенок, М. В. Левин, где много задач предлагаемых на собесе в ШАД или даже посмотреть старые лекции. Или же практикум по алгосам. Скорее всего, для вас там не будет ничего нового. Да и порешать их алгосы прошлых лет с экзамена или собеса (смотрите Шаг 5 в How_to_заботать ШАД).
Для магистратуры программа как правило аналогично ШАД. Но здесь просто решаем задания прошлых лет с магистратур и их олимпиад.
Для РАБоты на (((дядю))) за копейки, чтобы было больше дяняг, е-баных денег🤑🤑 Достаточно полистать "Cracking the Coding Interview" и может заплатить шекели за задачи с "рЕаЛьНыХ_иНтЕрВьЮ", которые админы просто выдумали))
1) Interview Query
2) Stratascratch
3) Такое же есть и у сосайтов с Шага 2.
Или потрениться на фейковых собесах (mock interview) с "рЕаЛьНыМи РАБотниками" из рЕаЛьНыХ топ it-компаний (((FAANG))). Нужен английский
1) Сосайт_1 для гоев
2) Сосайт_2 для гоев
Для патриотов, собирающихся в Яндекс смотрим первый пункт Для ШАД. Остальные дяди особо не страдают алгосами головного мозга, но для VK можно посмотреть лекци и книжку на их базе моего тестя С. Л. Бабичева.
#ml
Доступ к text2img модели
Нейросеть "Стебель Диффузии" доступна каждому

tl;dr
Это первая опенсорснутая (и пока что лучшая) Text2Image нейросеть текщего поколения.

🌬 Что такое StableDiffusion? StableDiffusion — это диффузионный Text2Image (как и DALL-E 2) и очень удачный гибрид Latent Diffusion и Imagen.

Stable Diffusion производит диффузию не в пространстве пикселей, а в латенщине. Вместо разрешения 64х64 — выходит сразу 512, благодаря Encoder-Decoder подходу: деталей больше, а вычислений меньше. Информация от текста течет с frozen LM (а именно CLIP), как в случае с T5 в Imagen. SD это модуляр, состоящий из 3х модулей:
1. Frozen CLIP Text Tower (как LM)
2. U-Net (из Diffusion Models Beat GANs)
3. Decoder из 64х64х4 в 512х512х3

👉 Веса и модель (в том числе новый чекпоинт!)

🔮
Оптимизированный нотбук / колаб со всеми плюшками (зарегайся на HuggingFace и получи токен, ссылка выше)

🤗 Diffusers от HuggingFace (библиотека самого графа Диффузора)

📇 Блог пост Stability.AI про релиз весов

Мишин Лернинг
#finance
Если вы вдруг решили инвестировать
Интегральная система создания консервативного инвестиционного портфеля

Каждый второй день мне пишут что-то вроде “как научиться инвестировать, что читать, как делать, объясните, сил моих больше нет”. Итак, вот вам скелет, про который я рассказываю каждый божий раз, как меня об этом просят.

0. Мета-уровень. Мы понимаем, что мы думаем про монетарную политику ФРС США (будут ли печатать бабки?), про политику ЦБ РФ и ЕЦБ, про классы активов в целом (что будет с коммодитиз, например с нефтью? что будет с зерном? что будет с углем? и так далее).
Это самое сложное, но обязательное, если мы собираем портфель на всю жизнь. Потому что на длинной дистанции рынки всё равно будут расти. Даже если вы не сильно понимаете, что глобально сейчас происходит (кризис и медвежий рынок? бычий рынок?), на достаточно длинной дистанции все покупки окажутся выгодными, если не дергаться и не пытаться играть с рынком в угадайку.

1. Далее мы выбираем мастер-теги (глобальные темы) на основе того, что мы думаем про мир и что считаем хорошим и нужным. Нефтянка? Еда? Банки? Инфраструктурные компании? С процентовкой, сколько аллокации в каких темах мы хотим иметь. Например, мы можем захотеть 15% капитала иметь в нефтяных компаниях.

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

3. Когда у нас есть список хороших, годных компаний, мы находим из них те, что сейчас на наш взгляд стоят недорого. Для этого мы изучаем их финансовое состояние (gurufocus в помощь) с той глубиной, на которую мы сами способны, вплоть до чтения отчетности и расшифровок собраний совета директоров. Нам нужны компании, которые зарабатывают деньги и не имеют огромных долгов. Слишком дорогие добавляем в вочлист и ждем сколько нужно, пока они не будут стоить приемлемых денег. Хоть год.

4. (Опционально) Получившийся компот стараемся захеджировать опционами на соответствующие индексы, которые помогут на просадках широкого рынка заработать кэша и не потерять в общей стоимости портфеля. Это отдельное искусство, его надо изучать, но материалов по теме тонны (Макмиллан “об опционах”).

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

Еще можно процентов 10-30 оставить на спекулятивные позиции, это отдельная тема. И уже там хоть колами, хоть фьючами, хоть мышиными грибами отыгрывать разные понятные лично вам истории.

Вот это всё та работа, которую надо проделать, чтобы структурно управлять собственными накоплениями. Будете наголову выше среднего управляющего средним фондом, не говоря уже про российское банковское доверительное управление. Чтение “финансовых” каналов, банковской “аналитики” и всяких там тиньков-пульсов никак вас к решению этих задач не приблизит. Только самостоятельная работа.
#petproject
Как проводить литературный обзор перед тем, как вы написали первую строчку кода
Forwarded from DevFM
Любая работа по программированию начинается с анализа предметной области. Рекомендуется пара этих ресурсов - для русского и английского поиска.

https://cyberleninka.ru

https://www.researchgate.net

https://scholar.google.com/

В начале ищутся самые популярные статьи, потом следует подкрутить фильтры и взять самые свежие (не старше 5 лет, не старше 3 лет). Большую часть усилий стоит сосредоточить на англоязычных источниках. Очень важно изучить существующие открытые проекты на гитхабе.

Видео можно искать так
https://research.google.com/youtube8m/explore.html

Интересные рассмотренные статьи необходимо заносить в список с небольшой аннотацией.Такой список позволит в большей степени понимать и ориентироваться в предметной области. Например,

1. <ссылка>. Работа на "хорошо". В работе есть данные по нейросети, которая с 80% точностью распознаёт человека в маске. Ссылка на программу есть, на датасет нет. Напрямую применить нельзя, но можно взять часть про нормализацию кадра

2. <ссылка>. Выглядела на "отлично", по факту бред. Литературы нет, написано на коленке

Пример:
1. https://cyberleninka.ru/article/n/mnogokriterialnaya-otsenka-kachestva-fotografiy/viewer В статье рассматриваются различные критерии качества изображений, а также их количественная оценка. Из полезного: оценка резкости изображения, что может быть полезно для выделения одного наиболее информативного кадра в потоке на заданном промежутке времени. Есть математические операции по подсчету, а также примеры использования OpenCV для получения количественных оценок

2. https://cyberleninka.ru/article/n/algoritmy-predobrabotki-izobrazheniy-v-sisteme-identifikatsii-lits-v-videopotoke/viewer В статье описывается алгоритмы предобработки изображений для их последующей обработки. Сюда входит
- Обесцвечивание
- Выравнивание гистограммы яркости изображения
- Выравнивание изображения относительно вертикальной оси симметрии лица (по возможности)
- Масштабирование

3. https://www.researchgate.net/publication/341892534_VIDEO_DATA_QUALITY_IMPROVEMENT_METHODS_AND_TOOLS_DEVELOPMENT_FOR_MOBILE_VISION_SYSTEMS В статье производится сравнение подходов однопоточной и многопоточной мобильной обработки видео, зависимость скорости обработки видео от его разрешения, а также приводятся примеры перехода из пространства RGB в YUV на OpenCV с целью оценки освещенности изображения

4. https://github.com/shubham0204/Age-Gender_Estimation_TF-Android Приложение под Android, определяющее пол и возраст человека на изображении. Прилагаются скриншоты результатов распознавания. Если с точностью определения пола все хорошо, то c определением возраста как-то не очень (числовые оценки не приводятся). Есть ссылки на датасет и блокноты в Colab, которые экспортируют модели TFLite (используется в приложении для Android). Из полезного можно вынести на мобилку модель для определения пола.

#sudo
#ml
Валидация данных
Forwarded from Инжиниринг Данных (Dmitry)
Валидация данных (data validation) - очень важная штука. DV это относиться к data quality. Вообще это частый вопрос на собеседованиях про вакансии с данными.

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

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

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

Как правило можно начать с простых проверок:
- значение не равно NULL
- значение одно из заданного списка
- ID уникальный в таблице
- сумма больше 0
- цифра в заданном диапазоне

Сейчас популярно несколько инструментов:
- dbt (для трансформации данных) - там есть строенная функциональность тестирования данных, удобная и простая
- great expectation - самый популярный framework. Работает с Pandas, Spark, и SQL через SQLAlchemy. Утилита еще создает отчеты по валидации данных, которые могут быть расшарены с командой.
- Pandera - простой framework для работы с Pandas.
- SodaSQL - простой framework для работы с SQL.

На самом деле я хотел поделиться материалами и примерами в python с использованием GE и Pandera. Недавно посмотрел тренинг Testing Data Pipelines with Data Validation. Ссылка на репозиторий, там код и теория. Можете потренироваться.
​​50 популярных вопросов и ответов на собеседовании по SQL Server

Читать статью
#career
Описание грейдов Авито
Forwarded from data будни (Саша Михайлов)
↑ год назад кидал ссылку на описание урвоней аналитиков в Яндексе

сейчас наткнулся на похожий материал про разработчиков в Авито, аккуратно оформленный в Гитхабе
https://github.com/avito-tech/playbook/blob/master/developer-profile.md

интересно почитать про разные уровни. Особенно интересно, что хард скиллы — это один из 8 блоков навыков, на которые смотрят при оценке инженера.

вот все:
- Экспертность.
- Инженерная культура.
- Ответственность за результат.
- Ориентация на бизнес.
- Agile Mindset.
- Коммуникация.
- Развитие себя и обучение других.
Forwarded from Reveal the Data
Lords of the Boards
Саша Бараков подготовил отличный гайдлайн для BI-проектов: визуальная версия в Miro | последовательный чек-лист | лонгрид. Контент один, просто разный формат. Похвалю и покритикую его, у нас с Сашей часто дружеские BI-дебаты. )

🏄‍♂️ Гайдлайн крутой, он полностью описывает жизненный цикл BI-проекта, есть все необходимые шаги и его можно использовать как стандарт для сбора требований. Круто, что он начинается с минус седьмого шага и только в шаге номер 0 мы решаем делать дашборд или нет. Это очень показательно и стоит относиться к этому именно так, а не делать дашборд на любой чих.

💪 Понравились ролевые стратегии BI-аналитика в проекте: like a god; a boss; a partner; an executor; a friend; a slave. Это понятное деление помогает понять в какой роли вы находитесь в проекте и не расстраиваться, когда вас воспринимают «как руки», это тоже рабочая схема, но просто не такая эффективная или для других схем есть блокеры. В зависимости от ситуации может работать любая стратегия, но целевая, я считаю, должна быть like a partner.

🤔 Не согласен с установкой «заказчик чаще не прав», сформулировал бы как «заказчик не знает какое решение, решает его задачу лучшим образом» или «не делай дашборд по макету заказчика». Это важно, так как можно подумать, что стоит считать, что заказчик не знает как делать его работу. И это проблема аналитиков — иногда они думают, что если заказчик не отличает тримап от скаттерплота, то с ним вообще не о чем говорить. Такая установка будет мешать — заказчик и исполнитель равноценные партнеры со своими правами и обязанностями. Недавно приводил похожие примеры в Q&A. И вообще используйте тактику Коломбо.

🤯 «68 пунктов чек-листа, Карл!» — это крутой учебный материал, но для ежедневного применения многовато. Я вот планирую упрощать свой Dashboard Canvas из 9 пунктов.

PS: У Саши в сентябре стартует курс «Разработка BI Стратегии» для BI менеджеров и тим-лидов, курс для узкой аудитории, но очень для неё полезный, крайне рекомендую. Проходил первый поток, мой отзыв.
#ссылка