• SGDClassifier梯度下降分类方法


    SGDClassifier梯度下降分类方法

    这个分类器跟其他线性分类器差不多,只是它用的是mini-batch来做梯度下降,在处理大数据的情况下收敛更快

    1.应用

    SGD主要应用在大规模稀疏数据问题上,经常用在文本分类及自然语言处理。假如数据是稀疏的,该模块的分类器可轻松解决如下问题:超过10^5的训练样本、超过10^5的features。利用梯度来求解参数。

    sklearn.linear_model.SGDClassifier(loss=’hinge’, penalty=’l2’, alpha=0.0001, l1_ratio=0.15, fit_intercept=True, max_iter=None, tol=None, shuffle=True, verbose=0, epsilon=0.1, n_jobs=1, random_state=None, learning_rate=’optimal’, eta0=0.0, power_t=0.5, class_weight=None, warm_start=False, average=False, n_iter=None)
    
    

    2.损失函数

    loss=”hinge”: (soft-margin) 线性SVM.
    loss=”modified_huber”: 带平滑的hinge loss.
    loss=”log”: logistic 回归

    3.惩罚项

    penalty=”l2”: 对coef_的L2范数罚项
    penalty=”l1”: 对coef_的L1范数罚项
    penalty=”elasticnet”: L2和L1的convex组合; (1 - l1_ratio) * L2 + l1_ratio * L1

    4.SGDClassifier支持多分类,它以”one-vs-all(OVA)”的方式通过结合多个二分类来完成。对于K个类中的每个类来说,一个二分类器可以通过它和其它K-1个类来进行学习得到。在测试时,我们会为每个分类器要计算置信度(例如:到超平面的有符号距离)并选择最高置信度的类。

    我还不是很明白,但是先放在这里,后面补充

  • 相关阅读:
    iOS开发-NSOperation与GCD区别
    FMDB数据库升级
    Xcode自动选择证书
    asp.net常用函数表
    JS操作文件
    Json转换插件
    SpringCloud分布式事务-Seata
    SpringCloud应对高并发的思路
    SpringCloud-Greenwich版本新特性探索(1)---SpringCloudGateway
    如何热更新线上的Java服务器代码
  • 原文地址:https://www.cnblogs.com/gaowenxingxing/p/12331406.html
走看看 - 开发者的网上家园