首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

轻松机器学习-神经元激活函数

每天机器学习,轻松人工智能!

---作者

前面谈到过,有时候需要一个阈值来决定神经元的输出,比如给汽、水、冰分类,水温超过100就是汽,0-100之间是水,小于0是冰,0和100都是阈值,这个阈值称为激活函数。这个阈值的引入把线性的函数变成了非线性的了。什么是非线性?看下面的图形,肯定左边的是线性的,右边是非线性的。

线性可分与不可分

再深入一点说,我们用阈值是因为线性模型的表达能力不够。某些数据是线性可分的,意思是,可以用一条直线将数据分开。比如下面的图中,同种颜色为同类数据,只要找到一条合适的线性方程,一条直线就分开了数据。

但是有些数据不是线性可分的。比如如下数据:

这四个数据就没有办法画出一条直线来将他们分开。所以,神经元中引入非线性函数是必要的,阈值函数是最简单的激活函数。

示例:单相思的分类

再举一个爱情情感的例子:

一对男女,如果男方单方面喜欢女方,或者女方单方面喜欢男方,就属于单相思,如果互相一见钟情或者都没有感觉,就不是单相思。这是一个典型的异或问题(XOR)。可以做成一个表:

喜欢对方用1表示,不喜欢用0表示。分类中1表示单相思,0表示其它。这个真值表不是线性可分的,不能使用一个直线分开红色和蓝色圆圈。如图所示:

我们可以设计一种神经网络,通过激活函数来使得这组数据线性可分。激活函数还是选择阀值函数,神经网络示意图如下:

这次我们用了两个神经元,分为输入、中间、输出三层,其中直线上的数字为权重w。圆圈中的数字为阀值。中间层中如果输入大于1.5则输出1,否则0;输出层中如果输入大于0.5,则输出1,否则0。

我们来一步一步地算,其中带有↗是表示激活的。

可以看到灰色背景的两行就是单相思类别的输出。

常用的激活函数

总而言之,激活函数可以引入非线性因素,解决线性模型所不能解决的问题。激活函数不是只有阈值函数,还有很多可用的函数。下面介绍几个常用的。

阈值函数

这就是一直举例的最简单形式的阈值函数。当达到阈值的时候神经元被激活。

Sigmoid函数

Sigmoid函数的特点是会把输出限定在0~1之间,如果是非常大的负数,输出就是0,如果是非常大的正数,输出就是1。

tanh函数

tanh是Sigmoid函数的变形,tanh的均值是0,在实际应用中有比Sigmoid更好的效果。

ReLU

ReLU(热撸函数)是近来比较流行的激活函数,当输入信号小于0时,输出为0;当输入信号大于0时,输出等于输入。

其它更多的激活函数不再介绍,可以参考下面的表。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180425G0YX9U00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券