Telegram Web Link
🦾🧠🏋Качаем мозги к лету!

Хотите начать работать с большими данными, применять методы машинного обучения, статистический анализ, а также разрабатывать алгоритмы для извлечения информации?

Тогда наш полугодовой курс «Математика для Data Science» от преподавателей МГУ, подходит для этого. И мы можете попасть на него со скидкой 40%

➡️ Математика для Data Science 29 990 ₽ 17 994 ₽

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

У вас не будет шансов не усвоить какие-то темы курса👌

⭐️ Переходите и активируйте бесплатные вводные занятия курса https://proglib.io/w/68598efd
Please open Telegram to view this post
VIEW IN TELEGRAM
Что вы знаете про калибровку уверенности/вероятности?

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

Допустим, мы решаем задачу классификации с n классами. Модель выдаёт некоторые оценки принадлежности объектов к классам — уверенности. После этого каждый объект можно отнести к классу с максимальной оценкой. Возникает вопрос: какова вероятность, что ответ верный? Эту вероятность хотелось бы оценивать на этапе формирования ответа.

«Удобный» вариант сделать это — использовать предположение, что эта вероятность равна максимальной оценке алгоритма (уверенности). Если данное равенство выполняется с достаточной точностью, то можно сказать, что «классификатор хорошо откалиброван». Условия калибровки, в принципе, могут быть и другими. Например, можно хотеть, чтобы вообще все оценки соответствовали вероятностям.

Зачем нужна калибровка?

▫️Чтобы понимать, насколько результатам алгоритма можно доверять.
▫️Чтобы точнее решать задачи. Так, в языковых моделях при генерации текстов используются вероятности появления отдельных токенов.

#машинное_обучение
🤖🖼️ Как работают визуальные трансформеры: магия превращения пикселей в знания

Визуальные трансформеры (Vision Transformers, ViTs) — класс моделей глубокого обучения, которые достигли выдающихся результатов в задачах классификации изображений. В основе ViTs лежит архитектура трансформеров, изначально разработанная для обработки естественного языка.

В новой статье подробно рассказываем (с картинками), как работают такие модели компьютерного зрения.

🔗 Читать статью
🔗 Зеркало
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги

👉Подписаться👈
Как выбрать оптимальное число кластеров при кластеризации, например, методом k-средних (k-means)?

Один из самых известных эмпирических методов — метод локтя (Elbow Rule). Он предполагает вычисление суммы квадратов расстояний от точек до центра их кластеров для различного числа кластеров. График этой суммы по мере увеличения числа кластеров часто напоминает руку с локтем.

Алгоритм тут такой:
▫️Определяем разумный диапазон для числа возможных кластеров (например, от 1 до 10).
▫️Для каждого значения k запускаем алгоритм кластеризации и вычисляем сумму квадратов расстояний от каждой точки до центра её кластера.
▫️Наносим значения на график.
▫️Находим на графике точку, где изменение суммы квадратов расстояний начинает замедлятся — «локоть». Число кластеров в «локте» считается оптимальным.

#машинное_обучение
Что такое args, kwargs. В каких случаях они требуются?

В Python оператор * используется не только для умножения, но и для того, чтобы «распаковывать» объекты, внутри которых хранятся некие элементы. Именно эта его особенность применяется в случае с args и kwargs. Можно использовать другие имена, но это считается дурным тоном. args — это сокращение от arguments (аргументы), а kwargs — сокращение от keyword arguments (именованные аргументы).

Соответственно, мы используем *args, когда не уверены, сколько аргументов будет передано функции, или если хотим передать список или кортеж аргументов функции. А **kwargs мы используем, когда не знаем, сколько именованных аргументов будет передано функции. В последнем случае, в виду того, что речь идёт об именованных аргументах, применяется словарь, где ключ — имя параметра, значение — значение параметра.

#python
#программирование
Объясните, как интерпретировать диаграмму размаха, или ящик с усами

Диаграмма размаха, или ящик с усами, помогает визуализировать распределение данных и выявлять аномалии.

В середине графика располагается прямоугольник — он напоминает ящик, от которого расходятся «усы». Линия внутри этого прямоугольника — медиана значений (или второй квартиль). Верхняя, или правая граница прямоугольника — это третий квартиль, а нижняя, или левая граница — это первый квартиль.

Квартили делят упорядоченное множество данных на четыре равные части.

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

Чтобы рассчитать границы «усов», нужно межквартильный размах умножить на 1.5 и отложить получившееся значение вверх и вниз (или влево и вправо). Те точки данных, которые окажутся за пределами «усов» можно считать выбросами (аномалиями).

#статистика
Какие проблемы глубокого обучения вам известны?

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

