文章目录

  • 复杂度
  • 学习率
  • 激活函数
  • 损失函数

复杂度

  1. 空间复杂度(用层数和待优化的参数个数表示)

    1. 层数 = 隐藏层的层数+1个输出层(输入层不算)
    2. 总参数 = 总w + 总b
  2. 时间复杂度:
    乘加运算次数

学习率

学习率是一个超参数,根据经验来设定,学习速率调得太低,训练速度会很慢,学习速率调的过高,每次迭代波动会很大,再反向传播的过程中会更新权值w

指数衰减学习率:可以先用较大的学习率,快速得到较优解,然后逐步减小学习率,使模型再训练后期稳定。
指数衰减学习率 = 初始学习率 * (学习率衰减率^(当前轮数/多少轮衰减一次))

激活函数

  1. 激活函数的定义:
    激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端

  2. 为什么要有激活函数
    如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机。
    如果使用激活函数,激活函数给神经元引入了非线性因素,使得神经网络可以逼近人任何非线性函数,这样神经网络可以用到多种非线性的模型中。

  3. 常用的激活函数

    1. Sigmoid函数


      特点:

      1. 容易造成梯度消失
      2. 输出非0均值,收敛慢
      3. 幂运算复杂,训练时间长
    2. Tanh函数


      特点:

      1. 输出均值是0
      2. 易造成梯度损失
      3. 幂运算复杂,训练时间长
    3. Relu函数


      优点:

      1. 解决了梯度消失问题(在正区间)
      2. 只需判断输入是否大于0,计算速度快
      3. 收敛速度远快于sigmoid和tanh

      缺点:

      1. 输出非0均值,收敛慢
      2. Dead RelU问题:某些神经元可能永远不会被激活,导致相应的参数永远不能被更新(不会被激活的原因:在负区间,输入特征为0,在进行反向传播的时候,梯度一直为0,不会进行参数的更新)
    4. Leaky Relu函数


      理论上讲,leaky Relu函数解决了输入特征为负区间的问题,但是在实际操作中,多用Relu函数

  4. 总结:(对于初学者)

    1. 首选relu激活函数
    2. 学习率设置较小值
    3. 输入特征标准化,即让输入特征满足以0为均值,1为标准差的正态分布
      初始参数中心化,即让随机生成的参数满足以0为均值,2当前层输入特征数\sqrt \frac{2}{当前层输入特征数}当前层输入特征数2​​为标准差的正态分布

损失函数

损失函数表示的是预测值y与标准答案y_的差距,损失函数可以定量判断w、b的优劣,当损失函数输出最小时,参数w、b会出现最优值

常用的损失函数:

  1. 均方误差mse

    loss_mse = tf.reduce_mean(tf.square(y - y_))

  2. 自定义损失函数(根据实际情况进行自定义,相当于自己建立模型)
    如预测商品销量,预测多了,损失成本;预测少了,损失利润。若利润不等于成本,则mse产生的loss无法利益最大化
    自定义损失函数

    loss_zdy = tf.reduce_sum(tf.where(tf.greater(y,y_),COST (y - y_),PROFIT(y_-y)))

  3. 交叉熵损失函数CE(Cross Entropy):表征两个概率分布之间的距离

    Tf.losses.categorical_crossentory(y_,y)
    例子:已知答案y_=(1,0) 预测y1=(0.6,0.4) y2=(0.8,0.2) 哪个更接近标准答案?

     softmax与交叉熵结合输出先过sofimax函数,再计算y与y_的交叉熵损失函数tf.nn.softmax_cross_entropy_with_logits(y_,y)
    

下面的是笔者的微信公众号,欢迎关注,会持续更新c++、python、tensorflow、机器学习、深度学习等系列文章
                  

