首页 > 解决方案 > R包gbm中使用哪个损失函数进行多项分布?

问题描述

我正在使用 R 包 gbm 在具有 > 2 个类的数据集中拟合概率分类器。我正在使用distribution = "multinomial"作为论据,但是,我很难找出该选择实际实现的实现细节。

gbm状态的帮助功能

当前可用的选项有“gaussian”(平方误差)、“laplace”(绝对损失)、“tdist”(t 分布损失)、“bernoulli”(0-1 结果的逻辑回归)、“huberized”(huberized 铰链损失)对于 0-1 结果)、类)、“adaboost”(0-1 结果的 AdaBoost 指数损失)、“poisson”(计数结果)、“coxph”(右删失观察)、“quantile”或“pairwise” (使用 LambdaMart 算法进行排名测量)。

并且没有列出multinomial,而我复制的前一段指出

... 如果未指定,gbm 将尝试猜测: ... 如果响应是一个因子,则假定为多项式;...

如果我指定,我想知道实现了哪个损失函数distribution = "multinomial"。小插图中的文档可以通过以下方式访问

utils::browseVignettes("gbm")

不包含“多项式”一词或对该论点所暗示的任何描述。

我试图查看包源代码,但也找不到那里的信息。似乎相关的事情发生在文件中的 C++ 函数中/src/multinomial.cpp,但是,我对 C++ 的了解太有限,无法理解那里发生了什么。

标签: rgbm

解决方案


推荐阅读