2.3函数的用法        

        以数据驱动为主的模式识别问题都在做参数预估,这里的参数就是指函数的参数。

2.3.1 一元一次函数

        函数中,最近本也是最重要的是一元一次函数。在机器学习为主的分类算法中十分重要。

        典型一元一次函数表示为:

        y = ax + b (a, b为常数,且 a != 0)如图:

        

        当两个变量x和y的关系满足上图时,称变量y是变量x的依次函数关系。其中x是自变量,y是因变量。这里的自变量只有一个x,因此称为一元,并且x的幂次为1,又称为一次函数。a和b可以看作参数,用于确定这条直线的位置。其中a称为斜率,b称为截距。一次函数 y = 3x + 1的图像如上图所示。

        由于只有一个自变量,因此称为一元一次函数。更复杂的是二元一次函数,即:

        y = ax1 + bx2 +c

        后续介绍神经网络构建的模型中,就是这种多元一次函数。例如,神经网络中有三个来自上层神经元(x1, x2 ,x3)的输入,则可以表示为:

        y = w1x1 + w2x2 + w3x3 + b

        其中w1, w2, w3和偏执b可以看作常数,上述公式可以看作y和x1, x2, x3三个变量之间的一次函数关系。

2.3.2 一元二次函数

        在数学函数中,二次函数也很重要。在监督学习算法中,训练模型的参数时用到的代价函数就是二次函数。二次函数可以表示为公式:

        y = ax^2 + bx^2 + c 其中,a, b, c 为常数

二次函数的图像时一个抛物线,具体如下图。抛物线最重要的特性是,当a为正数时,该图像呈现一个漏斗状的曲线,且该漏斗的底部存在最小值。这就是后面利用最小二乘法做优化的数学基础。

        上图是只含有一个自变量x的情形,可以很容易推广到多个自变量。比如两个自变量x1和x2,这样就可以画出类似下图的漏斗状的网状图。该图是三维空间产生的。

        实际的神经网络结构中就是关于很多个自变量的二次函数,但是很遗憾,平面图形中无法绘制出三个变量以上的图形,所以无法以图形的方式展示多变量函数的形状。只能依靠我们在大脑中的想象,或者将多维空间的图像通过降维投影到可见的三维或二维空间中。

2.3.3 神经网络中不得不提的阶跃函数

        数学上有一个最基本的阶跃函数是单位阶跃,也就是一个单位内的阶跃。从公式来看,该函数定义为:

        通过公式不难看出,该函数的取值一共就两个,0和1。结合下图可知,该函数在x=0 外发生跳变,因此,该函数不是连续的。

        自2016年以来,神经网络模型经常作为解决语音识别中一个常见的模型代表。该模型通过计算每一层中一组神经元的加权计算,得出的结果往往是一个连续的小数值,但是识别的结果往往要求对应到个数有限的类别。因此,这类模型中的最后一步就是需要将连续值转化为离散值,转化的方式就是利用一组具有跳跃性的函数。

        下面围绕神经网络中点火条件的设定,阐阶跃函数在神经网络中的应用,以及做常见的函数代表。

一、神经科学家眼中的点火条件

        据神经科学家研究发现,当前一个神经元与当前神经元发生联系时,当前神经元是否做出反应,是根据点火条件做出判断的。该条件指出,只有当前一个神经元输入的刺激值大于某一个阈值时,当前神经元才会做出反应,否则它就会忽略该刺激。

        从数学角度来说,该点火条件可以借鉴单位阶跃函数做出改进,这时函数的时间断点不再是x = 0,而是在特定阈值处。具体来说,点火条件的数学函数可以描述为:

        式子中,表示对刺激作出反应的阈值,当前一个输入神经元的刺激值大于时,当前神经元会做出反应,此时,该阶跃函数的输出值为1;反之,表示未作出反应,输出值为0。函数图像如下图所示:

        该函数与之前的阶跃函数的区别在于断点的位置。

二、神经网络中的激活函数

        在神经网络的算法中,为了适应更加复杂的网络,需要对点火条件函数作进一步改进,改进后的函数称为激活函数。该函数需要判断加权和的值与偏置之间的关系。其中的阈值有了一个统一的名字,叫做偏置b。

        假设一个神经元的输入是 w1x1 + w2x2 ,那么,该神经元是否被激活的函数可以表示为:

        对应的图像如下图所示:

        此时的自变量(图中的横轴)变为了神经元的加权和的表达式。所欲函数的图像在某一点处是断开的,因此,无法做到处处可导。因此,更常见的做法是采用改进后连续的Sigmoid函数。

三、Sigmoid函数

        sigmoid函数是一个非线性函数,广泛应用在神经网络中。给定一组特定的输入数据z,将这些数据代入下列公式,可以得到连续的输出,即

        该函数如下图所示:

        从上图的Sigmoid函数的曲线来看,其函数是光滑的,从数学上来说,该曲线上的每一点均可导,并且函数的取值范围在0和1之间,在神经网络中,该函数可以理解为通过概率值解释刺激的大小,取值越大,表示刺激越大。

 上一篇:《语音识别模式、算法设计与实践》——第二章 必知必会的数学基础知识——概率与统计

下一篇:

 

参考文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。