gliaml-python机器学习库
gliaml的Python项目详细描述
#胶质细胞
gliaml是用python编写的简单而强大的机器学习库。
目前,它允许用户轻松创建一个多层感知器神经网络 以下功能:
- 允许使用乙状结肠、tanh和relu激活函数进行反向传播。
- 允许使用softmax函数对分类器进行规范化。
- 允许学习率超参数功能(包括偏差)
- 允许L2正则化以防止过度装配
##创建网络
在gliaml中,神经网络被实现为包含层集合的对象, 它们依次是物体。若要创建层,请首先列出 必须选择列表中的每个神经元。然后可以创建层。偏压功能 可以是
activations1 = [activation_id for i in range(0, num_neurons)] layer1 = NetworkLayer(num_inputs, num_neurons, activations1, bias=False)
在创建了满意数量的层之后,神经网络本身可以 通过调用构造函数并提供所有层来调用。如果
network = NeuralNetwork(l2_regularization=0.03, layer1, layer2, …)
##培训网络
创建网络后,您需要提供培训和测试数据。这些应该 格式化为numpy数组。例如,让我们考虑下面的训练集。
training_inputs = np.array([[1, 0, 1], [0, 0, 1], [1, 1, 0], [0, 1, 0]]) training_outputs = np.array([[1, 1, 0, 0]]).T
解决方案是在输入数组的第三位是否有1或0。我们现在 需要训练网络。我们可以使用均方误差或交叉熵损失。
- network.train_mean_squared_error(training_inputs, training_outputs, num_iterations,
- learning_rate=0.05, bias_learning_rate=0.05)
我们现在可以看到网络对一个以前从未见过的问题的反应。
answer = network.think(np.array([1, 1, 1])) print(answer[-1])
另一个请参见[example.py](https://github.com/Archiecool4/GliaML/blob/master/example.py) 使用示例。