Книга Нейронные сети и глубокое обучение Чару С. Аггарвал перечисляет правило обновления веса Перцептрона как
Ш <- <strong>Ш + a * (y_i - y_hat_i) * X
где W - ваш весовой вектор, X - ваш вектор данных с y_i в качестве соответствующей метки, y_hat_i - прогнозируемая метка для y_i и, наконец, a - скорость обучения.
Я понимаю это.
В книге говорится, что обновления веса по существу
Ш <- <strong>Ш + a * ∇w_i * L-i
после разговора о гладких функциях суррогатных потерь для критериев персептрона.
Итак, если я внедряю свой собственный Perceptron, я не уверен, какой из них мне действительно нужно использовать в моих обновлениях веса?
Задача классификации, над которой я работаю, заключается в простой классификации данных в класс на основе того, с какой стороны строки y = x (между (0,0) и (1,1)) случайной пары (x, y) падения.
Если я использую первую из перечисленных формул, я получу 100% точность обучения, но не всегда высокую точность проверки.
Я пока не знаю, как бы вы реализовали вторую формулу.
Если вы используете первую упомянутую мной схему обновления веса, я не до конца понимаю, как обновления потери и веса даже связаны с алгоритмом персептрона.
data_instance = self.features[index]
label_instance = self.true_labels[index]
w_sum =
self.weighted_sum(data_instance,self.weight_vector[index])
prediction = self.sign_activation(w_sum)
print(prediction)
predicted_labels[index] = prediction
loss = self.squared_loss(prediction, label_instance)
print('Loss: ', loss)
#WEIGHT UPDATES--Perceptron Criteria
label_distance = self.true_labels[index] - prediction
label_distance_lr = self.lr * label_distance
updated_data_instance = [x*label_distance_lr for x in data_instance]
new_weight_list = [None] * len(self.weight_vector[index])
current_weights = self.weight_vector[index]
for i in range(len(new_weight_list)):
new_weight_list[i] = current_weights[i] + updated_data_instance[i]
self.weight_vector[index] = new_weight_list
Выше показано, как я сейчас реализую свои обновления веса. Является ли это приемлемым методом для реализации обновлений веса на основе критериев персептрона?