Tensorflow2.1基础知识---复杂度、学习率、激活函数、损失函数相关推荐

  1. TensorFlow2.x 常用知识

    TensorFlow2.x 常用知识 1. 简介 1.1 损失函数 1.1.1 MSE 1.2 梯度消失 1.3 常用激活函数 1.3.1 ReLU 1.3.2 Sigmoid 1.3.3 Softm ...

  2. 总结1-深度学习-基础知识学习

    [小记]下采样和池化的区别:  池化的神解释: 池化 = 涨水 池化的过程 = 升高水位(扩大矩阵网格) 池化的目的是为了得到物体的边缘形状.可以想象水要了解山立体的形状,水位低时得出山脚的形状,水位 ...

  3. 大数据技术之_17_Storm学习_Storm 概述+Storm 基础知识+Storm 集群搭建+Storm 常用 API+Storm 分组策略和并发度

    大数据技术之_17_Storm学习 一 Storm 概述 1.1 离线计算是什么? 1.2 流式计算是什么? 1.3 Storm 是什么? 1.4 Storm 与 Hadoop 的区别 1.5 Sto ...

  4. 神经网络基础知识、常用激活函数及其Python图形绘制

    在人工智能与机器学习研究与应用领域,神经网络占有重要地位.神经网络(Neural Networks, NNs),又称人工神经网络(Artificial Neural Networks, ANNs),是 ...

  5. 深度学习基础知识整理

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/kwame211/article/details/81165381 本文是在七月的BAT机器学习面试1 ...

  6. 快速了解机器视觉(CV)基础知识

    最近再查一些基础知识的时候看见了几篇文章写得很棒(在这篇文章的结束我会给出参考链接),然后我把他们整合了一下,跟大家分享,希望能有帮助: 1.计算机视觉领域四大基本任务中的应用: a.图片分类 b.目 ...

  7. 秋招准备-基础知识篇(正更)

    秋招准备-基础知识篇 深度学习 介绍优化器以及如何优化.包括SGD, Momentum,Adagrad,RMSProp,Adam. 欠拟合和过拟合.解决方法. 损失函数.BCE loss和softma ...

  8. 深入理解深度学习——GPT(Generative Pre-Trained Transformer):基础知识

    分类目录:<深入理解深度学习>总目录 相关文章: · GPT(Generative Pre-Trained Transformer):基础知识 · GPT(Generative Pre-T ...

  9. 基于人脸的常见表情识别(1)——深度学习基础知识

    基于人脸的常见表情识别(1)--深度学习基础知识 神经网络 1. 感知机 2. 多层感知机与反向传播 卷积神经网络 1. 全连接神经网络的2大缺陷 2. 卷积神经网络的崛起 卷积神经网络的基本网络层 ...

最新文章

  1. mysql安装图解 mysql图文安装教程(详细说明)
  2. OpenDayLight Helium实验三 OpenDaylight二层转发机制实验
  3. 篝火怎么做_上世纪的“Dyatlov事件”到底是怎么一回事儿,真是未知力量吗?...
  4. H5开发的web APP和原生APP的区别
  5. 工具包:Safetype Config使用
  6. 完全跨域的单点登录(SSO)解决方案源码解析
  7. static用法报错解决:cannot declare member function to have static linkage [-fpermissive]
  8. ZOJ 1914 Arctic Network
  9. 【网络通讯开发系列】如何使用C语言编程通过UDP通讯解析域名
  10. 软件项目开发流程及人员职责
  11. python编程 迷你世界_迷你世界迷你编程下载
  12. Thread--线程创建的三种方式
  13. windows 系统防火墙 添加端口号方法
  14. 园林工程计算机教程,园林设计全攻略电子教程第1章 园林设计与计算机制图.ppt...
  15. 小白学java之车辆管理系统,超基础!
  16. Acunetix Web Vulnerability Scanner使用指导书
  17. C++面向对象编程题 第23题
  18. 八个产品经理接私活的平台,你有技术就有钱
  19. ipad分屏功能怎么用_支付宝晚点付怎么用 晚点付是什么功能使用说明
  20. Moment.js (JavaScript 日期处理类库)

热门文章

  1. 电脑店 XP 软件选择版 V13.7
  2. 页面嵌iframe标签,给iframe标签里的按钮添加点击事件
  3. 关于139邮箱的技术问题
  4. macOS 查验国家税务总局发票
  5. Linux 查看文件句柄信息
  6. 2020码农干货铺(原SAP干货铺)公众号文章清单
  7. select标签设置multiple属性,如何获取值
  8. 网络显示连接,但是无法打开网页的解决方法
  9. 基于SpringBoot的口腔保养管理系统
  10. BOX2d 系列:绘制曲线