Machine learning Interview
24.5K subscribers
1.05K photos
74 videos
12 files
712 links
Разбираем вопросы с собеседований по Machine Learning, Data Science, Deep Learning и Нейронным сетям, Python.

Вопросы - @notxxx1


@itchannels_telegram -🔥лучшие it каналы

РКН: clck.ru/3FmwRz
Download Telegram
Решения упражнений онлайн-курса "Машинное обучение и анализ данных"

Упражнения по машинному обучению и анализу данных (ИТМО, ПИиКТ-СиППО,)

🖥 GIthub

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Решение задач Hackaton TiNT (ITMO) machine learning February 2019 Хакатон ТИнТ (ИТМО) по машинному обучению Февраль 2019

В основном, все задания из олимпиады "Я -проффесионал" от Яндекса по анправлению Большие Данные

🖥 GIthub

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Опишите процесс создание системы связывания сущностей ?

Связывание именованных сущностей (NEL) — это процесс обнаружения и связывания упоминаний сущностей в заданном тексте с соответствующими сущностями в целевой базе знаний. Связывание сущностей состоит из двух частей:

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

Устранение неоднозначности : это устраняет неоднозначность каждой обнаруженной сущности, связывая ее с соответствующей сущностью в базе знаний.
Давайте посмотрим на Entity Linking в действии в следующем примере(картинка).

В предложении / тексте говорится: «Майкл Джордан — профессор машинного обучения в Калифорнийском университете в Беркли». Первый NER обнаруживает и классифицирует названные сущности Майкла Джордана и Калифорнийского университета в Беркли как человека и организацию.

Затем имеет место разрешение неоднозначности. Предположим, что в данной базе знаний есть две сущности «Майкл Джордан», профессор Калифорнийского университета в Беркли и спортсмен. Майкл Джордан в тексте связан с профессором Калифорнийского университета в Беркли, сущностью в базе знаний. Точно так же Калифорнийский университет в Беркли в тексте связан с юридическим лицом Калифорнийского университета в базе знаний.

Приложения

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

Семантический поиск
Анализ содержания
Вопросно-ответные системы / чат-боты / виртуальные помощники

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

Постановка задачи
Интервьюер попросил вас разработать систему связывания сущностей, которая:

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

«Имея текст и базу знаний, найдите все объекты, упомянутые в тексте (Распознать). А затем свяжите их с соответствующей правильной записью в базе знаний (Устранение неоднозначности)».

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

Как бы вы построили систему распознавания сущностей?
Как бы вы построили систему устранения неоднозначности?
Учитывая фрагмент текста, как бы вы извлекли всех людей, страны и предприятия, упомянутые в нем?
Как бы вы измерили производительность средства устранения неоднозначности / распознавателя объектов / компоновщика объектов?
Учитывая несколько средств устранения неоднозначности / распознавателей / лайнеров, как бы вы определить, какой из них лучший?

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 Тестовое задание по 3D ML

Всего представлено три задания. Описание для каждой задачи можно найти в соответствующей директории. Они оформлены в Jupyter Notebook:

Task1
Task2
Task3
Task4 (зависит от решения Task3)

При выполнении заданий необходимо описать ход своих мыслей и основные идеи, которые были использованы. Можно оформить в Jupyter Notebook или Google Colab. Нужно отправить исходный код решения задач. Крайне желательно со ссылкой на GitHub, Bitbucket, GitLab или другое хранилище репозиториев Git.

Основные критерии оценки выполнения заданий:

Код написан в едином стиле.
Соблюдены основные соглашения, принятые в сообществе. Например, PEP 8 для Python, Google C++ style и т. п. Стиль может быть разным, но весь код должен быть оформлен в едином стиле.
Насколько он кроссплатформенный.
Как организована структура проекта.
В части Docker. Насколько оптимально написана сборка с точки зрения размера образа и сколько инструкций будут выполняться в случае изменения основного кода приложения (если всё собирается заново, то это не очень хорошо). Основные моменты смотрите в документации
Желательно, чтобы код был написан на Python 3. Какие-то части могут быть написаны на других языках программирования: C, C++, CUDA C/C++.

Запуск проекта должен осуществляться достаточно просто. Если проект на Python 3, то он должен быть с файлом, в котором перечислены зависимости: requirements.txt, файл для Poetry или конфигурационный файл окружения для Anaconda.

Проекты на C/C++ должны снабжаться CMake файлом для сборки.

Мы можем запустить ваши примеры в окружении Linux Ubuntu 18.04 или 20.04, Windows 10, а также в Docker, поэтому лучше явно указывать на какой ОС предполагается запуск, если от этого зависят какие-то части в решении.

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Курс «Машинное обучение» на МКН СПбГУ
Аннотация


Объемный годовой курс, в котором подробно рассматриваются модели машинного обучения.

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

