Как нарисовать границы решения для 2-х слойной нейронной сети - PullRequest
1 голос
/ 28 сентября 2019

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

enter image description here

Моя нейронная сеть определяется следующим образом:

class Classifier(nn.Module):
    def __init__(self):
        super().__init__()
        self.fc1 = nn.Linear(2,2)
        self.fc2 = nn.Linear(2,1)
    def forward(self,x):
        x = F.relu(self.fc1(x))
        x = self.fc2(x)
        return x

list(model.parameters()) возвращает меня

[Parameter containing:
 tensor([[-0.5128, -0.3776],
         [ 0.4611,  0.4625]], requires_grad=True), Parameter containing:
 tensor([ 0.6443, -3.6282], requires_grad=True), Parameter containing:
 tensor([[-0.1985,  2.8158]], requires_grad=True), Parameter containing:
 tensor([-5.4537], requires_grad=True)]

Блокнот Google Colab прилагается .Вы найдете полный код в Логиках Toy Dataset 3, предсказывающих логиты .Кроме того, в качестве примера я нарисовал однослойную границу решения нейронной сетиНайдите его в Toy Dataset 2, логиках предсказания Для вашего удобства здесь также прикреплен однослойный набор данных нейронной сети и границы его решения.enter image description here enter image description here

...