Как я могу установить порог для однослойного персептрона?У меня есть
import numpy as np
import sklearn
from sklearn.linear_model import Perceptron
xs = np.array([
# x1 x2
0, 0, #m1
0, 1,
1, 0,
1, 1
]).reshape(4, 2)
ys = np.array([1, 1, 0, 1]).reshape(4,)
ppn = Perceptron(max_iter=10, eta0=0.2, random_state=0)
ppn.fit(xs, ys)
Я хочу тренировать веса ppn
с начальными весами = (0,0), эта = 0,2, порог = 0,5
Например,для m1, начальная: ys = 1:
net= w1*x1+w2*x2 = 0*1+0*1=0
f(net) = 1, if net>=threshold else 0,
f(0) = 0 # because, 0 < 0.5
error = 0.2*(1-0) = 0.2
weight_update_w1 = 0+0.2*1
Обучение должно быть остановлено, если раз для всех m не выполняется обновление веса.
Как установить порог для ppn
до 0.5
?