🖥 Github

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Как не завалить испытательный срок

Получить оффер джуну становится всё сложнее: несколько собесов, тестовое задание, интервью с техдиром или руководителем. И на каждом этапе можно получить отказ. И если всё-таки удалось получить оффер, то начинается испытательный срок, который можно завалить по самым разным причинам.

Чтобы этого избежать, бизнес-аналитик и продакт-менеджер с 10-летним стажем дал несколько рекомендаций по успешному прохождению испытательного срока:

https://devby.io/blogs/posts/good-junior

#советы
Python_вопросы_и_ответы_на_интервью.pdf
335.4 KB
Список вопросов и ответов для подготовки перед собеседованием на Python разработчика

#python #cheatsheet #job #datascience

@machinelearning_interview
Вопросы с технического собеседования на позицию инженер по машинному обучению и компьютерному зрению.

🖥 Github

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🗣Подборка статей для подготовки к собеседованиям по машинному обучению.

1. Вопросы для собеседования по ML 1.1

2. Вопросы с собеседовании по машинному обучению uproger.

3. @machinelearning_interview - телеграм канал с разбором вопросов с собеседований мл.

4. 20 основных вопросов для собеседования по машинному обучению

5. Разберитесь в 40 популярных вопросах для собеседования по машинному обучению

6. Ресурсы для собеседования : ML/Data Science/AI Research Engineer

7. Вопросы и ответы на интервью по ML

8. A Guide To Machine Learning Interview Questions And Answers

9. 6 лучших алгоритмов машинного обучения

10. Подготовка к собеседованию по машинному обучению - алгоритмы ML

11. Машинное обучение IP - EDUREKA - Вопросы и ответы

12. 100 распространенных вопросов для интервью по ML

13. Вопросы для собеседования по машинному обучению - Криш Наик

14. Data Science Interviewer Pro By Emma Ding

15. Вопросы для собеседования по науке о данных Краткий обзор от Simplilearn

16. Наиболее часто задаваемые вопросы на собеседовании по AI/ML

17. Вопросы для собеседования по машинному обучению.

18. @python_job_interview - вопросы с собеседований python, ds.

Сохраняем себе, чтобы не потерять

@data_analysis_ml
⭐️ Пособие для технических интервью.

Здесь представлены бесплатные и курируемые материалы по подготовке к техническим собеседованиям для занятых инженеро. Более 500 000 человек воспользовались этим пособием!

🖥 Github

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 Где искать работу Дата Саентисту?

Собрали для вас список площадок для поиска работы или фрланс-проекта в области Data Science.

1. Toptal
Toptal - один из крупнейших фриланс сайтов для специалистов по анализу данных. В отличие от многих других бирж фриланса в Toptal соискатели проходят тестирование в различных областях, включая знание английского языка и технические навыки, в области SQL и Python для data science.

2. Open Data Science Jobs
Open Data Science Jobs - одна из крупнейших площадок вакансий, посвященных только науке о данных. Такие компании, как Bose, использовали эту доску объявлений для поиска специалистов по науке о данных для оптимизации своей бизнес-аналитики.

3. Kaggle
Kaggle - одно из крупнейших сообществ датасаентистов. Kaggle предоставляет наборы данных, проводит соревнования и вообще способствует процветанию сообщества специалистов по анализу данных.

Доска вакансий Kaggle - один из лучших вариантов для начала поиска проекта для рабрты. Ее услугами пользуются крупнейшие компании (Amazon, Capital One и AIG и тд).

4. Scalable Path

Если у вас есть готовая команда датасаентистов и вы хотите найти интерсный проект , Scalable Path - отличный вариант.

5. Gigster
Еще одина крупная фриланс площадка с проектами ds.

6. iCrunchData - это доска объявлений c вакансиями в области науки о данных.

7. X-Team
X-Team - рынок фриланса, где можно работать, как одному, так и в команде.

8. Gun.io
Gun.io очень похож на Toptal, быстро и эффективно подбирая для компаний квалифицированных инженеров по науке о данных. С тысячами зарегистрированных членов Gun.io является восходящей звездой в индустрии фриаланса.

9. R-users
Простой поиск по сайту R-users позволяет найти десятки вакансий в области науки о данных, в которых используется язык программирования R.

10. AngelList
AngelList - это место, где встречаются ит- предприниматели и инвесторы.

11. Engineering Jobs
Если вы ищете ds проект Engineering Jobs может стать отличным местом для поиска интересной работы.

12. Dice
Dice - доскоа объявлений о карьере в сфере технологий и ИТ. Эта доска известна тем, что привлекает архитекторов программного обеспечения, инженеров, QA-тестеров и инженеров по анализу данных.

13. SimplyHired
SimplyHired - это еще одна крупная доска объявлений о работе, похожая на Indeed или Monster.

14. Upwork
Одна из крупнейших фриланс площадок, где постоянно публикуются ds проекты.

