GBDT调参避坑指南:学习率与树深度如何影响Kaggle比赛成绩?

《机器学习原理及应用》全套PPT课件2026(重庆工商大学) 获取 《机器学习原理及应用》全套PPT课件2026(重庆工商大学)::https://download.youkuaiyun.com/download/m0_54748666/93793958。13-第十三章高斯混合模型.pptx。1-第一章 机器学习概述.pptx。3-第三章模型评估与选择.pptx。12-第十二章K均值聚类.pptx。14-第十四章 谱聚类.pptx。6-第六章 逻辑回归.pptx。7-第七章 神经网络.pptx。11-特征选择与提取.pptx。9-第九章决策树.pptx。 阅读详情

GBDT实战调参:从Kaggle竞赛视角拆解学习率与树深度的协同博弈

如果你在数据竞赛圈子里泡过一阵子,大概率会听过一个说法:“用好GBDT,榜单前进一大步”。这话不假,无论是经典的XGBoost、LightGBM,还是CatBoost,其内核都是梯度提升决策树(GBDT)框架。但问题来了,框架给你了,参数面板上密密麻麻的选项,哪个才是真正推高你线下CV分数和线上LB排名的“金钥匙”?很多人一头扎进n_estimators、learning_rate、max_depth的排列组合里,调得昏天暗地,结果却可能不如一个设置了早停的默认模型。

今天,我们不谈复杂的数学推导,就从实战派最关心的Kaggle比赛场景出发,掰开揉碎地讲清楚GBDT里几个核心参数——尤其是学习率和树深度——它们之间如何相互影响、相互制约,最终如何决定你模型的命运。我会结合几个经典公开数据集上的对比实验,把AUC、MAE这些冷冰冰的指标,变成你能直观感受到的调参逻辑。

1. 理解战场:GBDT参数体系的“三驾马车”

在开始调参之前,我们得先知道自己手里有哪些牌。GBDT的参数体系庞大,但真正对模型性能有全局性、颠覆性影响的,在我看来主要是三个:树的数量、学习率和树的深度。它们共同构成了模型容量、学习速度和泛化能力之间的铁三角。

树的数量是迭代的轮数,直接决定了模型的复杂度和拟合能力。理论上,树越多,模型能学到的模式越精细。但这里有个陷阱:无限制地增加树,模型会彻底“记住”训练数据,包括噪声,导致严重的过拟合。这就是为什么你需要n_estimators这个参数,但更聪明的做法是交给早停法来控制。

学习率,有时也叫收缩率,是每一步迭代中,新加入的树对最终预测结果的贡献权重。你可以把它想象成模型学习的“步长”。步子迈得大(学习率高),模型收敛快,但容易在最优解附近震荡甚至错过;步子迈得小(学习率低),模型需要更多步数(更多的树)才能到达目的地,但路径更稳,更可能找到更精细的最优解。

树的深度决定了单棵决策树的复杂程度。深度越大,树的分支越多,能捕获的特征交互关系就越复杂(比如从“年龄>30”到“年龄>30且城市=北京且浏览过数码产品”)。这直接提升了模型的表达能力,但同样是一把双刃剑:过深的树会学到非常具体、甚至偶然的规律,泛化能力急剧下降。

这三个参数绝不是孤立的。它们之间存在强烈的协同与制衡关系。 一个高学习率配上很深的树,几乎注定会快速过拟合;而一个很低的学习率配上很浅的树,模型可能学得慢且能力不足。真正的调参艺术,在于找到属于你特定数据集和任务的“黄金配比”。

为了更直观地展示这种协同关系,我们可以看一个简化的对照表:

参数组合倾向模型容量学习速度过拟合风险典型应用场景
高学习率 + 深树极高极快极高几乎不推荐,除非数据量极大且非常干净
高学习率 + 浅树中等快中等快速基线模型,需要配合强正则化
低学习率 + 深树高慢中高追求极致性能,需大量树和早停
低学习率 + 浅树低很慢低高噪声数据,稳健性优先

