sklearn.linear_model.SGDClassifier中modified_huber是什么意思?

  统计/机器学习 监督式学习 Python 损失函数    浏览次数:3453        分享
1

sklearn.linear_model.SGDClassifier的官方描述中说loss可以设置为'modified_huber'。但是印象中只有回归才有Huber loss这个说法。这里是分类问题,那么怎么解释这个modified_huber loss?

 

vivian_o   2019-04-09 09:47



   1个回答 
7

modified_huber loss的公式:


它的曲线如下:

我的理解:p是预测值,y是真实值,p*y为margin。修改后的huber loss,有以下优点:

(1)能在margin大于1时,产生稀疏解提高训练效率(f(p, y)恒等于0)。

(2)在margin小于-1的时候,惩罚线性增加,受异常点干扰较小。

可以参考sklearn中的源码实现:

https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/sgd_fast.pyx

SofaSofa数据科学社区DS面试题库 DS面经

咸魚   2019-04-10 19:25

谢谢! - vivian_o   2019-04-21 13:24


  相关讨论

sklearn里zero_one_loss是什么?

sklearn里有没有计算rmse的函数?

sklearn里LogisticRegressionCV总是报错:Expected sequence or array-like, got estimator

sklearn中的predict_proba方法的返回值的意义

怎么获取sklearn.linear_model.SGDRegressor的回归系数、截距?

CatBoostClassifier里的rsm参量是什么意思?

sklearn里learning_rate什么意思?

sklearn里的LabelEncoder什么用?

python里怎么安装CatBoostClassifier?

sklearn predict的默认阈值

  随便看看

pandas把一列日期转换为星期

hyperparameter与parameter的区别?

numpy.array从行向量转为列向量

激活函数RELU在0点的导数是多少?

用户人群分层分析的RFM模型是什么?