Colin-Cai

  bp神经网络为大家所熟知,推导中使用了基于梯度下降。而对于更为一般的情况,解决问题的出发点是建立一组函数fi(Ci,Xi), i=1..n,n为输出的个数,也就是函数的个数,对于每个fi,Ci是一个参数向量,Xi是一个输入向量,我们的目标就是为这组函数中的每个fi找到最合适的Ci

  基于有导师的梯度下降,则每一步都是计算出误差,然后根据误差的梯度方向,找到最合适的参数。于是在此之前,要给定一个距离函数,来度量误差,也就是,输出的n个值的向量,与实际所希望的n个值的向量之间的误差。

  一般来说,我们的fi当初选取的时候,都是对于所有的C,Xi中所有分量都是可微的,不会出现奇点。而对于最终误差(用距离来描述)来说,我们要满足度量空间的概念:

  1)正定性,任何两点距离都非负,只有两点重合的时候距离为0。

  2)对称性,A点到B点的距离和B点到A点的距离相等。

  3)三角形不等式,A点到B点距离不会大于A点到C点距离和C点到B点距离之和。

  以上三点除了第二点都很重要,当然,为了方便,我们这里顺带上第二点。

  再者,我们的结果有n个值,也就是一个n个维度的向量,最终做距离的时候希望距离函数可以对每个维度都是对称的。函数对于自变量的对称,用数学来描述如下:

  L(x1...xn)关于x1...xn对称

  <=>

  对于任意1..n的一个排列k1...kn,都有

  L(x1...xn) = L(xk1...xkn)

  我们常用的n阶距满足度量空间也满足对每个维度的对称。

  n阶距:

  |x1-y1|n+...|xn-yn|n

  另外一点,既然要梯度下降,自然要整体可导,而距离函数最终要把各维度的结果函数合成在一起,本身也必须可导,那么1阶矩、3阶距这些奇数阶矩上的绝对值符号不能消去,使得这个距离函数整体不可导,而偶数阶是可以消去这个绝对值符号,从而整体可导。而2阶是最低的,并且相对高阶对于各维公平一些,并且微分之后的结果复杂性最低,从而被常用。这和开平方之后的欧氏距离是一致的。

分类:

算法

技术点:

相关文章:

猜你喜欢