Курс по Data Science 🚀
Друзья, у нас стартовал набор на 4 поток еще пару недель назад, специально сделала отдельное видео как многие и просили меня, где разобрала самые популярные вопросы, а также подробнее рассказала как все устроено изнутри.
По поводу кол-ва мест: у нас больше половины мест уже раскуплено. Поэтому, если вы хотите попасть на обучение, получить качественные знания, которые помогут вам в дальнейшем при устройстве на работу даже в текущих реалиях, то welcome.
И вообще, кому даже не до курса, просто зацените качество картинки в видео в 4К 💣Это просто две огромные разницы что было и что стало.
https://youtu.be/BzL66Y6akhs
Друзья, у нас стартовал набор на 4 поток еще пару недель назад, специально сделала отдельное видео как многие и просили меня, где разобрала самые популярные вопросы, а также подробнее рассказала как все устроено изнутри.
По поводу кол-ва мест: у нас больше половины мест уже раскуплено. Поэтому, если вы хотите попасть на обучение, получить качественные знания, которые помогут вам в дальнейшем при устройстве на работу даже в текущих реалиях, то welcome.
И вообще, кому даже не до курса, просто зацените качество картинки в видео в 4К 💣Это просто две огромные разницы что было и что стало.
https://youtu.be/BzL66Y6akhs
YouTube
Курс по Data Science с нуля старт 4 потока
Курс по Data Science набор на 4 поток https://clck.ru/33eQhk
Оплата зарубежными картами https://pymagic-courses.ru/public/course/255dced9-a09c-4250-a48f-5850b30a8746
Почта для вопросов [email protected]
Видео про математический анализ для Data Science h…
Оплата зарубежными картами https://pymagic-courses.ru/public/course/255dced9-a09c-4250-a48f-5850b30a8746
Почта для вопросов [email protected]
Видео про математический анализ для Data Science h…
❤38🔥8❤🔥3👍1
Spectral Clustering 🧠
🤔 Многие из вас знают скорее такие алгоритмы как KMeans, DBSCAN, Иерархическую кластеризацию, поэтому, давайте пополним наши знания об алгоритмах таким алгоритмом как Spectral Clustering, и кстати, еще затронем KMeans, позже узнаете почему.
На одном из реальных проектов на работе мы довольно часто использовали Spectral Clustering, для наших данных он подходил великолепно и также великолепно разделял на кластеры.
Spectral Clustering - это алгоритм кластеризации, основанный на использовании спектральных методов. В отличие от K-means и других популярных методов кластеризации, может разделять данные на кластеры произвольной формы (не только сферической).
Алгоритм Spectral Clustering:
1. На основе матрицы A (матрица объект-признаки) формируется матрица смежности (как пример графа), где индексы строк и столбцов представляют узлы, а записи представляют отсутствие или наличие ребра между узлами
2. Следующим действием вычисляется матрица степеней. Степень узла - это количество ребер, соединяющихся с ним. Стоит также заметить, что у нас неориентированный граф. Матрица степени - это диагональная матрица, где значение по диагонали - это степень узла
3. Вычисляется нормальный Лапласиан – это еще одно матричное представление графа, чтобы его вычислить, вычитаем матрицу смежности из матрицы степени. Диагональ Лапласиана - это степень узлов, а диагональ вне - отрицательные веса ребер
4. Вычисляются собственные значения и векторы Лапласиана, сортируются собственные значения и далее по ним сортируются собственные векторы
5. Отсортированные собственные векторы кластеризуют при помощи KMeans
Основными преимуществами Spectral Clustering являются:
✅ Возможность обнаруживать кластеры произвольной формы
✅ Устойчивость к шумам и выбросам в данных
✅ Теоретическая обоснованность метода, основанного на свойствах спектра графа
Недостатками Spectral Clustering можно считать:
➖Высокая вычислительную сложность (увеличение времени)
➖Чувствительность к выбору параметров
➖Неэффективность на больших данных (память)
🤔 Многие из вас знают скорее такие алгоритмы как KMeans, DBSCAN, Иерархическую кластеризацию, поэтому, давайте пополним наши знания об алгоритмах таким алгоритмом как Spectral Clustering, и кстати, еще затронем KMeans, позже узнаете почему.
На одном из реальных проектов на работе мы довольно часто использовали Spectral Clustering, для наших данных он подходил великолепно и также великолепно разделял на кластеры.
Spectral Clustering - это алгоритм кластеризации, основанный на использовании спектральных методов. В отличие от K-means и других популярных методов кластеризации, может разделять данные на кластеры произвольной формы (не только сферической).
Алгоритм Spectral Clustering:
1. На основе матрицы A (матрица объект-признаки) формируется матрица смежности (как пример графа), где индексы строк и столбцов представляют узлы, а записи представляют отсутствие или наличие ребра между узлами
2. Следующим действием вычисляется матрица степеней. Степень узла - это количество ребер, соединяющихся с ним. Стоит также заметить, что у нас неориентированный граф. Матрица степени - это диагональная матрица, где значение по диагонали - это степень узла
3. Вычисляется нормальный Лапласиан – это еще одно матричное представление графа, чтобы его вычислить, вычитаем матрицу смежности из матрицы степени. Диагональ Лапласиана - это степень узлов, а диагональ вне - отрицательные веса ребер
4. Вычисляются собственные значения и векторы Лапласиана, сортируются собственные значения и далее по ним сортируются собственные векторы
5. Отсортированные собственные векторы кластеризуют при помощи KMeans
Основными преимуществами Spectral Clustering являются:
✅ Возможность обнаруживать кластеры произвольной формы
✅ Устойчивость к шумам и выбросам в данных
✅ Теоретическая обоснованность метода, основанного на свойствах спектра графа
Недостатками Spectral Clustering можно считать:
➖Высокая вычислительную сложность (увеличение времени)
➖Чувствительность к выбору параметров
➖Неэффективность на больших данных (память)
👍26🔥11❤🔥2🤯2❤1
Курс на Stepik открыт ❤️
Открыла курс на stepik, уже сейчас вы можете получить сертификат, а кто-то уже его получил. Для новых пользователей он будет платным, чтобы фильтровать входящий поток студентов.
Для тех, кто уже на курсе и прошел 80%, либо скоро пройдет, друзья, для вас он и остается бесплатным. Просьба, замолвьте за курс в отзывах пару добрых слов, для этого нужно выделить всего то 1 минуту в вашем бешенном графике, чтобы написать хотя бы "спасибо".
Кто хочет поддержать не словом, а делом, то на бусти вы можете задонатить 100 рублей за уже разработанный курс, либо просто отправить донат с любой суммой, которую вам не жалко.
Открыла курс на stepik, уже сейчас вы можете получить сертификат, а кто-то уже его получил. Для новых пользователей он будет платным, чтобы фильтровать входящий поток студентов.
Для тех, кто уже на курсе и прошел 80%, либо скоро пройдет, друзья, для вас он и остается бесплатным. Просьба, замолвьте за курс в отзывах пару добрых слов, для этого нужно выделить всего то 1 минуту в вашем бешенном графике, чтобы написать хотя бы "спасибо".
Кто хочет поддержать не словом, а делом, то на бусти вы можете задонатить 100 рублей за уже разработанный курс, либо просто отправить донат с любой суммой, которую вам не жалко.
❤80👍15🔥5❤🔥3😍1
КАК УСПЕШНО ПРОХОДИТЬ СОБЕСЕДОВАНИЯ ☝️
Привет, друзья! Многие из вас сейчас находятся в поиске первой работы, а кто-то, возможно, хочет сменить прежнюю. За последние несколько лет я провела не мало собеседований, и обращала внимания не только на технические навыки кандидата: например, на лайв коддинг, знание теории алгоритмом машинного обучения, статистики и прочее. Но и на заинтересованность кандидата в деятельности компании, в которую он стремиться попасть…
🙃 Очень грустно наблюдать, когда кандидат ничего не знает об области, в которой хочет работать. Чаще всего это касается начинающих специалистов. Не будем скрывать, что конкуренция на рынке высокая, и при подготовке к собеседованию стоит обращать внимание на многие вещи.
💭 Приведу пример. Кандидат проходит собеседование в медицинскую компанию. И на вопрос: «Какие задачи были бы вам интересны в данной области?», ответить: «Ну мне просто интересна медицина» - кажется, будет не совсем корректно.
📚 Перед собеседованием было бы неплохо изучить задачи, которые сейчас решаются с помощью машинного обучения в выбранной компании. Вам необязательно знать про эту область «от и до».
😎 «Мне известны несколько видов задач в данной области. На курсе по deep learning мы подробно разбирали, как работают сверточные нейронные сети, поэтому мне было бы интересно поработать над задачей диагностики заболеваний по результатам рентгенологических исследований – классифицировать изображения в зависимости от диагноза. Также мне была бы интересна задача предсказания молекулярных свойств: предсказания некоторых свойств молекул, которые точно определяют, может ли молекула быть использована как лекарство» - такой ответ звучит в десятки раз лучше предыдущего. Очень важно, что он позволяет продолжить с вами разговор, расспросить подробнее о ваших знаниях и желаниях.
🙄 Также мне встречались кандидаты, которые утверждали, что им бесконечно интересна деятельность компании, в которую они старались попасть. Однако, на типичные вопросы (например, про метрики качества или тестирование новых моделей) кандидат ничего не мог ответить, и даже отказывался рассуждать. Это еще хуже, так как рассуждая, вы даете возможность интервьюеру направить вас в нужную сторону.
Подведем итог. Перед собеседованием:
✅ Интересуемся деятельностью компании. Узнаем какие задачи решаются внутри компании.
✅ Читаем несколько статей про применения машинного обучения в этой деятельности.
✅ Выписываем несколько алгоритмов машинного обучения, которые применяются в данной области. Например, если хотите в медицинскую сферу, немного углубитесь в deep learning: почитайте про молекулярные графы, генеративные состязательные сети, сверточные нейронные сети и т.п. Если идете на собеседование в компанию, занимающуюся разработкой рекомендательных систем, почитайте про коллаборативную фильтрацию, фильтрацию, основанную на контенте, изучите подходы оценки качества рекомендаций…
✅ Формируем четкий ответ на вопрос «Чем бы вы хотели заниматься в нашей компании?
✅ *Если вы очень хотите попасть в какую-либо конкретную область, попробуйте сделать небольшой проект по данной тематике. Изучите самые популярные библиотеки, которые используются в данной области. Можно попробовать найти бесплатные курсы и пройти их.
Привет, друзья! Многие из вас сейчас находятся в поиске первой работы, а кто-то, возможно, хочет сменить прежнюю. За последние несколько лет я провела не мало собеседований, и обращала внимания не только на технические навыки кандидата: например, на лайв коддинг, знание теории алгоритмом машинного обучения, статистики и прочее. Но и на заинтересованность кандидата в деятельности компании, в которую он стремиться попасть…
🙃 Очень грустно наблюдать, когда кандидат ничего не знает об области, в которой хочет работать. Чаще всего это касается начинающих специалистов. Не будем скрывать, что конкуренция на рынке высокая, и при подготовке к собеседованию стоит обращать внимание на многие вещи.
💭 Приведу пример. Кандидат проходит собеседование в медицинскую компанию. И на вопрос: «Какие задачи были бы вам интересны в данной области?», ответить: «Ну мне просто интересна медицина» - кажется, будет не совсем корректно.
📚 Перед собеседованием было бы неплохо изучить задачи, которые сейчас решаются с помощью машинного обучения в выбранной компании. Вам необязательно знать про эту область «от и до».
😎 «Мне известны несколько видов задач в данной области. На курсе по deep learning мы подробно разбирали, как работают сверточные нейронные сети, поэтому мне было бы интересно поработать над задачей диагностики заболеваний по результатам рентгенологических исследований – классифицировать изображения в зависимости от диагноза. Также мне была бы интересна задача предсказания молекулярных свойств: предсказания некоторых свойств молекул, которые точно определяют, может ли молекула быть использована как лекарство» - такой ответ звучит в десятки раз лучше предыдущего. Очень важно, что он позволяет продолжить с вами разговор, расспросить подробнее о ваших знаниях и желаниях.
🙄 Также мне встречались кандидаты, которые утверждали, что им бесконечно интересна деятельность компании, в которую они старались попасть. Однако, на типичные вопросы (например, про метрики качества или тестирование новых моделей) кандидат ничего не мог ответить, и даже отказывался рассуждать. Это еще хуже, так как рассуждая, вы даете возможность интервьюеру направить вас в нужную сторону.
Подведем итог. Перед собеседованием:
✅ Интересуемся деятельностью компании. Узнаем какие задачи решаются внутри компании.
✅ Читаем несколько статей про применения машинного обучения в этой деятельности.
✅ Выписываем несколько алгоритмов машинного обучения, которые применяются в данной области. Например, если хотите в медицинскую сферу, немного углубитесь в deep learning: почитайте про молекулярные графы, генеративные состязательные сети, сверточные нейронные сети и т.п. Если идете на собеседование в компанию, занимающуюся разработкой рекомендательных систем, почитайте про коллаборативную фильтрацию, фильтрацию, основанную на контенте, изучите подходы оценки качества рекомендаций…
✅ Формируем четкий ответ на вопрос «Чем бы вы хотели заниматься в нашей компании?
✅ *Если вы очень хотите попасть в какую-либо конкретную область, попробуйте сделать небольшой проект по данной тематике. Изучите самые популярные библиотеки, которые используются в данной области. Можно попробовать найти бесплатные курсы и пройти их.
🔥36👍14
📑Тематическое моделирование / Tutorial
Тематическое моделирование - это метод, используемый для идентификации скрытых тем в коллекции документов.
https://youtu.be/o1I0Y7upBVs
📌Алгоритмы тематического моделирования позволяют автоматически найти скрытые темы в текстовых данных, выявляя слова и фразы, которые часто встречаются вместе. Например, в коллекции документов, связанных с путешествиями, слова "отпуск", "пляж" и "гостиница" могут часто встречаться вместе, указывая на наличие темы связанной с отдыхом.
🧠 Одним из распространенных алгоритмов тематического моделирования является LDA (Latent Dirichlet Allocation). LDA изначально был предложен в 2003 году Дэвидом Блеем, Эндрю Ыном и Майклом Джорданом. Алгоритм основан на моделировании документа как смеси тем, а каждая тема представляется распределением вероятностей над словами.
💻 В новом видео мы попробуем протестировать работу LDA на примере спарсенных отзывов с сайта М.Видео, а точнее используем позитивные отзывы на компьютерные мониторы разных брендов. Мы проведем предварительную обработку теста, посмотрим какие метрики можем использовать для оценки разбиения на темы, а также попробуем найти оптимальное кол-во тематик.
Если вы хотите подробнее узнать про тематическое моделирование и в целом про ML, то регистрируйтесь на курс по Data Science для начинающих старт 27 марта.
Тематическое моделирование - это метод, используемый для идентификации скрытых тем в коллекции документов.
https://youtu.be/o1I0Y7upBVs
📌Алгоритмы тематического моделирования позволяют автоматически найти скрытые темы в текстовых данных, выявляя слова и фразы, которые часто встречаются вместе. Например, в коллекции документов, связанных с путешествиями, слова "отпуск", "пляж" и "гостиница" могут часто встречаться вместе, указывая на наличие темы связанной с отдыхом.
🧠 Одним из распространенных алгоритмов тематического моделирования является LDA (Latent Dirichlet Allocation). LDA изначально был предложен в 2003 году Дэвидом Блеем, Эндрю Ыном и Майклом Джорданом. Алгоритм основан на моделировании документа как смеси тем, а каждая тема представляется распределением вероятностей над словами.
💻 В новом видео мы попробуем протестировать работу LDA на примере спарсенных отзывов с сайта М.Видео, а точнее используем позитивные отзывы на компьютерные мониторы разных брендов. Мы проведем предварительную обработку теста, посмотрим какие метрики можем использовать для оценки разбиения на темы, а также попробуем найти оптимальное кол-во тематик.
Если вы хотите подробнее узнать про тематическое моделирование и в целом про ML, то регистрируйтесь на курс по Data Science для начинающих старт 27 марта.
YouTube
Data Science Tutorial / Тематическое моделирование LDA на примере отзывов М.Видео
Соревнование Data Fusion Contest 2023 с призовым фондом 2 млн рублей и возможностью трудоустройства https://ods.ai/tracks/data-fusion-2023-competitions?utm_source=youtube&utm_medium=video&utm_campaign=dfs_q1_2023&utm_content=video&utm_term=miracl6
Erid: 2VtzqxZ6TpH…
Erid: 2VtzqxZ6TpH…
🔥24👍2
Новая версия - GPT-4 🧠
Microsoft (совместно с OpenAI) хочет запустить ChatGPT-4 уже на следующей неделе (но это не точно).
✅ Сейчас ChatGPT-3 может отвечать только в текстовом формате, но как раз отличие 4 версии от 3 в том, что новая версия будет мультимодальной: перевод текста в изображение, генерация музыки на основании текста и видео.
Разработчики утверждают, что не будет танцев с бубнами именно с точки зрения использования различных языков: можно задать вопрос на немецком и получить ответ на английском, а можно и на том, котором задал.
Что интересно, в качестве запроса можно будет подавать не только текст, но и аудио, видео, изображения.
⚠️Но мы помним на опыте GPT-3, что не всегда ответы модели являются полностью достоверными и требуется валидация. Но насколько поняла, компания как раз сейчас занимается этой проблемой, такая задача в принципе является довольно сложной.
Microsoft (совместно с OpenAI) хочет запустить ChatGPT-4 уже на следующей неделе (но это не точно).
✅ Сейчас ChatGPT-3 может отвечать только в текстовом формате, но как раз отличие 4 версии от 3 в том, что новая версия будет мультимодальной: перевод текста в изображение, генерация музыки на основании текста и видео.
Разработчики утверждают, что не будет танцев с бубнами именно с точки зрения использования различных языков: можно задать вопрос на немецком и получить ответ на английском, а можно и на том, котором задал.
Что интересно, в качестве запроса можно будет подавать не только текст, но и аудио, видео, изображения.
⚠️Но мы помним на опыте GPT-3, что не всегда ответы модели являются полностью достоверными и требуется валидация. Но насколько поняла, компания как раз сейчас занимается этой проблемой, такая задача в принципе является довольно сложной.
👍26
MLFlow для чего и зачем он Data Scientist?
Иногда довольно тяжело отслеживать результаты переобучения модели, помнить все метрики, которые вы получили по предыдущей версии модели и еще куда-то записывать текущие. Дополнительно ведь нужно сохранять саму версию модели. Представьте, что подобных моделей становится 5, 10, 20 и может больше. И возникает уже проблема в контроле. Но, к счастью, есть специальные для этого библиотеки, которые позволяют вам управлять полным жизненным циклом моделей машинного обучения.
Сегодня мы рассмотрим MLFlow — это популярный Open Source-фреймворк, предназначен для решения MLOps-задач, с замечательным UI, а также довольно удобен в использовании.
Его основные преимущества:
✅ Отслеживание экспериментов: MLFlow сохраняет все метрики, параметры и файлы, связанные с вашими экспериментами по обучению моделей. Это позволяет легко воспроизвести, оптимизировать и сравнивать разные эксперименты
✅ Регистрация моделей: вы можете регистрировать обученные модели в MLFlow, чтобы отслеживать их производительность и версии
✅ Упаковка моделей: MLFlow упрощает перенос обученных моделей в продакшн
✅ Оптимизация гиперпараметров: MLFlow интегрирован с инструментами для оптимизации гиперпараметров, такими как Optuna
✅ Совместимость: MLFlow совместим со многими библиотеками машинного обучения, такими как scikit-learn, TensorFlow, PyTorch, LightGBM, Keras, и др.
MLFlow состоит из четырех основных компонентов:
📌Tracking: позволяет логировать параметры, метрики и файлы, связанные с экспериментами по обучению моделей. Это помогает воспроизводить, оптимизировать и сравнивать эксперименты
📌Projects: способ организации и описания кода, позволяет воспроизводить эксперимент в другом окружении
📌Models: позволяет регистрировать обученные модели, отслеживать их производительность и версии
📌Model Registry: позволяет хранить, отслеживать, вызывать и восстанавливать модели. Это упрощает переход от экспериментов к продакшену
Также MLFlow поддерживает развертывания на локальных серверах, Kubernetes, Azure Machine Learning и др.
В целом, MLFlow предоставляет инструменты для управления полным жизненным циклом моделей машинного обучения от экспериментов до продакшна. Это помогает Data Scientist быть более продуктивными и сосредоточиться на разработке моделей.
Иногда довольно тяжело отслеживать результаты переобучения модели, помнить все метрики, которые вы получили по предыдущей версии модели и еще куда-то записывать текущие. Дополнительно ведь нужно сохранять саму версию модели. Представьте, что подобных моделей становится 5, 10, 20 и может больше. И возникает уже проблема в контроле. Но, к счастью, есть специальные для этого библиотеки, которые позволяют вам управлять полным жизненным циклом моделей машинного обучения.
Сегодня мы рассмотрим MLFlow — это популярный Open Source-фреймворк, предназначен для решения MLOps-задач, с замечательным UI, а также довольно удобен в использовании.
Его основные преимущества:
✅ Отслеживание экспериментов: MLFlow сохраняет все метрики, параметры и файлы, связанные с вашими экспериментами по обучению моделей. Это позволяет легко воспроизвести, оптимизировать и сравнивать разные эксперименты
✅ Регистрация моделей: вы можете регистрировать обученные модели в MLFlow, чтобы отслеживать их производительность и версии
✅ Упаковка моделей: MLFlow упрощает перенос обученных моделей в продакшн
✅ Оптимизация гиперпараметров: MLFlow интегрирован с инструментами для оптимизации гиперпараметров, такими как Optuna
✅ Совместимость: MLFlow совместим со многими библиотеками машинного обучения, такими как scikit-learn, TensorFlow, PyTorch, LightGBM, Keras, и др.
MLFlow состоит из четырех основных компонентов:
📌Tracking: позволяет логировать параметры, метрики и файлы, связанные с экспериментами по обучению моделей. Это помогает воспроизводить, оптимизировать и сравнивать эксперименты
📌Projects: способ организации и описания кода, позволяет воспроизводить эксперимент в другом окружении
📌Models: позволяет регистрировать обученные модели, отслеживать их производительность и версии
📌Model Registry: позволяет хранить, отслеживать, вызывать и восстанавливать модели. Это упрощает переход от экспериментов к продакшену
Также MLFlow поддерживает развертывания на локальных серверах, Kubernetes, Azure Machine Learning и др.
В целом, MLFlow предоставляет инструменты для управления полным жизненным циклом моделей машинного обучения от экспериментов до продакшна. Это помогает Data Scientist быть более продуктивными и сосредоточиться на разработке моделей.
👍32❤1🔥1
🔁 MLOps. Внедрение моделей
Если вы думаете, что все заканчивается кодом в Jupyter для Data Scientist, то это не так. Если мы хотим использовать как-то в дальнейшем наши наработки в реальных проектах, ежемесячно, а может и для разных продуктов, нам важно обратить внимание на такую тему как MLOps.
MLOps - это методология, которая объединяет ML и DevOps. Она позволяет создавать, развертывать и поддерживать модели машинного обучения (МО) более эффективно и надежно.
MLOps включает в себя несколько этапов:
📌 Сбор данных - на этом этапе собираются данные, которые будут использоваться для обучения моделей МО. Важно убедиться, что данные соответствуют требованиям качества и полноты, и что они не содержат ошибок или искажений.
📌Подготовка данных - на этом этапе данные очищаются, обрабатываются и преобразуются в формат, пригодный для обучения модели.
📌Обучение модели - на этом этапе создается и обучается модель ML. Важно выбрать правильный алгоритм ML и настроить его параметры, чтобы достичь наилучших результатов.
📌Тестирование и оценка - модель тестируется на отложенных данных, чтобы убедиться, что она работает правильно. Это также включает оценку производительности модели и выбор метрик для ее измерения.
📌Развертывание - модель развертывается в производственной среде и интегрируется с другими системами.
📌Мониторинг - производится мониторинг работы модели в производственной среде и ее эффективности.
📌Обслуживание и сопровождение - модели ML должны регулярно обслуживаться и обновляться, чтобы сохранять высокую производительность. Это может включать в себя обновление данных, переобучение моделей и внесение изменений в алгоритмы МО.
Вы уже можете заметить, насколько непростой процесс, потому что помимо прочего, вам необходимо также налаживать связь между всеми этапами MLOps.
Если вы думаете, что все заканчивается кодом в Jupyter для Data Scientist, то это не так. Если мы хотим использовать как-то в дальнейшем наши наработки в реальных проектах, ежемесячно, а может и для разных продуктов, нам важно обратить внимание на такую тему как MLOps.
MLOps - это методология, которая объединяет ML и DevOps. Она позволяет создавать, развертывать и поддерживать модели машинного обучения (МО) более эффективно и надежно.
MLOps включает в себя несколько этапов:
📌 Сбор данных - на этом этапе собираются данные, которые будут использоваться для обучения моделей МО. Важно убедиться, что данные соответствуют требованиям качества и полноты, и что они не содержат ошибок или искажений.
📌Подготовка данных - на этом этапе данные очищаются, обрабатываются и преобразуются в формат, пригодный для обучения модели.
📌Обучение модели - на этом этапе создается и обучается модель ML. Важно выбрать правильный алгоритм ML и настроить его параметры, чтобы достичь наилучших результатов.
📌Тестирование и оценка - модель тестируется на отложенных данных, чтобы убедиться, что она работает правильно. Это также включает оценку производительности модели и выбор метрик для ее измерения.
📌Развертывание - модель развертывается в производственной среде и интегрируется с другими системами.
📌Мониторинг - производится мониторинг работы модели в производственной среде и ее эффективности.
📌Обслуживание и сопровождение - модели ML должны регулярно обслуживаться и обновляться, чтобы сохранять высокую производительность. Это может включать в себя обновление данных, переобучение моделей и внесение изменений в алгоритмы МО.
Вы уже можете заметить, насколько непростой процесс, потому что помимо прочего, вам необходимо также налаживать связь между всеми этапами MLOps.
👍33🔥5
Отзывы 💭
Давайте сегодня поговорим об отзывах с курса. Почему это важно, во-первых, конечно же это результаты нашей работы, не только моей, но и ребят. Я думаю, что им будет очень приятно также читать эти посты, так как они помнят свой путь и к чему они в итоге пришли.
Во-вторых, в отзыве также бывают и рекомендации к курсу, а это важно, ничего не может быть идеальным, мы берем это на заметку + конечно же обратная связь во время курса.
На картинках вы увидите только малую долю отзывов, которые пишут по итогу курса, очень много пишут мне лично и во время. Вы наверное уже видели, что писали ребята с прошлых потоков в чате в телеге.
📃 Я взяла только малую часть текста отзывов, чтобы на картинке это смотрелось лаконично и было довольно удобно читать тезисы ))
Это все реальные отзывы, реальных людей, кто устроился на работу.
Ваш труд + терпение + знания, которые мы даем, творят чудеса. Хотя с другой стороны это не совсем чудеса, так как все довольно логично: что делаешь, то и получаешь (устроился на работу, либо повысился в должности и так далее).
Также хочу сказать ребятам моим выпускникам, студентам, что вы большие молодцы, очень здорово, что вы трудитесь, не сдаетесь, а ведь обучение - это всегда стресс. Хочется вам пожелать больших высот на работе, интересных и крутых проектов, а также чтобы работа приносила вам удовольствие ❤️
Про сам курс:
⚠️ 4-ый поток начинается 27 марта, у нас осталось 5 мест, мы не берем много людей, чтобы каждому студенту уделить внимание.
Подробная информация по курсу на сайте PyMagic
Давайте сегодня поговорим об отзывах с курса. Почему это важно, во-первых, конечно же это результаты нашей работы, не только моей, но и ребят. Я думаю, что им будет очень приятно также читать эти посты, так как они помнят свой путь и к чему они в итоге пришли.
Во-вторых, в отзыве также бывают и рекомендации к курсу, а это важно, ничего не может быть идеальным, мы берем это на заметку + конечно же обратная связь во время курса.
На картинках вы увидите только малую долю отзывов, которые пишут по итогу курса, очень много пишут мне лично и во время. Вы наверное уже видели, что писали ребята с прошлых потоков в чате в телеге.
📃 Я взяла только малую часть текста отзывов, чтобы на картинке это смотрелось лаконично и было довольно удобно читать тезисы ))
Это все реальные отзывы, реальных людей, кто устроился на работу.
Ваш труд + терпение + знания, которые мы даем, творят чудеса. Хотя с другой стороны это не совсем чудеса, так как все довольно логично: что делаешь, то и получаешь (устроился на работу, либо повысился в должности и так далее).
Также хочу сказать ребятам моим выпускникам, студентам, что вы большие молодцы, очень здорово, что вы трудитесь, не сдаетесь, а ведь обучение - это всегда стресс. Хочется вам пожелать больших высот на работе, интересных и крутых проектов, а также чтобы работа приносила вам удовольствие ❤️
Про сам курс:
⚠️ 4-ый поток начинается 27 марта, у нас осталось 5 мест, мы не берем много людей, чтобы каждому студенту уделить внимание.
Подробная информация по курсу на сайте PyMagic
👍20❤14🔥3
Ваши вопросы 🤔
Друзья, то самое время, когда можно проявить свою инициативу! Хочу на днях записать видос для канала с ответами на популярные вопросы.
Пишите свои вопросы под этим постом, выберу ТОП интересных, и возможно ваш попадает в новый ролик на YouTube 😉
Друзья, то самое время, когда можно проявить свою инициативу! Хочу на днях записать видос для канала с ответами на популярные вопросы.
Пишите свои вопросы под этим постом, выберу ТОП интересных, и возможно ваш попадает в новый ролик на YouTube 😉
❤8
👩🏻💻 Навыки, которые необходимы Data Scientist
Заметила, что чаще всего в DS уделяют внимание как правило только hard-скиллам, безусловно это супер важно, но без прокаченных soft-скиллов вы не будете расти карьерно, ваши модели будут уходить в стол, ну и просто останетесь наедине со своими формулами как одной волк 😁
Поэтому давайте агрегируем список навыков по hard и soft скиллам
🏋️♀️ Hard-skills:
⁃ Знание языков программирования и запросов: Python, SQL, R (не всегда). Python и SQL используются для обработки и извлечения данных, R - для статистического анализа и построения моделей. Важно уметь писать оптимальный код, а также документацию к нему
⁃ Навыки работы с большими данными и СУБД (SQL, NoSQL), умение писать оптимальные запросы
⁃ Знание алгоритмов ML и математики (статистика, матан и так далее): линейные модели, деревья решений, ансамбли, нейронные сети, кластеризация и др.
⁃ Навыки визуализации данных. Умение строить информативные диаграммы, графики, тепловые карты для выявления закономерностей и тенденций в данных
⁃ Понимание принципов построения алгоритмов и оценки их сложности
🧸Soft-skills:
⁃ Аналитическое мышление. Способность выявлять проблемы, формулировать гипотезы, находить оптимальные решения
⁃ Коммуникабельность. Умение презентовать результаты анализа и визуализации данных неспециалистам, объяснять выводы и рекомендации. Это один из важный этапов
⁃ Проактивность. Стремление улучшать процессы, искать новые источники данных, автоматизировать рутинные задачи
⁃ Креативное мышление. Способность генерировать новые идеи, выходить за рамки стандартных решений
Обладая этим набором навыков, вы сможете развиваться в данной сфере и расти по карьерной лестнице. Важно постоянно развивать и совершенствовать свои hard и soft скиллы для решения актуальных и сложных задач в области Data Science.
Делитесь также в комментах тем, что помогает расти вам в данной сфере👇
Заметила, что чаще всего в DS уделяют внимание как правило только hard-скиллам, безусловно это супер важно, но без прокаченных soft-скиллов вы не будете расти карьерно, ваши модели будут уходить в стол, ну и просто останетесь наедине со своими формулами как одной волк 😁
Поэтому давайте агрегируем список навыков по hard и soft скиллам
🏋️♀️ Hard-skills:
⁃ Знание языков программирования и запросов: Python, SQL, R (не всегда). Python и SQL используются для обработки и извлечения данных, R - для статистического анализа и построения моделей. Важно уметь писать оптимальный код, а также документацию к нему
⁃ Навыки работы с большими данными и СУБД (SQL, NoSQL), умение писать оптимальные запросы
⁃ Знание алгоритмов ML и математики (статистика, матан и так далее): линейные модели, деревья решений, ансамбли, нейронные сети, кластеризация и др.
⁃ Навыки визуализации данных. Умение строить информативные диаграммы, графики, тепловые карты для выявления закономерностей и тенденций в данных
⁃ Понимание принципов построения алгоритмов и оценки их сложности
🧸Soft-skills:
⁃ Аналитическое мышление. Способность выявлять проблемы, формулировать гипотезы, находить оптимальные решения
⁃ Коммуникабельность. Умение презентовать результаты анализа и визуализации данных неспециалистам, объяснять выводы и рекомендации. Это один из важный этапов
⁃ Проактивность. Стремление улучшать процессы, искать новые источники данных, автоматизировать рутинные задачи
⁃ Креативное мышление. Способность генерировать новые идеи, выходить за рамки стандартных решений
Обладая этим набором навыков, вы сможете развиваться в данной сфере и расти по карьерной лестнице. Важно постоянно развивать и совершенствовать свои hard и soft скиллы для решения актуальных и сложных задач в области Data Science.
Делитесь также в комментах тем, что помогает расти вам в данной сфере👇
❤30👍12🔥3
Какую ЗП просить Junior? Какие делать pet project? 🤔
В новом ролике постаралась ответить на ваши вопросы. Разберем, сколько денег просить начинающему Junior Data Scientist, а также как сориентироваться по цифрам, чтоб и не просить заоблачные суммы, либо вообще работать за спасибо.
Также поговорим с вами о том, сколько времени необходимо посвящать работе и учебе.
Ну и конечно же очень много вопросов было по поводу pet projects. Это действительно сейчас довольно важный кусок, но помимо этого он является неотъемлемой частью ваших знаний в области науки о данных. Pet project своего рода визитная карточка начинающего специалиста: опыта еще нет, но свои знания и навыки как то нужно продемонстрировать.
https://youtu.be/KI55gOIHXJo
В новом ролике постаралась ответить на ваши вопросы. Разберем, сколько денег просить начинающему Junior Data Scientist, а также как сориентироваться по цифрам, чтоб и не просить заоблачные суммы, либо вообще работать за спасибо.
Также поговорим с вами о том, сколько времени необходимо посвящать работе и учебе.
Ну и конечно же очень много вопросов было по поводу pet projects. Это действительно сейчас довольно важный кусок, но помимо этого он является неотъемлемой частью ваших знаний в области науки о данных. Pet project своего рода визитная карточка начинающего специалиста: опыта еще нет, но свои знания и навыки как то нужно продемонстрировать.
https://youtu.be/KI55gOIHXJo
YouTube
Сколько денег просить Junior Data Scientist? Какие pet-project делать, чтобы тебя взяли на работу?
Курс по Data Science старт 4 потока в конце марта https://pymagic.ru
Таймкоды:
00:00 Стоит ли реализовывать пет проекты, которые уже были реализованы?
01:12 Какую зарплату просить Junior DS?
03:06 Сколько нужно пет проектов для Junior?
03:52 Нужно ли делать…
Таймкоды:
00:00 Стоит ли реализовывать пет проекты, которые уже были реализованы?
01:12 Какую зарплату просить Junior DS?
03:06 Сколько нужно пет проектов для Junior?
03:52 Нужно ли делать…
🔥25👍4
Градиентный бустинг 👩🏻💻
Давайте сегодня поговорим о бустингах. Именно этот тип моделей довольно часто используют на практике на табличных данных.
Градиентный бустинг - это метод машинного обучения, который сочетает в себе обучение нескольких слабых моделей для создания одной сильной модели. Он основан на идее постепенного улучшения модели путем добавления новых, которые учитывают ошибки предыдущей модели.
💻 Для каких задач можно использовать градиентные бустинги?
Скорее ни для кого уже не секрет, что можно использовать такой тип моделей как для задачи классификации (бинарной, многоклассовой), где мы предсказываем метки классов, так и для задачи регрессии, где необходимо предсказать вещественное число.
Но что еще помимо этого?
📌 Задача ранжирования. Например, ранжирование страниц в поисковой выдаче или ранжирование товаров в интернет-магазине.
Кстати, многие крупные компании используют бустинги в проде. По сравнению с нейронками бустинги легче интерпретировать, что часто очень важно для бизнеса.
Наиболее популярные библиотеки, в основах которых лежит модель градиентного бустинга: LightGBM, Py-Boost, CatBoost, XGBoost.
Давайте сегодня поговорим о бустингах. Именно этот тип моделей довольно часто используют на практике на табличных данных.
Градиентный бустинг - это метод машинного обучения, который сочетает в себе обучение нескольких слабых моделей для создания одной сильной модели. Он основан на идее постепенного улучшения модели путем добавления новых, которые учитывают ошибки предыдущей модели.
💻 Для каких задач можно использовать градиентные бустинги?
Скорее ни для кого уже не секрет, что можно использовать такой тип моделей как для задачи классификации (бинарной, многоклассовой), где мы предсказываем метки классов, так и для задачи регрессии, где необходимо предсказать вещественное число.
Но что еще помимо этого?
📌 Задача ранжирования. Например, ранжирование страниц в поисковой выдаче или ранжирование товаров в интернет-магазине.
Кстати, многие крупные компании используют бустинги в проде. По сравнению с нейронками бустинги легче интерпретировать, что часто очень важно для бизнеса.
Наиболее популярные библиотеки, в основах которых лежит модель градиентного бустинга: LightGBM, Py-Boost, CatBoost, XGBoost.
👍29🔥2
Визуализация. Что еще помимо matplotlib и seaborn?
Библиотеки Matplotlib и Seaborn являются популярными инструментами для визуализации, но есть ряд других интересных библиотек, которые также могут быть полезны в работе для Data Scientist.
1️⃣ Plotly - это популярная библиотека для создания интерактивных визуализаций. Она предлагает широкий спектр типов графиков, включая диаграммы рассеяния, линейные графики, тепловые карты и др., позволяет добавлять интерактивность к визуализациям, такие как прокрутка, масштабирование и выбор данных.
2️⃣ Bokeh - это еще одна библиотека для создания интерактивных визуализаций, которая предоставляет широкий спектр различных типов визуализаций. Bokeh позволяет создавать сложные графики, включая статические и интерактивные, графики в режиме реального времени, может работать с большими объемами данных.
3️⃣ Holoviews - это библиотека для создания интерактивных графиков и диаграмм в Python. Позволяет создавать высококачественные графики, используя минимум кода, кстати, об этой библиотеке писали ранее здесь
4️⃣ Plotnine - это библиотека, которая является Python-реализацией грамматики графики ggplot2 (язык R). Основная идея Plotnine заключается в использованием грамматики графиков, которая определяет основные компоненты графика (например, оси координат, метки, легенду) и способы их настройки. Это позволяет пользователям создавать сложные и красивые визуализации, например, таблицу Менделеева, с минимумом кода.
5️⃣ Datashader - предназначена для обработки больших объемов данных. Основной принцип работы Datashader заключается в агрегации данных в небольшие бины и их последующей визуализации.
Библиотеки Matplotlib и Seaborn являются популярными инструментами для визуализации, но есть ряд других интересных библиотек, которые также могут быть полезны в работе для Data Scientist.
1️⃣ Plotly - это популярная библиотека для создания интерактивных визуализаций. Она предлагает широкий спектр типов графиков, включая диаграммы рассеяния, линейные графики, тепловые карты и др., позволяет добавлять интерактивность к визуализациям, такие как прокрутка, масштабирование и выбор данных.
2️⃣ Bokeh - это еще одна библиотека для создания интерактивных визуализаций, которая предоставляет широкий спектр различных типов визуализаций. Bokeh позволяет создавать сложные графики, включая статические и интерактивные, графики в режиме реального времени, может работать с большими объемами данных.
3️⃣ Holoviews - это библиотека для создания интерактивных графиков и диаграмм в Python. Позволяет создавать высококачественные графики, используя минимум кода, кстати, об этой библиотеке писали ранее здесь
4️⃣ Plotnine - это библиотека, которая является Python-реализацией грамматики графики ggplot2 (язык R). Основная идея Plotnine заключается в использованием грамматики графиков, которая определяет основные компоненты графика (например, оси координат, метки, легенду) и способы их настройки. Это позволяет пользователям создавать сложные и красивые визуализации, например, таблицу Менделеева, с минимумом кода.
5️⃣ Datashader - предназначена для обработки больших объемов данных. Основной принцип работы Datashader заключается в агрегации данных в небольшие бины и их последующей визуализации.
👍24
🔡 Аугментация текстовых данных
Аугментация - процесс "наращивания" данных, генерация новых объектов для обучения модели на основе уже существующих.
Бывает, что, решая конкретную ML-задачу, вы понимаете, что данных для обучения качественной модели не хватает. Безусловно, можно попытаться вручную разметить еще какое-то количество объектов, но что, если для начала попробовать создать новые объекты из уже имеющихся? 🤔
В задачах компьютерного зрения в качестве аугментации можно растягивать, отзеркаливать, поворачивать изображения. Действительно, после таких трансформаций мы все еще можем понять, что изображено на фото, и, что важнее, модель тоже может. Однако в случае текстовых данных способы трансформации кажутся менее очевидными. Давайте рассмотрим некоторые из них.
1️⃣ Для начала поговорим об char-level аугментации. Рассматривая каждый текст как последовательность символов, мы могли бы преобразовывать входные данные в тексты с имитацией случайных опечаток в отдельных буквах.
2️⃣ При использовании word-level трансформаций можно делать замену слов на синонимы или антонимы, перестанавливать слова в предложениях или вовсе убирать их случайным образом.
3️⃣ Говоря об аугментации текстов, нельзя не вспомнить об обратном переводе - методе, в котором сначала текст переводится на целевой язык, а затем снова на исходный. При этом меняются отдельные слова или даже фразы, но смысл остается неизменным.
4️⃣ Переходя на sentence-level - уровень целых предложений, можно использовать абстрактивную суммаризацию - подход, при котором предобученная нейросетевая модель получает исходный текст, и выдает его переписанное содержание.
Реализация всех этих способов вручную была бы трудоемким занятием, но нам повезло, что все эти методы и многие другие уже есть в библиотеке nlpaug.
❗️Впрочем, перед тем как использовать аугментацию, стоит помнить несколько вещей:
⁃ Аугментация не является серебряной пулей для всех задач. Вполне возможно, на ваших данных она не приведет в итоге к значительному увеличению метрик
⁃ Не существует универсального метода аугментации, под каждую задачу его нужно подбирать, но ничто не мешает использовать сразу несколько
⁃ Не стоит тестировать качество на аугментированных данных - они используются только на этапе обучения модели
⁃ При этом, если вы используете k-fold валидацию, стоит следить за тем, чтобы исходный и аугментированный тексты оказывались в одном фолде, во избежание утечки данных
Аугментация - процесс "наращивания" данных, генерация новых объектов для обучения модели на основе уже существующих.
Бывает, что, решая конкретную ML-задачу, вы понимаете, что данных для обучения качественной модели не хватает. Безусловно, можно попытаться вручную разметить еще какое-то количество объектов, но что, если для начала попробовать создать новые объекты из уже имеющихся? 🤔
В задачах компьютерного зрения в качестве аугментации можно растягивать, отзеркаливать, поворачивать изображения. Действительно, после таких трансформаций мы все еще можем понять, что изображено на фото, и, что важнее, модель тоже может. Однако в случае текстовых данных способы трансформации кажутся менее очевидными. Давайте рассмотрим некоторые из них.
1️⃣ Для начала поговорим об char-level аугментации. Рассматривая каждый текст как последовательность символов, мы могли бы преобразовывать входные данные в тексты с имитацией случайных опечаток в отдельных буквах.
2️⃣ При использовании word-level трансформаций можно делать замену слов на синонимы или антонимы, перестанавливать слова в предложениях или вовсе убирать их случайным образом.
3️⃣ Говоря об аугментации текстов, нельзя не вспомнить об обратном переводе - методе, в котором сначала текст переводится на целевой язык, а затем снова на исходный. При этом меняются отдельные слова или даже фразы, но смысл остается неизменным.
4️⃣ Переходя на sentence-level - уровень целых предложений, можно использовать абстрактивную суммаризацию - подход, при котором предобученная нейросетевая модель получает исходный текст, и выдает его переписанное содержание.
Реализация всех этих способов вручную была бы трудоемким занятием, но нам повезло, что все эти методы и многие другие уже есть в библиотеке nlpaug.
❗️Впрочем, перед тем как использовать аугментацию, стоит помнить несколько вещей:
⁃ Аугментация не является серебряной пулей для всех задач. Вполне возможно, на ваших данных она не приведет в итоге к значительному увеличению метрик
⁃ Не существует универсального метода аугментации, под каждую задачу его нужно подбирать, но ничто не мешает использовать сразу несколько
⁃ Не стоит тестировать качество на аугментированных данных - они используются только на этапе обучения модели
⁃ При этом, если вы используете k-fold валидацию, стоит следить за тем, чтобы исходный и аугментированный тексты оказывались в одном фолде, во избежание утечки данных
👍25❤3
Пишем градиентный бустинг с нуля на Python 🐍
Вы уже не раз просили меня написать реализацию алгоритма бустинга 💻
В новом видео разобрала классическую реализацию, плюс попробовала еще добавить регуляризатор для снижения переобучения алгоритма)
А вообще, разобрав алгоритм по косточкам, вам будет намного проще понимать, какие гиперпараметры и как необходимо подбирать) Мы кстати на основном курсе по DS уже как 2 года разбираем все алгоритмы ML с нуля, я считаю, это достаточно крутым упражнением.
Поэтому смотрите, пробуйте повторить, и в качестве проработки этой темы, рекомендую вам еще самим добавить к реализации другие параметры, то есть дополнить алгоритм бустинга)
https://youtu.be/-cp0aVkoI5U
Вы уже не раз просили меня написать реализацию алгоритма бустинга 💻
В новом видео разобрала классическую реализацию, плюс попробовала еще добавить регуляризатор для снижения переобучения алгоритма)
А вообще, разобрав алгоритм по косточкам, вам будет намного проще понимать, какие гиперпараметры и как необходимо подбирать) Мы кстати на основном курсе по DS уже как 2 года разбираем все алгоритмы ML с нуля, я считаю, это достаточно крутым упражнением.
Поэтому смотрите, пробуйте повторить, и в качестве проработки этой темы, рекомендую вам еще самим добавить к реализации другие параметры, то есть дополнить алгоритм бустинга)
https://youtu.be/-cp0aVkoI5U
YouTube
Градиентный бустинг с нуля на Python / Data Science
Небольшая опечатка:
в self.loss_gradient(y, self.y_pred) (подаем self.y_pred, а не self.y_base)
Таймкоды:
00:00 О градиентом бустинге
00:41 Импортируем датасет
01:28 Пишем ансамбль / базовый алгоритм Decision Tree / где градиент
05:08 Скорость обучения …
в self.loss_gradient(y, self.y_pred) (подаем self.y_pred, а не self.y_base)
Таймкоды:
00:00 О градиентом бустинге
00:41 Импортируем датасет
01:28 Пишем ансамбль / базовый алгоритм Decision Tree / где градиент
05:08 Скорость обучения …
🔥39👍8❤🔥3🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
ВВЕДЕНИЕ В СОВРЕМЕННОЕ КОМПЬЮТЕРНОЕ ЗРЕНИЕ 👓
Друзья, мы с вами достаточно часто говорим про задачи, которые связаны с табличными данными. И вы знаете, что для решения таких задач хорошо подходит, например, градиентный бустинг.
🧐 Но есть задачи, где данные представлены в более сложном виде. Вы тоже про них не раз слышали. Поговорим про задачи компьютерного зрения, где информация представлена в виде картинок. Самая первая задача, с которой часто начинают новички, - определить кто изображен на фотографии: кошка или собака.
👁️🗨️ Первые подходы к решению подобных задач были достаточно трудоемкими и делились на несколько этапов. Первым этапом разработчики придумывали, как посчитать признаки. Смотрели на формы хвостов, носов, мордочки и так далее… Это была огромная и долгая работа. Далее получали признаковое описание для каждой фотографии животного и использовали тот же самый градиентный бустинг.
⚠️ Такие подходы работали не лучшим образом. Более того, сбор признаков – отдельная объемная задача, на которую тратилось большое количество времени…
❗️Далее был предложен подход, который принимал на вход картинку животного, передавал ее в качестве входного параметра в некоторую функцию. Затем внутри функции происходила некоторая обработка изображения, и возвращался ответ в виде числа: пусть 1 – если животное на картинке было кошкой, 0 – если собакой.
👍 Теперь разработчики смогли менять множество различных параметров внутри функции, принимающей на вход картинку, регулируя при этом возвращаемые значения.
✅Такой подход не делился на этапы как предыдущий. И давал более точные результаты в задачах компьютерного зрения!
Друзья, мы с вами достаточно часто говорим про задачи, которые связаны с табличными данными. И вы знаете, что для решения таких задач хорошо подходит, например, градиентный бустинг.
🧐 Но есть задачи, где данные представлены в более сложном виде. Вы тоже про них не раз слышали. Поговорим про задачи компьютерного зрения, где информация представлена в виде картинок. Самая первая задача, с которой часто начинают новички, - определить кто изображен на фотографии: кошка или собака.
👁️🗨️ Первые подходы к решению подобных задач были достаточно трудоемкими и делились на несколько этапов. Первым этапом разработчики придумывали, как посчитать признаки. Смотрели на формы хвостов, носов, мордочки и так далее… Это была огромная и долгая работа. Далее получали признаковое описание для каждой фотографии животного и использовали тот же самый градиентный бустинг.
⚠️ Такие подходы работали не лучшим образом. Более того, сбор признаков – отдельная объемная задача, на которую тратилось большое количество времени…
❗️Далее был предложен подход, который принимал на вход картинку животного, передавал ее в качестве входного параметра в некоторую функцию. Затем внутри функции происходила некоторая обработка изображения, и возвращался ответ в виде числа: пусть 1 – если животное на картинке было кошкой, 0 – если собакой.
👍 Теперь разработчики смогли менять множество различных параметров внутри функции, принимающей на вход картинку, регулируя при этом возвращаемые значения.
✅Такой подход не делился на этапы как предыдущий. И давал более точные результаты в задачах компьютерного зрения!
👍31