Machine learning Interview
30.6K subscribers
1.95K photos
177 videos
13 files
1.36K links
ИИ, Rust, вайбкодинг, Data Science, Deep Learning и делюсь тем, что интересно и полезно!

Вопросы - @workakkk

РКН: clck.ru/3FmwRz
Download Telegram
🎲 Расскажите что такое индуктивная вероятность? Дайте определение минимальной длине описания / сообщения

Индуктивная вероятность пытается дать вероятность будущих событий на основе прошлых событий. Это основа для индуктивного мышления и математическая основа для обучения и восприятия закономерностей. Это источник знаний о мире.

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

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

Бритва Оккама говорит, что «простейшая теория, согласующаяся с данными, скорее всего, верна». «Простейшая теория» интерпретируется как представление теории, написанной на этом внутреннем языке. Теория с кратчайшей кодировкой на этом внутреннем языке, скорее всего, верна.

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

На первый взгляд теорема Байеса кажется отличной от принципа минимальной длины сообщения / описания. При ближайшем рассмотрении оказывается то же самое. Теорема Байеса касается условных вероятностей и утверждает вероятность того, что событие B произойдет, если сначала произойдет событие A:

P (A ∧ 😎 = P (B) ⋅ P (A | 😎 = P (A) ⋅ P (B | A) {\ displaystyle P (A \ land 😎 = P (B) \ cdot P (A | 😎 = P (A) \ cdot P (B | A)}
становится с точки зрения сообщения длина L,

L (A ∧ 😎 = L (B) + L (A | 😎 = L (A) + L (B | A). {\ displaystyle L (A \ land 😎 = L (B) + L (A | 😎 = L (A) + L (B | A).}
Это означает, что если вся информация дается с описанием event, то длина информации может быть использована для определения исходной вероятности события. Таким образом, если дана информация, описывающая возникновение A, вместе с информацией, описывающей B для данного A, то была предоставлена ​​вся информация, описывающая A и B.

@machinelearning_interview
🔥6👍4❤1
Ищу ML специалиста для решения задачи компьютерного зрения

Мы компания metadreamteam.io - амбициозная команда XR разработчиков и 3Д артистов, работающая на американском рынке, которая делает проекты для всего мира! От Екомерс до real estate. От внедрения лучших решений на рынке до создания своих разработок с нуля.

Сейчас делаем свою разработку по примерке часов в режиме реального времени.

Работа удаленная. Фриланс. Оплата от $25 в час
(160 - 400 тыс руб за проект)

Если ты хочешь работать с лучшими в индустрии, делать амбициозные проекты и зарабатывать в валюте - тогда заполняй эту форму, чтобы присоединиться к нам! https://forms.gle/ovrkQDMasSBWsR538
❤1👍1
❔❓ Задача

Набирая номер телефона, абонент забыл две последние цифры, но помнит, что одна из них – ноль, а другая – нечётная. Найти вероятность того, что он наберёт правильный номер.

Примечание: ноль – это чётное число (делится на 2 без остатка)

Решение: сначала найдём общее количество исходов. По условию, абонент помнит, что одна из цифр – ноль, а другая цифра – нечётная. Здесь рациональнее не мудрить с комбинаторикой и воспользоваться методом прямого перечисления исходов. То есть, при оформлении решения просто записываем все возможные комбинации:
01, 03, 05, 07, 09
10, 30, 50, 70, 90


и подсчитываем их – всего: 10 исходов.

Благоприятствующий исход один: верный номер.

По классическому определению:
p
=1/10 = 0.1 – вероятность того, что абонент наберёт правильный номер

Ответ: 0,1

@machinelearning_interview
👍17🥱10🔥3❤1
🎲 Задача. Найти вероятность того, что при бросании двух игральных костей в сумме выпадет:

а) пять очков;
б) не более четырёх очков;
в) от 3-х до 9 очков включительно.

Решение задачи .

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

Иными словами, каждая грань
1-го кубика может составить упорядоченную пару с каждой гранью 2-го кубика. Условимся записывать такую пару в виде (a, b) , где a – цифра, выпавшая на 1-м кубике, b – цифра, выпавшая на 2-м кубике. Например:

(3, 5) – на первом кубике выпало 3 очка, на втором – 5 очков, сумма очков: 3 + 5 = 8;
(6, 1) – на первом кубике выпало 6 очков, на втором – 1 очко, сумма очков: 6 + 1 = 7;
(2, 2) – на обеих костях выпало 2 очка, сумма: 2 + 2 = 4.

Очевидно, что наименьшую сумму даёт пара (1, 1) , а наибольшую – две «шестёрки».

а) Рассмотрим событие: A
– при бросании двух игральных костей выпадет 5 очков. Запишем и подсчитаем количество исходов, которые благоприятствуют данному событию:
(1, 4); (4, 1); (2, 3); (3, 2).

Итого: 4 благоприятствующих исхода. По классическому определению:
Р(А) = 4/36 = 1/9– искомая вероятность.

б) Рассмотрим событие: В – выпадет не более 4-х очков. То есть, либо 2, либо 3, либо 4 очка. Снова перечисляем и подсчитываем благоприятствующие комбинации, слева будем записывать суммарное количество очков, а после двоеточия – подходящие пары:
2 очка: (1; 1);

3 очка: (1; 2); (2; 1);

4 очка: (2; 2); (1; 3); (3; 1).

Итого: 6 благоприятствующих комбинаций.
Таким образом:
Р(В) = 6/36 = 1/6 – вероятность того, что выпадет не более 4-х очков.

в) Рассмотрим событие: С
– выпадет от 3-х до 9 очков включительно.

Здесь можно пойти прямой дорогой, но… что-то не хочется. Да, некоторые пары уже перечислены в предыдущих пунктах, но работы все равно предстоит многовато.

Как лучше поступить? В подобных случаях рациональным оказывается окольный путь. Рассмотрим противоположное событие: С1 – выпадет 2 или 10 или 11 или 12 очков.

В чём смысл?
Противоположному событию благоприятствует значительно меньшее количество пар:
2 очка: (1; 1);

10 очков: (4; 6); (6; 4); (5; 5);

11 очков: (5; 6); (6; 5);

12 очков: (6; 6).

Итого: 7 благоприятствующих исходов.

По классическому определению:
Р(С1) = 7/36 – вероятность того, что выпадет меньше трёх или больше 9-ти очков.

Далее пользуемся тем, что сумма вероятностей противоположных событий равна единице:
Р(С) + Р(С1) = 1;

Р(С) = 1 - Р(С1) = 1 - 7/36 = 29/36 – вероятность того, что выпадет от 3-х до 9 очков включительно.

Особо щепетильные люди могут перечислить все 29 пар, выполнив тем самым проверку.

Ответ: а) 1/9; б) 1/6; в) 29/36.


@machinelearning_interview
❤13🥱12👍6🔥3👏1
Решения упражнений онлайн-курса "Машинное обучение и анализ данных"

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

🖥 GIthub

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

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

🖥 GIthub

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

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

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

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

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

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

Приложения

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

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

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

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

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

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

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

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

@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4🔥1
🔍 Тестовое задание по 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
👍8❤2🔥1
📌 Курс «Машинное обучение» на МКН СПбГУ
Аннотация


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

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

🖥 Github

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

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

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

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

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

#python #cheatsheet #job #datascience

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

🖥 Github

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

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
❤10👍4🔥4
⭐️ Пособие для технических интервью.

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

🖥 Github

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

Собрали для вас список площадок для поиска работы или фрланс-проекта в области 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
🔥13❤5👍5👎1
#вопросы_с_собеседований
Что такое аугментация данных? Можете привести примеры?

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

— Изменить размер
— Горизонтально или вертикально перевернуть
— Добавить шум
— Деформировать
— Изменить цвета
👍20🔥4❤3🤡2
Minimum Viable Study Plan for Machine Learning Interviews

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

▪Github

@machinelearning_interview
👍6❤3🔥1