и посмотреть медиа
Data Science - собесы
и посмотреть медиа
Собесы Data Science.
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Вопросы для собеседований по Data Science.
🤔 Как работает градиентный спуск? Это фундаментальный алгоритм оптимизации, используемый для минимизации функции потерь в машинном обучении и статистической оптимизации. Этот метод основан на идее, что если вы хотите найти минимум функции, вы должны двигаться в направлении, противоположном градиенту функции в данной точке. 🚩Основные шаги алгоритма 1⃣Инициализация Начните с случайного значения параметра(ов) \( \theta \) (например, веса в линейной регрессии). 2⃣Вычисление градиента Определите градиент функции потерь в текущей точке \( \theta \). Градиент показывает направление наискорейшего увеличения функции, поэтому для минимизации мы движемся в противоположном направлении. 3⃣Обновление параметра Обновите параметр, двигаясь в направлении, противоположном градиенту: \theta := \theta - \eta \nabla_{\theta} J(\theta) где \( \eta \) — это скорость обучения, которая определяет размер шага. 4⃣Повторение Повторяйте шаги 2 и 3, пока не будет достигнут критерий остановки (например, когда изменение \( \theta \) становится незначительным или количество итераций превышает предел). 🚩Важные аспекты 🟠Скорость обучения \( \eta \) Если скорость обучения слишком велика, может произойти "перепрыгивание" минимума, если слишком мала — процесс обучения будет очень медленным. 🟠Выбор начальной точки Начальная точка может существенно повлиять на то, достигнет ли процесс локального минимума, глобального минимума или застрянет в плато. 🟠Нормализация данных При работе с многомерными данными рекомендуется нормализовать данные, чтобы обеспечить равномерное масштабирование признаков. Это ускоряет сходимость градиентного спуска. import numpy as np def gradient_descent(x, y, lr=0.01, epochs=1000): m, b = 0, 0 # начальные параметры n = len(y) # количество данных for _ in range(epochs): f = y - (m*x + b) # функция потерь # Градиенты по m и b dm = -2 * np.sum(x * f) / n db = -2 * np.sum(f) / n # Обновление параметров m -= lr * dm b -= lr * db return m, b # Пример данных x = np.array([1, 2, 3, 4, 5]) y = np.array([2, 4, 5, 4, 5]) m, b = gradient_descent(x, y, lr=0.01, epochs=1000) print(f"Наклон m: {m}, Пересечение b: {b}") Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!