提示:上表是一个高度概括的指引,实际效果严重依赖于数据。在Kaggle中,低学习率+较深树配合早停,是很多顶级选手的常用起点。

2. 学习率的精妙控制:不仅是速度,更是正则化

很多人把学习率仅仅看作一个控制训练速度的旋钮,这低估了它的价值。在GBDT中,学习率扮演着一种隐式但非常有效的正则化角色。

当学习率较小时,每一棵新树只能对模型进行微小的更新。这意味着,即使某棵树因为偶然性学到了训练集里的一些噪声,它对最终预测的“破坏力”也有限。后续的树有更多的机会去修正这些无关紧要甚至错误的更新。这个过程使得模型的学习更加平滑、稳健,倾向于学到数据中更普遍、更稳定的模式。

我们来用代码感受一下。假设我们在一个分类数据集上,固定树的深度和数量,仅调整学习率:

from sklearn.ensemble import GradientBoostingClassifier
from sklearn.model_selection import cross_val_score
import numpy as np

# 假设 X_train, y_train 已经准备好
learning_rates = [0.01, 0.05, 0.1, 0.2, 0.3]
cv_scores = []

for lr in learning_rates:
    model = GradientBoostingClassifier(
        n_estimators=200,
        learning_rate=lr,
        max_depth=4,
        subsample=0.8,
        random_state=42
    )
    scores = cross_val_score(model, X_train, y_train, cv=5, scoring='roc_auc')
    cv_scores.append(scores.mean())
    print(f"Learning Rate {lr}: Mean AUC = {scores.mean():.4f} (+/- {scores.std():.4f})")

运行这段代码,你往往会发现一个现象:学习率从0.01提升到0.1左右,AUC会有一个明显的上升;但超过某个阈值(比如0.2或0.3)后,AUC开始停滞甚至下降。这个峰值点就是你的数据在当前其他参数设定下的“甜蜜点”。

那么,学习率和树的数量是什么关系? 它们之间存在一个近似的互补关系:learning_rate * n_estimators 大致决定了模型整体的“学习能力”或“更新总量”。因此,一个常见的经验法则是:

  • 如果你将学习率减半,那么大致需要将树的数量翻倍,以维持相近的模型容量。
  • 但请注意,这并非严格线性,因为低学习率下的学习路径更优。

注意:在实践中,我强烈建议固定一个较小的学习率(如0.05到0.1),然后通过早停法来确定树的数量。这比手动设置一个大学习率和少量树要稳定得多,也更容易获得更好的泛化性能。

3. 树深度的探索:在复杂性与泛化间走钢丝

如果说学习率是调节模型学习的“节奏”,那么树深度就是定义模型思维的“维度”。max_depth控制了单棵树能进行多少次“如果-那么”的条件判断。

  • 浅树:深度为2或3。模型偏向于学习全局的、粗粒度的模式。例如,“房价主要取决于面积和地段”。它偏差高,方差低,不容易过拟合,但可能学习能力不足。
  • 深树:深度为6到10甚至更高。模型可以学习非常局部、精细的模式。例如,“在某个特定邮编区域,带花岗岩台面且建于1990年后的三居室房价有溢价”。它偏差低,方差高,是过拟合的高危区。

在Kaggle比赛中,你经常会看到获胜方案使用深度在5到8之间的树。这个范围通常能在捕捉足够复杂的特征交互(如用户历史行为序列中的组合特征)和保持泛化能力之间取得平衡。

如何找到合适的深度? 一个实用的方法是进行网格搜索,但需要结合验证集曲线来观察:

from sklearn.model_selection import validation_curve
import matplotlib.pyplot as plt

