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

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

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

 

vivian_o   2019-04-09 09:47



   1个回答 
4

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



  相关主题

sklearn的模型如何保存下来?   2回答

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

sklearn predict的默认阈值   2回答

sklearn里有没有计算rmse的函数?   1回答

sklearn训练classifier的时候报错Unknown label type   1回答

sklearn.linear_model.SGDClassifier中的参数n_iter设置问题   2回答

sklearn实现adaboost算法了吗?   1回答

sklearn里zero_one_loss是什么?   2回答

lightgbm.LGBMModel和lightgbm.LGBMClassifier该用哪个?   1回答

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

sklearn里learning_rate什么意思?   2回答

sklearn分类模型中预测结果怎么调整概率的阈值   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!