《机器学习算法2 ---SGDClassifer随机梯度下降分类器》

SGDClassifer

简单的整理了一下,后面会有补充,欢迎指正~

一 原理

我们都知道随机梯度下降是一个最优化算法,在很多算法中用它来找到最优参数。而随机梯度下降分类器就是那些使用了该方法来求解的线性分类器的集合,其中包括SVM, LR等。

二 实现

  1. sklearn

    from sklearn.linear_model import SGDClassifier
    clf = SGDClassifier(loss="hinge", penalty="l2")
    clf.fit(X, y)
    clf.predict([[2., 1.]])
    
  2. 参数
    loss:损失函数,默认为 “hinge”–软间隔SVM,"log"为逻辑回归,"modified_huber"为平滑的 hinge 代价函数,
    penalty:惩罚项,默认为 L2,可选有 l1、elasticnet
    alpha:惩罚项的系数,默认为0.0001
    max_iter:最大迭代次数
    learning_rate:学习率

  3. 属性
    SGD 拟合的是一个线性模型,因此属性包括系数和截距。
    系数:coef_
    截距:intercept_

  4. 方法
    predict_proba():当loss=“log"或"modified_huber” 时,该函数可以输出每个样本属于每个类别的概率。

三 优缺点

优点:

  • 效率高。易于实施(有大量调整代码的余地)。
  • 适用于大规模和稀疏问题上,

缺点

  • 有许多超参数。
  • 对数据的范围很敏感,需要对数据进行缩放/标准化

引用文章链接
sklearn文档 — 1.5. 随机梯度下降:https://www.jianshu.com/p/28a68bb4a45a

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值