говорят, что у вас есть точка в наборе данных из 10 точек: point1 = [x, y]
для точки 1 вычисляется ошибка, и веса обновляются
для точки два принимает ли алгоритм ранее обновленный вес, а затем обновляет этот и входной весы, из которых он обновлен, причем этот процесс происходит для точек в наборе данных ??
, если это так, то, конечно, порядок данные точки имеют значение для конечного результата? например, первые веса корректируются для точки 1, а веса корректируются для точки 2. это может означать, что корректировка для точки 1 теперь может быть избыточной, поскольку точка два подтолкнула вес в пользу точки 1 и в пользу пункта 2,
например
- пункт 1 = неправильная классификация
- веса скорректированы из-за ошибки в точке 1
- точка1 = правильная классификация
- точка 2 принимает обновленный вес
- точка 2 неверна
- обновлена точка 2 неверна
- обновление весов
- точка 2 верна, точка 1 неверна.
и т. д. для всех точек данных в эпоха
мой непроверенный код:
def perceptron(epoches, points):
# points = [x, y, label]
weights = generate_random_weights()
learning_r = 0.1
for e in range(epoches):
for pt in points():
inputs = [pt.x, pt.y]
target = pt.label
train(inputs, weights,target, learning_r)
return weights # final model
ps Я использую пример на YouTube Нейронные сети: Perceptron Part1 с помощью последовательности кодирования