我正在实现一个神经网络,它需要 225 个输入神经元,它必须对从 1 到 7 的随机数进行分类。所以为此我需要 225 个随机权重作为第一个输出。建议我该怎么做?我必须喂这个来前馈神经网络
问问题
89 次
1 回答
0
注意 - 我假设您正在使用带有反向传播的基本前馈神经网络。如果不是,请另行说明。
您基本上需要两组权重,一组权重用于隐藏层,一组权重用于输出层。
这是一个基本功能,应该解释我的意思:
# Initialize a network
def initialize_network(n_inputs, hidden_nodes, n_outputs):
n_inputs = len(training_data[0]) - 1
n_outputs = len(set([row[-1] for row in training_data]))
# Create a blank list to hold the network
network = []
# Create your hidden layer
hidden_layer = [{'weights': [random() for i in range(n_inputs + 1)]} for i in range(hidden_nodes)]
# Append the hidden layer to your network list
network.append(hidden_layer)
# Create the output layer
output_layer = [{'weights': [random() for i in range(hidden_nodes + 1)]} for i in range(n_outputs)]
# Append that
network.append(output_layer)
# Return the network
return network
有几件事要记住:
hidden_nodes
应该是一个可调参数或在您的项目说明中指定。每个人的隐藏节点数都不一样- 您的训练数据的大小会有所不同,但上面的函数与此无关
于 2019-04-25T13:19:15.733 回答