引言:为什么 XGBoost 是机器学习领域的“大杀器”?

news2026/3/20 19:36:33
在机器学习的结构化数据领域有一个算法几乎无人不知它就是 XGBoostExtreme Gradient Boosting极端梯度提升。自诞生以来XGBoost 就以其卓越的性能和效率横扫了无数的数据科学竞赛并成为工业界应用最广泛的算法之一。它之所以能获得如此高的声誉主要归功于以下几点卓越的预测精度通过巧妙的集成学习和正则化技术XGBoost 能够在各种回归、分类和排序问题上达到 state-of-the-art 的水平。极致的运算效率与传统的梯度提升决策树GBDTGradient Boosting Decision Tree按顺序构建树不同XGBoost 实现了并行计算极大地提升了模型训练速度。强大的鲁棒性内置了处理缺失值、防止过拟合的机制使得模型在实际应用中更加稳定可靠。本文将带你深入探索 XGBoost 的奥秘。我们将从它的基石——梯度提升决策树GBDT讲起逐步剖析其核心的数学原理、关键的系统优化、实战应用技巧以及高级特性。无论你是初学者还是有一定经验的从业者都能从中获得启发。第一部分XGBoost 的基础概念在深入 XGBoost 的内部机制之前我们需要先了解它所依赖的几个核心的机器学习概念。1.1 从决策树到集成学习决策树作为 XGBoost 的基础学习器它是一种树形结构通过一系列 if-then-else 规则对数据进行分类或回归。虽然单个决策树直观易懂但其预测能力有限容易过拟合。集成学习为了克服单个模型的不足集成学习应运而生。它的核心理念是“三个臭皮匠顶个诸葛亮”通过结合多个学习器来获得比任何单一学习器更优的性能。集成学习主要分为两大流派Bagging (装袋)代表算法是随机森林。它通过并行地构建多个相互独立的树每棵树在数据随机抽样子集上训练最终对所有树的预测结果进行平均回归或投票分类作为输出。这种方式主要目的是降低方差防止过拟合。Boosting (提升)代表算法是梯度提升决策树GBDT和它的进化版XGBoost。它通过串行地构建一系列树每一棵新树都试图纠正前一棵树的错误。最终预测结果是所有树预测结果的加权和。这种方式主要目的是降低偏差提高模型精度。1.2 梯度提升决策树GBDT简介GBDT 是 XGBoost 的前身。它的工作流程可以这样理解先用一个简单的模型比如一棵很浅的树进行预测。计算这个模型的预测值与真实值之间的残差即错误。接下来构建一棵新的树来拟合这个残差。重复步骤 2 和 3不断用新的树拟合之前所有树的累积误差。最终将所有树的预测结果加起来就得到了最终的高精度预测。这个过程就像一位工匠反复打磨一件作品每次只修正上一道工序留下的瑕疵最终成就一件杰作。1.3 XGBoost 的定义与定位XGBoost 全称为 eXtreme Gradient Boosting可以理解为GBDT 的“极端”优化版。它不仅实现了梯度提升算法更在算法本身和系统工程层面进行了极致的优化使其具备了可扩展、分布式、高性能的特点。简单来说XGBoost GBDT 正则化 并行处理 系统优化。第二部分XGBoost 的核心原理深度剖析这一部分我们将深入数学和算法层面揭开 XGBoost 性能卓越的秘密。2.1 目标函数不只是追求“正确”传统的机器学习模型通常只关注最小化预测值与真实值之间的误差即损失函数但这容易导致模型过于复杂在训练数据上表现很好在未知数据上却表现糟糕即过拟合。XGBoost 的高明之处在于它将模型的性能与复杂度统一到了一个框架下进行优化。XGBoost 的目标函数由两部分组成Obj∑i1nl(yi,y^i)∑k1KΩ(fk)Obj∑i1n​l(yi​,y^​i​)∑k1K​Ω(fk​)$\sum l(y_i, \hat{y}_i)$ (训练损失函数)用于衡量模型对训练数据的拟合程度。常见的损失函数包括用于回归的均方误差和用于分类的对数损失函数等。$\sum \Omega(f_k)$ (模型复杂度正则项)这是 XGBoost 的关键创新之一用于控制模型的复杂度。它惩罚那些过于复杂的树从而有效防止过拟合。对于第 $t$ 棵决策树 $f_t$其复杂度 $\Omega(f_t)$ 通常定义为Ω(ft)γT12λ∑j1Twj2Ω(ft​)γT21​λ∑j1T​wj2​$T$是一棵树上的叶子节点数量。$w_j$是第 $j$ 个叶子节点的权重即该叶子上的预测值。$\gamma$和$\lambda$是超参数用于控制这两部分惩罚的力度。$\gamma$ 鼓励剪枝让树更简单$\lambda$ 则是 L2 正则化项平滑叶子节点的权重。通过这个巧妙的目标函数设计XGBoost 在追求预测精度的同时也时刻警惕着模型变得过于复杂从而在“偏差”和“方差”之间找到了最佳平衡点。2.2 加法训练与前向分步算法XGBoost 采用了一种称为加法训练的策略。由于无法一次性学习得到所有的树它采用了一种迭代的方式每一步只学习一棵新树 $f_t(x_i)$来弥补已有模型 $ \hat{y}_i^{(t-1)} $ 的不足。在第 $t$ 步我们对样本 $i$ 的预测值为y^i(t)y^i(t−1)ft(xi)y^​i(t)​y^​i(t−1)​ft​(xi​)相应地第 $t$ 步的目标函数变为Obj(t)∑i1nl(yi,y^i(t−1)ft(xi))Ω(ft)constantObj(t)∑i1n​l(yi​,y^​i(t−1)​ft​(xi​))Ω(ft​)constant我们的任务就是找到一棵新树 $f_t$使得这个目标函数最小化。2.3 泰勒展开二阶导数的引入为了高效地优化上述目标函数XGBoost 对损失函数 $l$ 进行了二阶泰勒展开。这是一个革命性的创新因为它将损失函数的一阶导数和二阶导数信息都纳入了优化过程。泰勒展开后的目标函数近似为Obj(t)≈∑i1n[l(yi,y^i(t−1))gift(xi)12hift2(xi)]Ω(ft)constantObj(t)≈∑i1n​[l(yi​,y^​i(t−1)​)gi​ft​(xi​)21​hi​ft2​(xi​)]Ω(ft​)constant其中$g_i \partial_{\hat{y}^{(t-1)}} l(y_i, \hat{y}^{(t-1)})$是损失函数的一阶梯度统计即梯度Gradient。$h_i \partial_{\hat{y}^{(t-1)}}^{2} l(y_i, \hat{y}^{(t-1)})$是损失函数的二阶梯度统计即海森矩阵Hessian。由于 $l(y_i, \hat{y}_i^{(t-1)})$ 是常数我们可以去掉它得到第 $t$ 步的简化优化目标Obj(t)≈∑i1n[gift(xi)12hift2(xi)]Ω(ft)Obj(t)≈∑i1n​[gi​ft​(xi​)21​hi​ft2​(xi​)]Ω(ft​)引入二阶导数的好处是巨大的更准确的梯度方向相比于仅使用一阶导数的传统 GBDT二阶导数能够提供关于损失函数曲率的更多信息从而指导模型向更精确的方向优化收敛更快、更准确。支持自定义损失函数只要某个损失函数是二阶可导的就可以将其插入 XGBoost 框架。这赋予了 XGBoost 极强的灵活性可以应用于各种不同的任务。2.4 树的复杂度定义与结构分数现在让我们把树的定义和复杂度代回到优化目标中。对于一棵结构为 $q$ 的树它将每个样本 $i$ 映射到叶子 $j$ 上。定义每个叶子 $j$ 上的样本集合为 $I_j { i | q(x_i)j }$。那么优化目标可以改写为对所有叶子节点进行求和的形式Obj(t)≈∑j1T[(∑i∈Ijgi)wj12(∑i∈Ijhiλ)wj2]γTObj(t)≈∑j1T​[(∑i∈Ij​​gi​)wj​21​(∑i∈Ij​​hi​λ)wj2​]γT为了方便我们定义$G_j \sum_{i \in I_j} g_i$叶子 $j$ 上所有样本的一阶导数之和。$H_j \sum_{i \in I_j} h_i$叶子 $j$ 上所有样本的二阶导数之和。对于一个确定的树结构$q(x)$我们可以通过求导找到每个叶子节点 $j$ 的最优权重$w_j^*$wj∗−GjHjλwj∗​−Hj​λGj​​将这个最优权重代回原式我们就能得到该树结构对应的最小损失也就是它的结构分数Obj∗−12∑j1TGj2HjλγTObj∗−21​∑j1T​Hj​λGj2​​γT这个结构分数就像一个“纯度”指标它衡量了一棵树在给定的结构下能够将目标函数降低多少。值越小说明树的结构越好。2.5 寻找最佳树结构贪心算法与分裂增益理论上我们可以枚举所有可能的树结构计算其结构分数然后选最好的。但实际上这是不可能的。因此XGBoost 采用一种贪心算法来逐层构建树从一个叶节点开始然后不断地向树上添加分支。关键问题是如何找到一个最佳分裂点。假设我们在某个节点上考虑根据某个特征的一个值进行分裂。分裂后样本被分到左节点集合 $I_L$和右节点集合 $I_R$。分裂前后的结构分数变化即分裂增益可以计算为Gain12[GL2HLλGR2HRλ−(GLGR)2(HLHR)λ]−γGain21​[HL​λGL2​​HR​λGR2​​−(HL​HR​)λ(GL​GR​)2​]−γ这个公式的含义很直观$\frac{G_L^2}{H_L \lambda}$左子树的分数。$\frac{G_R^2}{H_R \lambda}$右子树的分数。$\frac{(G_LG_R)^2}{(H_LH_R) \lambda}$如果不分裂当前节点的分数。$\gamma$因为分裂会增加一个叶子节点使 $T$ 增加 1所以需要减去一个复杂度惩罚项 $\gamma$。XGBoost 会遍历所有特征的所有可能分裂点计算每个分裂点的增益最终选择增益最大的那个点进行分裂。如果最大的增益为负意味着分裂反而使目标函数变差则会停止分裂起到了预剪枝的效果。2.6 防止过拟合收缩与列采样除了目标函数中的正则化项和预剪枝XGBoost 还引入了另外两种防止过拟合的技术Shrinkage (收缩)在每一轮迭代学到一棵树 $f_t$ 后XGBoost 会乘以一个缩水因子$\eta$ (学习率learning rate)然后再将其加到模型中。即 $\hat{y}^{(t)} \hat{y}^{(t-1)} \eta f_t$。降低每棵树的贡献为未来要学习的树留出更多的改进空间使得模型更加稳健。Column Subsampling (列采样)在构建每棵树时不是使用全部特征而是随机选取一部分特征进行训练。这种做法与随机森林类似不仅可以防止过拟合还能加速计算。第三部分XGBoost 的系统优势除了算法层面的精妙设计XGBoost 在系统层面的优化也是其成功的关键。3.1 并行学习与列块XGBoost 的并行并非指树之间的并行树仍然是串行生成的而是指在构建单棵树的过程中的并行。其核心在于将数据存储在内存中的Block (块)结构里。按列压缩数据按特征列进行排序并存储为块。这样在寻找最佳分裂点时我们可以并行地对各个特征进行梯度统计计算极大地加速了分裂点的查找。缓存感知访问这种块结构还优化了缓存命中率因为计算一个特征的分裂点时需要访问的梯度数据在内存中是连续存放的提高了访问速度。3.2 稀疏感知与缺失值处理现实数据中往往存在缺失值、大量零值或 one-hot 编码带来的稀疏特征。XGBoost 内置了处理稀疏数据的机制。在寻找分裂点时它不会忽略这些稀疏值而是为每个节点学习一个默认的分支方向。当样本的特征值缺失时它会被自动划分到默认分支从而无需对数据进行繁琐的预处理填充。3.3 核外计算与缓存优化当数据集非常大无法完全加载进内存时XGBoost 的核外计算功能就派上了用场。它能够有效地利用磁盘空间来处理数据并通过独立的 I/O 线程预取数据从而在内存和磁盘之间实现高速的数据交换最大限度地减少磁盘读写带来的延迟。第四部分XGBoost 实战指南理论已经准备就绪现在让我们进入到激动人心的实战环节。4.1 环境准备与数据预处理首先我们需要安装 XGBoost 库。可以通过 pip 轻松完成bashpip install xgboost在使用 XGBoost 之前需要对数据进行一些预处理处理类别特征XGBoost 本身主要处理数值型数据因此需要将类别特征如颜色、国家转换为数值形式最常见的方法是One-Hot Encoding (独热编码)。处理缺失值如前所述XGBoost 可以自动处理缺失值但我们也可以选择自行填充例如用均值、中位数等。划分训练集和测试集将数据分为训练集和测试集用于模型训练和性能评估。4.2 核心参数详解与调优策略XGBoost 拥有众多可调参数理解它们是调优的关键。通常可以将参数分为三类4.2.1 通用参数 (General Parameters)booster选择基学习器默认为gbtree树模型也可选gblinear线性模型。nthread使用的线程数通常设为-1以使用所有 CPU 核心。4.2.2 Booster 参数 (Booster Parameters)这是树模型的核心参数也是最需要调优的部分。n_estimators / num_boost_rounds** boosting 的迭代次数即树的数量。值太小容易欠拟合太大则可能过拟合需结合学习率调优 。learning_rate / eta学习率通常在0.01-0.3之间。较小的学习率配合较多的树往往能取得更好的效果 。max_depth树的深度默认值为 6。深度越大模型越复杂越容易过拟合。通常在3-10之间调整 。min_child_weight子节点所需的最小样本权重和。如果某节点划分后子节点的权重和小于该值则停止划分。值越大模型越保守可以防止过拟合 。gamma节点分裂所需的最小损失减少量。只有当分裂带来的增益大于gamma时节点才会分裂。值越大模型越保守 。subsample训练每棵树时随机采样样本的比例。例如设为0.8表示用 80% 的随机样本来构建一棵树可以防止过拟合 。colsample_bytree / colsample_bylevel训练每棵树或每层时随机采样特征的比例功能类似于subsample用于增加随机性防止过拟合 。reg_alpha / reg_lambdaL1 和 L2 正则化项的权重系数用于控制模型复杂度。值越大正则化越强 。4.2.3 学习任务参数 (Learning Task Parameters)objective定义学习任务和相应的损失函数。例如reg:squarederror回归binary:logistic二分类multi:softmax多分类等。eval_metric评估模型的指标。例如rmseloglossauc等。4.2.4 调参策略调参是一个循序渐进的过程通常遵循以下路径设定一个较高的学习率如0.1并固定树的棵树n_estimators在一个较大值。调整树结构参数先调max_depth和min_child_weight再调gamma。调整正则化参数调整subsample,colsample_bytree以及reg_alpha和reg_lambda以进一步防止过拟合。降低学习率增加树的数量最后将学习率eta调低如0.01并相应地增加n_estimators以获得最佳的模型性能。4.3 快速开始一个简单的 Python 示例下面是一个完整的 XGBoost 分类器使用示例涵盖了模型训练、预测和评估。python# 导入必要的库 import xgboost as xgb from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # 1. 加载数据 data load_breast_cancer() X, y data.data, data.target # 2. 划分训练集和测试集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42) # 3. 初始化 XGBoost 分类器 # 这里使用一些核心参数作为示例 model xgb.XGBClassifier( objectivebinary:logistic, # 二分类任务 n_estimators100, # 构建 100 棵树 max_depth6, # 树的最大深度为 6 learning_rate0.1, # 学习率为 0.1 subsample0.8, # 每棵树使用 80% 的样本 colsample_bytree0.8, # 每棵树使用 80% 的特征 random_state42 # 保证结果可复现 ) # 4. 训练模型 model.fit(X_train, y_train) # 5. 进行预测 y_pred model.predict(X_test) # 6. 评估模型 accuracy accuracy_score(y_test, y_pred) print(f模型在测试集上的准确率: {accuracy:.4f}) # 7. (可选) 查看特征重要性 print(model.feature_importances_)4.4 高级功能早停与交叉验证早停 (Early Stopping)为了在训练过程中避免过拟合我们可以使用早停机制。通过设置一个验证集eval_set如果在连续early_stopping_rounds轮迭代中模型在验证集上的性能没有提升训练就会提前终止。pythonmodel.fit(X_train, y_train, eval_set[(X_test, y_test)], early_stopping_rounds10, verboseFalse)交叉验证 (Cross-Validation)XGBoost 也内置了交叉验证功能可以直接使用xgb.cv()进行帮助我们在不划分出独立验证集的情况下评估模型性能。4.5 模型解释特征重要性理解模型为何做出这样的决策至关重要。XGBoost 提供了多种计算特征重要性的方法weight特征被用作分裂点的次数。gain使用特征进行分裂所带来的平均增益即信息增益的平均值。cover特征在分裂点影响的样本数量即覆盖度。我们可以通过plot_importance()函数将特征重要性可视化从而识别出哪些特征对模型的预测影响最大。pythonxgb.plot_importance(model)第五部分XGBoost 的高级应用与生态5.1 与其他 Boosting 框架的对比 (LightGBM, CatBoost)除了 XGBoost目前主流的 GBDT 框架还有 LightGBM 和 CatBoost。LightGBM由微软开发采用基于直方图的算法和按叶子生长 (leaf-wise)的策略训练速度比 XGBoost 更快尤其适合大规模数据集但更容易过拟合需配合max_depth参数使用。CatBoost由俄罗斯搜索巨头 Yandex 开发其最大优势在于能够原生处理类别特征无需进行 One-Hot 编码并且在处理类别特征时表现卓越通常能减少大量的预处理工作。选择哪个框架取决于具体场景。XGBoost 作为一个经典、稳定且性能均衡的选择至今仍是许多项目的首选。5.2 分布式与 GPU 加速XGBoost 的潜力远不止于单机。通过与Apache Spark和Dask等分布式框架集成XGBoost 可以在集群上进行分布式训练处理海量数据。更重要的是XGBoost 支持GPU 加速。在 GPU 上运行其数千个核心能够并行处理数据将模型训练和调优的时间从几小时缩短到几分钟极大地提升了数据科学家的工作效率。5.3 实际应用场景举例XGBoost 以其卓越的性能在众多行业得到了广泛应用金融风控用于构建信用评分卡、检测信用卡欺诈交易。通过分析用户的交易记录、个人信息等特征XGBoost 可以实时、高精度地识别出潜在风险。推荐系统在电商或内容平台中用于预测用户对商品的点击率或对视频的观看时长从而进行个性化推荐。供应链预测零售商利用 XGBoost 分析历史销售数据、季节性趋势等来精准预测未来库存需求优化供应链管理。总结XGBoost 无疑是机器学习史上一个里程碑式的算法。它通过将二阶泰勒展开、正则化、并行计算和系统优化等一系列创新技术完美融合不仅解决了传统 GBDT 算法的诸多痛点更将模型性能与计算效率推向了新的高度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2430919.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…