Установка порога для персептрона - PullRequest
0 голосов
/ 08 сентября 2018

Как я могу установить порог для однослойного персептрона?У меня есть


    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?

...