и посмотреть медиа
Data Science - собесы
и посмотреть медиа
Собесы Data Science.
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Вопросы для собеседований по Data Science.
🤔 Что такое градиентный спуск? Это оптимизационный алгоритм, который используется для минимизации функции потерь в задачах машинного обучения. Основная идея заключается в поиске минимального значения функции потерь путём итеративного движения в направлении наискорейшего убывания этой функции, что определяется градиентом (или производной) функции. 🚩Как это работает 🟠Определение функции потерь В контексте машинного обучения функция потерь оценивает, насколько хорошо модель предсказывает данные. Чем меньше значение функции потерь, тем лучше подгонка модели к данным. 🟠Вычисление градиента Градиент функции потерь — это вектор частных производных, который показывает направление наискорейшего роста функции. Для минимизации функции потерь нужно двигаться в противоположном направлении, т.е. по направлению наискорейшего убывания. 🟠Обновление параметров На каждом шаге параметры модели (например, веса в линейной регрессии) корректируются в направлении, противоположном градиенту, что осуществляется по формуле: 🟠Итерации Шаги 2 и 3 повторяются до тех пор, пока не будет достигнут критерий остановки, например, до достижения заданного числа итераций, минимального изменения функции потерь или минимального значения градиента. 🚩Вариации 🟠Стандартный градиентный спуск (Batch Gradient Descent) Градиент вычисляется на основе всех обучающих данных на каждом шаге, что обеспечивает точное направление к минимуму, но может быть вычислительно дорогостоящим на больших данных. 🟠Стохастический градиентный спуск (Stochastic Gradient Descent, SGD) Градиент вычисляется на основе одного случайно выбранного примера данных на каждом шаге, что делает процесс более быстрым, но увеличивает стохастичность движения к минимуму. 🟠Мини-пакетный градиентный спуск (Mini-batch Gradient Descent) Компромисс между двумя предыдущими подходами, градиент вычисляется для небольшого подмножества данных (мини-пакета). import numpy as np def gradient_descent(x, y, lr=0.01, epochs=100): m, b = 0.1, 0.1 # начальная инициализация параметров n = len(x) # количество данных for _ in range(epochs): f = y - (m*x + b) # Обновление m и b m -= lr * (-2 * x.dot(f).sum() / n) b -= lr * (-2 * f.sum() / n) return m, b # Демонстрация на простых данных x = np.array([1, 2, 3, 4, 5]) y = np.array([5, 7, 9, 11, 13]) m, b = gradient_descent(x, y) print("Наклон m:", m, "Пересечение b:", b) Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!