Стохастический градиентный спуск в машинном обучении
Стохастический градиентный спуск (SGD) – это алгоритм машинного обучения, который используется для минимизации функции стоимости путем повторения обновления веса на основе градиентов. Если вы никогда раньше не использовали алгоритм классификации SGD, эта статья для вас. В этой статье я расскажу вам об алгоритме стохастического градиентного спуска в машинном обучении и его реализации с использованием Python.
Стохастический градиентный спуск
Алгоритм SGD используется в нескольких функциях потерь. Проще говоря, он используется для минимизации функции стоимости путем повторения обновления веса на основе градиента. Вместо просмотра полного набора данных обновление веса применяется к случайно извлеченным из него пакетам, поэтому его также называют мини-пакетным градиентным спуском.
Ниже представлен процесс алгоритма стохастического градиентного спуска:
- Алгоритм запускается в случайной точке, инициализируя веса случайными значениями.
- Затем он вычисляет градиенты в этой случайной точке.
- Затем он движется в направлении, противоположном градиенту.
- Процесс повторяется до тех пор, пока не будет найдена точка минимальных потерь.
Стохастический градиентный спуск с использованием Python
Надеюсь, вы теперь понимаете, что такое алгоритм SGD в машинном обучении. Теперь давайте посмотрим на его реализацию на Python:
from sklearn.datasets import make_classification from sklearn.linear_model import SGDClassifier from sklearn.model_selection import cross_val_score samples = 500 x, y = make_classification(n_samples=samples, n_features=2, n_informative=2, n_redundant=0, n_clusters_per_class=1) SGD_classifier = SGDClassifier(loss="perceptron", learning_rate="optimal", n_iter_no_change=10) print(cross_val_score(SGD_classifier, x, y, scoring="accuracy", cv=10).mean())
Результат:
0.86
Резюме
Вот как можно реализовать алгоритм классификации SGD в машинном обучении с помощью языка программирования Python. Этот алгоритм используется в нескольких функциях потерь. Проще говоря, он используется для минимизации функции стоимости путем повторения обновления веса на основе градиента. Надеемся, вам понравилась эта статья об алгоритме стохастического градиентного спуска в машинном обучении и его реализации с использованием Python.