为什么有导师的基于梯度下降的机器学习喜欢用欧氏距离来度量误差
2017-12-20 22:18
495 查看
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖。如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7899171.html 作者:窗户 QQ:6679072 E-mail:6679072@qq.com
bp神经网络为大家所熟知,推导中使用了基于梯度下降。而对于更为一般的情况,解决问题的出发点是建立一组函数fi(Ci,Xi), i=1..n,n为输出的个数,也就是函数的个数,对于每个fi,Ci是一个参数向量,Xi是一个输入向量,我们的目标就是为这组函数中的每个fi找到最合适的Ci。
基于有导师的梯度下降,则每一步都是计算出误差,然后根据误差的梯度方向,找到最合适的参数。于是在此之前,要给定一个度量误差的函数,用以计算输出的n个值的向量,与实际所希望的n个值的向量之间的误差,本应是一个向量,现在给出一个函数(loss function),将此误差向量映射为一个标量。这个结果一般被称为距离。
一般来说,我们的fi当初选取的时候,都是对于所有的Ci ,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阶距满足度量空间也满足对每个维度的对称。
一般我们常用的距离有以下这些:
1)曼哈顿距离
2)欧氏距离
3)切比雪夫距离
4)闵氏距离
5)汉明距离
。。。
其中,闵氏距离的意思如下
(|x1-y1|n+...|xn-yn|n)1/n
曼哈顿距离和欧式距离只是闵式距离中的两种而已,切比雪夫距离是闵氏距离的极限。
那么我们再来看另外一点,既然要梯度下降,自然要整体可导,而距离函数最终要把各维度的结果函数合成在一起,本身也必须可导,汉明距离、切比雪夫距离都不行,闵氏距离里这些n取奇数的绝对值符号不能消去,使得这个距离函数整体不可导,从而不是很方便使用梯度下降,而n取偶数是可以消去这个绝对值符号,从而整体可导。其中2阶是最低的,并且相对高阶对于各维公平一些,并且微分之后的结果复杂性最低,从而被常用。这和开平方之后的欧氏距离是一致的,如此最为经济。
相关文章推荐
- 机器学习第5章第4节 : 基于梯度下降的线性分类器
- 大二暑期 机器学习 梯度下降,基于theano的MLP和keras的调参数代码
- 为什么一些机器学习模型需要对数据进行归一化?——1)归一化后加快了梯度下降求最优解的速度;2)归一化有可能提高精度
- 机器学习推导笔记1--机器学习的任务、步骤、线性回归、误差、梯度下降
- 机器学习(三)线性回归和梯度下降法
- 机器学习中的数学(1):回归、梯度下降
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(4.梯度下降)
- 梯度下降法和误差反向传播推导
- 机器学习(一、二):批梯度下降法、随机/增量梯度下降法、最小二乘法
- 关于机器学习中的梯度下降
- 机器学习入门:线性回归及梯度下降
- 吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)
- 在梯度下降法中,为什么梯度的负方向是函数下降最快的方向?
- 机器学习第六课part2(梯度下降)
- 机器学习的梯度下降中学习率的选取
- 吴恩达 机器学习第二周 logistic_regression 单层网络梯度下降法实现
- 吴恩达机器学习课程(一)之梯度下降原理
- 机器学习第二课:无约束优化问题(局部极小值的几种解法)(梯度下降法与拟牛顿法)
- 斯坦福大学机器学习笔记--第一周(5.线性回归的梯度下降)
- Stanford机器学习课程笔记——单变量线性回归和梯度下降法