2014-10-23 2 views
4

Viola-Jones face detection использовал метод adaboost для обучения сильному классификатору. Я путать с политикой обновления парам бета:adaboost update weights beta value

enter image description here

Почему выбирают бета-значение, как это? Целью установки переменной beta является увеличение веса весов. Как насчет выбора:

enter image description here

+0

Укажите, является ли epsilon_t ошибкой или успешностью обучения – samfr

ответ

6

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

Целью настройки переменной бета является NOT, чтобы всегда увеличивать вес, а скорее уменьшать/наказывать вес только в том случае, если конкретный слабый классификатор является хорошим (я объясню, что считается хорошим в данный момент) и увеличить/увеличить вес, если классификатор плохой. (Имейте в виду, что вес здесь - это вес ошибки, а не вес каждого классификатора, поэтому, чем лучше классификатор, тем меньше вес должен быть)

Очевидно, у вас могут быть разные способы определения того, что «хороший» классификатор, но в документе «Виола и Джонс» используется очень простой критерий, т. е. если коэффициент ошибок в слабом классификаторе составляет менее 50%, он «хорош», иначе он «плохой». Чем лучше классификатор (чем меньше частота ошибок), мы хотим увеличить вес больше, и наоборот. До сих пор у вас должно возникнуть ощущение, почему бета-значение выбрано таким образом - всякий раз, когда частота ошибок (epsilon_e) больше 1/2, бета-значение будет больше 1, и, таким образом, вес будет увеличен, наоборот.