1.å¦ä½å¨Mac OSXä¸å®è£
xgboost
2.å¦ä½å¨Macä¸å®è£
xgboost
3.XGBoost源码解读
4.Apple M1的码解AI环境搭建
5.Win10 环境下,LightGBM GPU 版本的码解安装
å¦ä½å¨Mac OSXä¸å®è£ xgboost
1. Mac OSXç³»ç»ä¸è¬èªå¸¦pythonï¼æå¼ç»ç«¯è¾å ¥pythonå³å¯åpython代ç ï¼æ以pythonç¯å¢å·²ç»å ·å¤äºã
2.å®è£ Homebrew , 类似äºubuntuä¸çapt-getåcentosä¸çyumï¼æ¯OSXéé¢çä¸ä¸ªé常æç¨è½¯ä»¶å®è£ å·¥å ·ã
/usr/bin/ruby -e "$ï¼curl -fsSL /Homebrew/install/master/installï¼"
ç´æ¥å°ä¸è¿°ä»£ç ç²è´´è³ç»ç«¯å³å¯å®è£ ãï¼å®è£ è¿ä¸ªè½¯ä»¶çç®çå¨äºæ´æ°gccçæ¬ï¼å 为å®æ¹ææ¡£ä¸è¯´åªæææ°çgccçæ¬æè½ä½¿xgboostæ¯æå¤çº¿ç¨ï¼
3.å®è£ ææ°çæ¬çgcc ï¼gcc-6ï¼
brew install gcc --without-multilib
è¿æ¥æ¯è¾èæ¶ï¼ç¨äºå°è¿1å°æ¶ã
4.ä»gitä¸ä¸è½½æºç
cdè¿å ¥ä½ æ³è¦å®è£ çç®å½ï¼ç¶åè¾å ¥ä¸é¢ç代ç ãï¼ææ¯ç´æ¥å¨æå¼ç»ç«¯çç®å½ï¼
git clone --recursive /dmlc/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
XGBoost源码解读
前言
XGBoost是一代神器,其推理逻辑独树一帜,码解与Glove等相似,码解皆以思考出发,码解推导出理想结果。码解同花顺分时成交金额源码高斯正是码解这种思维的典范,XGBoost的码解代码实现也异常精妙,本文尝试将两者相结合,码解供您参考。码解
高斯的码解做法
优化目标设定,以均值为目标函数的码解导数为零。利用线性假设推导目标函数,码解进而优化以误差平方项为出发点。码解
进一步,码解高斯将误差目标公式推广到参数求解中,实现优化。
Glove的做法
通过log-bilinear models, LBL启发,寻找满足概率约束的目标表达式,并推导出指数函数,大智慧目标价源码从而实现类似LSA的因子分解。
引入优化权重函数,最终实现最大似然估计。
XGBoost的做法
引入Stagewise限制,目标为找到最优的叶子节点,以最佳方式拆分,优化损失。
通过泰勒展开,结合叶子节点权重假设,推导出目标公式。
基于贪心算法,实现树的生长。
代码解读
从命令行入口开始,核心代码框架包括数据加载、初始化、循环训练与模型保存。训练过程包括计算样本预测结果、一阶和二阶梯度计算以及Boost操作。
DoBoost实现GBLine和GBTree两种方式,上海桶装水溯源码厂家提供GradientBooster核心函数,如DoBoost、PredictLeaf、PredictBatch等。
默认采用GBTree,对于线性部分,效果难与非线性分类器相比。
代码基本框架集成了DMLC的注册使用机制,插件式管理实现更新机制。
实现精准和近似算法,主要关注ColMaker更新实现。在GBTree的DoBoost中,生成并发新树,更新ColMaker和TreePruner。
ColMaker实现包括Builder与EnumerateSplit,最终依赖于TreeEvaluator的SplitEvaluator。
SplitEvaluator实现树的分拆,对应论文中的相关函数,包括Gain计算、手机极光影视怎么导入源码权重计算、单个叶子节点Gain计算与最终损失变化。
本文仅作为案例介绍,XGBoost在近似计算、GPU计算与分布式计算方面也极具亮点。
小结
本文通过对比分析高斯、Glove与XGBoost的优化策略,展示了研究与工程结合的实践,强调在追求性能的同时,不能忽视效果的重要性。
Apple M1的AI环境搭建
首先,搭建Apple M1的AI环境,Python3.9作为基础,考虑到M1的ARM架构,Anaconda不再适用,转而选择Miniforge3。必需的库有Tensorflow、xgboost、Lightgbm、源码智造编辑器作品Numpy、Pandas、Matplotlib和NGBoost等。由于是Python3.9,部分库可能无法正常使用。
Homebrew,作为Mac的包管理工具,对于ARM架构的支持已经到位。如果有X版本的Homebrew,需先卸载,然后通过Homebrew的ARM版本进行安装。安装后,Homebrew会提示设置环境变量,推荐执行相应操作以确保环境配置。
在bash shell下,记得source ~/.zprofile。对于X版本的Homebrew,虽然安装后未提示添加环境变量,但同样需要手动管理。
为了优化软件源,可以考虑设置中科大源或清华大学源,如果需要更多选择,可以查看Homebrew的其他设置。对于cask,由于GitHub API访问限制,可能需要申请Api Token。
接下来,下载并安装Miniforge3的arm版本,安装过程中会询问是否添加conda init到~/.zshrc。安装完成后,可以创建一个专为Tensorflow学习的虚拟环境。
Tensorflow的安装方式有两种,一是默认安装,Apple已优化支持;二是通过environment.yml预先配置。在tf环境内,可以测试安装是否成功。
对于Lightgbm,编译安装是较为可靠的方法,通过brew安装并设置编译环境。至于Numpy,通常会在Tensorflow安装时自动安装,其他库如Pandas、Matplotlib和NGBoost,可以通过conda或pip进行安装。
注意,可能遇到的库问题,如OpenCV、Dlib等,需自行下载源码编译。在整个过程中,遇到问题时,Google搜索和官方文档是不可或缺的参考资源。
最后,值得注意的是相关教程和指南,如TensorFlow-macos、Run xgboost on Mac、加速Mac上的TensorFlow性能等,这些都能提供具体步骤和帮助,确保在M1芯片Mac上顺利搭建AI环境。
Win 环境下,LightGBM GPU 版本的安装
在Win环境下,想要利用GPU提升LightGBM的训练速度,安装过程并非易事。LightGBM,微软开发的高效梯度提升框架,可与XGBoost比肩,尤其适用于大规模数据。由于其GPU版本的教程相对较少,本文基于官方指南和Stack Overflow上的解答,总结了安装步骤和注意事项。安装步骤
1. 对于CPU版本,LightGBM的安装方法有三种,与Python包安装类似。但使用GPU版本需要从源代码编译安装。GPU版本安装
主要流程包括下载LightGBM源代码,使用CMake进行构建,然后通过`python setup.py install --gpu`安装。对于Windows用户,有两种编译方式:VS Build Tools:推荐用于Win平台,可以简化步骤,避免MinGW可能遇到的问题。
MinGW:虽然速度可能较快,但可能会产生更多问题,且不推荐。
对于VS Build Tools,需要安装Git、CMake、VS Build Tools,以及对应的OpenCL和Boost Binaries。具体步骤涉及下载、安装、设置环境变量,然后编译源文件。 MinGW编译步骤类似,但需要下载MinGW或MinGW-w,然后按照类似流程操作。参数设置与性能测试
安装成功后,通过设置`device='gpu'`和相关GPU参数,可以启用GPU计算。测试性能时,如能顺利运行,表明安装成功。不过,与其他框架相比,LightGBM在GPU调用上稍显不便,但其支持更多类型的显卡,对Intel集成显卡友好。 性能提升方面,实际测试显示使用GPU计算有明显加速,但具体提升程度取决于硬件配置,如Intel集显和Nvidia独显的性能差异。2024-11-30 13:08
2024-11-30 13:04
2024-11-30 12:49
2024-11-30 12:34
2024-11-30 11:34
2024-11-30 10:57