翻译包----AMORE

作者:王苏都毕力格

文章来源:生物统计家园网

newff(AMORE)

newff()所属R语言包:AMORE

Create a Multilayer Feedforward Neural Network

创建一个多层前馈神经网络

描述----------Description----------

Creates a feedforward artificial neural network according to the structure established by the AMORE package standard.

创建一个前馈人工神经网络建立了的AMORE包装标准的结构。

用法----------Usage----------

newff(n.neurons, learning.rate.global, momentum.global, error.criterium, Stao, hidden.layer, output.layer, method)

参数----------Arguments----------

参数:n.neurons

Numeric vector containing the number of neurons of each layer. The first element of the vector is the number of input neurons, the last is the number of output neurons and the rest are the number of neuron of the different hidden layers.

数值向量包含在每个层的神经元的数目。第一个元素的矢量输入神经元的数量,最后是输出神经元的数量,其余的都是不同的隐藏层神经元的数量。

参数:learning.rate.global

Learning rate at which every neuron is trained.

学习率在每一个神经元进行训练。

参数:momentum.global

Momentum for every neuron. Needed by several training methods.

的每个神经元的势头。所需要的几种训练方法。

参数:error.criterium

Criterium used to measure to proximity of the neural network prediction to its target. Currently we can choose amongst:

的绕圈用于测量的神经网络预测到它的目标接近。目前,我们可以选择其中包括:

"LMS": Least Mean Squares.

“LMS”:最小均方。

"LMLS": Least Mean Logarithm Squared (Liano 1996).

的“LMLS”:最不平均的对数的平方(利亚诺1996年)。

"TAO": TAO Error (Pernia, 2004).

“TAO”::TAO错误(Pernia,2004年)。

参数:Stao

Stao parameter for the TAO error criterium. Unused by the rest of criteria.

STAO参数的TAO错误的绕圈。未使用的其余部分的标准。

参数:hidden.layer

Activation function of the hidden layer neurons. Available functions are:

隐藏层神经元的激活函数的。所提供的功能包括:

"purelin".

“purelin”的。

"tansig".

tansig“。

"sigmoid".

“S形”。

"hardlim".

“hardlim”。

"custom": The user must manually define the f0 and f1 elements of the neurons.

“自定义”:用户必须手动定义的神经元的F0和F1的元素。

参数:output.layer

Activation function of the hidden layer neurons according to the former list shown above.

根据如上所示前的列表的隐藏层神经元的激活函数。

参数:method

Prefered training method. Currently it can be:

优先考虑的训练方法。目前,它可以是:

"ADAPTgd": Adaptative gradient descend.

“ADAPTgd”的自适应梯度下降。

"ADAPTgdwm": Adaptative gradient descend with momentum.

“ADAPTgdwm”的自适应梯度下降的势头。

"BATCHgd": BATCH gradient descend.

“BATCHgd”:BATCH梯度下降。

"BATCHgdwm": BATCH gradient descend with momentum.

“BATCHgdwm”:BATCH梯度下降的势头。

值----------Value----------

newff returns a multilayer feedforward neural network object.

newff返回一个多层前馈神经网络的对象。

(作者)----------Author(s)----------

Manuel Castej贸n Limas.                     manuel.castejon@unileon.es

Joaquin Ordieres Mer茅.

Ana Gonz谩lez Marcos.

Alpha V. Pern铆a Espinoza.

Eliseo P. Vergara Gonzalez.

Francisco Javier Martinez de Pis贸n.

Fernando Alba El铆as.

参考文献----------References----------

Pern铆a Espinoza, A.V., Ordieres Mer茅, J.B., Mart铆nez de Pis贸n, F.J., Gonz谩lez Marcos, A. TAO-robust backpropagation learning algorithm. Neural Networks. Vol. 18, Issue 2, pp. 191–204, 2005.

Simon Haykin. Neural Networks – a Comprehensive Foundation. Prentice Hall, New Jersey, 2nd edition, 1999. ISBN 0-13-273350-1.

参见----------See Also----------

init.MLPneuron, random.init.MLPnet, random.init.MLPneuron, select.activation.function

init.MLPneuron,random.init.MLPnet,random.init.MLPneuron,select.activation.function

实例----------Examples----------

library(AMORE)

# P is the input vector[P为输入向量]

P <- matrix(sample(seq(-1,1,length=1000), 1000, replace=FALSE), ncol=1)

# The network will try to approximate the target P^2[该网络将试图逼近目标P ^ 2]

target <- P^2

# We create a feedforward network, with two hidden layers.[我们创建了一个前馈网络,两个隐含层。]

