• [3] TensorFlow 深层神经网络


    深层神经网络
    简称为深度学习有两个非常重要的特性
    1. 多层
    2. 非线性

    线性模型的局限性 :例如前面的神经网络有两层(不算输入层),但是它和单层的神经网络井没有区别,任意线性模型的组合仍然还是线性模型,然而线性模型能够解决的问题是有限的

    下面用TensorFlow Playground来演示 线性模型的局限性

    还是以判断零件是否合格为例,输入为 X1 和巧,其中 X1 代表一个零件质量和平均质量 的差, X2代表一个零件长度和平均长度的差。 假设一个零件的质量及长度离平均质量及长度越近,那么这个零件越有可能合格

    蓝色的点代表合格的零件,而黄色的点代表不合格的零件。可以看到虽然蓝色和黄色的点有一些重合,但是大部分代表合格零件的蓝色点都在原点(0,0)的附近,而代表不合格零件的黄色点都在离原点相对远的地方。 这样的分布比较接近真实问题,因为大部分真实的问题都存在大致的趋势,但是很难甚至无法完全正确地区分不同的类别,下面我们用线性模型尝试着去解决这个问题

    顶部 (Activation) 选择线性(Linear)

    这和前面设定的神经网络结构是基本一致的,通过模型训练100+轮候,在最右边可以看到训练结果

     从左到右有隐约有数条分界线,说明这个模型只能用直线来划分平面,对于这种环形的分布是不适用的 (属于线性不可分问题)

    而把数据切换成Gaussian高斯分布

    在线性可分问题中,线性模型就能很好区分不同颜色的点。而在更复杂的问题中,往往是无法通过直线(或者高维空间的平面)划分的, 现实世界中,绝大部分的问题都是无法线性分割的。

    回到判断零件是否合格的问题, 如果将激活函数换成非线性的,比如ReLU激活函数,神经网络模型就可以很好的区分不同颜色的点(零件)了

    激活函数实现去线性化
    如果将每一个神经元\

  • 相关阅读:
    hashlib加密算法
    gc 模块常用函数
    functools函数中的partial函数及wraps函数
    ctime使用及datetime简单使用
    __new__方法理解
    __getattribute__小例子
    == 和 is 的区别
    线程_可能发生的问题
    线程_进程池
    【网站】 简单通用微信QQ跳转浏览器打开代码
  • 原文地址:https://www.cnblogs.com/clemente/p/10263607.html
Copyright © 2020-2023  润新知