gliaml-python机器学习库

gliaml的Python项目详细描述


#胶质细胞

gliaml是用python编写的简单而强大的机器学习库。

目前,它允许用户轻松创建一个多层感知器神经网络 以下功能:

  1. 允许使用乙状结肠、tanh和relu激活函数进行反向传播。
  2. 允许使用softmax函数对分类器进行规范化。
  3. 允许学习率超参数功能(包括偏差)
  4. 允许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) 使用示例。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何根据特定条件替换方括号内的单词   java为什么从数组流式传输时不能将整数映射到字符串?   java如何更改首选项活动主题?   java在JComboBox中显示时区   java我可以通过文档对象将PDF上传到SugarCRM吗?   web服务如何调用。通过NTLM身份验证从java客户端提供基于Net的Web服务   java使用Servlet读取Jar内部的清单文件   java当我们声明变量时,编译器实际上做什么?   寻找印地语背后的java直觉   java如何设置表格布局的样式   java Android在目标类上指定默认值   if语句在这两个java行中jvm是否存在任何差异:   java网格正在脱离屏幕   java将XLSX行转换为字符串并添加到数组   java JSF2 ResourceBundleLoader覆盖?