• 神经网络之激活函数


    前面的博客激活函数简要的了解了一下什么是激活函数,现在在正则化和神经网络模块化中突然遇到了激活函数,所以下面主要讲解一下我对激活函数的理解;

    def forward(x, regularizer):#前向传播
        
        w1 = get_weight([2,11], regularizer)#设置权重    
        b1 = get_bias([11])#设置偏执
        y1 = tf.nn.relu(tf.matmul(x, w1) + b1)#计算图
    
        w2 = get_weight([11,1], regularizer)#设置权重
        b2 = get_bias([1])#设置偏执
        y = tf.matmul(y1, w2) + b2 #计算图
        
        return y#返回值

                在前面代码y1 = tf.nn.relu(tf.matmul(x, w1) + b1)中,用到了激活函数 tf.nn.relu();

    那什么是激活函数呢?

    如上图,在y=h(b=w1x1+w2x2)中引入了一个激活函数h(x);将y由原来的判断b=w1x1+w2x2是否大于0改为判断h(x)中x的值是否大于0,而x的值则由w1x1+w2x2来决定,这就引入了激活函数;

    激活函数:在于决定如和来激活输入信号的总和;

                          那激活函数的作用又是什么?应该选取什么样的激活函数呢?

    首先,激活函数一般选取非线性函数,激活函数的作用:就是引入非线性激活因素,提高模型抗干扰能力

                 我们来看看引入线性的激活函数会怎么样,如下图

     会发现,如果是线性函数,则不管引入几层,最后还是一个形如最开始的线性激活函数。

     下面简要介绍一下各个激活函数;

  • 相关阅读:
    linux 读写文件 open write lseek的API和应用
    gdb 常用命令
    makefile
    c/c++ 动态库与静态库的制作和使用
    linux 常用命令
    c/c++ 网络编程 陈硕老师视频理解之ttcp
    emacs 高亮
    初识HMTL标签
    Java集合基于JDK1.8的ArrayList源码分析
    Java提高篇——equals()与hashCode()方法详解
  • 原文地址:https://www.cnblogs.com/fcfc940503/p/10971685.html
Copyright © 2020-2023  润新知