随机梯度下降(SGD)在Scikit - learn中的应用与参数调优
1. 随机梯度下降概述
传统的梯度下降方法是全批量梯度下降,它通过优化整个数据集的误差来工作,因此需要将整个数据集加载到内存中。而随机梯度下降(SGD)和小批量梯度下降则是适用于处理无法全部加载到内存中的数据的方法。
SGD的核心思想是,每次只对一个实例进行更新,这样可以将核心数据存储在外部存储设备中,只将单个观测值加载到内存中。如果实例是随机选取且无特定偏差的,那么优化过程平均而言会朝着目标成本最小化的方向进行。例如在共享单车的例子中,如果SGD先学习早期季节的模式,再关注夏季、秋季等,那么模型可能会根据优化停止时的季节,对某个季节的预测效果更好,因为最近的大部分示例都来自该季节。当数据独立同分布(i.i.d.)时,SGD能保证收敛到全局最小值。实际应用中,i.i.d.意味着数据示例应无顺序或分布规律,就像从可用数据中随机选取一样。
2. Scikit - learn中的SGD实现
Scikit - learn包中有许多在线学习算法。对于监督学习,可将可用的学习器分为分类器和回归器。
2.1 分类器
-
sklearn.naive_bayes.MultinomialNB -
sklearn.naive_bayes.BernoulliNB -
sklearn.linear_model.Perceptron -
sklearn.linear_model.PassiveAgg
超级会员免费看
订阅专栏 解锁全文
698

被折叠的 条评论
为什么被折叠?



