栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python3机器学习实践:BP神经网络理论与实例

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python3机器学习实践:BP神经网络理论与实例

fig.png

  • 符号说明

  1. 神经网络的层数m,也就是包括一个输入层,m-2个隐层,一个输出层;

  2. 输入层为I,其节点数等于单个样本的输入属性数N_i;
    隐层输出为Hh,h为1到m-2,每一个隐层的节点数为Nh;
    输出层为O,其节点数等于单个样本的输出属性数N_o;
    样本真实输出为R;

  3. 层之间连接的权重为Wq,q为0到m-2,Wq矩阵的大小为(g, t), g为该隐层前一层的节点数,t为该隐层的节点数;
    对应的偏置为Bq,Bq矩阵的大小为(1, t), t为该隐层的节点数;

  4. 隐层的激活函数Ah,h为0到m-2。每一层的激活函数可以不同,但是大多数情形下设置为相同的;

    常用的激活函数:Sigmoid,Tanh,ReLu。选择激活函数时一定要注意:输出层激活函数的输出尺度一定要和样本的输出数据是同一尺度。例如Sigmoid的输出是0-1,因此样本的输出也应该转化到0-1之间

  5. 输出层O与样本真实输出R之间的成本函数C,回归问题用最小二乘函数, 分类问题用交叉熵函数;

  6. s为子样本数,也就是一次训练过程中的样本数。当s为1是在线学习;当s为k,也就是全部样本数,为增量学习;s为小于k的其他数值为批量学习,比较常用;

  7. 运算符号说明+为numpy数组的广播运算加法;×为矩阵对应元素相乘;表示矩阵乘法;

网络结构图

nnstruct.png


样本数据说明

data.png


正向传播过程

forward.png


反向传播过程



  • 回归问题

    reg.png



  • 分类问题

    class.png

梯度下降

gradient.png

image


回归实例:北京市Pm2.5预测



  • 训练结果

    ten_train.png



  • 预测结果

    ten_predict.png

分类实例:Mnist手写数字识别(多类别)



  • 训练结果

    tensorflow.gif



  • 预测结果

    ten_mnist.jpg



作者:AiFan
链接:https://www.jianshu.com/p/779967c3baa7

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/221234.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号