激励函数

  上一篇有提到激励函数,但只了解到用来引入非线性资料。可是什麽是非线性资料?sigmoid, tanh, Relu有什麽差别⋯⋯等等,因此这篇就详细介绍一下。

线性关系:在代数学和数学分析学中,如果一种运算同时满足特定的「加性」和「齐性」,则称这种运算为线性。
取自线性关系-维基百科

  也就是当输入值变动时,加性是输出值会以一定的数字加减来变动,则齐性是一定的倍数变动。以齐性举例来说,如果今天的时薪忽然从160元变成1600元,变成10倍,会让人很开心,但是全部物价也上涨10倍,就没什麽差别了,如果全部物价上涨5倍,这样还能控制自己目前的花费,而且也知道以前消费跟现在的差别。可是如果是非齐性的话,也就是薪水提升10倍,但是每个产品的价格增加不同,有5倍、10倍、15倍之类的,则就是非齐性,很难去控制自己的预算。
  类神经网路亦是这样,非线性资料输入了之後,可能只是调整一下参数,每一笔输出又都不一样,无法掌握到其中的逻辑,因此就难以掌控。所以才要转成线性资料来处理。
  如果以图形来看,线性以及非线性的关系就如同图(一):
https://ithelp.ithome.com.tw/upload/images/20211006/20140722GiHcmroSFq.png
图(一) 线性以及非线性的关系
  线性资料以及非线性资料的形成,是当资料一笔笔输入的时候,会分散在不同的座标位置上,机器学习的目的就是要找出其中的关联性,连成一条线。但是不可能把每个点跟点之间连接,因为这样关系会变得非常复杂,因此要取各点之间距离基准线最小的,来当作逻辑上的判断,所以大多数时候会非线性资料,很难有线性资料,因为非线性的准确率会比线性高很多。图(二)中若要线性的话则要形成蓝色的线,可是点与线会有很大的落差,若要减小则要形成红色的线,但就会是非线性资料,在训练上有一定难度,但点距离线会更近了一点。
https://ithelp.ithome.com.tw/upload/images/20211006/20140722JzZn0O7Ftz.png
图(二)线性与非线性的不同状况
  那麽激励函数是如何把非线性转换为线性呢?
  在非线性函数,找一条基准线,类似用投影的方式,变成线性的。可参考图(三)。这样能使类神经网路学习更为方便。
https://ithelp.ithome.com.tw/upload/images/20211006/20140722tZGWnRMXZF.png
图(三)激励函数如何把非线性转换为线性
  最後激励函数中,sigmoid, tanh, Relu有什麽差别?
  首先看到sigmoid, tanh, Relu这三个分别的数学代表式,如下图:
https://ithelp.ithome.com.tw/upload/images/20211006/20140722RfNmoIcEzY.png
图(四)sigmoid, tanh, Relu数学代表式。图片来源:深度学习:使用激励函数的目的、如何选择激励函数 Deep Learning : the role of the activation function
  在sigmiod中,主要会把任何图形映射在0、1之间,如果在做二分类会很方便,只要调整设定值,比如大於0.5就是1(程序上表示正确),小於0.5为0(程序上表示错误),但要注意这方式有可能会造成梯度消失,在梯度下降法篇中最後一张图就是梯度消失问题。而且实际上电脑计算不容易,因为要用到指数,若资料或层数复杂时,则可能无法有效率的进行运算。
  则tanh函数,是sigmoid向下平移、收缩的结果,其原理差不多,因此也会有共同的缺点。
  最後Relu是最常被使用的,因为它模拟出一般生物上在遇到问题时,有些神经元并不会有反应,维持0的状态,只会在有需要被使用的时候,才会有反应。再来可以不需要用到指数计算,只要判断是否大於0即可。也能克服梯度消失问题,还能避免类神经网路的稀疏性等问题。因此若需要进行类神经网路训练的时候,最好使用Relu比较方便。


<<:  D3JsDay21笔画面量彩色图,涂色彩亮面画笔—地理面量图(下)

>>:  学习笔记:一起进入 PixiJS 的世界 (二)

Android学习笔记10

今天来用kotlin实作一个BaseActivity,方便以後跳页传值使用 fun start(ne...

进击的软件工程师之路-软件战斗营 第十九周

学习进度 Android Studio (以下功能皆为自学) RelativeLayout Date...

用两支 API 实作新增资料与上传档案

实作新增资料与上传档案有两种做法 开一支 API 处理新增使用者,设定成 multipart/for...

DAY1-凡事起头难

前言: 总共104天的暑假要到来~离开学日子还很遥远我们这一个世代每天都要面对如何用力痛快的 学习...

Day 23 ATT&CK for ICS - Lateral Movement(1)

横向移动 攻击者尝试从进入工控网路的其中一个设备,横向移动到另外一台设备中。 T0812 Defau...