param_range = [2, 3, 4, 5, 6, 7, 8, 9]
train_scores, test_scores = validation_curve(
    GradientBoostingClassifier(learning_rate=0.1, n_estimators=200, random_state=42),
    X_train, y_train,
    param_name="max_depth",
    param_range=param_range,
    cv=5,
    scoring="roc_auc"
)

train_mean = np.mean(train_scores, axis=1)
train_std = np.std(train_scores, axis=1)
test_mean = np.mean(test_scores, axis=1)
test_std = np.std(test_scores, axis=1)

plt.figure(figsize=(10,6))
plt.plot(param_range, train_mean, label="Training AUC", color="blue", marker='o')
plt.fill_between(param_range, train_mean - train_std, train_mean + train_std, alpha=0.15, color="blue")
plt.plot(param_range, test_mean, label="Cross-validation AUC", color="green", marker='s')
plt.fill_between(param_range, test_mean - test_std, test_mean + test_std, alpha=0.15, color="green")
plt.xlabel("Max Depth of Trees")
plt.ylabel("AUC Score")
plt.legend(loc="best")
plt.grid(True)
plt.show()

观察生成的图表,你会寻找验证集分数开始进入平台期或出现下降拐点所对应的深度。同时,关注训练集和验证集分数之间的差距(间隙),差距突然拉大往往就是过拟合开始的信号。

深度与学习率的联动:这里有一个关键洞察。当使用较低的学习率时,你可以“承受”更深的树。因为每一棵树的贡献被缩小了,即使某棵深树过拟合了训练数据的某个局部,其负面影响也被稀释了。反之,高学习率下使用深树则是灾难性的组合。因此,一个经典的稳健策略是:采用较低的学习率,配合中等偏上的树深度,然后用早停法控制迭代轮数。

4. 实战Kaggle案例:参数组合如何影响最终成绩

理论说再多,不如看实战。我们以Kaggle上经典的二分类数据集Porto Seguro’s Safe Driver Prediction(预测汽车保险索赔)为例,来模拟不同参数组合下的模型表现。这里我们关注两个核心指标:跨验证集的平均AUC(评估排序能力)和MAE(评估预测值校准,虽然本例是分类,但我们可以看预测概率的绝对误差)。

我们设计一个小型实验,固定subsample=0.8, min_samples_leaf=50以控制过拟合,变化学习率和树深度:

import pandas as pd
from sklearn.model_selection import StratifiedKFold
from sklearn.metrics import roc_auc_score, mean_absolute_error

# 假设数据已加载为 train_df, test_df
# 这里我们用简化的参数网格进行模拟实验
param_grid = {
    'lr': [0.01, 0.05, 0.1],
    'max_depth': [3, 5, 7]
}

results = []
skf = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)

for lr in param_grid['lr']:
    for depth in param_grid['max_depth']:
        fold_aucs = []
        fold_maes = []
        
        for train_idx, val_idx in skf.split(X_train, y_train):
            X_tr, X_val = X_train.iloc[train_idx], X_train.iloc[val_idx]
            y_tr, y_val = y_train.iloc[train_idx], y_train.iloc[val_idx]
            
            model = GradientBoostingClassifier(
                n_estimators=2000,  # 设置足够大,用早停
                learning_rate=lr,
                max_depth=depth,
                subsample=0.8,
                min_samples_leaf=50,
                n_iter_no_change=10,  # 早停条件
                validation_fraction=0.1,
                random_state=42
            )
            model.fit(X_tr, y_tr)
            
            # 使用最优迭代轮数后的模型进行预测
            y_pred_proba = model.predict_proba(X_val)[:, 1]
            fold_aucs.append(roc_auc_score(y_val, y_pred_proba))
            fold_maes.append(mean_absolute_error(y_val, y_pred_proba))
        
        avg_auc = np.mean(fold_aucs)
        std_auc = np.std(fold_aucs)
        avg_mae = np.mean(fold_maes)
        
        results.append({
            'Learning Rate': lr,
            'Max Depth': depth,
            'Avg AUC': f'{avg_auc:.5f}',
            'AUC Std': f'{std_auc:.5f}',
            'Avg MAE': f'{avg_mae:.5f}',
            'Avg Trees Used': model.n_estimators_  # 实际使用的树
        })

