-1

我正在实现一个神经网络,它需要 225 个输入神经元,它必须对从 1 到 7 的随机数进行分类。所以为此我需要 225 个随机权重作为第一个输出。建议我该怎么做?我必须喂这个来前馈神经网络

4

1 回答 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 回答