梯度下降的算法调优在使用梯度下降求极值时,涉及到那几个部分?
1.算法的步长(学习率)选择:
可以多取一些值,从大到小,分别运行算法,看看迭代效果,如果损失函数在变小,说明取值有效,否则要增大步长;
- 步长太大,会导致迭代过快,甚至有可能错过最优解;.
- 步长太小,迭代速度太慢,很长时间算法都不能结束。
2.算法参数的初始值选择
· 初始值不同,获得的最小值也有可能不同,因此梯度下降求得的只是局部最小值;·当然如果损失函数是凸函数则一定是最优解;
由于有局部最优解的风险,需要多次用不同初始值运行算法;·选择损失函数最小化的初值。
3.归一化:
由于样本不同特征的取值范围不一样(数据量差异大,可能导致迭代很慢
为了减少特征取值的影响,可以对特征数据标准化或归一化.
同特征取值范围不同,向量长度导致梯度方向左右震荡,导致迭代慢
3.1标准化(可为负数,缩放到某一个区间,)
3.2归一化(0-1区间化,数据位置不变) 分子最大为max-min, 所以区间在0-1,并且数据位置不会发生变化
这样特征梯度下降幅度相近,不会左右震荡.
不同特征取值范围不同,向量长度导致梯度方向左右震荡,导致迭代慢

概念简介:
仿射集(Affineset):通过集合C中任意两个不同点的直线仍然在集合C内,则称集合C为仿射集
设x1与x2是定义在集合C中任意两个不同的点,即x1不等于x2,并且x1,x2∈C,θR,对0都有0x1+(1-0)x2EC,则称C为一个仿射集
仿射集的例子:直线,平面
凸集:若0≤θ≤1,则C为一个凸集(集合C内任意两点间的线段均在集合C内,则称集合C为凸集)
因为仿射集的条件比凸集的条件强,所以仿射集必然是凸集。凸集不一定是仿射集

但由于初始值不同梯度下降得到的可能是局部最优解
凸函数 一定有最优解:
鞍点问题:
**


凸函数:
凸函数就是任意两点之间的弦(即这两点构成的线段)都在该函数图像(此处是指这两点之间的函数图像,而非全部的函数图像)的上方。
定义:
若一个函数满足:
1.定义域是凸函数
2.
α1+α2+….αn=1
那么该函数是凸函数,期望的 函数小于等于函数的期望
琴生函数:
若该函数的任意一点的切线的值都在函数的下面则是凸函数.
判别:
定义判别:
一阶泰勒展开式判别:
由a逼近b点:


二阶泰勒展开式判别:
凸函数性质:
泰勒展开式:多项
海森矩阵:
海森矩阵和极值的关系:
正定矩阵的特征值全部大于0,
负定矩阵的特征值全部小于0,
半正定矩阵的特征值大于等于0,
半负定矩阵的特征值小于等于0,这些都叫做定型矩阵。
但是我们求特征值的时候还经常遇到一个矩阵的几个特征值既有>0,又有<0,还有可能=0,这样的特征值既有正又有负又有0的矩阵就都叫做不定型的矩阵,也就是不定矩阵。
海森矩阵(Hessian-matrix)与泰勒展开式:
二元泰勒展开(二阶):
a点逼近b点
x和y俩个方向联合逼近,逼近求偏导,
△: x和y俩个方向的差值
▽:求一阶导
G:海森矩阵,对称阵
对x,y求俩次偏导,有4种情况


Hession与极值的关系:
特征值:
矩阵的特征值为正数是正定,函数有极小值
特征值有正有负数,则是鞍点
二次型,:
二次型,矩阵
A矩阵的本质是运动,拉伸和偏转
矩阵特征分解:
为对角矩阵:
和特征向量俩列
凸优化:
凸函数:
指数函数:
幂函数:
负对数函数:
负熵函数:
范函数:||x||
最大值函数:
凸优化问题:

梯度下降收敛:
当n趋向无穷大时,对应的值趋向与一个固定的值





