sklearn logloss参数归一化函数

sklearn logloss parameter normalize function

一个相当微不足道的问题:sklearn 的 log_loss 指标的参数 "normalize" 有什么作用?

根据 documentation: "normalize : bool, optional (default=True) 如果为真,return 每个样本的平均损失。否则,return per-sample losses 的总和。”我的理解是它与是否包含 N 有关,True 是平均值,False 是总和:logloss = -1/N (sum每件损失) log loss function

如果是这样,优化一个或另一个没有区别,那么,为什么我们更喜欢一个呢?换句话说,放置参数的意义何在?个人喜好?

虽然 f(x) 和 1/N f(x) 的最小化是等效的,但是当您处理 f(x) + alpha g(x) 与 1 形式的函数时,常量的含义会发生变化/N f(x) + alpha g(x),这发生在您学习例如正则化逻辑回归时,因此在第二种情况下,等效 alpha 是 1/N * 先前的 alpha。这里没有 "one choice",它仅取决于应用程序 - 有时平均值更适合(当您需要样本大小不变时),有时求和。