# The first hidden layer has three neurons and the second has two neurons.[第一个隐藏层有3个神经元,第二个有两个神经元。]

# The hidden layers have got Tansig activation functions and the output layer is Purelin.[隐藏层有Tansig激活功能和输出层的Purelin。]

net <- newff(n.neurons=c(1,3,2,1), learning.rate.global=1e-2, momentum.global=0.5,

error.criterium="LMS", Stao=NA, hidden.layer="tansig",

output.layer="purelin", method="ADAPTgdwm")

result <- train(net, P, target, error.criterium="LMS", report=TRUE, show.step=100, n.shows=5 )

y <- sim(result$net, P)

plot(P,y, col="blue", pch="+")

points(P,target, col="red", pch="x")

R语言AMORE包实现BP神经网络——German数据集

library(AMORE)

data<-read.table('G:\\dataguru\\ML\\ML09\\基于BP网络的个人信贷信用评估\\基于BP网络的个人信贷信用评估\\german.data-numeric')

for (i in 1:25) {

data[,i] <- as.numeric(as.vector(data)[,i])

}

pos<-data[which(data$V25=='1'),]

neg<-data[which(data$V25=='2'),]

train<-rbind(pos[1:350,],neg[1:150,])

test<-rbind(pos[351:700,],neg[151:300,])

net <- newff(n.neurons=c(24,8,2,1), learning.rate.global=1e-13, momentum.global=0.5,

error.criterium="LMS", Stao=NA, hidden.layer="tansig",

output.layer="purelin", method="ADAPTgdwm")

result <- train(net, train[1:24], train[25], error.criterium="LMS", report=TRUE, show.step=100, n.shows=5 )

y <- sim(result$net, test[1:24])

y[which(y<1.5)] <- 1

y[which(y>=1.5)] <- 2

sum = 0

for(i in 1:500){

if(y[i]==test[i,25]){

sum =sum+1

}

}

cat("正确率", sum/500, "n")

人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型。神经网络由大量的人工神经元联结进行计算。大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统。现代神经网络是一种非线性统计性数据建模工具,常用来对输入和输出间复杂的关系进行建模,或用来探索数据的模式。

人工神经网络从以下四个方面去模拟人的智能行为:

物理结构: 人工神经元将模拟生物神经元的功能

计算模拟: 人脑的神经元有局部计算和存储的功能,通过连接构成一个系统。人工神经网络中也有大量有局部处理能力的神经元,也能够将信息进行大规模并行处理

存储与操作: 人脑和人工神经网络都是通过神经元的连接强度来实现记忆存储功能,同时为概括、类比、推广提供有力的支持

训练: 同人脑一样,人工神经网络将根据自己的结构特性,使用不同的训练、学习过程,自动从实践中获得相关知识

神经网络是一种运算模型,由大量的节点(或称“神经元”,或“单元”)和之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。

一. 感知器

感知器相当于神经网络的一个单层,由一个线性组合器和一个二值阈值原件构成:构成ANN系统的单层感知器:

感知器以一个实数值向量作为输入,计算这些输入的线性组合,如果结果大于某个阈值,就输出1,否则输出‐1。

感知器函数可写为:sign(w*x)有时可加入偏置b,写为sign(w*x+b)

学习一个感知器意味着选择权w0,…,wn的值。所以感知器学习要考虑的候选假设空间H就是所有可能的实数值权向量的集合

算法训练步骤 :

1、定义变量与参数x(输入向量),w(权值向量),b(偏置),y(实际输出),d(期望输出),a(学习率参数)

2、初始化,n=0,w=0

3、输入训练样本,对每个训练样本指定其期望输出:A类记为1,B类记为-1

4、计算实际输出y=sign(w*x+b)

5、更新权值向量w(n+1)=w(n)+a[d-y(n)]*x(n),0

6、判断,若满足收敛条件,算法结束,否则返回3

注意,其中学习率a为了权值的稳定性不应过大,为了体现误差对权值的修正不应过小,说到底,这是个经验问题 。

从前面的叙述来看,感知器对于线性可分的例子是一定收敛的,对于不可分问题,它没法实现正确分类。这里与我们前面讲到的支持向量机的想法十分的相近,只是确定分类直线的办法有所不同。可以这么说,对于线性可分的例子,支持向量机找到了“最优的”那条分类直线,而单层感知器找到了一条可行的直线。

我们以鸢尾花数据集(iris)为例(截取前十行,共150行数据):

ID Sepal.Length Sepal.Width Petal.Length Petal.Width         Species

