----人工神经网络----
#人类神经系统原理
#人类神经系统

----ANN----
#ANN=Artificial Neural Networks,人工神经网络
#神经元——感知器

----名词----
#输入节点
#输出节点
#权向量
#偏置因子
#激活函数
#学习率

----例子----
#建立数据
>x1=c(1,1,1,1,0,0,0,0)
>x2=c(0,0,1,1,0,1,1,0)
>x3=c(0,1,0,1,1,0,1,0)
>y=c(-1,1,1,1,-1,-1,1,-1)

----自学习算法----

----多层前馈神经网络----
#隐藏层与隐藏节点
#前馈 —— 每一层的节点仅和下一层节点相连

----单个感应器无法解决的问题----

----各种激活函数----

----使用R语言实现人工神经网络----
#安装AMORE包。 AMORE文档中的一段样例(p12)
>library(AMORE)
# P is the input vector
>P<- matrix(sample(seq(-1,1,length=1000), 1000, replace=FALSE), ncol=1)

# The network will try to approximate the target 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.
# The hidden layers have got Tansig activation functions and the output layer is 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")

----实验----
#改造样例代码,解决之前的问题
>P=cbind(x1,x2,x3)
>target=y
>net <- newff(n.neurons=c(3,1,1), learning.rate.global=1e-2,momentum.global=0.4,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)
>z<-sim(result$net, P)
>z
>y

----人工神经网络应用举例----
#用BP神经网络处理非线性拟合问题

#随机抽选2000个样本。 1900个作为学习集,100个作为验证集
#先使用2-5-1类型的BP神经网络进行训练和拟合(输入2节点、输出1节点、隐藏层5个神经元)
#建立神经网络模型并用学习集进行训练

#存在较大误差(拟合不足?)
#需要结构更加复杂的神经网络
#使用双隐含层神经网络,每层5节点

----影响精度的因素----
#训练样本数量
#隐含层数与每层节点数。层数和节点太少,不能建立复杂的映射关系,预测误差较大。但层数和节点数过多,学习时间增加,还会产生“过度拟合”的可能。预测误差随节点数呈现先减少后增加的趋势。
#激活函数的影响

--课后
#作业:把上述例子用R语言实现
#构想中的数据挖掘比赛

----Hopfield神经网络----
#人类的联想记忆能力
#Hopfield人工神经网络能模拟联想记忆功能,曾被誉为人工神经网络方法的以此革命和再生
#Hopfield人工神经网络按动力学方式运行

----应用:OCR----

----OCR的思路----
#把图像信息数字化为1和-1二值矩阵
#标准图样生成的矩阵作为Hopfield网络的目标向量
#生成Hopfield网络
#使用带噪音的矩阵测试
#输出已经降噪,再和标准目标矩阵(向量)比对,找出最接近者

----神经网络方法的优缺点----
#可以用统一的模式去处理高度复杂问题
#便于元器件化,形成物理机器
#中间过程无法从业务角度进行解释
#容易出现过度拟合问题

----参考书----
#《神经网络设计》 ,机械工业出版社
#《神经网络与机器学习》 ,机械工业出版社
#《人工神经网络理论、设计及应用》 ,化学工业出版社
#《MATLAB神经网络30个案例分析》 ,北京航空航天大学出版社

 



 

posted on 2018-01-15 10:48  EleanorInHarbin  阅读(123)  评论(0编辑  收藏  举报