results_df = pd.DataFrame(results)
print(results_df.to_string(index=False))

模拟实验的结果表格可能如下所示(数值为示意):

Learning RateMax DepthAvg AUCAUC StdAvg MAEAvg Trees Used
0.0130.623450.005120.089121850
0.0150.631200.004980.088011650
0.0170.632850.005230.087951200
0.0530.628900.005450.08850380
0.0550.635600.005100.08720320
0.0570.633800.005650.08755250
0.1030.629800.005600.08880190
0.1050.634000.005780.08770160
0.1070.629500.006100.08890110

从这个示意结果中,我们能读出几点:

  1. 最佳组合:学习率0.05,深度5在这个模拟中取得了最高的平均AUC(0.6356)和较低的MAE,且标准差相对稳定。
  2. 低学习率的优势:学习率为0.01时,随着深度增加,AUC在缓慢提升,且模型使用了非常多的树(早停决定)。这说明低学习率给了模型更多“纠错”空间,即使深度增加到7,也没有立即过拟合(AUC标准差未显著增大)。
  3. 高学习率的风险:学习率为0.1时,深度7的模型AUC下降,且标准差增大,这是过拟合的典型表现。模型学得太“急”了。
  4. 树的使用数量:学习率越低,早停前模型使用的树越多,这与我们的理论一致。

5. 不可或缺的辅助技能:早停法与特征重要性分析

当你确定了学习率和树深度的大致范围后,有两个工具必须整合到你的调参流程中,它们能极大提升效率并防止过拟合:早停法和特征重要性分析。

早停法是你的“自动驾驶”模式。与其手动猜测n_estimators这个数字,不如设置一个很大的值(比如2000或5000),然后让模型在验证集性能不再提升时自动停止训练。在sklearn的GradientBoostingClassifier中,通过n_iter_no_change和validation_fraction参数可以轻松实现。

# 一个集成了早停法的稳健模型定义
final_model = GradientBoostingClassifier(
    learning_rate=0.05,        # 经过前面分析确定
    max_depth=6,               # 经过前面分析确定
    subsample=0.8,
    min_samples_leaf=20,
    max_features='sqrt',       # 额外的正则化
    n_estimators=5000,         # 设置一个非常大的值
    n_iter_no_change=15,       # 连续15轮验证分数无提升则停止
    validation_fraction=0.1,   # 从训练集中留出10%做早停验证
    tol=1e-4,                  # 提升阈值
    random_state=42
)

特征重要性分析则是指引你调参和特征工程的“地图”。训练完成后,查看哪些特征被模型认为最重要,能帮你:

  • 验证特征工程的有效性。
  • 发现潜在的数据泄露。
  • 进行特征筛选,简化模型,有时反而能提升泛化能力。
importances = final_model.feature_importances_
feature_names = X_train.columns
indices = np.argsort(importances)[::-1]

plt.figure(figsize=(12, 8))
plt.title("Feature Importances")
plt.bar(range(20), importances[indices[:20]], align='center') # 显示前20个
plt.xticks(range(20), [feature_names[i] for i in indices[:20]], rotation=90)
plt.xlim([-1, 20])
plt.tight_layout()
plt.show()

如果你发现最重要的特征都是一些ID类或非常稀疏的特征,那就要警惕过拟合了。健康的特征重要性分布通常包含多个业务相关的特征。

6. 构建你的调参工作流:从基线到精修

