sigmod函数的定义
表达式:
在百度上sigmod函数是这么描述的:sigmoid函数也叫Logistic函数,用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类。在特征相差比较复杂或是相差不是特别大时效果比较好。Sigmoid作为**函数有以下优缺点:
优点:平滑、易于求导。
缺点:**函数计算量大,反向传播求误差梯度时,求导涉及除法;反向传播时,很容易就会出现梯度消失的情况,从而无法完成深层网络的训练。
(所以对于其缺点我们可以使用ReLU函数去替代掉,这一块还没有太来得及深入研究,暂且按下不表)
sigmod函数的图像
为什么要使用sigmod函数
一个很直观的感受就是,sigmod函数可以将R范围的数映射到(0,1)区间上。而这便与倾向于是哪一种类别的概率p相关联起来。
另外还有一点很神奇的是,sigmod函数的导数是可以直接由自己来表示的,这在神经网络的反向传播的求导中起了大用途
(随时再有感受随时更新)
常规用法
我们一般将sigmod(logistic)函数套在回归模型上,变成logistic回归。
比如对于线性回归模型,我们便可以复合上一个sigmod函数,将其投射到(0,1)
sigmod函数的损失函数(Lost function)
我们输入一组数据{(x(1),y(1)),(x(2),y(2)),(x(3),y(3))…(x(n),y(n))},想要通过模型得到预测a(i),使得a(i)≈y(i)
然后我们定义对于每一组的Lost function如***意是对于每一组预测值a(i)≈y(i)而言的):
为什么要这么定义,为什么不用貌似看起来更加直接的,我们在回归模型中使用过的呢
原因是简单的平方代价函数会使的函数图像趋于多点最优,在使用梯度下降法时会遇到困难。而新定义的损失函数则会使得函数是一个凸函数,不会陷入局部最优。(这里埋个坑,等做作业的时候实验一下图象是什么样的多点局部最优)
小结
这一部分开了一些sigmod函数的坑,但是现在还没有太深入,所以先说一些小的特点,随时补充ing