plot函数_神经网络激活函数(Activation Function)

425e7ceec0365517af56ab982b94da0c.png

激活函数的作用是什么?常见激活函数有哪些?

从多元线性回归说起

“线性回归”一节介绍过一元线性回归和多元线性回归,一元线性回归的公式为:

,多元线性回归的公式为:
,或者写成向量形式
,用图形化的形式可以表示为:

12b299d16c8491e4edaeb472432aab90.png
线性单元

多元线性函数可以看做多个一元线性函数的加和,但遗憾的是多个线性函数的加和仍然仍然是线性的,无法拟合诸如抛物线、正余弦曲线等非线性的函数。有没有一种方法可以将线性函数变成非线性呢?答案是肯定的,这类函数统称为“激活函数”。

常见激活函数

激活函数一个将线性空间向非线性空间映射的函数,用以增强神经网络的表达能力。常见的激活函数包括:sigmoid, relu, tanh,softplus等,他们的公式如下:

用python画出函数曲线:

import numpy as np
import matplotlib.pyplot as plt

def sigmod(x):
    return 1. / (1. + np.exp(-x))

def relu(x):
    return np.maximum(x, 0)

def tanh(x):
    return np.tanh(x)

def softplus(x):
    return np.log(1.+np.exp(x))

x = np.arange(-8, 8, 0.2)
plt.plot(x, sigmod(x), label='sigmod')
plt.plot(x[:48], relu(x[:48]), label='relu')
plt.plot(x, tanh(x), label='tanh')
plt.plot(x[:50], softplus(x[:50]), label='softplus')
plt.legend()

b47db72d96f9514a8346c56ab62c2f26.png
常见激活函数曲线

激活函数的应用

再来回顾多元线性回归的公式:

12b299d16c8491e4edaeb472432aab90.png
线性单元

上图中这一组称作一个线性单元,在线性单元的输出之后加一个激活函数,可以将线性函数变换成非线性函数:

6aa721fc3fa6d6949a896cd673e83680.png
阈值单元

经过这种变换之后再将激活函数的输出作为下一个单元的输入,这样经过多次组合就能拟合出任意复杂的函数了。这样的复杂组合就是神经网络。

通常神经网络的隐藏层采用relu作为激活函数,输出层常常采用softmax。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值