在线神经网络

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第三方库


热门话题
maven字段#getGenericType()抛出java。lang.TypeNotPresentException   用java绘制三角形的几何图形   java无法下载主题和发件人地址(rediff)   java如何使代码线程安全   java在尝试转换FileInputStream中的文件时,我遇到了一个FileNotFound异常   java Moxy和Jackson如何将Json映射到Pojo   在foreach循环中使用BufferedWriter生成新行的java问题   java为什么我的测试在单次执行中运行时间小于1秒,而在maven构建中运行时间大于20秒?   java如何显示下载附件的进度条   了解java rmi的良好实践   .net可以将Java portlet嵌入ASP。网页?   循环如何多次执行Java方法?   java如何确保用户输入在给定的有效范围内?   java单元测试定理   java如何在IntelliJ上运行外部构建项目?   JAVA:试图编写一个检查字符串是否为数字的方法。总是返回错误   javahadoop将特定键的所有map方法生成的所有值都发送到一个reduce方法,对吗?   在java中读取和使用文件