什么是sigmoid函数,看看官方解释,以及他长成这个样子。
Sigmoid函数是一个在生物学中常见的S型的函数,也称为S型生长曲线。[1] 在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间。
上面说了一大堆,感觉懂了,哈哈~可是,博主问题来了,这个跟AI,跟机器学习有神马关系?
我也是看了很久doctor wu的视频以及查找资料后,才了解为啥用这个函数。大家共勉吧,没有数学底子就是耗费时间。
1. 博主一开始想用自己的例子来说明,但是发现,比起doctor wu的例子来说,太弱鸡了,所以还是用大神的例子。
从这里我们可以看到,一张图片,通常有RBG三种矩阵来组合,让我想起了“红黄蓝,罗生门事件”,扯远了,那么,对于上面这张可爱小猫的图片,我们可以将他们所有的颜色矩阵,写入一个特征矩阵里面,称为X,也就是将所有的值填进去,然后这个矩阵就称为nx维矩阵,那么,不仅仅只有这一张图片,我们可能有几百,几亿种图片,那么就需要建立以下的一个矩阵
2. 好了,其实说了这么一大轮的东西,这个跟sigmoid函数有什么关系呢?你只是说将这一张可爱的小猫图片,变成RBG的方式展示,然后将RBG参数写入多维矩阵,没了?各位看官,请莫要急。第一步,我们肯定要将我们所见到的东西转为数学方式,然后再进行观察与计算。如上图所示,其实说白了,就是通过X,去求导Y。如果简单来说,就像是一个一元一次方程式,yeah,听起来非常简单。y=kx+b,对吧。函数图如下所示。下图展示了当k=1,b=0。但是问题来了,我们的y值在这个函数图里面,是没有上下限的,很明显,作为判断这张图片是否为猫猫的时候,我们的概率取值范围只有0~1,
首先我们先针对的是线性的情景。如下图所示(左边,右边是非线性的,暂时可以忽略)
那么这时候sigmoid函数就诞生了(此处诞生忽略几十万字),
sigmoid函数的本质就是y=1/(1+e^-x),y的取值范围在0~1之间,x可以有无穷的选项。而且该函数连续不间断,效率极高(后面这段博主没有验证过,因为不懂如何验证效率高,因此采用了sigmoid)。sigmoid函数其本质并非是一个线性函数,但是他的理论依据又是来源于线性函数。能够很好解决0/1问题。其函数图像与第一张图片一致。所以,博主理解的sigmoid函数就是,如果采用二元法去判断一个事物/场景的准确性,要么是,要么不是,是的概率是多少,不是得概率是多少。这样子,我们就采用sigmoid函数进行计算。
备注:所说的逻辑回归模型,也是LR模型,用的就是sigmoid函数,都是一个意思。
在下一节,我们将会对损失函数,成本函数进行解释。