Основные вопросы организации сети Pybrain

Я начал строить некоторые сети в Pybrain и получал массу удовольствия. Я не совсем в восторге от документов, поэтому я создал маленькие, простые сети и поиграл с ними, чтобы понять, как работает структура классов и поток данных.

У меня есть несколько вопросов:

Настроить:


n = FeedForwardNetwork()

inLayer = LinearLayer(1, name = 'Input node')
hiddenLayer = LinearLayer(1, name = 'Hidden node')
outLayer = LinearLayer(1, name = 'Output node')

n.addInputModule(inLayer)
n.addModule(hiddenLayer)
n.addOutputModule(outLayer)

1) Когда вы выполняете метод addInputModule, узлы в этом слое автоматически ограничиваются одним входом каждый? Есть ли способ иметь более одного?

2) Кажется, я не могу создать NN из одного узла с 4 входами и 1 выходом.... похоже, что я ДОЛЖЕН использовать по крайней мере 2 узла для любого NN, потому что веса связаны с классом ребра (т.е. соединения). И если у меня есть 4 входа, у меня должно быть 4 узла в InputModule....

Do I have this right?

3) В приведенном выше фрагменте кода, каковы пороговые функции по умолчанию для каждого узла в каждом слое? Как я могу показать, что такое TF?

4) Есть ли документация, которая описывает все доступные входные данные для каждого метода класса?

Спасибо!

Gregg

1 ответ

Ваш вопрос к широкому кругу, и по этой причине abit offtopic. Тем не менее, я постараюсь решить некоторые из ваших вопросов.

  • Вы должны добавить связи между слоями с n.addConnection
  • Узел представляет собой вход, поэтому для 4 входов - 1 выходной NN необходим входной слой с 4 нейронами, см. Ниже. Обратите внимание, что 1 вывод означает, что это просто классификатор да-нет, так как он может предсказать, принадлежит ли выборка ровно одному классу. 4 входа означает, что NN классифицирует выборки с 4 признаками (то есть векторы в 4d пространстве)

NN с 4 входами и 1 выходом:

from pybrain import structure

fnn  = structure.FeedForwardNetwork()
in_layer = LinearLayer(4, name = 'Input node')
out_layer = LinearLayer(1, name = 'Output node')

fnn.addInputModule(in_layer)
fnn.addOutputModule(out_layer)
fnn.addConnection(structure.FullConnection(in_layer, out_layer))
Другие вопросы по тегам