【机器学习】径向基(RBF)神经网络的tensorflow实现

本文详细介绍了如何利用Tensorflow实现径向基(RBF)神经网络,从Tensorflow的基础概念如计算图和Session会话开始,逐步解析RBF神经网络的构建过程,包括需要的tensorflow函数如tf.tile()、tf.subtract()等,并提供了完整的Python代码示例,展示了在特定参数设置下达到0.9725训练准确率的结果。
摘要由CSDN通过智能技术生成

一、tensorflow简介

1.1、基础概念

1.1.1计算图

Tensorflow是一个基于计算图(数据流图)的的数值计算系统,计算图是一个有向图,图中的节点代表数学计算操作的算子(函数),节点之间连接的边代表参与计算的高维数组数据。计算图本质上就是构造模型数据的前向流动路径(参考文献【1】)。

1.1.2 Session会话

前面介绍了计算图是构造模型数据的前向流动路径。Session是驱动Tensorflow系统执行计算的交互入口,Session负责完成多计算设备或集群分布式的节点布置和数据传输节点的添加,负责将子图分配给相应的执行器单元来运行。是不是没看懂,我们换言之,Session会话会根据上述前向计算图来反向传播优化模型参数(参考文献【1】)。

1.2、应用流程

步骤一:构建计算图
(1)、声明样本特征和标签的占位符
(2)、声明模型参数
(3)、构造计算图
(4)、声明代价函数和寻优算法
步骤二:以tf.Session()为入口训练模型参数

二、RBF神经网络的tensorflow实现

本人之前的博文(参考文献【2】)已经介绍过RBF神经网络的网络结构、前向传播计算误差和反向传播计算模型参数。反向传播需要计算损失函数对各个参数的偏导,采用梯度下降算法不断迭代获得最优的模型参数。但是因为损失函数对各个参数的偏导计算比较复杂,所以在本人的上一篇博文中介绍的RBF神经网络是简化的版本,输出层的激活函数采用线性函数 y = x y=x y=x,而不是分类效果更好的sigmoid函数。为了避免需要手动推导损失函数对各个参数的偏导,本博文介绍采用tensorflow框架构建RBF神经网络的方法。首先介绍构建RBF神经网络需要用到的几个tensorflow函数,然后根据tensorflow的应用流程介绍RBF神经网络的构建方法。

2.1、需要介绍的tensorflow函数

t f . t i l e ( ) tf.tile() tf.tile()表示平铺复制一个已知矩阵(参考资料【3】)。
t f . s u b t r a c t ( ) tf.subtract() tf.subtract()表示tensorflow中算术运算中的减操作(两个矩阵中对应元素各自相减)。
t f . s q u a r e ( ) tf.square() tf.square()表示对给定对象中的每一个元素求平方。
t f . r e d u c e s u m ( ) tf.reduce_sum() tf.red

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值