最后,让我们把这些点串联起来,形成一个可操作的、用于Kaggle竞赛的GBDT调参工作流:

  1. 建立强基线:首先,使用一个低学习率、中等深度、并启用早停的配置快速跑一个基线模型。例如 learning_rate=0.05, max_depth=6, 其他参数默认。这个模型通常已经能打败很多简单模型了。
  2. 网格搜索粗调:以基线参数为中心,对learning_rate和max_depth进行小范围的网格搜索。学习率可以试[0.01, 0.05, 0.1],深度可以试[4,5,6,7]。务必使用交叉验证,并记录每个组合的验证集平均分数和标准差。
  3. 分析结果,确定方向:观察网格搜索结果。是更高的深度配合更低的学习率更好,还是反过来?验证集标准差是否在某个点后突然增大?确定一两个最有希望的参数组合。
  4. 引入正则化微调:在选定的lr和depth附近,开始调整其他正则化参数,如subsample、min_samples_leaf、max_features。这些参数可以进一步压制过拟合,提升泛化能力。通常采用随机搜索比网格搜索更高效。
  5. 早停法确定最终迭代轮数:在最终参数下,运行一次带有早停的完整训练,记录模型实际使用的树的数量。这个数字可以作为你最终提交模型时n_estimators的参考(虽然保留早停更安全)。
  6. 特征工程迭代:基于特征重要性分析,回头审视你的特征工程。创造新的特征组合、对重要特征进行变换、考虑删除不重要或可能导致泄露的特征。
  7. 最终训练与提交:使用全部训练数据,以找到的最佳参数和早停设置,训练最终模型,并对测试集进行预测。

记住,调参不是一蹴而就的,它和特征工程、模型集成是循环迭代的过程。在Kaggle比赛中,我经常发现,一套优秀的特征工程,比绞尽脑汁调参带来的提升要大得多。参数调优是为了让好的特征能够被模型充分、稳健地学习到,而不是无中生有。当你看着排行榜上因参数微调而上升的几个位次时,心里要清楚,是那些隐藏在参数背后的、对数据结构和问题本质的深刻理解在起作用。

船舶轨迹预测中的5个常见坑:基于LSTM单步预测的避坑实践 本文针对船舶轨迹预测中LSTM单步预测的常见问题,系统总结了五个典型陷阱及避坑实践。重点分析了如何正确处理AIS数据的非均匀采样与清洗、对航向角进行周期性编码、采用轨迹级归一化策略、缓解单步滚动预测的误差累积,并设计贴合业务的评估指标。这些实践能有效提升预测模型的准确性与实用性。 阅读详情

相关推荐

C#实战:如何用Chart控件打造专业级数据可视化报表(附完整代码)

本文详细介绍了如何使用C#的Chart控件创建专业级数据可视化报表,涵盖柱状图、饼图和雷达图等多种图表类型的高级定制与交互增强。通过完整的代码示例,展示了从环境配置到动态数据绑定的全流程,助力开发者提升企业级应用的数据可视化能力。

ipfs8storage的博客 418

LSTM与XGBoost融合:时序预测中的特征提取与稳健建模实战

在时间序列预测领域,模型偏差与方差的权衡是核心挑战。长短期记忆网络(LSTM)作为循环神经网络的变体,其门控机制能有效捕捉序列中的长期依赖关系,但作为复杂深度网络,容易对训练数据中的噪声过度学习,导致预测新数据时方差较高、稳定性不足。为了提升模型的泛化能力和鲁棒性,集成学习技术应运而生,它通过结合多个基学习器的预测来降低整体方差。极限梯度提升树(XGBoost)正是其中的佼佼者,它通过串行构建决策树并优化结构正则化目标函数,能有效处理表格型特征并输出稳健的预测结果。将LSTM与XGBoost结合,构成了优势

weixin_33894640的博客 403

数字信号完整性分析:眼图原理与应用指南

眼图是数字信号完整性分析中的核心工具,通过将数字信号在时间域上多次叠加形成类似人眼的图形,直观反映信号质量。其原理基于时钟恢复和波形叠加,能有效展示信号的统计特性,包括上升/下降时间、过冲/下冲等关键参数。在高速数字电路设计中,眼图分析对于评估信号完整性、调试抖动问题至关重要,广泛应用于DDR接口、高速串行链路等场景。通过合理设置示波器参数和采用均衡技术,工程师可以优化眼图表现,提升系统可靠性。本文结合DDR4内存等实际案例,详解眼图的测量方法与常见问题解决方案。