▫️Распространён чисто инженерный подход к построению алгоритмов, многое основано на интуиции.
▫️Требует большого количества данных, которые может быть трудно собрать, хранить и обрабатывать.
▫️Для обучения моделей глубокого обучения необходимы значительные вычислительные ресурсы.
▫️Обучение может занимать много времени.
▫️Модели глубокого обучения сложно, практически невозможно интерпретировать.

#глубокое_обучение
Чем нейросеть отличается от бустинга над линейными моделями?

Если смотреть на эти два подхода под таким углом, то можно отметить одно основное различие.

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

#глубокое_обучение
#машинное_обучение
🅾️ Что такое «О» большое: объясняем на простых примерах

«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.

Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.

🔗 Читать статью
🔗 Зеркало
Что такое генераторы и итераторы в Python?

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

🔹Итераторы реализуют методы __iter__() и __next__(). Метод __iter__() возвращает сам итератор, а __next__() — следующий элемент коллекции. Если элементы заканчиваются, __next__() должен вызвать исключение StopIteration.

🔹Генераторы представляют собой специальный способ реализации итераторов. Их можно реализовать двумя способами: как функцию с ключевым словом yield или как генераторное выражение. Главное отличие генератора от итератора заключается в том, что значения генерируются по требованию. Каждый раз, когда генератор достигает yield, он возвращает значение и «замирает», сохраняя своё состояние до следующего вызова. Это позволяет использовать меньше памяти при итерации по длинным последовательностям. Канонический пример — генератор, порождающий последовательность чисел Фибоначчи.

#программирование
#python
Какие типы слоёв есть в свёрточной нейронной сети?

🔹Слой свёртки
Именно в этом слое применяются фильтры, которые позволяют произвести операцию свёртки. Гиперпараметры здесь включают в себя размер фильтра и сдвиг (stride). Выходом данного слоя является карта признаков (feature map).

🔹Слой пулинга
Обычно применяется после свёрточного слоя. Пулинг позволяет выбрать из признаков, которые выделил свёрточный слой, самые важные. Обычно это делается с помощью двух методов: Max pooling и Average pooling. В первом случае карта признаков разбивается на небольшие блоки и из каждого берётся максимальное значение, а во втором случае — берётся среднее значение.

🔹Полносвязный слой
Этот слой обычно располагается в конце архитектуры свёрточной нейронной сети. Он принимает на вход представление всей входной информации в «развёрнутом» виде. В полносвязном слое каждый вход соединён со всеми выходами. Он вычисляет оценки классов на основе признаков, извлечённых предыдущими слоями.

#глубокое_обучение
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Что вы знаете про метод независимых компонент (ICA)?

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

Для поиска существует алгоритм ICA, предложенный Беллом и Седжновски. Применение ICA особенно актуально в областях, где важно выделить скрытые компоненты из смешанных сигналов, например, в анализе медицинских изображений, финансовых данных или аудиосигналов.

#машинное_обучение
Что происходит со средним, модой и медианой, когда распределение данных скошенное?

Распределение скошено вправо, если оно имеет «хвост» в правой части распределения. И напротив, распределение скошено влево, если оно имеет «хвост» в левой части. Это также называют правосторонней и левосторонней симметриями, соответственно.

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

#статистика
Что вы знаете про критерий Шовене?

Он позволяет найти выбросы в данных. Согласно критерию Шовене, значение p i-ое является выбросом, если выполнено неравенство, указанное на картинке выше. p с чертой — это среднее. А в знаменателе стоит отклонение. n — это объём выборки. Функция erfc является дополнением к функции ошибок (её вид, впрочем, неважен). С возрастанием аргумента, значение функции erfc стремится к нулю. То есть чем меньше значение функции, тем сильнее p i-ое отстоит от среднего значения, а значит является выбросом.

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

#машинное_обучение
Почему мы не можем использовать линейную регрессию для задачи классификации?

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

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

Модификацией линейной регрессии под задачу классификации является логистическая регрессия, которая предсказывает логиты и способна давать выходные значения, ограниченные интервалом от 0 до 1. Таким образом, она предсказывает вероятности того, что конкретный объект принадлежит к какому-либо классу.

#машинное_обучение
Зачем нужно нормализация данных?

Цель нормализации — приведение различных данных, которые могут быть в самых разных единицах измерения и диапазонах значений, к единому виду. Это позволит сравнивать их между собой или использовать для расчёта схожести объектов.

Часто применяется MinMax нормализация, которая позволяет преобразовать исходный набор данных в диапазон [0, 1]. Чтобы вычислить новые значения, используем формулу: X_new = (X — X_min)/(X_max — X_min).

#машинное_обучение
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги

👉Подписаться👈
2024/09/29 22:19:18
Back to Top
HTML Embed Code: