随机梯度下降是分类器还是优化器? [关闭]
Posted
技术标签:
【中文标题】随机梯度下降是分类器还是优化器? [关闭]【英文标题】:Is Stochastic gradient descent a classifier or an optimizer? [closed] 【发布时间】:2018-01-09 08:19:34 【问题描述】:我是机器学习的新手,我正在尝试分析我的一个项目的分类算法。我在sklearn
库中遇到了SGDClassifier
。但是很多论文都将 SGD 称为一种优化技术。有人可以解释一下SGDClassifier
是如何实现的吗?
【问题讨论】:
随机梯度下降是梯度下降优化方法的随机近似,用于最小化目标函数,该目标函数写为可微函数之和。换句话说,SGD 试图通过迭代找到最小值或最大值。 【参考方案1】:取自 SGD sikit-learn 文档
loss="hinge"
: (soft-margin) 线性支持向量机,
loss="modified_huber"
: 平滑铰链损失,
loss="log"
:逻辑回归
【讨论】:
【参考方案2】:SGD 确实是一种用于查找函数最小值的技术。
SGDClassifier
是一个线性分类器(默认情况下在sklearn
它是一个线性 SVM),它使用 SGD 进行训练(即使用 SGD 寻找损失的最小值)。根据documentation:
SGDClassifier 是一个线性分类器(SVM、逻辑回归、a.o.) 使用 SGD 训练。
这个估计器实现了具有随机性的正则化线性模型 梯度下降(SGD)学习:估计损失的梯度 一次每个样本,并且模型在此过程中更新 减少强度计划(又名学习率)。 SGD 允许小批量 (online/out-of-core) 学习,见 partial_fit 方法。为了最好 使用默认学习率计划的结果,数据应该有 零均值和单位方差。
此实现适用于表示为密集或稀疏的数据 特征的浮点值数组。适合的型号 可以用loss参数控制;默认情况下,它适合 线性支持向量机 (SVM)。
【讨论】:
【参考方案3】:SGDClassifier 是一个线性分类器,它通过随机梯度下降 (SGD) 学习实现正则化线性模型
其他分类器:
classifiers = [
("ASGD", SGDClassifier(average=True, max_iter=100)),
("Perceptron", Perceptron(tol=1e-3)),
("Passive-Aggressive I", PassiveAggressiveClassifier(loss='hinge',
C=1.0, tol=1e-4)),
("Passive-Aggressive II", PassiveAggressiveClassifier(loss='squared_hinge',
C=1.0, tol=1e-4)),
("SAG", LogisticRegression(solver='sag', tol=1e-1, C=1.e4 / X.shape[0]))
]
随机梯度下降 (sgd) 是一个求解器。在凸损失函数(如(线性)支持向量机和逻辑回归)下对线性分类器进行判别学习是一种简单有效的方法。
neural_network.MLPClassifier 中 sgd 的其他替代求解器是 lbfgs 和 adam
solver : ‘lbfgs’, ‘sgd’, ‘adam’, default ‘adam’
权重优化的求解器。
‘lbfgs’是准牛顿方法家族中的一个优化器
‘sgd’指的是随机梯度下降。
“adam”指的是由 Kingma、Diederik 和 Jimmy Ba 提出的基于随机梯度的优化器
关于SGDClassifier的实现细节可以阅读@SGDClassifier文档页面。
简而言之:
此估计器使用随机梯度下降 (SGD) 学习实现正则化线性模型:损失的梯度是一次估计每个样本,并且模型会随着强度递减的时间表(也称为学习率)不断更新。 SGD 允许小批量(在线/核外)学习
【讨论】:
【参考方案4】:让我们用简单的英文意思来分隔每个单词
随机 - 随机, 梯度 - 斜率, 下降 - 向下
基本上,这种技术被用作一种“优化算法”,用于寻找具有最小凸损失/成本函数的参数。
通过它我们可以找出线性分类器损失最小的直线的斜率,即(SVM & Logistic Regression)
其他一些执行方式:
-
批量梯度下降
随机梯度下降
小批量
如需了解更多详情,请参考以上链接: https://www.geeksforgeeks.org/ml-stochastic-gradient-descent-sgd/
【讨论】:
以上是关于随机梯度下降是分类器还是优化器? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章