在分类问题中,神经网络中是否存在权重的随机初始化范围?



我正在实现一个神经网络,它将接受225个输入神经元,它必须将随机数从1分类到7。因此,为此,我需要 225 个随机权重进行首次输出。建议我该怎么做?我必须输入这个来馈送神经网络

注意 - 我假设您使用的是带有反向传播的基本前馈神经网络。如果您不是,请另行说明。

您基本上需要两组权重,一组权重用于隐藏图层,一组权重用于输出图层。

这是一个基本函数,应该解释我的意思:

# 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应为可调参数或在项目说明中指定。隐藏节点的#因人而异
  • 您的训练数据的大小会有所不同,但上面的函数与此无关

最新更新