Layer Normalization(层归一化)在深度学习中是一种标准化技术,广泛应用于循环神经网络(RNN)和 Transformer 等模型中,用于稳定训练和提高模型性能。 在训练深度神经网络时,由于网络层数较深,...
Batch Normalization(BN)主要解决的是内部协变量偏移(Internal Covariate Shift)问题。该问题指的是深度神经网络在训练过程中,每一层的输入分布会随着前面层参数的更新而变化,从而导...
梯度提升树(GBDT,Gradient Boosting Decision Tree)回归是一种集成学习方法,它通过逐步构建多个决策树来优化预测结果,尤其适用于回归问题。GBDT 通过“加法模型”逐步提高模型的预测能力,...
GBDT 是一种强大的集成学习方法,广泛用于分类和回归问题。它属于提升(Boosting)算法的一种,通过多个弱学习器(通常是决策树)结合起来提高模型的准确性。 1. 二分类 对于 GBDT 应用到二分类的场景,其预测过...
在 sklearn 中,LinearSVC 线性支持向量机(SVM)的原始形式支持的两种目标函数类型,分别是 : squared_hinge 是目标函数中的损失项,它是标准的 hinge loss 的平方形式。它可以提供...
感知机(Perceptron)是1958 年由弗兰克·罗森布拉特(Frank Rosenblatt)提出的一个经典线性分类算法。它是机器学习领域最早提出的基于数学规则进行分类的模型之一,适用于解决二分类问题。 作为一种线...
线性判别分析(Linear Discriminant Analysis,简称 LDA)是一种经典的统计学方法,主要用于 特征降维 和 分类问题。课程详细讲解了 LDA 降维和分类的原理。
std::async 是 C++11 引入的一个工具函数,它主要用于在程序中创建 异步任务、延迟任务。本篇文章将通过设计的 6 个示例程序来展示如何利用 std::async 实现异步任务与延迟任务。
在现代软件开发中,多线程编程都至关重要,而 std::thread 类则是 C++ 支持多线程技术最重要的类。通过对 thread 源码进行理解,能够让我们更好的了解和使用 std::thread 来构建多线程程序。
线性判别分析(Linear Discriminant Analysis,简称 LDA)是一种经典的统计学方法,主要用于 特征降维 和 分类问题。 它的核心思想是:寻找一个最佳的线性投影,使得投影后的数据在新空间中,不同类...
在 C++17 中,折叠表达式是一种在可变参数模板中展开参数包并对其进行某种操作的方式。它允许你对多个参数进行某种操作(加法、乘法、逻辑运算等),从而大大减少了模板编程的复杂度。 在没有折叠表达式的情况下,处理可变参数模...
std::async 是 C++11 引入的一个工具函数,它主要用于在程序中创建 异步任务、延迟任务。本篇文章将通过设计的 6 个示例程序来展示如何利用 std::async 实现异步任务与延迟任务。 1. 异步任务 一...
在现代软件开发中,并发编程成为提升性能的关键。无论是处理大量数据、提升响应速度,还是高效利用多核 CPU,多线程编程都至关重要。在 C++ 中 通过使用 std::thread 类,我们能够轻松地创建并启动一个或多个线程...
主成分分析(PCA,Principal Component Analysis)是一种常用的数据降维技术。数据降维是指将高维数据转换为低维数据的过程,同时尽可能保留原始数据的重要信息。