在线神经网络

onn的Python项目详细描述


在线神经网络(onn)

这是Online Deep Learning: Learning Deep Neural Networks on the Fly文件的pytorch实现。该算法包含了一种新的反向传播方法,称为对冲反向传播,它有助于在线学习。在这个算法中,你要建立一个覆盖网络的架构,算法会尝试自动打开或关闭一些隐藏层。这个算法使用第一个隐藏层来训练/预测,但是如果它变糟了,它会自动使用另一个隐藏层。有关更多信息,请阅读“参考资料”部分的文章。

安装

pip install onn

如何使用

#Importing Libraryimportnumpyasnpfromonn.OnlineNeuralNetworkimportONN#Starting a neural network with feature size of 2, hidden layers expansible until 5, number of neuron per hidden layer = 10 #and two classes.onn_network=ONN(features_size=2,max_num_hidden_layers=5,qtd_neuron_per_hidden_layer=10,n_classes=2)#Do a partial trainingonn_network.partial_fit(np.asarray([[0.1,0.2]]),np.asarray([0]))onn_network.partial_fit(np.asarray([[0.8,0.5]]),np.asarray([1]))#Predict classespredictions=onn_network.predict(np.asarray([[0.1,0.2],[0.8,0.5]]))Predictions--array([1,0])

新功能

  • 该算法现在可用于批处理。(不建议这样做,因为这是一种在线方法。这对实验很有用。)
  • 该算法可以使用cuda(如果可用)。(如果网络非常小,则不建议使用。CPU将处理得更快。)

非线性上下文bandit算法(onn_ths)

onn_ths的行为就像一个非线性的上下文盗贼(一个强化学习算法)。该算法使用非线性开发因子(onn)和汤普森抽样算法提供的勘探因子。onn_this与“select”和“reward”操作一起工作。有关更详细的示例,请查看此存储库中的jupyter笔记本文件。这个算法是我为解决我工作的公司的一个问题而创建的。

该算法最大的优点是可以在线使用,并且具有非线性开发。该算法能以强化学习的方式学习不同类型的数据。

如何使用

#Importing Libraryimportnumpyasnpfromonn.OnlineNeuralNetworkimportONN_THS#Starting a neural network with feature size of 2, hidden layers expansible until 5, number of neuron per hidden layer = 10 #and two classes.onn_network=ONN_THS(features_size=2,max_num_hidden_layers=5,qtd_neuron_per_hidden_layer=10,n_classes=2)#Select an actionarm_selected,exploration_factor=onn_network.predict(np.asarray([[0.1,0.2]]))#Reward an actiononn_network.partial_fit(np.asarray([[0.1,0.2]]),np.asarray([arm_selected]),exploration_factor)

贡献者

参考文献

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

推荐PyPI第三方库


热门话题
java在读取属性文件时获取空指针   java NoSuchMethodError:org。springframework。靴子网状物servlet。错误错误控制器。最新SpringCloudStarter NetflixZuul中的getErrorPath()   java Spring不使用相同的JDBC连接   sqlite DB中带方括号的java数据   如何编译基于Maven的Java项目以从命令行运行它   java如何限制cowndown计时器的操作(例如登录)   java如何使用spring和springboot应用程序配置数据库?我想知道如何回答这类问题?   java中的buildpath不支持java。图书馆路径   java如何使用条目集在树映射上迭代?   java如何将IndexOf与Scanner结合使用?   xml Java SAX解析器进程监视   java在多台远程机器上运行并行junit测试   当我尝试在ListView中动态添加项时,单击按钮时java崩溃