ANN(Artificial Neural Network)人工神经网络
# 参考:
# https://zhuanlan.zhihu.com/p/26639584
# https://zhuanlan.zhihu.com/p/26658226
# https://beckmw.wordpress.com/2013/11/14/visualizing-neural-networks-in-r-update/
##############在R中,B-P反向传播网络算法的实现主要集中在neuralnet和nnet这两个包中###############
##############neuralnet#########################
#################################
# 输入:
# neuralnet(formula, data, hidden = 1, threshold = 0.01,stepmax = 1e+05,
#+ rep = 1, startweights = NULL, err.fct = "sse",linear.output = TRUE,
#+ learningrate=NULL,algorithm = "rprop+")
# hidden:用于指定隐层数和隐节点个数,默认值为1(即为1个隐层和1个隐节点),若hidden=c(3,2,1),
# 则表示第1至第3个隐层分别包含3,2,1个隐节点
# threshold:用于指定迭代停止条件,当权重的最大调整量小于指定值(默认0.01)时迭代终止
# stepmax:同样用于指定迭代停止条件,当迭代次数达到指定次数(默认100000次)时迭代终止
# err.fct:用于指定损失函数L的形式,"sse"表示损失函数为误差平方,"ce"表示为交互熵
# linear.output