1无约束约束方法
梯度下降:
求解线性回归,有明确的目标函数。利用目标函数的梯度来更新参数,使用最小二乘时,用loss的梯度更新。范数为2的最速下降。
牛顿法:
目标函数已知,用泰勒展开的近似作为近似解,把近似值带入目标函数求出近似的参数作为更新值。由于舍弃了泰勒公式的高阶项,新的参数值会更接近真实解。
在求解数a的平方根中,目标函数是f(x)=x^2, 其中为平方根即要求得参数,f(x)为要求解得数,这里真实值为a,假设a=f(x0) (注实际由误差,每次迭代默认当前为最优即a=f(x0),实际x0要不断迭代更新为x)。对目标函数泰勒展开得,f(x)_近似=f(x0)+(x-x0)*f ‘(x0),假设f(x)_近似=f(x),则求解得x=x(0)-f(x0)/f’(x0)。x0在算法开始要初始化假设一个平方根,然后不断迭代得到正确得平方根。y=0这点为根,迭代会无限逼近根。当f‘(x)=0时,更新值变成无穷大,此时泰勒需要展开取到2次导数,在求解时要求f’(x)/f’’(x)。牛顿法之所以比梯度下降收敛快,时因为使用了二阶导数,包含了高于欧式距离得考虑,多考虑了这次变化后得梯度。一阶则只考虑得一次得物理距离变化。
拟牛顿法:如果f(x)是多维得,则要求多维矩阵得逆矩阵1/f’’(x),逆矩阵求解复杂度为O(n^3),太耗时,所以引入了拟牛顿法,利用特征分解把原来得复杂矩阵变成求解对称正定矩阵得逆矩阵。
共轭梯度法:常用,要求目标函数已知且为线性,无约束。把基于最小二乘的loss,用向量展开,再用设计(参数)矩阵的共轭向量来表示。最后通过求导,最优解可由共轭向量表示,共轭向量可通过Gram-Schmidt算法求得。问题解决。所以它时基于一次导的解法,但是收敛性比梯度下降好。
半正定矩阵定义!!!老是忘记!!:
存在向量a,使矩阵A满足aTAa>=0!!!
共轭向量:
A为正定矩阵,当pAq=0满足时,p和q就是共轭向量, q不用等于pT。维度相同,因为正定为方阵。
2线性规划
3拉格朗日乘子法与对偶性
4二次规划