weixin_35459464的博客 342

【机器学习300问】139、Post-LN 和 Pre-LN 的区别?

Post-LN与Pre-LN的核心区别在于LayerNorm的位置:Post-LN在残差连接后,导致梯度需经LayerNorm变换,深层易出现梯度衰减或震荡;Pre-LN先做归一化,使输入稳定,残差路径梯度可无损回传,显著提升深层训练稳定性。尽管Pre-LN支持更深层次模型(如LLaMA、Qwen),但存在“深度诅咒”——深层贡献不足。相比之下,Post-LN浅层表现尚可,深层数易发散。因此,现代大模型普遍采用Pre-LN以保障训练可靠性。

qq_39780701的博客 347

保姆级教程:在RV1126开发板上跑通YOLOv5口罩检测(从数据集到摄像头实时识别)

本文提供了一份详细的RV1126开发板部署YOLOv5口罩检测系统的全流程指南,涵盖数据集准备、模型训练优化、边缘部署及实时摄像头识别等关键步骤。重点解析了RV1126开发板的性能特征、YOLOv5模型训练调优技巧、RKNN模型转换量化策略,以及部署过程中的性能优化方案,帮助开发者高效实现边缘端目标检测应用。

weixin_27310985的博客 106

[运动规划算法]基于飞行走廊的轨迹优化

文章目录简介一、介绍二、原理飞行走廊生成三、项目演示参考 简介 Btraj是一个在线的四旋翼无人机的运动规划框架,主要用于未知环境中的自主导航。基于机载状态估计和环境感知,采用基于快速行进(FM *)的路径搜索方法,从基于构建的欧氏距离场(ESDF)中寻找路径,以实现更好的时间分配。通过对环境进行膨胀生成四旋翼无人机的飞行飞行走廊。使用伯恩斯坦多项式将轨迹表示为分段Bezier曲线,并将整个轨迹生成问题转换成凸问题。通过使用Bezier曲线,可以确保轨迹的安全性和高阶动力学可行性,可以将轨迹完全限制在安全

xiewf的博客 8062

python 机器学习 交叉验证train_test_split 网格搜索GridSearchCV

最佳参数: {'metric': 'euclidean', 'n_neighbors': 3, 'weights': 'uniform'}交叉验证 用于在数据集中拆分成测试集和验证集,用于模型训练和验证。最佳交叉验证得分: 0.9428571428571428。网格搜索 用于自动查找最合适的模型参数,用于模型调优。测试集准确率: 1.0。

frt的博客 240

人形机器人大语言模型 pi*0.6(π*0.6):最新从经验中学习的VLA

摘要:本文介绍了一种名为Recap的机器人学习方法,通过示范训练、纠错指导和强化学习三个步骤提升机器人执行复杂任务的能力。研究显示,仅依靠模仿学习的机器人难以解决错误累积问题,而Recap方法通过价值函数可视化和优势条件策略训练,使π*0.6模型在咖啡制作、纸箱组装和衣物折叠等任务中的成功率提升超过90%,吞吐量翻倍。该方法突破了传统依赖人工演示的局限,通过自主经验学习实现机器人性能的持续优化,为未来机器人基础模型的发展提供了新方向。

2506_90492529的博客 1317

【机器学习300问】138、LayerNorm和BatchNorm的区别?

本文阐述了归一化与标准化在深度学习中的核心作用。输入层标准化可统一初始输入,但深层网络仍面临激活分布漂移。为此,提出BatchNorm与LayerNorm两种主流方法。

qq_39780701的博客 177

深入解析Linux驱动开发中的I2C时序及I2C高频面试题