1            5.1         3.5          1.4         0.2     setosa

2            4.9         3.0          1.4         0.2     setosa

3            4.7         3.2          1.3           0.2     setosa

4            4.6         3.1          1.5         0.2     setosa

5            5.0         3.6          1.4         0.2     setosa

6            5.4         3.9          1.7         0.4     setosa

7            4.6         3.4          1.4         0.3     setosa

8            5.0         3.4          1.5         0.2     setosa

9            4.4         2.9          1.4         0.2     setosa

10          4.9         3.1          1.5         0.1     setosa

由于单层感知器是一个二分类器,所以我们将鸢尾花数据也分为两类,“setosa”与“versicolor”(将后两类均看做第2类),那么数据按照特征:花瓣长度与宽度做分类。

运行下面的代码:

#感知器训练代码:

1 a<-0.2

2 w<-rep(0,3)

3 iris1<-t(as.matrix(iris[,3:4]))

4 d<-c(rep(0,50),rep(1,100))

5 e<-rep(0,150)

6 p<-rbind(rep(1,150),iris1)

7 max<-100000

8 eps<-rep(0,100000)

9 i<-0

10 repeat{

11 v<-w%*%p;

12 y<-ifelse(sign(v)>=0,1,0);

13 e<-d-y;

14 eps[i+1]<-sum(abs(e))/length(e)

15 if(eps[i+1]<0.01){

16 print("finish:");

17 print(w);

18 break;

19 }

20 w<-w+a*(d-y)%*%t(p);

21 i<-i+1;

22 if(i>max){

23 print("max time loop");

24 print(eps[i])

25 print(y);

26 break;

27 }

28 }

#绘图代码:

1 plot(Petal.Length~Petal.Width,xlim=c(0,3),ylim=c(0,8),

2 data=iris[iris$Species=="virginica",])

3 data1<-iris[iris$Species=="versicolor",]

4 points(data1$Petal.Width,data1$Petal.Length,col=2)

5 data2<-iris[iris$Species=="setosa",]

6 points(data2$Petal.Width,data2$Petal.Length,col=3)

7 x<-seq(0,3,0.01)

8 y<-x*(-w[2]/w[3])-w[1]/w[3]

9 lines(x,y,col=4)

二. R中的神经网络算法包——Neuralnet

本次学习将会通过Neuralnet输出如下的神经网络拓扑图。我们将会模拟一组很简单的数据实现输入和输出,其中,输出的变量是独立分布的随机数,输入的变量则是输出变量的平方。本次试验中,将会训练10个隐藏神经元。

而输入和输出,包括神经网络的预测数据如下:

Input          Expected Output      Neural Net Output

1               1                  0.9623402772

4               2             2.0083461217

9               3             2.9958221776

16               4             4.0009548085

25               5             5.0028838579

36               6             5.9975810435

49               7                  6.9968278722

64               8                  8.0070028670

81               9                  9.0019220736

100              10                  9.9222007864

训练代码如下:

1 # 安装并导入neuralnet包(还需要安装grid和MASS两个依赖包)

2 install.packages('neuralnet')

3 library("neuralnet")

4

5 # 构造50个独立分布在0到100之间的随机数

6 # 然后将他们保存成数据框架(data.frame)

7

8 traininginput <-  as.data.frame(runif(50, min=0, max=100))

9 trainingoutput <- sqrt(traininginput)

10

11 # 通过cbind函数将输入和输出向量构造成一个数据

12 # 用一些训练数据测试该神经网络

13 trainingdata <- cbind(traininginput,trainingoutput)

14 colnames(trainingdata) <- c("Input","Output")

15

16 # 训练10个隐藏神经元的神经网络

17 net.sqrt <- neuralnet(Output~Input,trainingdata, hidden=10, threshold=0.01)

18 print(net.sqrt)

19

20 # 绘制神经网络拓扑图

21 plot(net.sqrt)

22

23 testdata <- as.data.frame((1:10)^2)

24 net.results <- compute(net.sqrt, testdata)

25

26 ls(net.results)

27

28 # 查看结果

29 print(net.results$net.result)

30

31 # 让结果更直观些

32 cleanoutput <- cbind(testdata,sqrt(testdata),

33                          as.data.frame(net.results$net.result))

34 colnames(cleanoutput) <- c("Input","Expected Output","Neural Net Output")

35 print(cleanoutput)

转载于:https://www.cnblogs.com/zwz123456/articles/6901826.html

