r - 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++ 的了解太有限,无法理解那里发生了什么。