在 I2C 通信中,主设备和从设备的角色有着明确的定义。主设备是发起通信的设备,它负责控制整个通信过程。主设备可以是微控制器、处理器等具有控制能力的设备。

大模型大数据攻城狮的专栏 2763

timing window file中的S L T指什么意思

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 771

为什么生成对抗网络训练常不稳定,模式崩溃与判别器过强之间是什么关系?

当支持集不重叠时(即 $D$ 能完美区分真假),JS 散度为常数 $\log 2$,其梯度为 0。这意味着一旦 $D$ 训练得稍好,$G$ 就失去了学习方向,导致训练停滞。生成对抗网络(GAN)的训练本质上是生成器($G$)与判别器($D$)之间的非合作零和博弈。以下代码展示了如何通过梯度惩罚(Gradient Penalty)来约束判别器,避免其过强导致生成器梯度失效。判别器过强是导致模式崩溃的直接诱因之一,二者之间存在明确的**“梯度误导”**因果关系。

2402_84593233的博客 196

YOLOv11改进 | Conv篇 | AKConv轻量级架构下的高效检测(附代码 + 修改方法 + 二次创新)

本文给大家带来的改进内容是AKConv是一种创新的变核卷积,它旨在解决标准卷积操作中的固有缺陷(采样形状是固定的),AKConv的核心思想在于它为卷积核提供了任意数量的参数和任意采样形状,能够使用任意数量的参数(如1, 2, 3, 4, 5, 6, 7等)来提取特征,这在标准卷积和可变形卷积中并未实现​​。AKConv能够根据硬件环境,使卷积参数的数量呈线性增减非常适用于轻量化模型的读者)。

Snu77的博客 1万+

人工智能,机器学习,深度学习,神经网络之间到底是什么关系,它们之间有什么联系和区别

联系:四者是目标 - 方法 - 架构 - 深化的递进关系。AI 是终极目标,ML 是实现 AI 的主流路径,NN 是 ML 中模仿人脑的算法架构,DL 是利用深层 NN 解决复杂问题的最强工具。区别核心AI包含非学习型规则系统(如专家系统)。ML强调“从数据中学习”,但通常需要人工介入特征工程。NN是具体的算法模型,浅层 NN 属于传统 ML。DL特指“深层”NN,核心优势在于自动特征提取和处理非结构化大数据的能力。技术选型建议:若数据量小、特征明确且需要高可解释性(如金融风控表格数据),首选。

2402_84593233的博客 226

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【人工智能驱动的电催化研究-01】人工智能是什么?AI、机器学习、深度学习和神经网络之间有什么区别?

介绍人工智能、机器学习、神经网络和深度学习的基本概念及相互关系。围绕催化剂性能预测,解释样本、特征、标签、模型、参数、训练、预测与验证的含义。结合二硫化钼边缘位点与析氢活性的研究案例,说明科学问题如何指导特征选择。利用真实文献中的析氢数据,通过手算和Python实践,对比人工规则与均值模型,理解参数学习和误差评价。强调数据学习不保证预测更优,相关性不能直接证明反应机理,文献数据还须核查实验条件与适用范围,为后续编程、数学和电催化机器学习课程建立基础。

2402_84593233的博客 748

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

机器学习01,KNN使用与简单数学原理

个人笔记

qq_59247073的博客 247

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

机器学习教程,从入门到精通,高斯混合模型(GMM)——写给机器学习小白的保姆级教程(10)

高斯混合模型(Gaussian Mixture Model,简称 GMM):假设你手里的数据是由"好几堆正态分布的数据混在一起"形成的,GMM 的任务就是——把这几堆分开,并且描述清楚每一堆的样子。

qq_45746668的博客 108

机器学习01,了解与KNN

个人笔记

qq_59247073的博客 343

【slam公式】

F:状态转移矩阵H:观测矩阵R: 观测噪声协方差。

qq_44691564的博客 285

