Что же это за канал?
Думаю, что многие слышали про🅰️ 🔤 , явной отсылкой на который является название данного тгк. Из-за того, что он сейчас на хайпе, я решил организовать свой тгк, посвящённый хакатонам и 🔤 🔤
Начну с того,что я сам планирую стать🔤 🔤 engineer (так как там платят больше всего) , думаю, этот канал поможет определиться тебе в любви к 🔤 🔤
Тут будут публиковаться все новости, связанные с олимпиадами, хакатонами, Roadmap'ами для входа в ML
Думаю, что многие слышали про
Начну с того,что я сам планирую стать
Тут будут публиковаться все новости, связанные с олимпиадами, хакатонами, Roadmap'ами для входа в ML
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍5🔥5
Первый пост будет про основные термины в 🅰️ 🔤 , пишите какой контент ещё хотите
🅰️ 🔤 — обширная область компьютерных наук, занимающаяся созданием систем, способных выполнять задачи, обычно требующие человеческого интеллекта.
🔤 achine 🔤 earning — метод, при котором компьютер учится на данных, находя закономерности, а не следуя жестким правилам.
🔤 eep 🔤 earning — подраздел ML, использующий многослойные нейронные сети для решения особенно сложных задач, например, распознавания лиц или понимания естественного языка.
🅰️ 🔤 🔤 (Сильный ИИ) — гипотетический ИИ, который мог бы выполнять любые интеллектуальные задачи наравне с человеком. На сегодняшний день AGI не создан.
Основные компоненты машинного обучения:
Нейронная сеть — вычислительная система, вдохновленная структурой биологического мозга и состоящая из множества соединенных между собой искусственных нейронов.
Модель — результат процесса обучения: математическая формула или компьютерная программа, способная делать предсказания или принимать решения на основе входных данных.
Функция потерь — метрика, которая оценивает, насколько сильно предсказания модели отличаются от правильных ответов. Цель обучения — минимизировать эту функцию.
Градиентный спуск — итеративный алгоритм оптимизации, который постепенно подбирает параметры модели для минимизации функции потерь.
Основные компоненты машинного обучения:
Нейронная сеть — вычислительная система, вдохновленная структурой биологического мозга и состоящая из множества соединенных между собой искусственных нейронов.
Модель — результат процесса обучения: математическая формула или компьютерная программа, способная делать предсказания или принимать решения на основе входных данных.
Функция потерь — метрика, которая оценивает, насколько сильно предсказания модели отличаются от правильных ответов. Цель обучения — минимизировать эту функцию.
Градиентный спуск — итеративный алгоритм оптимизации, который постепенно подбирает параметры модели для минимизации функции потерь.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍6🔥6
Поскольку канал только начинает свой путь, было бы очень кстати, если бы вы написали что конкретно вы хотите в комментариях под данным постом:)
❤15❤🔥6👍6
Специализированные направления
🔤 🔤 🔤 (Обработка естественного языка) — область ИИ, позволяющая компьютерам понимать, интерпретировать и генерировать человеческую речь и текст.
🔤 🔤 (Компьютерное зрение) — направление, которое учит машины «видеть» и понимать визуальную информацию: фотографии, видео, изображения.
🔤 🔤 (Обучение с подкреплением) — метод, при котором агент учится принимать решения, взаимодействуя со средой и получая «вознаграждение» за правильные действия.
Генеративный🅰️ 🔤 — класс моделей, способных создавать новый контент: текст, изображения, музыку, видео. Самые известные примеры — модели GPT и Claude
Современные архитектуры и модели
🔤 🔤 🔤 (Большая языковая модель) — модель огромного размера, обученная на колоссальных объемах текстовых данных для понимания и генерации естественного языка.
Трансформер — революционная архитектура нейронных сетей, лежащая в основе большинства современных LLM. Ключевая особенность — механизм внимания .
🔤 🅰️ 🔤 (Retrieval-Augmented Generation) — техника, повышающая точность ответов LLM путем поиска релевантной информации в базе знаний перед генерацией ответа.
🔤 🔤 🔤 (Сверточная нейронная сеть) — архитектура, особенно эффективная для обработки изображений и распознавания образов.
🔤 🔤 🔤 /🔤 🔤 🔤 🔤 (Рекуррентные сети/Длинная краткосрочная память) — типы нейронных сетей, оптимизированные для работы с последовательными данными, такими как текст, речь или временные ряды.
Технологическая инфраструктура
🔤 🔤 🔤 /🔤 🔤 🔤 — специализированные процессоры, необходимые для ускорения вычислений при обучении и работе тяжелых нейросетей.
🅰️ 🔤 🔤 (Интерфейс программирования приложений) — способ, с помощью которого различные программы, включая ИИ-сервисы, могут взаимодействовать друг с другом.
🔤 🔤 🔤 🔤 🔤 (ML Operations) — практика автоматизации и управления жизненным циклом моделей машинного обучения: от разработки до эксплуатации.
🔤 🔤 🔤 (Extract, Transform, Load) — классический процесс подготовки данных: извлечение из источников, преобразование в нужный формат и загрузка в хранилище.
Завтра выйдет пост про то, для кого направление ИИ,а пока держите вторую часть вчерашнего поста поста❤️
Генеративный
Современные архитектуры и модели
Трансформер — революционная архитектура нейронных сетей, лежащая в основе большинства современных LLM. Ключевая особенность — механизм внимания .
Технологическая инфраструктура
Завтра выйдет пост про то, для кого направление ИИ,а пока держите вторую часть вчерашнего поста поста
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥6❤🔥4👍1
Кто такой Machine Learning инженер?
ML-инженер — это специалист, который проектирует и внедряет системы, способные самостоятельно находить закономерности в данных.
📚 Что нужно знать и зачем?
🔤 🔤 🔤 🔤 🔤 🔤
🔤 🔤 🔤 🔤 🔤 🔤 🔤
Зачем: Для представления данных и операций над ними.
Пример: Любой входной объект (картинка, текст, звук) преобразуется в вектор чисел. Обучение нейросети — это по сути гигантская серия перемножений матриц. Понимание линала нужно, чтобы эффективно менять размерность данных и оптимизировать вычисления.
🔤 🔤 🔤 🔤
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
Зачем: Для настройки алгоритмов оптимизации.
Пример: Вычисление частных производных функции ошибки. Это позволяет алгоритму градиентного спуска корректировать веса нейросети, минимизируя расхождение между прогнозом и реальностью.
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
🔤 🔤 🔤 🔤 🔤 🔤
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
Зачем: Для оценки значимости признаков и валидации модели.
Пример: Вычисление корреляции между признаками. Если данные (например, цвет кнопки) статистически не влияют на результат (покупку), инженер исключает их, чтобы не перегружать модель.
🔤 🔤 🔤 🔤 🔤
🐍 Python — написание скриптов для автоматизации конвейеров данных и интеграция моделей в сервисы.
🗄SQL — извлечение выборок данных из хранилищ с помощью запросов (SELECT, JOIN, GROUP BY).
🔤 🔤 🔤 🔤 🔤 🔤
🔤 🔤 🔤 🔤 🔤 🔤 🔤
NumPy— векторизация вычислений. Перевод данных в многомерные массивы, что ускоряет расчеты в десятки раз.
Pandas — предобработка данных. Заполнение пропусков, кодирование признаков и фильтрация таблиц.
Scikit-learn — обучение классических алгоритмов (случайные леса, регрессии) для работы с таблицами.
PyTorch — разработка архитектур нейросетей. Позволяет использовать GPU для ускорения обучения на миллионах параметров.
🔤 🔤 🔤 🔤 🔤
1. Перевод с «математического» на «бизнес»: объяснять работу алгоритмов на языке выгоды и рисков.
2. Управление ожиданиями: вовремя сказать, где нейросеть не поможет и почему данных недостаточно.
3. Бизнес-ориентированность: понимать, как твоя модель увеличит прибыль или сэкономит время компании.
4. Гибкость (MVP-подход): уметь быстро собрать простое решение вместо того, чтобы месяцами полировать идеальную, но ненужную модель.
🔤 🔤 🔤 🔤 🔤
ML-инженер — это связующее звено между математикой, прогой и бизнесом.
Послезавтра будет пост про то , как готовится к олимпиадам по ИИ
ML-инженер — это специалист, который проектирует и внедряет системы, способные самостоятельно находить закономерности в данных.
📚 Что нужно знать и зачем?
Зачем: Для представления данных и операций над ними.
Пример: Любой входной объект (картинка, текст, звук) преобразуется в вектор чисел. Обучение нейросети — это по сути гигантская серия перемножений матриц. Понимание линала нужно, чтобы эффективно менять размерность данных и оптимизировать вычисления.
Зачем: Для настройки алгоритмов оптимизации.
Пример: Вычисление частных производных функции ошибки. Это позволяет алгоритму градиентного спуска корректировать веса нейросети, минимизируя расхождение между прогнозом и реальностью.
Зачем: Для оценки значимости признаков и валидации модели.
Пример: Вычисление корреляции между признаками. Если данные (например, цвет кнопки) статистически не влияют на результат (покупку), инженер исключает их, чтобы не перегружать модель.
🐍 Python — написание скриптов для автоматизации конвейеров данных и интеграция моделей в сервисы.
🗄SQL — извлечение выборок данных из хранилищ с помощью запросов (SELECT, JOIN, GROUP BY).
NumPy— векторизация вычислений. Перевод данных в многомерные массивы, что ускоряет расчеты в десятки раз.
Pandas — предобработка данных. Заполнение пропусков, кодирование признаков и фильтрация таблиц.
Scikit-learn — обучение классических алгоритмов (случайные леса, регрессии) для работы с таблицами.
PyTorch — разработка архитектур нейросетей. Позволяет использовать GPU для ускорения обучения на миллионах параметров.
1. Перевод с «математического» на «бизнес»: объяснять работу алгоритмов на языке выгоды и рисков.
2. Управление ожиданиями: вовремя сказать, где нейросеть не поможет и почему данных недостаточно.
3. Бизнес-ориентированность: понимать, как твоя модель увеличит прибыль или сэкономит время компании.
4. Гибкость (MVP-подход): уметь быстро собрать простое решение вместо того, чтобы месяцами полировать идеальную, но ненужную модель.
ML-инженер — это связующее звено между математикой, прогой и бизнесом.
Послезавтра будет пост про то , как готовится к олимпиадам по ИИ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥4❤🔥1
ТГ-канал ВсОШ
Архив презентаций со сборов ЦУ
Презентация по подготовке к Региону
Курс от Т-Банка
Сборы Сириуса к финалу
https://github.com/Nina-Konovalova/Sirius_2026
https://github.com/Atmyre/VSOSH_Sirius_DL
https://stepik.org/course/274550/promo
Шпаргалки по пандасу,нампаю,матполибу
Курсы от мфти
Курс по статистики от Карпова
(известный аналитик и преподаватель)
Слова нашего редактора
(пипа всоша по
Как показывает практика этого года,
от участника Всероса хотят всё и сразу.
Нужно уметь:
Немного в олмат и Вышмат, уметь кодить и млить,а так же уметь замечать
Через два месяца планируем скинуть лонгриды по вышмату от ЦУ(они хорошие и приятно читаются)
Следующий пост будет про градиентный спуск
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
ВСОШ ИИ
Ключевая информация о новом профиле Искусственный интеллект в рамках Всероссийской олимпиады школьников (ВСОШ) по информатике от Центральной предметно-методической комиссии (ЦПМК).
Сайт: vserosolimp.edsoo.ru
Сайт: vserosolimp.edsoo.ru
👍9❤6🔥6❤🔥1
🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
1. Что такое
MSE — это функция способная измерить, насколько сильно ошиблась модель.
MSE = (1/n) * Σ (y_i - ŷ_i)²
y_i — реальное значение
ŷ_i — предсказание модели
n — количество объектов
Зачем возводить в квадрат?
Чтобы ошибка всегда была положительной (иначе, допустим разность в формуле равна 100 и -100, модель даст нам ноль, хотя модель ошиблась сильно).
Чтобы «наказывать» модель за большие промахи гораздо сильнее, чем за маленькие(аналог это функция MAE с модулем вместо квадрата,она наказывает меньше)
2.
Перейдем ко второму семестру матана(Но нам достаточно знать, что такое производная и как она вычисляется)
Градиентный спуск — это алгоритм, который минимизирует ошибки модели,это движение в обратную сторону (вниз), туда, где ошибка
3. Как это помогает в предсказании? (На примере дома)
Допустим, ты предсказываешь цену дома
его стоимость
1) Площади (прямая зависимость: увеличение площади ведет к росту стоимости).
2) Удаленность от станции метро (сокращение расстояния повышает цену).
3) Номер этажа (первый этаж, как правило, имеют меньшую стоимость).
Модель трансформирует эти данные в уравнение:
Цена = W1*x1 + W2*x2 + W3*x3 + B
Формула в общем виде
ŷ = Σ (Wj * xj) + B
Здесь W1, W2, W3 представляют собой «веса», отражающие значимость каждого признака(допустим площадь будет иметь большую значимость,чем этаж,зачастую). Изначально компьютер присваивает им значения случайным образом.
B(bias) — это свободный коэффициент, который в машинном обучении называют смещением.
Это базовое значение, которое модель выдает. В примере с домом может означать стоимость самого участка. Даже если на нем стоит дом площадью 0 м².
4.
Сам градиент состоит из частных производных(это обычная производная только, где одна независимая переменная, а другие независимые переменные становятся параметрами)
вот пример
f(x,y)=x^2+3y
∂f/∂x=2x
∂f/∂y=3
градиент равен=(2х,3)
Вот так выглядит j элемент в градиенте — это частная производная по Wj в функции MSE
∂MSE/∂Wj = -(2/n) * Σ xij * (y_i - ŷ_i)
в xij
i — номер объекта
j — номер признака
для примера возьмем по w1
∂MSE/∂W1 = -(2/n) * Σ x_{i1} * (y_i - ŷ_i)вот так выглядит градиент:
∇MSE =(∂MSE/∂W1,∂MSE/∂W2,...,∂MSE/∂B )
Интуитивно:
* если частная производная > 0 → ошибка растёт
* если частная производная < 0 → ошибка падает
5. Формула обновления весов:
Wj = Wj - α * ∂MSE/∂Wj
B = B - α * ∂MSE/∂B
Wj — это веса модели
𝛼 — шаг обучения (learning rate)
мы сами его выбираем обычно 0.001 и менше
Очевидно, если ∇MSE ищет максимум,
то
Как это работает:
Маленький шаг → долго, но стабильно, однако может недопргынуть (это в следующем посте)
Большой шаг → быстро, но может перепрыгнуть минимум (это тоже в следующем посте)
Алгоритм Градиентного спуска одновременно вычисляет вектор корректировки для каждого веса:
Векторное представление:
ŷ = W^T x + B
W_new= W_old - α * ∇MSE
В самом вверху есть гифка, в которой на всей функции ошибок вычисляется минимум с помощью градиентого спуска.
В следующем посте разберём пример применения градиентного спуска и его проблемы.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍4🔥4❤🔥1
latex_version.pdf
186.9 KB
Допустим, у нас есть 3 дома с такими данными:
Дом
1 50 м² 3 5 млн ₽
2 80 м² 7 8 млн ₽
3 30 м² 1 3 млн ₽
Цена=W1*x1+W2*x2+B
⚖️Начальные
W1=0
W2=0
B=0
Случай
Считаем предсказания ŷ:
ŷ1=0*50+0*3+0=0
ŷ2=0
ŷ3=0
Считаем ошибки (y - ŷ):
Дом 1=5000000-0=5000000
Дом 2=8000000
Дом 3=3000000
Считаем
MSE =(1/3)*(5000000²+8000000²+3000000²)=32666666666667
Считаем градиенты:
∂MSE/∂W1=-(2/n)*Σx_{i1}*(y_i - ŷ_i)
= -(2/3)*(50*5000000+80*8000000+30*3000000)=-653333333∂MSE/∂W2=-49333333
∂MSE/∂B =-10666667
⚖️Обновляем веса:
W1 =0-0.000001*(-653333333)=0+653.3≈653
W2≈49
B≈11
Считаем предсказания:
ŷ1 =653*50+49*3+11 =32650+147+11 =32 808
ŷ2 =52 594
ŷ3 =19 650
MSE =(1/3)*((5000000-32808)²+(8000000-52594)²+(3000000-19650)²)
MSE ≈32 600 000 000 000
Ошибка уменьшилась... но совсем чуть-чуть
Через 1-1000 итераций:
Итерация 1: MSE ≈32 666 000 000 000
Итерация 100:MSE ≈28 000 000 000 000
Итерация 500: MSE ≈15 000 000 000 000
Итерация 1000: MSE ≈8 000 000 000 000
1.
Нужны десятки тысяч итераций,чтобы прийти к нормальным весам⚖️
Визуализация:
Ошибка
│
│ *
│ *
│ *
│ *
│ *
│ *
│ *
│ *
└────────────────────────────── итерации
Каждый шаг крошечный
2.
Проблема маленького α — «застревание»
Представь функцию ошибок с двумя ямами:
Визуализация:
Ошибка
│
│ * *
│ * * * *
│ * * * *
│ * * * * *
│ ^^^ *
│ локальный *
│ минимум * * *
│ ^^^
│ глобальный
│ минимум
└───────────────────────────── итерации
При маленьком шаге
🐇Случай
α =0.1
те же
∂MSE/∂W1 =-653 333 333
∂MSE/∂W2 =-49 333 333
∂MSE/∂B =-10 666 667
⚖️Обновляем веса:
W1 =0-0.1*(-653333333)=65333333
W2 =+4933333
B =+1066667
Считаем предсказания:
ŷ1 = 65333333*50+4933333*3+1066667≈3282533316
Считаем новую ошибку:
y1 - ŷ1 =5000000-3282533316≈-3277533316
Теперь
Что происходит по итерациям:
Итерация 1: MSE≈32666000000000(старт)
Итерация 2: MSE≈890000000000000(перелетели)
Итерация 3: MSE≈24000000000000000(ещё дальше)
Итерация 4: MSE→ ∞(расходится)
Ошибка
│
│
│
│ * *
│ * *
│ *
│ минимум
└──────────────────────── итерации
прыгает туда-сюда через минимум
и улетает всё дальше🐦⬛️
Случай
Итерация 1: MSE≈32666000000000
Итерация 50: MSE≈9000000000000
Итерация 800: MSE≈2000000000
Финальные веса:
W1≈95 000 (95 тыс. ₽ за каждый м²)
W2≈12 000 (12 тыс. ₽ за каждый этаж)
B≈450 000 (базовая стоимость участка)
Проверяем:
Дом 1=95000*50+12000*3+450000=5 236 000 ₽
Реальная цена=5 000 000 ₽ ✅
Дом 2=8 134 000 ₽
Реальная цена: 8 000 000 ₽ ✅
Дом 3=3 312 000 ₽
Реальная цена:3 000 000 ₽ ✅
Визуализация:
Ошибка
│
│ *
│ *
│ **
│ **
│ ***
└────────────● итерации
минимум
Плавно и уверенно спускаемся вниз
Итог:
Маленький lr → медленно и можно застрять
Нормальный lr → быстро и точно
Большой lr → перепрыгивает и расходится
От lr зависит обучения модели
В самом вверху есть LaTeX версия
Большое количество гифок про разный lr:
https://drive.google.com/drive/folders/12b1qNzm7q7XhZdPle0Dkm2pTeL71KfzI?usp=sharing
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤11🔥4👍2👻1
latex__version.pdf
94.2 KB
Виды задач 🔤 🔤 🔤 🔤 🔤 🔤 🔤
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
Задачи делятся на Обучение с учителем (Регрессия Классификация), Классификация, Кластеризация, Ансамбли моделей.
1. Обучение с учителем👨🏫
Здесь у нас есть данные X и правильные ответы y.
Модель смотрит на примеры и пытается вывести правило, которое переводит X в y.
Обычно тут две основные задачи:
1)⬇️ Регрессия
Предсказываем число: цену квартиры, температуру, спрос, выручку.
🔹 Линейная регрессия
Пытается провести оптимальную гиперплоскость через данные так, чтобы минимизировать ошибку, чаще всего MSE.
🔹 Ridge / Lasso
Это линейная регрессия, но с регуляризацией — штрафом за слишком большие веса.
- Ridge (L2) сжимает веса
- Lasso (L1) может вообще занулять ненужные признаки
Идея простая: не дать модели переобучиться и заставить ее опираться не на шум, а на реальные закономерности.
🔹 kNN
На этапе обучения почти ничего не делает.
Во время прогноза просто ищет K ближайших соседей в пространстве признаков и усредняет их ответы.
2) Классификация👍 👎
Предсказываем категорию: спам/не спам, ушел клиент/не ушел, мошенничество/норма.
🔹 Логистическая регрессия
Строит линейную границу, но пропускает результат через сигмоиду, чтобы получить вероятность класса от 0 до 1.
🔹 SVM
Ищет такую разделяющую плоскость, чтобы зазор между классами был максимальным.
Чем шире этот зазор, тем устойчивее модель к новым данным.
🔹 Наивный Байес
Опирается на теорему Байеса.
Считает, насколько вероятен класс при данных признаках, предполагая, что признаки независимы друг от друга.
🔹 kNN
Тот же принцип ближайших соседей, только теперь соседи не усредняются, а голосуют за класс.
2.🧩 Обучение без учителя
Здесь правильных ответов y нет.
Есть только сырые данные, и модель должна сама найти в них структуру.
🫂 Кластеризация
Нужно разбить объекты на группы так, чтобы внутри группы они были похожи, а между группами — различались.
🔹 K-Means
Мы заранее задаем число кластеров K.
Алгоритм:
1. ставит K случайных центров
2. относит каждую точку к ближайшему центру
3. сдвигает центр в середину своего кластера
И так до тех пор, пока центры не перестанут меняться.
🔹 DBSCAN
Ищет кластеры не по центру, а по плотности.
Если точки лежат густо, алгоритм объединяет их в кластер.
Если точка лежит далеко от плотных областей, она считается шумом.
Это удобно, когда кластеры имеют сложную форму и когда важно выделять выбросы.
📉 Снижение размерности
Иногда признаков слишком много: часть из них шумит, часть дублирует друг друга.
Тогда данные хочется сжать, сохранив главное.
🔹 PCA
Метод главных компонент линейно проецирует данные в пространство меньшей размерности так, чтобы сохранить максимальную дисперсию.
Грубо говоря, он ищет направления, вдоль которых данные различаются сильнее всего, и выбрасывает менее полезные.
🚨 Поиск аномалий
Иногда нас интересуют не типичные объекты, а наоборот — редкие и странные.
🔹 Isolation Forest
Строит случайные деревья и пытается «изолировать» точки.
Обычные объекты похожи друг на друга, поэтому для их изоляции нужно много шагов.
Аномалии сильно отличаются от остальных и отделяются очень быстро.
3.🌳 Ансамбли моделей
Важно понимать: ансамбль — это не отдельный тип задачи, а способ усилить модель.
Одиночные модели, особенно деревья, могут быть нестабильными.
Если объединить много моделей вместе, качество обычно становится выше.
🎒 Bagging
Обучаем много моделей параллельно на случайных подвыборках данных.
Потом усредняем или голосуем.
👑 Random Forest
Это ансамбль решающих деревьев.
Каждое дерево по отдельности может переобучиться и дать шумный ответ.
Но если взять сотни деревьев и усреднить результат, ошибка заметно снижается.
Именно поэтому случайный лес работает стабильно и часто дает сильный базовый результат.
🚀 Boosting
Здесь модели обучаются последовательно.
Первое дерево делает грубый прогноз.
Потом мы смотрим, где оно ошиблось.
Следующее дерево учится исправлять именно эти ошибки.
Потом следующее исправляет ошибки предыдущих и так шаг за шагом.
Главные модели:
- XGBoost
- LightGBM
- CatBoost
Задачи делятся на Обучение с учителем (Регрессия Классификация), Классификация, Кластеризация, Ансамбли моделей.
1. Обучение с учителем
Здесь у нас есть данные X и правильные ответы y.
Модель смотрит на примеры и пытается вывести правило, которое переводит X в y.
Обычно тут две основные задачи:
1)
Предсказываем число: цену квартиры, температуру, спрос, выручку.
🔹 Линейная регрессия
Пытается провести оптимальную гиперплоскость через данные так, чтобы минимизировать ошибку, чаще всего MSE.
🔹 Ridge / Lasso
Это линейная регрессия, но с регуляризацией — штрафом за слишком большие веса.
- Ridge (L2) сжимает веса
- Lasso (L1) может вообще занулять ненужные признаки
Идея простая: не дать модели переобучиться и заставить ее опираться не на шум, а на реальные закономерности.
🔹 kNN
На этапе обучения почти ничего не делает.
Во время прогноза просто ищет K ближайших соседей в пространстве признаков и усредняет их ответы.
2) Классификация
Предсказываем категорию: спам/не спам, ушел клиент/не ушел, мошенничество/норма.
🔹 Логистическая регрессия
Строит линейную границу, но пропускает результат через сигмоиду, чтобы получить вероятность класса от 0 до 1.
🔹 SVM
Ищет такую разделяющую плоскость, чтобы зазор между классами был максимальным.
Чем шире этот зазор, тем устойчивее модель к новым данным.
🔹 Наивный Байес
Опирается на теорему Байеса.
Считает, насколько вероятен класс при данных признаках, предполагая, что признаки независимы друг от друга.
🔹 kNN
Тот же принцип ближайших соседей, только теперь соседи не усредняются, а голосуют за класс.
2.
Здесь правильных ответов y нет.
Есть только сырые данные, и модель должна сама найти в них структуру.
Нужно разбить объекты на группы так, чтобы внутри группы они были похожи, а между группами — различались.
🔹 K-Means
Мы заранее задаем число кластеров K.
Алгоритм:
1. ставит K случайных центров
2. относит каждую точку к ближайшему центру
3. сдвигает центр в середину своего кластера
И так до тех пор, пока центры не перестанут меняться.
🔹 DBSCAN
Ищет кластеры не по центру, а по плотности.
Если точки лежат густо, алгоритм объединяет их в кластер.
Если точка лежит далеко от плотных областей, она считается шумом.
Это удобно, когда кластеры имеют сложную форму и когда важно выделять выбросы.
Иногда признаков слишком много: часть из них шумит, часть дублирует друг друга.
Тогда данные хочется сжать, сохранив главное.
🔹 PCA
Метод главных компонент линейно проецирует данные в пространство меньшей размерности так, чтобы сохранить максимальную дисперсию.
Грубо говоря, он ищет направления, вдоль которых данные различаются сильнее всего, и выбрасывает менее полезные.
Иногда нас интересуют не типичные объекты, а наоборот — редкие и странные.
🔹 Isolation Forest
Строит случайные деревья и пытается «изолировать» точки.
Обычные объекты похожи друг на друга, поэтому для их изоляции нужно много шагов.
Аномалии сильно отличаются от остальных и отделяются очень быстро.
3.
Важно понимать: ансамбль — это не отдельный тип задачи, а способ усилить модель.
Одиночные модели, особенно деревья, могут быть нестабильными.
Если объединить много моделей вместе, качество обычно становится выше.
🎒 Bagging
Обучаем много моделей параллельно на случайных подвыборках данных.
Потом усредняем или голосуем.
Это ансамбль решающих деревьев.
Каждое дерево по отдельности может переобучиться и дать шумный ответ.
Но если взять сотни деревьев и усреднить результат, ошибка заметно снижается.
Именно поэтому случайный лес работает стабильно и часто дает сильный базовый результат.
Здесь модели обучаются последовательно.
Первое дерево делает грубый прогноз.
Потом мы смотрим, где оно ошиблось.
Следующее дерево учится исправлять именно эти ошибки.
Потом следующее исправляет ошибки предыдущих и так шаг за шагом.
Главные модели:
- XGBoost
- LightGBM
- CatBoost
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍4🔥3
latex.pdf
202.9 KB
Нет «лучшей» метрики — есть подходящая под задачу.
Предсказали 1 Предсказали 0
Реально 1 TP FN
Реально 0 FP TN
- TP — правильно нашли положительный класс
- TN — правильно нашли отрицательный
- FP — ложная тревога
- FN — пропуск
Accuracy = (TP + TN) / (TP + TN + FP + FN)
Интерпретация:
Доля правильных ответов.
Precision = TP / (TP + FP)
Интерпретация:
Когда модель говорит «1» — насколько ей можно доверять?
(бан нормального пользователя).
Recall = TP / (TP + FN)
Интерпретация:
Какую долю реальных положительных объектов мы нашли?
(болезнь).
F1 = 2 × (Precision × Recall) / (Precision + Recall) = 2*TP / (2*TP + FP + FN)
Интерпретация:
Баланс между Precision и Recall.
Если одна из метрик низкая — F1 тоже падает.
TPR = TP / (TP + FN)
FPR = FP / (FP + TN)
ROC-кривая строится по TPR и FPR.
AUC — площадь под кривой.
Глубокая интерпретация:
Это вероятность того, что случайный положительный объект получит больший скор(score — это числовая оценка модели для объекта (например, вероятность мошенничества 0.82)), чем случайный отрицательный.
LogLoss = -mean( y·log(p) + (1-y)·log(1-p) ) = -(1/N) * Σ [ y_i*log(p_i) + (1-y_i)*log(1-p_i) ]
где:
- y — реальный класс (0 или 1)
- p — предсказанная вероятность
Интерпретация:
Оценивает качество вероятностей.
Сильно штрафует за уверенные ошибки.
Чем меньше — тем лучше калибрирована модель.
MCC = (TP·TN − FP·FN) /
√((TP+FP)(TP+FN)(TN+FP)(TN+FN))
Интерпретация:
Корреляция между предсказанием и реальностью.
От -1 до 1.
Хорошо работает при сильном дисбалансе.
y — реальное значение
ŷ — предсказание
MAE = (1/N) * Σ |y_i - ŷ_i|
Интерпретация:
Средняя ошибка в тех же единицах.
MAE = 3000 → в среднем ошибаемся на 3000 рублей.
MSE = (1/N) * Σ (y_i - ŷ_i)^2
Интерпретация:
Сильно штрафует большие ошибки.
Если модель «промахивается» очень сильно — MSE резко растёт.
RMSE = √MSE = sqrt((1/N) * Σ (y_i - ŷ_i)^2)
Интерпретация:
Показывает средний размер ошибки в тех же единицах, что и целевая переменная
Если RMSE существенно больше MAE → вероятно присутствуют крупные ошибки (выбросы).
R² = 1 - [ Σ (y_i - ŷ_i)^2 / Σ (y_i - ȳ)^2 ]
Интерпретация:
R² = 0.8 →
модель объясняет 80% вариации данных.
0 → не лучше среднего
< 0 → хуже среднего
MAPE = (100%/N) * Σ |(y_i - ŷ_i) / y_i|
Интерпретация:
Средняя процентная ошибка.
MAPE = 12% → в среднем модель ошибается на 12%
DCG@K = Σ (rel_i / log2(i + 1)), i = 1..K
NDCG@K = DCG@K/ IDCG@K(максимально возможное DCG)
- K — сколько позиций мы оцениваем (например, топ‑10)
- i — позиция в выдаче
- rel_i — релевантность объекта на позиции i
Интерпретация:
Насколько близка текущая сортировка к идеальной?
0 ≤ NDCG ≤ 1
MRR = (1/N) * Σ (1 / rank_i)
N — число запросов (или пользователей)
rank_i — позиция первого релевантного результата для i-го запроса
Интерпретация:
Насколько быстро пользователь увидит первый правильный ответ.
s = (b − a) / max(a, b)
где:
- a — среднее расстояние внутри кластера
- b — расстояние до ближайшего другого кластера
-1 ≤ s ≤ 1
Интерпретация:
~1 → объект хорошо «сидит» в своём кластере
~0 → кластеры пересекаются
<0 → объект, вероятно, попал не в свой кластер
DBI = (1/k) * Σ max_{j≠i} [ (S_i + S_j) / M_ij ], i = 1..k- k — число кластеров
- S_i — среднее расстояние объектов кластера i до его центра
- M_ij — расстояние между центрами кластеров i и j
- max_{j≠i} — берём наиболее «похожий» соседний кластер
Интерпретация:
Чем меньше DBI — тем лучше.
DBI → 0 → кластеры компактные и хорошо разделены.
Большой DBI → кластеры размытые и/или пересекаются.
DBI ≥ 0
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍6🔥6