常见的机器学习迭代方法有:
- 梯度下降、随机梯度下降、小批量随机梯度下降
- 动量法
- Adagrad
- RMSProp
- Adadelta
- Adam
下面主要介绍批量梯度下降(BGD)的工作原理:
假设损失函数 是连续可导的, 且 , 对于给定绝对值足够小的数 ,根据泰勒展开公式,我们得到以下的近似
这里 是函数 在 处的梯度。我们可以找一个常数 ,使得 足够小,那么可以将 替换为 得到
如果梯度的模 ,那么
因而,如果我们通过以下规则来更新 :
便可能使得 的值被降低来达到最小化损失函数的目的。假设我们有 个样本 , 可以定义了一个损失函数 , 这里 , 当 对应于回归任务, 当 对应于 分类任务. 可以是一个神经网络模型, 也可以是一个简单的的线性映射。为了最小化 , 我们可以使用 SGD 优化方法:
- 设置学习率 , 且初始化参数
- 计算梯度
- 更新参数 , 即 .
- 直至满足中止条件, 结束迭代, 获得最终的参数值 .
当 很大时,批量梯度下降效率很低,在实际的应用中一般使用小批量梯度下降优化方法。学习率 对优化过程也十分重要,过大的学习率可能使得迭代无法收敛, 过小的学习率可能会导致训练速度过慢且陷入训练的平台期而无法获得理想的结果。
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