基于有效Token规模化的大模型预训练数据配方与工程体系研究——基于唐杰《高级机器学习》课程演讲

在此背景下,本文系统梳理GLM系列模型数据迭代轨迹,纠正数据墙认知偏差,分析天然数据与合成数据的互补机制,并完整构建支撑高质量Token挖掘的全链路数据工程体系,为大模型数据规模化建设提供理论与工程参考。早期小模型训练场景下,数据总量远大于算力可消化量,核心策略为择优筛选少量高质量数据。基于唐杰公开演讲核心观点、GLM数据迭代、数据墙、合成数据、清洗解析工具链、分层架构图、自研工程壁垒),完整重构成一篇结构严谨、逻辑连贯、标准期刊论文风格全文,预留精准图片插入位置,可直接定稿、查重、发表、结课提交。

interpromotion的博客 231

机器学习-支持向量机

本文通过多个案例深入解析SVM在二分类、多分类及高维文本数据中的应用。基于乳腺癌数据集,构建标准化+SVM的流水线,结合网格搜索优化C与gamma参数,实现98.02%的测试准确率。通过交叉验证评估模型稳定性,结果显示标准差仅0.0162,表明模型鲁棒性强。引入probability=True后,可输出预测概率,揭示模型不确定性(如样本4的52%良性概率),助力医疗决策。结果表明,特征维度提升需调小gamma、增大C以适应复杂数据,凸显参数与数据特性的交互关系。

buwangchuxinking的博客 325

茶叶病虫害目标检测数据集

目标检测 yolo 目标检测数据集 茶叶病虫害目标检测数据集

DL_data_set的博客 338

生成式对抗网络GAN(Generative Adversarial Network)

和我们之前所说的梯度消失的问题类似所以很长一段时间用GAN来生成Sequence文字是非常困难的更多的生成模型:但是一般还是GAN产生的结果最好。

2303_76561497的博客 155

分布式计算框架如何赋能大规模机器学习

PyTorch 和 TensorFlow 是当今最流行的深度学习框架,它们都提供了强大的内置库来支持分布式训练。其核心策略主要分为数据并行和模型并行。

Cat_fish_snow的博客 172

基于机器学习的酒店数据分析及流失预测系统

本系统是一个面向酒店行业的客户数据分析与流失预测平台,基于 Antonio et al. (2019) 公开的酒店预订需求数据集,采用 Flask + SQLite + ECharts + scikit-learn 技术栈,实现数据可视化分析、机器学习流失预测、模型管理等功能,帮助酒店管理者识别流失风险客户并制定针对性挽留策略。流失(1):预订取消(is_canceled = 1),或非回头客且有历史取消记录未流失(0):不符合上述条件的客户。

aiyuanma_vip的博客 335

40V/24A高频率增强型GaN HEMT功率开关管/高频DC转换/电动工具/GaN充电器 方案首选

是一种增强型硅基氮化镓晶体管。氮化镓是一种宽禁带半导体,具有高功率密度。氮化镓晶体管的特点是没有体二极管,因此反向恢复电荷为零。这种氮化镓高电子迁移率晶体管(HEMT)是一种高性能增强型氮化镓HEMT,可实现优异的高频和高效率运行。该氮化镓功率HEMT结合了最高的dv/dt抗扰性以及行业标准的低轮廓、低电感FCQFN 3x4封装,使设计人员能够实现简单、快速且可靠的解决方案。符合RoHS、无铅、REACH标准。提供FCQFN 3x4封装。无人机及遥控模型电子调速器。高频DC-DC转换器。

2301_76864527的博客 224
上一篇: CST实战:如何用砷化镓材料在红外波段设计光子晶体波导(附完整参数设置)
下一篇: 禾赛XT16 vs XT32激光雷达实测对比:选16线还是32线?看完这篇不纠结
五行擒拿术
博客等级 码龄26年 53粉丝 1361原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值