最优化
主要学了变分法,极大值原理,线性二次型最优控制,离散时间系统最优控制,动态规划。
最优控制将实际问题抽象成数学问题:构建系统动态模型(状态方程);将动态系统的初态与末态抽象成状态方程的边界条件;再提出目标函数,或性能泛函作为性能指标来衡量是否达到最优的一个判据。这种控制是在一定控制范围内的容许控制 u(t) u ( t )
最优化问题的解法:
- 直接法:通过数值计算在一系列迭代过程中产生的点中直接搜索,使其逐步逼近最优点。
- 间接法:对于有简单明确的数学解析表达式的最优化问题,根据泛函极值的必要条件与充分条件求出其最优解析解的过程
最优化与深度神经网络最接近的地方在哪?
我们可以将一个深度学习问题拆解为三部分:第一部分是基于参数的函数映射;第二部分是写出损失函数;第三部分是实现损失函数的最优化。
损失函数可以量化某个具体的权重集w的质量,而最优化的目标就是找到能够最小化损失函数数值的w。
应用比较广泛的深度学习优化算法有BGD批量梯度下降,SGD随机梯度下降,MBGD小批量梯度下降,MOMENTUM梯度下降算法,Nesterov Momentum,Adagrad,RMSprop,Adam算法。
其中SGD,Momentum,Nesterov Momentum是手动指定学习速率的,而后面的AdaGrad,RMSProp,Adam能够自动调节学习速率。
深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
讲一讲梯度计算的原理?可以结合LR模型
梯度计算的基本思想是:要找到某函数的最大值或最小值,最好的方法就是沿着该函数的梯度方向去找寻。
梯度算法到达每个点后都会重新估计移动的方向,从P0点开始计算完该点的梯度函数就根据梯度移动到下一点P1,在P1点,梯度会再次重新被计算,并沿新的梯度方向移动到P2,如此循环迭代,直到满足停止条件。梯度算子总是指向函数值增长或减小最快的方向。这里指的是移动方向。而移动量的值被称为步长,记作 α α 。
用向量来表示的话,梯度上升法的迭代公式如下:
该公式会一直被执行,直到达到某个停止条件为止,比如迭代次数达到某个指定值或算法达到某个可以允许的误差范围。
(梯度上升算法用来求函数的最大值,而梯度下降算法用来求函数的最小值)
假设有100个样本点,每个点包含x1与x2两个数值型特征,我们将使用梯度上升方法找到最佳回归系数。
伪代码:
每个回归系数初始化为1
重复R次:
计算整个数据集的梯度
使用alphaxgradient更新回归系数的向量
返回回归系数
使用LR回归方法进行分类并不需要做很多工作,所需要只是把测试集上的每个特征向量乘以最优化方法得来的回归系数,再将该乘积结果求和最后输入到Sigmoid函数即可。如果对应的Sigmoid值大于0.5就预测类别标签为1否则为0。
分类问题、标注问题和拟合(预测)问题的选择?
分类问题是监督学习中的一个核心问题,在监督学习中,当输出变量取有限个离散值时,预测问题便成为分类问题。
评价分类器性能的指标一般是分类的准确率,对于二分类问题常用的指标是精确率和召回率。
常用模型: 近邻法、感知器、朴素贝叶斯、决策树、Logistic模型、SVM、adaBoost、贝叶斯网络、神经网络等 。
标注问题的输入是一个观测序列,输出是一个标记序列或状态序列。分类问题的输出是一个值,而标注问题的输出是一个向量,向量的每个值属于一种标记类型。
标注问题典型:NLP中的词性标注(part of speech tagging),给定一个由单词组成的句子,对这个句子中的每一个单词进行词性标注,即对一个单词序列的预测其对相应的词性标记序列。
常用模型: 隐马尔可夫模型、条件随机场。
回归问题用于预测输入变量与输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生变化。
回归学习最常用的损失函数是平方损失,可以由最小二乘方法求解。
例子:股票预测,假如知道一个公司在过去不同的时间点的市场上的股票价格以及各个时间点之间可能影响该公司股份的信息,从过去的数据中学习一个模型。使它成为基于当前的信息预测该公司下一个时间点的股票价格。将影响股票价格的信息视作自变量,将股价视为因变量,对未来的股票进行预测。