xgboost源码解读_xgboost api

hacker|
129

文章目录:

如何在Mac OSX上安装xgboost

1. Mac OSX系统一般自带python,打开终端输入python即可写python代码,所以python环境已经具备了。

2.安装 Homebrew , 类似于ubuntu中的apt-get和centos中的yum,是OSX里面的一个非常有用软件安装工具。

/usr/bin/ruby -e "$(curl -fsSL )"

直接将上述代码粘贴至终端即可安装。(安装这个软件的目的在于更新gcc版本,因为官方文档中说只有最新的gcc版本才能使xgboost支持多线程)

3.安装最新版本的gcc (gcc-6)

brew install gcc --without-multilib

这步比较耗时,用了将近1小时。

4.从git上下载源码

cd进入你想要安装的目录,然后输入下面的代码。(我是直接在打开终端的目录)

git clone --recursive

xgboost为什么对代价函数用二阶泰勒展开

因为这样做可以很清楚地理解整个目标,并且一步一步推导出如何进行树的学习。传统的GBDT大家可以理解如优化平法残差,但是这样一个形式包含可所有可以求导的目标函数。

也就是说有了这个形式,写出来的代码可以用来求解包括回归,分类和排序的各种问题,正式的推导可以使得机器学习的工具更加一般。

简答说一说吧:实际上使用二阶泰勒展开是为了xgboost能够【自定义loss function】,如果按照最小二乘法的损失函数直接推导,同样能够得到陈佬最终的推导式子:

二阶泰勒展开实际不是  最小二乘法,平方损失函数的二阶泰勒展开=最小二乘法。但陈佬为何想用二阶泰勒展开呢,猜是为了xgboost库的可扩展性,因为任何损失函数只要二阶可导即能【复用】陈佬所做的关于最小二乘法的任何推导。

而且泰勒的本质是尽量去模仿一个函数,猜二阶泰勒展开已经足以近似大量损失函数了,典型的还有基于分类的对数似然损失函数。嘿,这样同一套代码就能完成回归或者分类了,而不是每次都推导一番,重写训练代码。

扩展资料:

泰勒以微积分学中将函数展开成无穷级数的定理著称于世。这条定理大致可以叙述为:函数在一个点的邻域内的值可以用函数在该点的值及各阶导数值组成的无穷级数表示出来。

然而,在半个世纪里,数学家们并没有认识到泰勒定理的重大价值。这一重大价值是后来由拉格朗日发现的,他把这一定理刻画为微积分的基本定理。泰勒定理的严格证明是在定理诞生一个世纪之后,由柯西给出的。

泰勒定理开创了有限差分理论,使任何单变量函数都可展成幂级数;同时亦使泰勒成了有限差分理论的奠基者。泰勒于书中还讨论了微积分对一系列物理问题之应用。

其中以有关弦的横向振动之结果尤为重要。他透过求解方程导出了基本频率公式,开创了研究弦振问题之先河。此外,此书还包括了他于数学上之其他创造性工作,如论述常微分方程的奇异解,曲率问题之研究等。

参考资料来源:百度百科-代价函数

参考资料来源:百度百科-泰勒公式

如何在Mac上安装xgboost

1. Mac OSX系统般自带python打终端输入python即写python代码所python环境已经具备

2.安装 Homebrew , 类似于ubuntuapt-getcentosyumOSX面非用软件安装工具

/usr/bin/ruby -e "$(curl -fsSL )"

直接述代码粘贴至终端即安装(安装软件目于更新gcc版本官文档说新gcc版本才能使xgboost支持线程)

3.安装新版本gcc (gcc-6)

brew install gcc --without-multilib

步比较耗用近1

4.git载源码

cd进入想要安装目录输入面代码(我直接打终端目录)

git clone --recursive

5条大神的评论

  • avatar
    访客 2022-07-17 下午 06:52:30

    oss function】,如果按照最小二乘法的损失函数直接推导,同样能够得到陈佬最终的推导式子:二阶泰勒展开实际不是  最小二乘法,平方损失函数的二阶泰勒展开=最小二乘法。但陈佬为何想用二阶泰勒展开呢,猜是为了xgboost库的可扩展性,因为任何损失函数只要二阶

  • avatar
    访客 2022-07-17 上午 09:00:17

    st1. Mac OSX系统一般自带python,打开终端输入python即可写python代码,所以python环境已经具备了。2.安装 Homebrew , 类似于ubu

  • avatar
    访客 2022-07-17 上午 08:04:30

    的在于更新gcc版本,因为官方文档中说只有最新的gcc版本才能使xgboost支持多线程)3.安装最新版本的gcc (gcc-6)brew install gcc --without-multilib这步比较耗时,用了将近1小时。4.从git上下载源码cd进入你想要安装的目录,

  • avatar
    访客 2022-07-17 上午 08:28:18

    差分理论的奠基者。泰勒于书中还讨论了微积分对一系列物理问题之应用。其中以有关弦的横向振动之结果尤为重要。他透过求解方程导出了基本频率公式,开创了研究弦振问题之先河。此外,此书还包括了他于数学上之其他创造性工

  • avatar
    访客 2022-07-17 下午 12:29:47

    定理的重大价值。这一重大价值是后来由拉格朗日发现的,他把这一定理刻画为微积分的基本定理。泰勒定理的严格证明是在定理诞生一个世纪之后,由柯西给出的。泰勒定理开创了有限差分理论,使任何单变量函数都可展成幂级数

发表评论