机器学习课次BP神经网络及综合练习_第1页
机器学习课次BP神经网络及综合练习_第2页
机器学习课次BP神经网络及综合练习_第3页
机器学习课次BP神经网络及综合练习_第4页
机器学习课次BP神经网络及综合练习_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

彭辉94031097(QQ)机器学习MachineLearning神经网络(BP神经网络&综合练习)任务目标素质目标团队协作学会学习实践创新BP神经网络背景使用sklearn库的神经网络,根据以下数据完成模型的训练和测试。BP神经网络BP神经网络基本概念BP神经网络(BackPropagationNetwork)是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络。BP神经网络的基本思想是梯度下降法,利用梯度搜索技术,以期使网络的实际输出值和期望输出值的误差均方差为最小。

算法包括信号的前向传播和误差的反向传播,即计算误差输出时,按从输入到输出的方向进行;而调整权值和阈值时,按从输出到输入的方向进行。BP神经网络BP神经网络基本概念(续)正向传播时,输入信号通过隐含层作用于输出结点,经过非线性变换,产生输出信号,若实际输出与期望输出不相符,则转入误差的反向传播过程。误差的反向传播是将输出误差通过隐含层向输入层逐层反传,并将误差分摊给各层所有单元,以从各层获得的误差信号作为调整各单元权值的依据,所以称该算法为误差反向传播算法。BP神经网络BP神经网络算法描述给定训练集 ,即输入示例由

个属性描述,输出

维实值向量. 为方便讨论,给定一个拥有

个输入神经元,个输出神经元,个隐层神经元的多层前向前馈网络结构.记号:

:输出层第

个神经元阈值;

:隐含层第

个神经元阈值;

:输入层与隐层神经元之间的连接权重;

:隐层与输出层神经元之间的连接权重;BP神经网络BP神经网络算法描述(续)

对于样例,假设网络的实际输出为前向计算

根据隐层输入计算隐层输出(输出层输入):

根据隐层输出(输出层输入)得到输出层输出:

样本均方误差:计算误差激活函数BP神经网络BP神经网络算法描述(续)详细参数权重参数:,

阈值参数:, 参数总数:输入层到隐层权值数:d*q隐层到输出层权值数:q*l隐层神经元阈值数:q输出层神经元阈值数:l

BP是一个迭代学习算法,在迭代的每一轮中采用广义的感知机学习规则对参数进行更新估计,任意的参数的更新估计式为详细更新(优化)BP神经网络BP神经网络参数调整网络训练目标:找出合适的权值和阈值,使得误差

E最小参数调整策略:BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整.BP神经网络BP神经网络参数调整(续)参数调整策略:BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整.由对误差,给定学习率,进行参数的调整。“链式法则”(1)(2)(3)BP神经网络BP神经网络参数调整(续)令(1)更新参数w(2)更新参数θ(3)更新参数v(4)更新参数γBP神经网络BP神经网络参数调整(续)BP神经网络BP神经网络训练过程输入:训练集数据、学习速率yita过程:在(0,1)范围内随机初始化网络中所有连接权和阈值repeat根据网络输入和当前参数计算网络输出值y计算输出层神经元梯度项gj计算隐层神经元梯度项eh更新连接权值和阈值until达到停止条件输出:连接权值和阈值BP神经网络Sklearn中的神经网络开发库分类器:sklearn.neural_network.MLPClassifier回归器:sklearn.neural_network.MLPRegressorBP神经网络

练习:使用sklearn库的神经网络,根据以下数据完成模型的训练和测试。BP_network_sklearn_regressor.pyfromsklearn.neural_networkimportMLPRegressor

importpandasaspd

importnumpyasnp

data=pd.read_csv(r"E:\机器学习_教学\cankao\taidi_ml\Python机器学习实战-数据&代码\5神经网络\BPdata_tr.txt")

data_te=pd.read_csv(r"E:\机器学习_教学\cankao\taidi_ml\Python机器学习实战-数据&代码\5神经网络\BPdata_te.txt")

X=data.iloc[:,:2]

y=data.iloc[:,2]

test_X=data_te.iloc[:,:2]

test_y=data_te.iloc[:,2]

mlp=MLPRegressor()

mlp.fit(X,y)

pre=mlp.predict(test_X)

err=np.abs(pre-test_y).mean()#模型预测误差

errBP神经网络背景

使用python编程,通过梯度下降法来计算BP神经网络求解参数的过程。BP_network_python_realize1取一个样本训练一次并更新参数.pyBP神经网络-Python实现训练集数据:BPdata_tr.txt测试集数据:BPdata_te.txtBP神经网络实现

x1x2y00.290.230.1410.500.620.6420.000.530.2830.210.530.3340.100.330.1250.060.150.0360.130.030.0270.240.230.1180.280.030.0890.380.49?100.290.47?2-4-1BP神经网络-Python实现BP神经网络实现隐层神经元的输入权值隐层神经元的阈值(对-1的权值)输出神经元的输入权值输出神经元的阈值输入神经元输出层的输入网络的输出BP神经网络-Python实现defsigmoid(x):#映射函数

return1/(1+np.exp(-x))映射函数BP神经网络-Python实现中间层神经元输入和输出层神经元输入Net_in=np.array([0,0,-1])

Out_in=np.array([0,0,0,0,-1])BP神经网络-Python实现w_mid=np.zeros([3,4])

w_out=np.array([0.3,0.3,0.3,0.3,0.3])

delta_w_mid=np.zeros([3,4])

delta_w_out=np.array([0,0,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论