Telegram Web Link
Опишите процесс предобработки видеоданных для их использования в ML-моделях

🔹Предобработка на уровне кадров

Этапы предобработки видеоданных на уровне отдельных кадров включают:
▪️Сэмплирование, то есть выборка ключевых кадров для сокращения объёма данных.
▪️Приведение всех кадров к одинаковому размеру.
▪️Масштабирование и нормализация, то есть корректировка значений пикселей. Чаще всего нормализация осуществляется для приведения значений к диапазону [0, 1] или [-1, 1].

🔹Видеоэнкодеры

▪️Обработка видео целиком — с помощью 3D-свёрточных сетей (3D-CNN) или трансформеров. Эти модели захватывают как пространственные, так и временные зависимости между кадрами. Такой метод более ресурсоёмкий, но позволяет модели лучше улавливать динамику видеоряда.
▪️Обработка отдельных кадров — каждый кадр обрабатывается отдельно для получения эмбеддингов, которые затем агрегируются (например, с помощью усреднения или рекуррентных сетей). Этот подход быстрее, но может потерять часть информации о временных зависимостях.

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

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

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

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

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

Начнём с того, что нужно определить типы вредоносного контента, которые мы хотим отслеживать: это могут быть хейтспич, угрозы насилия, кибербуллинг и др. Затем важно понять объём контента, который предстоит анализировать (например, сотни миллионов постов в день), и то, какие языки должны поддерживаться.

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

Одним из главных вызовов является разработка мультимодальной модели. Вредоносный контент может быть представлен в разных форматах: текст, изображения, видео, поэтому необходимо эффективно обрабатывать все эти типы данных. Для этого можно использовать методы раннего и позднего слияния данных: либо объединять данные разных типов сразу для единого предсказания, либо обрабатывать их независимо и затем объединять результаты. Для разработки могут использоваться нейронные сети, такие как модели на основе BERT для текстов и модели CLIP для изображений.

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

#машинное_обучение
👨‍🎓📈 Как выбрать специализацию и начать обучение Data Science

Рассказываем об этапах обучения, которые необходимо пройти новичку для начала карьеры в Data Science. Путь от выбора специализации до выработки практических навыков будет непростым.

Наш курс по математике для начала карьеры в Data Science:
🔵 Математика для Data Science
🔵 Основы программирования на Python

📎 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите логистическую регрессию

import numpy as np

class LogisticRegression:

def __init__(self, learning_rate=0.01, n_iters=1000):
self.learning_rate = learning_rate
self.n_iters = n_iters
self.weights = None
self.bias = None

def fit(self, X, y):
# initialize weights and bias to zeros
n_samples, n_features = X.shape
self.weights = np.zeros(n_features)
self.bias = 0

# gradient descent optimization
for i in range(self.n_iters):
# calculate predicted probabilities and cost
z = np.dot(X, self.weights) + self.bias
y_pred = self._sigmoid(z)
cost = (-1 / n_samples) * np.sum(y * np.log(y_pred) + (1 - y) * np.log(1 - y_pred))

# calculate gradients
dw = (1 / n_samples) * np.dot(X.T, (y_pred - y))
db = (1 / n_samples) * np.sum(y_pred - y)

# update weights and bias
self.weights -= self.learning_rate * dw
self.bias -= self.learning_rate * db

def predict(self, X):
# calculate predicted probabilities
z = np.dot(X, self.weights) + self.bias
y_pred = self._sigmoid(z)
# convert probabilities to binary predictions
return np.round(y_pred).astype(int)

def _sigmoid(self, z):
return 1 / (1 + np.exp(-z))


#python
#машинное_обучение
💻🔍💼 Кризис IT-рынка: как джуны и кадровый голод меняют правила игры

В условиях нехватки опытных специалистов и наплыва джунов, IT-компании вынуждены искать нестандартные подходы к найму. Рассмотрим основные тренды и стратегии адаптации рынка.

Читать статью

#почитать
🥷 Путь ML-самурая: от школьной математики до передового машинного обучения

В новой статье рассказываем, что именно нужно изучить, чтобы стать ML-специалистом. Начинаем с простого — базовой математики, — а заканчиваем многомерным анализом и нейросетями.

О том, как не потерять мотивацию в процессе обучения, тоже написали 🤝

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

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

👉Подписаться👈
Почему удаление высоко коррелированных признаков считается хорошей практикой?

Удаление высоко коррелированных признаков считается хорошей практикой по нескольким причинам:

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

▫️Снижение размерности
Каждый добавленный признак увеличивает размерность пространства признаков, что усложняет модель. Это может привести к проблеме, известной как «проклятие размерности» (curse of dimensionality). В пространствах высокой размерности расстояния между точками увеличиваются, и данные становятся более разреженными. Это затрудняет обучение модели, так как для правильного обобщения данных требуется больше наблюдений, чтобы покрыть все возможные комбинации признаков. Удаление коррелированных признаков помогает уменьшить размерность и улучшить работу модели.

