Изменения

Перейти к: навигация, поиск

Настройка гиперпараметров

404 байта добавлено, 12:16, 20 апреля 2020
Grid search done
Дело в том, что модель может переучиться на валидационном наборе данных. Для выявления переобучения используется тестовый набор данных.
Рассмотрим модель KNeighborsClassifier из библиотеки sklearn. Все “параметры” данной модели, с точки зрения машинного обучения, являются гиперпараметрами, так как задаются до начала обучения.
[[Файл:KNeighborsClassifier_model.png|800pxcenter|thumb|left| Все “параметры” данной модели, с точки зрения машинного обучения, являются гиперпараметрами, так как задаются до начала обучения.1000px]]
== Техники настройки гиперпараметров ==
=== Grid search ===
Принимает ==== Общая информация ==== Grid search принимает на вход модель и различные значения гиперпараметров (сетку гиперпараметров). Далее, для каждого возможного сочетания значений гиперпараметров, метод считает ошибку и в конце выбирает сочетание, при котором ошибка минимальна. ==== Sklearn Grid search: использование ====
Пример использования Grid search из библиотеки scikit-learn:
# Создание экземпляра класса SGDClassifier (из sklearn)
# Создание сетки гиперпараметров. В данном случае будем подбирать коэффициент регуляризации, шаг градиентного спуска, количество итераций и параметр скорости обучения.
# Создание экземпляра класса кросс-валидации.# Создание экземпляра GridSearch (из sklearn). Первый параметр - модель, второй - сетка гиперпараметров, третий - функционал ошибки (используемый для контроля качества моделей по технику технике кросс-валидации), четвертый - кросс-# # # валидация (можно задать количество фолдов, а можно передать экземпляр класса кросс - валидации)
# Запуск поиска по сетке.
здесь будет картинка[[Файл:KNeighborsClassifier_exmpl.png|center|1000px]]
Важные ==== Sklearn Grid search: важные атрибуты GridSearch====
* best_estimator_ - лучшая модель
* best_score_ - ошибка, полученная на лучшей модели.
* best_params_ - гиперпараметры лучшей модели<br>
картинка[[Файл:KNeighborsClassifier_bestest.png|center|1000px]] <br>
* cv_results_ - результаты всех моделей.<br>
картинка[[Файл:KNeighborsClassifier_results.png|center|1000px]] <br>
* доступ к массиву определенного параметра:<br>
картинка[[Файл:KNeighborsClassifier_param_array.png|center|1000px]] <br>
==== Реализация Grid search в библеотеках====
* Katib
* scikit-learn
=== Random grid search ===
 
==== Основная информация ====
Вместо полного перебора, Random grid search работает с некоторыми, случайным образом выбранными, комбинациями. На основе полученных результатов,происходит сужение области поиска. Random grid search будет гораздо полезнее, чем grid search в ситуации, когда гиперпараметров много, но сильно влияющих на конечную производительность алгоритма - мало.
==== Реализация Random grid ====
* hyperopt
51
правка

Навигация