作者:丁扣其 | 来源:互联网 | 2023-06-28 19:27
1.有监督学习的损失函数
问题1:有监督学习涉及的损失函数有哪些?请列举并简述他们的特点。
答:1.二分类问题,Y={1,-1}
(1)0-1损失,非凸,非光滑,算法很难优化
,,当P为真时取值为1,否则为0.
(2)Hinge,凸上界,在fy=1出不可导
,
(3)Logistic,凸上界,处处光滑,可以使用梯度下降,因为对所有样本点都有所惩罚,所以对异常点更敏感
(4)Cross Entropy,光滑凸上界
2.回归问题
(1)平方损失函数,光滑,可以使用梯度下降。当预测值与真实值差距大,惩罚力度越大。对异常点较为敏感
(2)绝对损失函数,在f=y处无法求导。
(3)Huber,在|f-y|较小的时候为平方损失,在|f-y|较大时为线性损失,处处可导,且对异常点鲁棒
2.机器学习中的优化问题
问题1:机器学习中的优化问题,那些是凸优化问题,哪些是非凸优化问题?
答:凸函数:函数L是凸函数当且仅当对定义域中的任意两点x,y和任意实数总有
凸优化:逻辑回顾、支持向量机、线性回归等线性模型。
非凸优化:低秩模型、深度神经网络、主成分分析
3.经典优化算法
问题1:无约束优化问题的优化方法有哪些?
答:直接法和迭代法
直接法,就是直接给出优化问题最优解的方法。需要目标函数满足两个条件,1,L是凸函数。梯度为0有解。
迭代法,就是迭代的修正对最优解的估计。分为一阶法和二阶法。
假设当前对最优解的估计值为,那么最优化问题就是
那么对L做一阶泰勒展开,得到 ,就是梯度下降法
对L二阶泰勒展开,得到 ,就是牛顿法
牛顿法快于一阶法,但是高维情况下,矩阵计算复杂度很大。而且当目标是非凸时,二阶法很有可能收敛到鞍点。
4.梯度验证
问题1:如何验证求目标函数梯度功能的正确性?
,利用泰勒展开来计算近似误差。
对泰勒展开,
当h充分小的时候,q、p都接近0,可以认为h前的系数是常数M,因此近似式的误差为
如果对于某个下表i,该不等式不成立,则有两种可能
(1)该下标对应M过大
(2)该梯度分量计算不正确
5.随机梯度下降法
问题1:当训练数据量特别大时,经典的梯度下降发存在什么问题,需要做如何改进?
答:随机梯度下降法:用单个训练样本的损失来近似平均损失
小批量梯度下降法:为了降低随机梯度的方差,从而使得迭代算法更稳定,同时处理若干个训练数据,假设需要同时处理m个训练数据
(1)如何选取参数m?
答:在不同的应用中,最优m通常不一样,需要调参选取。一般选择2的倍数,例如32、64、128、256
(2)如何挑选m个训练数据?
答:先对数据随机排序,然后按顺序挑选m个
(3)如何选取学习率?
答:通常采用衰减学习速率的方法,一开始较大,然后减小
6.随机梯度下降法的加速
问题1:随机梯度下降法失效的原因——摸着石头下山
答:随机梯度下降每次仅仅随机采样一个样本来估计当前梯度,计算速度快,内存小。但是每步接受的信息有限,造成目标函数曲线收敛的很不稳定,伴有剧烈波动。
问题2:解决之道——惯性保持和环境感知
答:
(1)动量方法
前进步伐 有两部分组成 ,一个是学习速率乘以梯度,而是带衰减速率的钱一次步伐
(2)AdaGrad 方法
(3)Adam方法
7.L1正则化与稀疏性
问题1:L1正则化使得模型参数具有稀疏性的原理是什么?
答:在二维的情况下,黄色的部分是L2和L1正则项约束后的解空间,绿色的等高线是凸优化问题中目标函数的等高线,L2正则项约束后的解空间是圆形,而L1正则项约束的解空间是多边形。显然,多边形的解空间更容易在尖角处与等高线碰撞出稀疏解。