翻译包----AMORE相关推荐

  1. IDEA2018.3中文翻译包,2018.3版本汉化包(百度云链接下载)

    痛点:想以一种清新简单的方式了解IDEA的功能.那么就是母语中文了~ 2022年8月16日更新 有猿友说百度云的链接失效了.删除了之类的,我查看确实如此,现在特意更新一个地址,zip文件一个,包含下面 ...

  2. python百度翻译包_python百度翻译移动端

    百度翻译返回997错误,经过分析查询网络其他博客的示例,解决方法:如何计算sign import requests import execjs import json class MobileBaid ...

  3. python离线翻译包下载_Python翻译

    translator.py # -*- coding: utf-8 -*- # author: inspurer(月小水长) # pc_type lenovo # create_time: 2019/ ...

  4. android多国语言翻译包命名,android多国语言翻译工具,一键生成28国家翻译6666翻车了...

    最近把软件发到google play苦于多国语言,手动翻译数量太多太蛋疼,因而用百度翻译api进行多国语言翻译.java 很少说直接上代码:json ""; api 匹配的是app ...

  5. jsp+sql智能道路交通信息管理系统的设计与实现(论文+系统+开题报告+答辩PPT+外文翻译)

    毕业设计(论文) 附 件 目 录 任务书1 文献综述4 开题报告9 译文14 译文原文 附件A 毕业设计(论文) 任 务 书 设计(论文)题目 智能道路交通信息管理系统 学 院 计算机学院 专 业 计 ...

  6. 【愚公系列】2022年12月 .NET CORE工具案例-多语言离线翻译系统

    文章目录 前言 1.在线翻译 2.离线翻译 一.多语言离线翻译系统 1.开发环境 2.准备离线翻译包 3.准备python代码 4.调试翻译结果 5.Python翻译服务对接到.NET Core 前言 ...

  7. 【Python网络蜘蛛 · 3】:post请求、模拟金山翻译(附源代码)

    目录 一.post请求 1.post请求出现的场景 2.如何发送post请求 3.get和post的区别 二.模拟金山翻译 1.实现思路 2.具体实现步骤 3.实现源代码 一.post请求 1.pos ...

  8. android游戏翻译,百度翻译(Android)v2.5官方版最好的翻译官

    软件信息: 应用名称:百度翻译(Android)官方版最好的翻译官 应用大小:15M 应用版本:v2.5 软件介绍: 百度翻译是一款集翻译.词典.字典.情景例句于一身的翻译应用,支持离线翻译.语音翻译 ...

  9. 微软翻译使用AI来打破智能手机上的语言翻译障碍

    文章来源:ATYUN AI平台 微软将其神经网络翻译技术融入缺乏AI硬件的智能手机,该应用程序现在可以为iOS.安卓和亚马逊Fire设备提供更高质量的神经网络翻译服务. 4月21日开始,更新翻译器应用 ...

最新文章

  1. 火爆抖音!各路神仙齐唱《蚂蚁呀嘿》,带你探索背后的原理!
  2. Java中的双重检查锁(double checked locking)
  3. Hadoop Streaming编程实例
  4. python sklearn.learning_curve 什么是学习曲线?
  5. 二十万字C/C++、嵌入式软开面试题全集宝典二
  6. C语言再学习 -- 再论数组和指针
  7. python开发需要学什么_用Python进行web开发需要学习什么?
  8. GUI阅读字号和触点面积设计 (可用性设计)
  9. Istio的零停机滚动更新
  10. 六种让路由器与交换机更加安全的方法
  11. servlet和jsp页面过滤器Filter的作用及配置
  12. windows打开的winform当前焦点 是否是hwnd_推介几款 windows 下非常好用的工具
  13. word 代码_怎样在Word 中插入 C/C++ 代码
  14. [Laravel] mac下通过 homestead 搭建环境 到运行项目
  15. 别了 Java EE!开源组织将其更名为Jakarta
  16. CS224N笔记——Word Window分类与神经网络
  17. Win10系统80端口被系统进程占用
  18. LittleVGL-键盘控件
  19. 常用论文检查语法错误软件和网址
  20. 如何解决“被调用的对象已与其客户端断开连接“

热门文章

  1. 织梦dedecms怎么安装?如何本地环境搭建网站?
  2. JCenter 部署
  3. R语言与点估计学习笔记(EM算法与Bootstrap法)
  4. vue 左右滑动手机屏幕切换路由-touch事件
  5. 在利他的地基之上建立成功的大厦
  6. opengl蓝宝书读书笔记七
  7. 英语分析框架——1300个基本单词介绍
  8. python基础单词
  9. SVG DOM常用属性和方法介绍
  10. cad怎么转成pdf文件?3个方法教你实现cad转pdf