15. Папка с каналами для поиска работы в телеграме.

Телеграм каналы и чаты, где публикуются вакансии ds, python и не только. Очень полезная папка (папки поддерживаются только в последних версиях тг), где можно найти вакансию на любой ЯП.

@machinelearning_interview
#вопросы_с_собеседований
Что такое аугментация данных? Можете привести примеры?

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

— Изменить размер
— Горизонтально или вертикально перевернуть
— Добавить шум
— Деформировать
— Изменить цвета
Minimum Viable Study Plan for Machine Learning Interviews

Сборник интервью по машинному обучению от FAANG, Snapchat, LinkedIn.

Github

@machinelearning_interview
Расскажите что вы знаете о LLM: больших языковых моделях ? Расскажите про наиболее известным LLM ?

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

В БЯМ чаще всего использовалась архитектура трансформера, которая с 2018 года стала стандартной техникой глубокого обучения для последовательных данных (ранее наиболее распространёнными были рекуррентные архитектуры, такие как модели с долгой кратковременной памятью). БЯМ обучаются без учителя на неаннотированном тексте. Трансформер при генерации вывода слева направо обучается максимизировать вероятность, назначенную следующему слову в обучающих данных, с учётом предыдущего контекста. В качестве альтернативы БЯМ может использовать двунаправленный трансформер (как в примере BERT), который присваивает распределение вероятностей по словам, имеющим доступ как к предыдущему, так и к последующему контексту. В дополнение к задаче прогнозирования следующего слова или «заполнения пробелов» БЯМ могут быть обучены вспомогательным задачам, которые проверяют их понимание распределения данных, таких как прогнозирование следующего предложения (NSP), в котором представлены пары предложений и модель должна предсказать, появятся ли они рядом в обучающем корпусе текстов.

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

К наиболее известным LLM относят:

GPT ( OpenAI). Является одной из крупнейших языковых моделей, обученной на огромном количестве разнообразных наборов данных и 175 млрд параметров. Модель умеет писать тексты (статьи, стихи и т.д.), переводить, отвечать на вопросы по тексту. Архитектура модели transformer1

LaMDA ( Google). Относится к разговорным нейросетевым моделям. Построенная на архитектуре transformer и обученная также на текстовых наборах данных модель способна вести диалог.

BERT ( Google). Данная нейросетевая модель в большей степени используется в поисковых запросах. Модель обучена в целях увеличения эффективности процесса понимания контекста запроса пользователя для выдачи релевантного результата. Архитектура модели transformer.

BLOOM (Исследовательская группа BigScience). На текущий момент является самой большой многоязычной нейросетевой моделью. Обученная на огромных объемах текстовых данных и 176 млрд параметров с использованием вычислительных ресурсов промышленного масштаба модель способна генерировать текст на 46 языках и 13 языках программирования.

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

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

@machinelearning_interview
Что такое алгоритмы схожести и когда они используются?

Алгоритмы схожести вычисляют сходство пары записей/узлов/точек/текстов. Есть алгоритмы, которые вычисляют расстояние между двумя значениями данных, такими как расстояние Евклида. А также есть алгоритмы, вычисляющие схожесть текстов, такие как алгоритм Левенштейна.

Когда используются?

Алгоритмы сходства применяются повсеместно, но чаще всего в рекомендательных системах.

Какие статьи предложит тебе Medium, основываясь на прочитанном тобой ранее?
Какие ингредиенты вы можете использовать для замены голубики?
Какие треки предложит тебе Spotify, основываясь на треках, которые тебе уже нравятся?
Какие продукты Amazon предложит тебе, основываясь на истории покупок?

Это только некоторые примеры применения алгоритмов сходства в повседневной жизни.


Примеры алгоритмов
Ниже приведены самые популярные алгоритмы сходства:

К-ближайших соседей;
расстояние Евклида;
косинусное сходство;
алгоритм Левенштейна;
алгоритм Джаро-Винклера;
сингулярное разложение (SVD).

@machinelearning_interview
🔍 Что такое объяснительные алгоритмы Когда они используются? Приведите примеры объяснительных алгоритмов

Что такое объяснительные алгоритмы?
Объяснительные алгоритмы позволяют нам обнаруживать и понимать переменные, которые оказывают статистически значимое влияние на выходное значение (результат). Вместо создания алгоритмов для предсказания значений, мы создаем объяснительные модели для понимания взаимосвязи между переменными в модели.

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

Недавно появились два метода: SHAP и LIME. Они используются для интерпретации моделей машинного обучения.

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

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

Примеры алгоритмов
Традиционные объяснительные модели, основанные на проверке гипотез:

Линейная регрессия.
Логистическая регрессия.

Алгоритмы для объяснения моделей машинного обучения:

SHAP;
LIME.

@machinelearning_interview