2016-02-28 7 views
0

Для каждого из 50 букв есть 350 образцов. Нейронная сеть имеет 3 слоя. Входной слой 400 (20 * 20 изображений), спрятанных 200 и выход 50. Параметры обучения, которые я использовал являются:Реализация ANN с Python OpenCV для распознавания рукописного текста

max_steps = 1000 
max_err = 0.000001 

condition = cv2.TERM_CRITERIA_COUNT | cv2.TERM_CRITERIA_EPS 

criteria = (condition, max_steps, max_err) 

train_params = dict(term_crit = criteria, 
       train_method = cv2.ANN_MLP_TRAIN_PARAMS_BACKPROP, 
       bp_dw_scale = 0.1, 
       bp_moment_scale = 0.1) 

Каковы оптимальные значения можно использовать для этой ситуации?

ответ

1

Боюсь, вам придется выбирать их вручную путем пробной ошибки &.

Эти значения зависят от множества факторов и, насколько я знаю, нет никакой формулы для их вычисления. Когда я начинаю обучение новому ANN, я просто запускаю его снова и снова, изменяя эти параметры каждый раз.

+0

Не существует ли хоть какой-то способ сузить диапазон значений для каждого? – sope

+0

@sope, с backpropagation - я не знаю никого. Вы можете использовать [BFGS] (https://en.wikipedia.org/wiki/Broyden-Fletcher-Goldfarb-Shanno_algorithm), он может работать лучше. – ForceBru

+0

ладно спасибо, я попробую. – sope

 Смежные вопросы

  • Нет связанных вопросов^_^