Чем нейросеть отличается от бустинга над линейными моделями?
Если смотреть на эти два подхода под таким углом, то можно отметить одно основное различие.
В бустинге мы каждую базовую модель обучаем последовательно. При этом мы никак не меняем веса в предыдущих моделях: каждая новая пытается скорректировать их ошибки. В нейросети же мы обучаем весь ансамбль моделей сразу. Это значит, что во время обучения веса могут меняться во всех слоях одновременно. Мы можем делать это быстро, благодаря методу обратного распространения ошибки (Backpropagation).
#глубокое_обучение
#машинное_обучение
Если смотреть на эти два подхода под таким углом, то можно отметить одно основное различие.
В бустинге мы каждую базовую модель обучаем последовательно. При этом мы никак не меняем веса в предыдущих моделях: каждая новая пытается скорректировать их ошибки. В нейросети же мы обучаем весь ансамбль моделей сразу. Это значит, что во время обучения веса могут меняться во всех слоях одновременно. Мы можем делать это быстро, благодаря методу обратного распространения ошибки (Backpropagation).
#глубокое_обучение
#машинное_обучение
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🅾️ Что такое «О» большое: объясняем на простых примерах
«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.
Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.
🔗 Читать статью
🔗 Зеркало
«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.
Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.
🔗 Читать статью
🔗 Зеркало
Что такое генераторы и итераторы в Python?
В Python генераторы и итераторы — это объекты, позволяющие работать с потенциально большими последовательностями данных без необходимости загружать всё в память одновременно. То есть и генераторы, и итераторы позволяют перебирать элементы коллекций.
🔹Итераторы реализуют методы __iter__() и __next__(). Метод __iter__() возвращает сам итератор, а __next__() — следующий элемент коллекции. Если элементы заканчиваются, __next__() должен вызвать исключение StopIteration.
🔹Генераторы представляют собой специальный способ реализации итераторов. Их можно реализовать двумя способами: как функцию с ключевым словом yield или как генераторное выражение. Главное отличие генератора от итератора заключается в том, что значения генерируются по требованию. Каждый раз, когда генератор достигает yield, он возвращает значение и «замирает», сохраняя своё состояние до следующего вызова. Это позволяет использовать меньше памяти при итерации по длинным последовательностям. Канонический пример — генератор, порождающий последовательность чисел Фибоначчи.
#программирование
#python
В Python генераторы и итераторы — это объекты, позволяющие работать с потенциально большими последовательностями данных без необходимости загружать всё в память одновременно. То есть и генераторы, и итераторы позволяют перебирать элементы коллекций.
🔹Итераторы реализуют методы __iter__() и __next__(). Метод __iter__() возвращает сам итератор, а __next__() — следующий элемент коллекции. Если элементы заканчиваются, __next__() должен вызвать исключение StopIteration.
🔹Генераторы представляют собой специальный способ реализации итераторов. Их можно реализовать двумя способами: как функцию с ключевым словом yield или как генераторное выражение. Главное отличие генератора от итератора заключается в том, что значения генерируются по требованию. Каждый раз, когда генератор достигает yield, он возвращает значение и «замирает», сохраняя своё состояние до следующего вызова. Это позволяет использовать меньше памяти при итерации по длинным последовательностям. Канонический пример — генератор, порождающий последовательность чисел Фибоначчи.
#программирование
#python
Какие типы слоёв есть в свёрточной нейронной сети?
🔹Слой свёртки
Именно в этом слое применяются фильтры, которые позволяют произвести операцию свёртки. Гиперпараметры здесь включают в себя размер фильтра и сдвиг (stride). Выходом данного слоя является карта признаков (feature map).
🔹Слой пулинга
Обычно применяется после свёрточного слоя. Пулинг позволяет выбрать из признаков, которые выделил свёрточный слой, самые важные. Обычно это делается с помощью двух методов: Max pooling и Average pooling. В первом случае карта признаков разбивается на небольшие блоки и из каждого берётся максимальное значение, а во втором случае — берётся среднее значение.
🔹Полносвязный слой
Этот слой обычно располагается в конце архитектуры свёрточной нейронной сети. Он принимает на вход представление всей входной информации в «развёрнутом» виде. В полносвязном слое каждый вход соединён со всеми выходами. Он вычисляет оценки классов на основе признаков, извлечённых предыдущими слоями.
#глубокое_обучение
🔹Слой свёртки
Именно в этом слое применяются фильтры, которые позволяют произвести операцию свёртки. Гиперпараметры здесь включают в себя размер фильтра и сдвиг (stride). Выходом данного слоя является карта признаков (feature map).
🔹Слой пулинга
Обычно применяется после свёрточного слоя. Пулинг позволяет выбрать из признаков, которые выделил свёрточный слой, самые важные. Обычно это делается с помощью двух методов: Max pooling и Average pooling. В первом случае карта признаков разбивается на небольшие блоки и из каждого берётся максимальное значение, а во втором случае — берётся среднее значение.
🔹Полносвязный слой
Этот слой обычно располагается в конце архитектуры свёрточной нейронной сети. Он принимает на вход представление всей входной информации в «развёрнутом» виде. В полносвязном слое каждый вход соединён со всеми выходами. Он вычисляет оценки классов на основе признаков, извлечённых предыдущими слоями.
#глубокое_обучение
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Что вы знаете про метод независимых компонент (ICA)?
Это техника для выявления скрытых факторов из многомерных данных. С математической точки зрения, мы делаем предположение, что данные были порождены n-размерным исходным вектором, элементы которого — случайные независимые величины, через невырожденную матрицу смешивания. Тогда цель — найти обратную матрицу. Это позволит преобразовать смешанные данные обратно в исходные, независимые компоненты.
Для поиска существует алгоритм ICA, предложенный Беллом и Седжновски. Применение ICA особенно актуально в областях, где важно выделить скрытые компоненты из смешанных сигналов, например, в анализе медицинских изображений, финансовых данных или аудиосигналов.
#машинное_обучение
Это техника для выявления скрытых факторов из многомерных данных. С математической точки зрения, мы делаем предположение, что данные были порождены n-размерным исходным вектором, элементы которого — случайные независимые величины, через невырожденную матрицу смешивания. Тогда цель — найти обратную матрицу. Это позволит преобразовать смешанные данные обратно в исходные, независимые компоненты.
Для поиска существует алгоритм ICA, предложенный Беллом и Седжновски. Применение ICA особенно актуально в областях, где важно выделить скрытые компоненты из смешанных сигналов, например, в анализе медицинских изображений, финансовых данных или аудиосигналов.
#машинное_обучение
Что происходит со средним, модой и медианой, когда распределение данных скошенное?
Распределение скошено вправо, если оно имеет «хвост» в правой части распределения. И напротив, распределение скошено влево, если оно имеет «хвост» в левой части. Это также называют правосторонней и левосторонней симметриями, соответственно.
Когда наблюдается правосторонняя асимметрия, среднее значение больше медианы, а она, в свою очередь, больше моды. В случае левосторонней асимметрии ситуация полностью противоположная: мода больше медианы, а медиана больше среднего значения.
#статистика
Распределение скошено вправо, если оно имеет «хвост» в правой части распределения. И напротив, распределение скошено влево, если оно имеет «хвост» в левой части. Это также называют правосторонней и левосторонней симметриями, соответственно.
Когда наблюдается правосторонняя асимметрия, среднее значение больше медианы, а она, в свою очередь, больше моды. В случае левосторонней асимметрии ситуация полностью противоположная: мода больше медианы, а медиана больше среднего значения.
#статистика
Что вы знаете про критерий Шовене?
Он позволяет найти выбросы в данных. Согласно критерию Шовене, значение p i-ое является выбросом, если выполнено неравенство, указанное на картинке выше.p с чертой — это среднее. А в знаменателе стоит отклонение. n — это объём выборки. Функция erfc является дополнением к функции ошибок (её вид, впрочем, неважен). С возрастанием аргумента, значение функции erfc стремится к нулю. То есть чем меньше значение функции, тем сильнее p i-ое отстоит от среднего значения, а значит является выбросом.
Фактически, использование критерия Шовене представляет собой итерационную процедуру, позволяющую найти все аномалии в данных за несколько шагов.
#машинное_обучение
Он позволяет найти выбросы в данных. Согласно критерию Шовене, значение p i-ое является выбросом, если выполнено неравенство, указанное на картинке выше.
Фактически, использование критерия Шовене представляет собой итерационную процедуру, позволяющую найти все аномалии в данных за несколько шагов.
#машинное_обучение
Почему мы не можем использовать линейную регрессию для задачи классификации?
Основная причина в том, что выход модели линейной регрессии — это непрерывные значения. А в задаче классификации нам нужно получать значения конкретных классов, то есть дискретные значения.
Это обстоятельство вынуждает нас использовать другую функцию потерь. Если в линейной регрессии обычно применяется среднеквадратичная ошибка, то для классификации предпочтительнее использовать например, кросс-энтропию.
Модификацией линейной регрессии под задачу классификации является логистическая регрессия, которая предсказывает логиты и способна давать выходные значения, ограниченные интервалом от 0 до 1. Таким образом, она предсказывает вероятности того, что конкретный объект принадлежит к какому-либо классу.
#машинное_обучение
Основная причина в том, что выход модели линейной регрессии — это непрерывные значения. А в задаче классификации нам нужно получать значения конкретных классов, то есть дискретные значения.
Это обстоятельство вынуждает нас использовать другую функцию потерь. Если в линейной регрессии обычно применяется среднеквадратичная ошибка, то для классификации предпочтительнее использовать например, кросс-энтропию.
Модификацией линейной регрессии под задачу классификации является логистическая регрессия, которая предсказывает логиты и способна давать выходные значения, ограниченные интервалом от 0 до 1. Таким образом, она предсказывает вероятности того, что конкретный объект принадлежит к какому-либо классу.
#машинное_обучение
Зачем нужно нормализация данных?
Цель нормализации — приведение различных данных, которые могут быть в самых разных единицах измерения и диапазонах значений, к единому виду. Это позволит сравнивать их между собой или использовать для расчёта схожести объектов.
Часто применяется MinMax нормализация, которая позволяет преобразовать исходный набор данных в диапазон [0, 1]. Чтобы вычислить новые значения, используем формулу: X_new = (X — X_min)/(X_max — X_min).
#машинное_обучение
Цель нормализации — приведение различных данных, которые могут быть в самых разных единицах измерения и диапазонах значений, к единому виду. Это позволит сравнивать их между собой или использовать для расчёта схожести объектов.
Часто применяется MinMax нормализация, которая позволяет преобразовать исходный набор данных в диапазон [0, 1]. Чтобы вычислить новые значения, используем формулу: X_new = (X — X_min)/(X_max — X_min).
#машинное_обучение
В каких темах вы ориентируетесь хуже всего?
Anonymous Poll
28%
Алгоритмы ML
50%
Нейросети
32%
Статистика
26%
Линейная алгебра
36%
Математический анализ
39%
Теория вероятностей
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
Что такое позиционное кодирование (Positional encoding) в архитектуре Transformer?
В общем случае Transformer обрабатывает входные последовательности токенов одновременно. Поэтому без дополнительной информации о позиции каждого токена сеть будет рассматривать вход как «мешок слов».
Для решения этой проблемы вводится позиционное кодирование. Ко входным эмбеддингам добавляются вектора, которые содержат информацию о позициях каждого токена в последовательности. Эти вектора могут быть предопределены аналитически с использованием функций, основанных на синусах и косинусах, или могут корректироваться вместе с другими параметрами модели в процессе обучения.
Эти позиционные векторы обеспечивают возможность отличать слова на разных позициях и улучшают способность модели к анализу последовательностей на основе контекста и порядка элементов.
#глубокое_обучение
В общем случае Transformer обрабатывает входные последовательности токенов одновременно. Поэтому без дополнительной информации о позиции каждого токена сеть будет рассматривать вход как «мешок слов».
Для решения этой проблемы вводится позиционное кодирование. Ко входным эмбеддингам добавляются вектора, которые содержат информацию о позициях каждого токена в последовательности. Эти вектора могут быть предопределены аналитически с использованием функций, основанных на синусах и косинусах, или могут корректироваться вместе с другими параметрами модели в процессе обучения.
Эти позиционные векторы обеспечивают возможность отличать слова на разных позициях и улучшают способность модели к анализу последовательностей на основе контекста и порядка элементов.
#глубокое_обучение
Чем интерпретируемость (Interpretability) отличается от объясняемости (Explainability) модели?
▫️Interpretability называют пассивную интерпретируемость устройства модели или её предсказания на объекте. Это значит, что сама модель никак не отвечает на вопросы касательно того, почему она «делает» те или иные выводы.
▫️Explainability в отличие от Interpretability представляет собой активную генерацию объяснений. Они идут как дополнительные выходные данные для объекта.
Помимо этого, есть такие термины как Comprehensibility и Understandability. Comprehensibility характеризует возможность модели представить выученные ею закономерности в виде понятного людям знания. Understandability же относится к тому, насколько понятно устроена модель, каковы её составные части и промежуточные результаты.
#машинное_обучение
▫️Interpretability называют пассивную интерпретируемость устройства модели или её предсказания на объекте. Это значит, что сама модель никак не отвечает на вопросы касательно того, почему она «делает» те или иные выводы.
▫️Explainability в отличие от Interpretability представляет собой активную генерацию объяснений. Они идут как дополнительные выходные данные для объекта.
Помимо этого, есть такие термины как Comprehensibility и Understandability. Comprehensibility характеризует возможность модели представить выученные ею закономерности в виде понятного людям знания. Understandability же относится к тому, насколько понятно устроена модель, каковы её составные части и промежуточные результаты.
#машинное_обучение
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Какие архитектуры свёрточных нейронных сетей вы знаете?
🔹LeNet
Одна из первых архитектур, предложенная Яном Лекуном в 1998 году для распознавания рукописных цифр.
🔹AlexNet
Победитель конкурса ImageNet 2012 года. Сеть значительно углубила и расширила возможности CNN, используя ReLU активации и dropout.
🔹VGGNet
Отличается простотой архитектуры, использует небольшие свёртки размера 3x3.
🔹GoogLeNet
В архитектуру ввели Inception module, который одновременно выполняет свёртки с размерами 1×1, 3×3 и 5×5. Эти операции выполняются параллельно для одного и того же входа, а их результаты объединяются, чтобы сформировать окончательный выход..
🔹ResNet
Использует residual blocks, что позволяет создавать сверхглубокие сети, избегая проблемы исчезающего градиента.
#глубокое_обучение
🔹LeNet
Одна из первых архитектур, предложенная Яном Лекуном в 1998 году для распознавания рукописных цифр.
🔹AlexNet
Победитель конкурса ImageNet 2012 года. Сеть значительно углубила и расширила возможности CNN, используя ReLU активации и dropout.
🔹VGGNet
Отличается простотой архитектуры, использует небольшие свёртки размера 3x3.
🔹GoogLeNet
В архитектуру ввели Inception module, который одновременно выполняет свёртки с размерами 1×1, 3×3 и 5×5. Эти операции выполняются параллельно для одного и того же входа, а их результаты объединяются, чтобы сформировать окончательный выход..
🔹ResNet
Использует residual blocks, что позволяет создавать сверхглубокие сети, избегая проблемы исчезающего градиента.
#глубокое_обучение
Что такое self-supervised learning?
Так называют процесс, при котором модель машинного обучения учится восстанавливать структуру данных на большом неразмеченном датасете для получения хороших промежуточных представлений. Модель использует внутренние связи и закономерности данных для создания задач, которые позволяют ей обучаться без необходимости в ручной разметке. Это особенно полезно для работы с big data, где разметка может быть трудоёмкой и дорогой.
Примеры задач в self-supervised learning включают предсказание скрытых частей данных, восстановление маскированных элементов в последовательностях, воссоздание правильного порядка последовательности перемешанных кусков одного изображения.
#машинное_обучение
Так называют процесс, при котором модель машинного обучения учится восстанавливать структуру данных на большом неразмеченном датасете для получения хороших промежуточных представлений. Модель использует внутренние связи и закономерности данных для создания задач, которые позволяют ей обучаться без необходимости в ручной разметке. Это особенно полезно для работы с big data, где разметка может быть трудоёмкой и дорогой.
Примеры задач в self-supervised learning включают предсказание скрытых частей данных, восстановление маскированных элементов в последовательностях, воссоздание правильного порядка последовательности перемешанных кусков одного изображения.
#машинное_обучение
Как можно справиться с проблемой холодного старта в рекомендательных системах?
Проблема холодного старта возникает, когда новая система не имеет достаточных данных о пользователях или предметах.
Например, мы научились делать предсказания для существующих пользователей и товаров. Тогда возникает два вопроса: — «Как рекомендовать товар, который ещё никто не видел?» и «Что рекомендовать пользователю, у которого ещё нет ни одной оценки?». Для решения этой проблемы стараются извлечь информацию из других источников. Это могут быть данные о пользователе из других сервисов, опросник при регистрации и т.д.
Кроме того, существуют задачи, для которых состояние холодного старта является постоянным. Так, в Session Based Recommenders нужно успеть понять что-то о пользователе за то время, что он находится на сайте. В рекомендательных системах новостей тоже постоянно появляются новые единицы контента, а предыдущие быстро устаревают.
#машинное_обучение
Проблема холодного старта возникает, когда новая система не имеет достаточных данных о пользователях или предметах.
Например, мы научились делать предсказания для существующих пользователей и товаров. Тогда возникает два вопроса: — «Как рекомендовать товар, который ещё никто не видел?» и «Что рекомендовать пользователю, у которого ещё нет ни одной оценки?». Для решения этой проблемы стараются извлечь информацию из других источников. Это могут быть данные о пользователе из других сервисов, опросник при регистрации и т.д.
Кроме того, существуют задачи, для которых состояние холодного старта является постоянным. Так, в Session Based Recommenders нужно успеть понять что-то о пользователе за то время, что он находится на сайте. В рекомендательных системах новостей тоже постоянно появляются новые единицы контента, а предыдущие быстро устаревают.
#машинное_обучение
Настройка каких гиперпараметров случайного леса может помочь избежать переобучения?
▪️Количество деревьев (n_estimators). Стоит понимать, что чем больше деревьев, тем лучше качество, однако время работы также пропорционально увеличивается. Часто при увеличении n_estimators качество на обучающей выборке может стать 100-процентным, что и свидетельствует о переобучении.
▪️Максимальная глубина дерева (max_depth). Чем меньше глубина, тем быстрее строится и работает случайный лес. При увеличении глубины возрастает риск переобучения.
▪️Минимальное количество образцов для разделения узла (min_samples_split). Увеличение значения уменьшает качество на обучающей выборке, что может помочь избежать переобучения.
▪️Минимальное количество образцов в листе (min_samples_leaf). Влияет так же, как min_samples_split.
▪️Максимальное количество признаков (max_features). Ограничение числа признаков, используемых при каждом разделении, уменьшает вероятность переобучения.
#машинное_обучение
▪️Количество деревьев (n_estimators). Стоит понимать, что чем больше деревьев, тем лучше качество, однако время работы также пропорционально увеличивается. Часто при увеличении n_estimators качество на обучающей выборке может стать 100-процентным, что и свидетельствует о переобучении.
▪️Максимальная глубина дерева (max_depth). Чем меньше глубина, тем быстрее строится и работает случайный лес. При увеличении глубины возрастает риск переобучения.
▪️Минимальное количество образцов для разделения узла (min_samples_split). Увеличение значения уменьшает качество на обучающей выборке, что может помочь избежать переобучения.
▪️Минимальное количество образцов в листе (min_samples_leaf). Влияет так же, как min_samples_split.
▪️Максимальное количество признаков (max_features). Ограничение числа признаков, используемых при каждом разделении, уменьшает вероятность переобучения.
#машинное_обучение
Оцените, насколько вам сложно отвечать на вопросы типа «Как бы вы разработали систему рекомендаций товаров/услуг» (1 — легко, 5 — я вообще не смогу ответить на такой вопрос)
Anonymous Poll
7%
1
9%
2
38%
3
19%
4
27%
5
Коротко объясните метод максимального правдоподобия
Этот метод используется для оценки параметров модели. Вот краткий алгоритм:
▫️Сначала мы предполагаем, что данные распределены согласно некоторому вероятностному закону с функцией вероятности, которая включает в себя параметры модели.
▫️Затем мы составляет функцию правдоподобия, которая показывает вероятность наблюдения данных при этих заданных параметрах.
▫️Наша задача — найти такие значения параметров, которые максимизируют функцию правдоподобия. Это означает, что выбираются такие параметры, при которых вероятность наблюдать данные наиболее высока.
#теория_вероятностей
#машинное_обучение
Этот метод используется для оценки параметров модели. Вот краткий алгоритм:
▫️Сначала мы предполагаем, что данные распределены согласно некоторому вероятностному закону с функцией вероятности, которая включает в себя параметры модели.
▫️Затем мы составляет функцию правдоподобия, которая показывает вероятность наблюдения данных при этих заданных параметрах.
▫️Наша задача — найти такие значения параметров, которые максимизируют функцию правдоподобия. Это означает, что выбираются такие параметры, при которых вероятность наблюдать данные наиболее высока.
#теория_вероятностей
#машинное_обучение