▫️Улучшение интерпретируемости модели
Когда признаки высоко коррелированы, интерпретировать влияние каждого признака на итоговый результат модели становится сложно. Например, в линейных моделях трудно определить, какой из коррелированных признаков на самом деле влияет на результат, так как они могут взаимозависимо изменять коэффициенты друг друга.

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

Сэмплирование — это способ скорректировать обучающую выборку так, чтобы распределение классов стало сбалансированным.

Вот несколько методов сэмплирования:

▪️Случайное сэмплирование (Random Sampling)
Выборка осуществляется случайным образом без каких-либо условий. Здесь можно выделить два подтипа: сэмлирование с возвращением и без возвращения. В первом случае объекты могут быть выбраны несколько раз, во втором — каждый объект выбирается только один раз.

▪️ Стратифицированное сэмплирование (Stratified Sampling)
При этом методе данные разделяются на группы, и сэмплирование производится из каждой группы пропорционально её размеру.

#машинное_обучение
🎨 Как сделать генератор ASCII-графики на Python

Энтузиасты делают ASCII-ремейки «Звездных войн» и ролевые ASCII-игры. А мы напишем GUI-приложение для конвертации изображений в олдскульную ASCII-графику с помощью Python и библиотеки Pillow.

👉 Читать подробное руководство
У Алисы двое детей, по крайней мере один из которых девочка. Какова вероятность того, что оба ребёнка девочки?

Эту задачу можно решить двумя способами.

1️⃣ Через комбинации
Нам нужно рассмотреть все возможные комбинации двух детей Алисы при условии, что хотя бы один из них девочка. Предположим, что вероятность рождения мальчика или девочки равна 50%, и пол одного ребёнка не влияет на пол другого (независимые события).

Возможные комбинации двух детей:

1. Девочка (Д) и Девочка (Д)
2. Девочка (Д) и Мальчик (М)
3. Мальчик (М) и Девочка (Д)

Мы исключаем комбинацию, где оба ребёнка мальчики (М, М), поскольку известно, что хотя бы один ребёнок девочка. Тогда мы делим количество благоприятных исходов (один) на количество возможных исходов (три) и получаем ответ 1/3 (~0.33).

2️⃣ Через теорему Байеса
Пусть A — событие, что оба ребёнка Алисы являются девочками.
Пусть B — событие, что хотя бы один из детей Алисы — девочка.

Нам нужно найти условную вероятность P(A|B).

Шаг 1: Вычисление P(A)
Поскольку каждый ребёнок может быть девочкой (Д) или мальчиком (М) с равной вероятностью 0.5, то мы умножаем 0.5 на 0.5 и получаем 0.25.

Шаг 2: Вычисление P(B|A)
Это вероятность того, что хотя бы один ребёнок девочка при условии, что оба ребёнка девочки. Логичным образом эта вероятность равна единице.

Шаг 3: Вычисление P(B)
Вероятности каждой комбинации детей будут равны 0.25 (см. шаг 1). Тогда мы просто вычтем из единицы вероятность того, что оба ребёнка мальчики, то есть 1 — 0.25 = 0.75.

Шаг 4: Применение теоремы Байеса
Нам нужно P(B|A) умножить на P(A), то есть 1*0.25 = 0.25. Затем это число нужно разделить на P(B), то есть 0.25/0.75. Получаем те же 1/3 (~0.33).

#теория_вероятностей
👨‍💼 Молодая профессия: всё о бизнес-аналитике

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

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

👉 Читать статью
Что такое uplift моделирование?

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

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

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

#данные
🏢 Как компании превращают данные в деньги: обзор российских практик Data Science

Обсуждаем, куда податься с полученными навыками — как наука о данных используется в российских компаниях. Кейсы коммерческого использования Data Science на территории России в нашей статье: финансы и ритейл, наука и производство, информационные системы и индустрия развлечений.

Хотите приобрести навыки для выполнения этих кейсов, тогда забирайте курсы:
🔵 Математика для Data Science
🔵 Основы программирования на Python

👉Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое Backpropagation through time (BPTT)?

BPTT — это метод обучения рекуррентных нейронных сетей (RNN), который использует обратное распространение ошибки для корректировки весов. Для этого сеть разворачивается во времени, представляя последовательные временные шаги как копии нейронки. На каждом шаге вычисляется ошибка, которая затем передаётся назад через временные шаги для обновления весов.

В преимущества BPTT записывают более быстрое обучение по сравнению с другими методами оптимизации. К недостаткам относят сложности с локальными минимумами.

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

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
📊 Data Science и Big Data: сходства и различия

В нашей статье разложим по полочкам сходства и различия между специализациями Data Science и Big Data.

🌻 Что внутри?

▪️ Термины
▪️ Применение
▪️ Навыки
▪️ Карьерные перспективы

👉 Ссылка на Статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑‍💻 Какие вопросы задать интервьюеру на собеседовании?

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

▪️Что спросить о должностных обязанностях?
▪️Как узнать больше про используемые технологии?
▪️Что выяснить про будущих коллег?
▪️Какие вопросы задать про условия работы?

🔗 Список вопросов находится по этой ссылке
2025/02/22 12:56:14
Back to Top
HTML Embed Code: