В машинном обучении настройка гиперпараметров так же важна, как очистка данных и извлечение признаков. Это установка значений параметра перед процессом обучения. Параметр настройки также очень важен и интересен. Параметры очень чувствительны к небольшому изменению скорости обучения, иначе оценщики приведут к большому изменению точности модели.

Методы настройки гиперпараметра

  1. Поиск по сетке

Поиск по сетке — классический способ настройки гиперпараметров. Мы сделали сетку и ищем лучший результат, объединяя значения и находя лучшую комбинацию.

​values1 = [0.05, 0.03, 0.2, 0.3, 1, 3, 15, 25, 50]
values2 = [0.05, 0.03, 0.2, 0.3, 1, 3, 15, 25, 50]   
best_score = 0  
best_params = {'C': None, 'gamma': None}  
if score > best_score:  
best_score = score best_params['C1'] = C1  
best_params['C2'] = C2 

Поиск по сетке всегда приводит к оптимальному решению, но он занимает много времени, а из-за большого количества комбинаций требуются большие вычислительные ресурсы, что делает его дорогим.

2. Случайный поиск

Случайный поиск случайным образом выбирает значения гиперпараметров и проверяет наилучший результат. N_iter — важный параметр, определяющий количество случайных поисков в процессе.

best_score = 0  
best_params = {'C1': None, 'C2': None} 
for i in range(10):  
svc = svm.SVC(C1=randint(0, 9), C2=randint(0, 3))  
svc.fit(X, y)  
score = svc.score(Xval, yval)  
if score > best_score:  
best_score = score  
best_params['C1'] = C1  
best_params['C2'] = C2

Случайный поиск экономит время и требует меньше вычислительной мощности, но лучшая модель не гарантируется.

3. Байесовская оптимизация

Байесовская оптимизация — это вероятностная модель. Он фокусируется на тех параметрах, которые могут привести к оптимальной модели, и для этого используются прошлые данные.

C1=5 C2=0.2 
for i in range(10):  
C1, C2 =  gaussian_process (hyperparams=[C1,C2], loss-expected_improvement)  
svc = svm. SVC(C1=C1,C2=C2)  
svc.fit(X, y) 
score = svc. score (Xval, yval)  
if score best_score:  
best_score = score  
best_params['C1']=C1  
best_params[’C2' ]=C2 

Байесовская оптимизация требует меньше времени, поскольку количество итераций ограничено, и это также приводит к оптимальной модели, поскольку мы выбираем те гиперпараметры, которые имеют тенденцию давать проверенные решения.

Заключение

Мы обсудили методы гиперпараметра и то, как они полезны для улучшения модели. Оценка может оставаться постоянной, но продолжайте пытаться от небольшого изменения результата к значительному изменению точности, поэтому стоит потратить время на настройку гиперпараметра.