Perceptron Learning Algorithm + Pocket: как считать неправильные классификации - PullRequest
0 голосов
/ 28 апреля 2019

В настоящее время я изучаю алгоритм обучения персептрона и алгоритм кармана.

Я проверил некоторые существующие исходные коды на Java, и большинство из них выглядят примерно так: Perceptron - Github

Что я действительно не понимаю, так это то, почему количество ошибочных классификаций (globalError в связанном исходном коде) можно посчитать на уровне эпох.Итак, при условии, что у меня есть 100 точек, которые являются линейно разделимыми.

Я начинаю свою первую эпоху и правильно классифицирую свои первые две точки.Теперь я смотрю на свой третий пункт, и классификация не верна.Я обновляю свои веса и устанавливаю счетчик ошибочной классификации на 1. Но, изменяя веса, первые две точки могут фактически не классифицироваться как правильные с моими новыми весами.Так что на самом деле мои новые веса могут привести к 1,2 или 3 ошибкам в моих первых трех пунктах.Разве мне не нужно проверять все свои тренировочные данные на предмет неправильной классификации каждый раз, когда я обновляю свои веса?

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

Не зная точно Python, но глядя на этот пример кармана Python , он выглядит для меня какнеправильная классификация учитывается на уровне эпохи, а не после каждого обновления веса, что для меня было бы противоречиво.

...