虚函数(virtual function)指的是 C++ 中使用 virtual 关键字声明的函数。从表面看起来仅仅是一个函数的声明,但是其背后有着一套较为复杂的机制,通过这套机制能为 C++ 引入一些高级的动态特性。 ...
Protocol Buffer 会将对象序列化为二进制数据。在本文中,我们简单了解下它是如何对数据进行编码的,即:了解下底层的编码格式。当然并非必须的,日常使用 Protocol Buffer 不需要精通这些细节。不过,...
移动语义是 C++11 标准引入的一个特性,旨在通过优化资源管理改善 C++ 的效率。移动语义主要涉及通过右值引用来避免不必要的深拷贝,从而减少资源的分配和释放。
constexpr 是在 C++11 中引入的关键字。它的作用就是实现在编译时对表达式求解,运行时直接使用结果,避免一些计算,从而提高程序的效率。
C++ Boost 库中的环形缓冲区(Circular Buffer)是一种数据结构,用于实现固定大小的队列,支持高效的插入和删除操作。它的主要特点是,当缓冲区满时,新的元素会覆盖最旧的元素,从而形成一个环形结构。 1....
门控循环单元(Gated Recurrent Unit, GRU)是一种改进的循环神经网络(RNN)架构,旨在解决传统 RNN 在处理长序列时面临的梯度消失问题。GRU 由 KyungHyun Cho 等人在2014年提...
长短期记忆网络(Long Short-Term Memory,LSTM)是一种特殊的循环神经网络(RNN),与传统的 RNN 相比,在处理涉及较长距离时间依赖的任务中表现出更强的能力。 1. 算法原理 LSTM 为了解决...
循环神经网络(Recurrent Neural Network, RNN)是一类用于处理序列数据的神经网络。 什么是序列数据?序列数据是指按照一定顺序排列的数据集合,其中的每个元素被称为序列的一个项。序列数据可以是有限的...
C++ 智能指针是现代 C++ 编程中的一个重要特性,主要用于管理动态分配的内存。智能指针通过封装原始指针,自动管理资源的生命周期,从而减少内存泄漏和悬挂指针的问题。
决策树(Decision Tree)是一种直观且易于理解的机器学习算法,它可以处理分类和回归问题。课程由浅入深、全面讲解了算法的核心原理和细节。
训练分类模型后,我们需要了解它的性能。通过性能评估,我们可以确定模型的优点和缺陷,进而指导我们对模型的改进和优化。课程介绍了常见的分类问题中使用到的评估方法。
AUC(Area Under the Curve)是一种常用二分类评估方法,它指的是 ROC 曲线(Receiver Operating Characteristic Curve)下的面积。 1. ROC ROC(Rec...