自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(137)
  • 收藏
  • 关注

原创 LSTM(长短期记忆网络)

本文系统解析了LSTM(长短期记忆网络)的核心原理与应用。LSTM通过门控机制(遗忘门、输入门、输出门)有效解决了传统RNN的梯度消失/爆炸问题,成为处理长序列数据的核心技术。文章详细介绍了LSTM的数学基础、架构演进(包括GRU、双向LSTM等变体)、训练优化技巧(如梯度裁剪和正则化)以及在NLP、时间序列预测和语音处理等领域的典型应用方案。尽管Transformer兴起,LSTM在时序敏感任务中仍具独特优势,为序列建模提供了重要基础。

2025-07-12 16:35:50 396

原创 Transformer 的本质与核心思想

Transformer 通过自注意力机制重塑了序列建模范式,其并行化特性和强大的表示学习能力使其成为深度学习的基础设施。从数学原理到工程实践,从 NLP 到多模态领域,Transformer 的影响力仍在持续扩大。未来,随着高效架构设计、理论研究和跨领域融合的推进,Transformer 将在更广泛的场景中释放潜力,推动人工智能向更通用、更可靠的方向发展。理解其核心思想与技术细节,不仅是掌握当前 AI 技术的关键,也是探索下一代 AI 模型的基础。

2025-07-12 15:56:49 372

原创 循环神经网络(RNN)

循环神经网络(Recurrent Neural Network, RNN)是一种专门用于处理序列数据(如文本、语音、时间序列)的深度学习模型。其核心思想是通过循环连接和状态记忆机制,实现对序列数据的时序建模和上下文相关特征提取。

2025-07-09 14:51:50 562

原创 卷积神经网络(CNN)

卷积神经网络(Convolutional Neural Network, CNN)是一种专门用于处理网格状数据(如图像、视频、音频、时间序列)的深度学习模型。其核心思想是通过局部连接、权重共享和层次化特征提取,自动学习数据的空间或时间层次结构。生物学基础:受视觉皮层中神经元只响应局部刺激的启发数学实现:每个神经元仅与前一层局部区域连接(而非全连接)优势:大幅减少参数量(如5×5局部连接 vs 全连接)保留空间局部相关性适合处理平移不变特征原理:同一卷积核在输入的不同位置使用相同参数计算优势:参数量从O(n²

2025-07-08 16:16:53 560

原创 t-SNE(t-分布随机邻域嵌入)

t-SNE是。

2025-07-08 15:28:36 712

原创 主成分分析(PCA)

PCA是一种强大且广泛使用的。

2025-07-08 15:19:12 906

原创 K 近邻(K-Nearest Neighbors, KNN)详解

K 近邻算法以其简单直观、无需参数拟合、适用于非线性问题的特点,成为机器学习中的经典方法。易于理解与实现,无需复杂的数学推导;对噪声数据不敏感(通过 K 值平滑);适用于多分类任务,且可自然扩展到回归问题。但需注意其预测效率低、对高维数据不友好的局限性。在实践中,需根据数据规模、维度及分布特点,合理选择 K 值、距离度量与优化策略,以充分发挥其 “以邻为鉴” 的优势。

2025-07-08 15:04:03 983

原创 线性回归原理与实现方法

可解释性强:参数直接反映特征对目标的影响程度计算效率高:解析解和迭代解均可高效计算理论基础完善:统计推断方法成熟扩展性强:可轻松扩展到多项式回归、广义线性模型等尽管现代机器学习方法层出不穷,线性回归因其简洁性、可解释性和计算效率,仍然是数据分析师和研究人员工具箱中不可或缺的工具。

2025-07-08 14:55:49 646

原创 岭回归(Ridge Regression)详解

抗共线性:有效解决线性回归在特征高度相关时的参数不稳定问题;灵活性:通过 λ 参数精确控制正则化强度,适配不同复杂度的数据集;理论完备:兼具频率学派(正则化)与贝叶斯学派(先验分布)的解释,数学性质清晰。

2025-06-12 16:43:55 619

原创 机器学习之多项式回归

维度多项式回归模型复杂度高,可拟合非线性关系决策边界曲线(单变量)/ 超曲面(多变量)过拟合风险高(尤其高次多项式)特征依赖性依赖原始特征及其高次项组合适用场景非线性关系数据(如抛物线、周期函数)多项式回归是连接线性模型与非线性模型的桥梁,通过简洁的特征工程手段,在无需引入复杂算法的前提下提升模型表达能力。原理直观:基于线性回归框架,数学推导清晰易懂;灵活性强:通过调整多项式次数和正则化参数,可平衡拟合能力与泛化能力;计算高效:无需复杂优化算法,适合中小规模数据场景。

2025-05-16 14:54:01 954

原创 机器学习之SVM

适用场景推荐优先选择 SVM小样本、高维数据(如文本、图像特征向量)。线性可分或近似线性可分的数据,或可通过核函数转化为线性可分的场景。需要高泛化性能且计算资源有限的任务。谨慎使用场景样本量极大(\(n > 10^5\)),建议改用深度学习或近似算法(如 SGD-SVM)。特征维度极高且无明显结构(如百万级稀疏特征),需先降维。学习路径理论基础掌握向量空间、凸优化、拉格朗日对偶等数学工具。推导线性 SVM 的最大间隔优化过程,理解核函数的数学本质( Mercer 定理)。工具实操。

2025-05-16 14:35:09 735

原创 机器学习之KNN

维度KNN模型类型懒惰学习、非参数模型训练阶段无(直接存储数据)计算成本预测时高(\(O(N)\))可解释性高(依赖近邻样本直观解释)数据依赖依赖全部训练数据适用场景推荐小规模数据集(如 N<10,000)的快速验证。数据分布复杂、非线性关系明显的场景(如图像、推荐)。需要快速解释预测结果的场景(如医疗诊断辅助)。谨慎使用场景大规模数据集(如 N>100,000,内存与计算效率受限)。高维稀疏数据(如文本特征维度 > 10,000,距离度量失效)。学习路径理论基础。

2025-05-16 10:58:06 877

原创 机器学习之随机森林

维度随机森林模型结构多棵树集成,基树间具有随机性差异过拟合风险低(通过集成和随机性抑制)特征依赖性低(特征随机选择降低相关性)计算成本高(训练多棵树)可解释性低(集成模型难以解读)泛化能力高(集成降低方差)优先选择随机森林结构化数据(表格数据)的分类 / 回归任务(如 Kaggle 竞赛基线模型)。特征维度高且非线性关系复杂的场景(如用户行为分析)。需要快速评估特征重要性的探索性分析。谨慎使用场景实时预测需求(推理速度较慢,需提前训练并序列化模型)。

2025-05-15 18:13:43 1072

原创 机器学习之朴素贝叶斯(Naive Bayes)

维度朴素贝叶斯模型类型生成式模型(建模联合分布)假设基础特征条件独立假设计算复杂度低(线性时间)可解释性中(概率值可解读,但特征依赖隐含)数据依赖性对小规模、高维数据友好适用场景文本分类、实时预测优先选择朴素贝叶斯文本 / 自然语言处理任务(如垃圾邮件过滤、情感分析)。特征维度高但样本量不大的场景(如基因表达数据分类)。需要快速搭建基线模型或对计算资源有限的场景。谨慎使用场景特征间存在强依赖关系且无法通过特征工程缓解(如时间序列数据)。

2025-05-15 17:57:46 983

原创 机器学习之逻辑回归

优先选择逻辑回归需要高可解释性的业务场景(如医疗诊断、金融合规)。数据线性可分或特征工程成本较低的任务。快速验证基线模型,为复杂模型(如神经网络)提供对比基准。谨慎使用场景高度非线性数据(如图像、文本)且缺乏特征工程支持。类别数量极多(如超过 100 类)或样本量极小(如少于 1000 条)。

2025-05-15 17:43:59 855

原创 机器学习之决策树

优先选择决策树需要高可解释性的场景(如医疗诊断、金融风控)。数据规模较小或特征维度较低时(如几百个特征)。初步探索性分析,快速验证特征与目标的关系。谨慎使用场景高维稀疏数据(如文本数据,更适合线性模型或深度学习)。严格要求预测精度的复杂任务(需结合集成学习或深度学习)。

2025-05-15 17:27:56 608

原创 正则表达式详解与python指南

建议通过实际项目练习(如清洗 CSV 数据、解析日志文件)加深理解,逐步掌握这一强大工具。:默认尽可能长匹配(量词 +)

2025-05-15 17:12:56 947

原创 动态规划算法全面解析

动态规划是一种强大的算法策略,通过巧妙地利用子问题的重叠性和最优子结构,能够高效地解决许多复杂的问题。在工程实践中,需要根据具体问题的特点,合理设计状态和状态转移方程,并采用适当的优化策略来提高算法的性能和效率。随着深度学习和并行计算等技术的发展,动态规划算法也在不断地创新和发展,为解决更多复杂的实际问题提供了有力的工具。

2025-05-15 16:21:57 648

原创 回溯算法深度解析

回溯算法以其 “暴力搜索 + 智能剪枝” 的特性,成为解决组合搜索问题的核心工具。尽管在大规模场景中面临效率挑战,但其与机器学习、并行计算等技术的结合,正推动其在复杂优化问题中的应用拓展。在实际开发中,合理设计解空间树、优化剪枝策略和状态管理,是发挥回溯算法效能的关键。

2025-05-15 11:29:09 639 1

原创 贪心算法全面解析

贪心算法以其简洁高效的特性成为解决各类优化问题的常用工具,但其正确性高度依赖问题的贪心选择性质。在工程实践中,需结合问题特性设计合理的局部选择规则,并通过算法优化和混合策略提升性能。随着硬件技术和机器学习的发展,贪心算法正与新兴技术深度融合,在更多复杂场景中展现出强大的应用潜力。

2025-05-15 11:24:50 864

原创 克鲁斯卡尔(kruskal)算法——用于求出一个连通图中的最小生成树

通过Kruskal算法与Prim算法的组合使用,工程师可以在不同场景下构建高效的最小生成树解决方案。现代工程实践中,建议将两种算法封装为可互换模块,根据实时输入的图特征动态选择最优算法,这种混合策略在实际项目中可提升30%以上的综合性能。Kruskal算法采用。

2025-05-14 16:25:01 337

原创 最小生成树——Prim算法

Prim 算法通过贪心策略平衡效率与正确性,在不同场景下可通过优化数据结构(如优先队列、斐波那契堆)提升性能。其在网络拓扑优化、资源分配等领域具有广泛应用,是图论算法中的基础且重要的工具。四、时间复杂度深度分析。

2025-05-14 16:02:26 519

原创 迪克斯特拉Dijkstra算法

Dijkstra 算法以贪心策略为核心,通过优先队列优化显著提升了稀疏图的计算效率。其简洁的逻辑和广泛的适用性使其成为图论中解决单源最短路径问题的首选方案,但需注意其对负权边的限制。实际应用中,应根据图的密度和规模选择合适的实现方式,以平衡时间和空间复杂度。O((V+E) log V)(优先队列优化)<br<br>O(V²)(朴素实现,适用于稠密图)的经典算法,由荷兰计算机科学家Edsger W. Dijkstra于1956年提出。,能够高效计算从起点到所有其他节点的最短路径。Dijkstra算法采用。

2025-05-14 14:55:17 1049

原创 Floyd算法(Floyd-Warshall Algorithm)

Floyd-Warshall 算法以其简洁性和对负权边的支持,成为解决多源最短路径问题的经典选择。尽管时间复杂度较高,但在中小规模图或需要全局路径信息的场景中表现出色。,支持处理包含负权边(但不含负权环)的图。它以简洁的代码实现多源最短路径问题,是图论中的经典算法之一。稠密图的多源最短路径、需处理负权边的场景。O(V²)(存储距离矩阵和前驱矩阵。的动态规划算法,其核心思想是通过。的负权环,导致最短路径无限减小。可通过额外维护前驱矩阵。O(V³)(V为节点数。

2025-05-14 14:40:14 503

原创 数据结构之BFS广度优先搜索

广度优先搜索(Breadth-First Search, BFS)是一种用于遍历或搜索树/图的算法,其核心思想是逐层扩展探索节点,即先访问所有相邻节点,再访问相邻节点的相邻节点。高炉指标说明O(V+E)(V为顶点数,E为边数)O(V)(队列最多存储所有顶点)最短路径(无权图)、层级遍历、社交网络关系链。

2025-05-14 14:32:29 319

原创 数据结构之DFS深度优先搜索

深度优先搜索(Depth-First Search, DFS)是一种用于遍历或搜索树/图的算法,其核心思想是**尽可能深地探索当前分支,直到无法继续,再回溯到上一个分叉点。DFS 系列指标说明O(V+E)(V为顶点数,E为边数)O(V)(最坏情况下递归栈或显式栈存储所有顶点)路径查找、连通分量检测、拓扑排序、迷宫求解3.算法步骤5.C++实现6.总结。

2025-05-14 14:16:17 402

原创 数据结构之哈希查找

哈希查找(Hash Search)是一种基于**哈希表(Hash Table)将键(Key)直接映射到存储位置(Bucket),从而实现**平均O(1)快速查找、去重、缓存(如Python字典、Redis、HashMap)平均O(1),最坏O(n)(所有键冲突时退化为链表)不稳定(哈希函数可能打乱原始顺序)O(n)(额外空间存储哈希表)

2025-05-14 12:37:14 444

原创 数据结构之树表查找

高频插入删除的动态数据(如Java HashMap)平均O(log n),最坏O(n)(退化为链表)需要范围查询的数据库(如Oracle索引)文件系统、数据库索引(如MySQL)O(log n)(磁盘I/O优化)O(log n)(范围查询更高效)需要稳定查询效率的静态/动态数据。O(n×L)(可能存在冗余存储)字符串前缀匹配(如输入法提示)动态数据且无需严格平衡的场景。O(L)(L为单词长度)严格O(log n)最坏O(log n)稳定O(log n)稳定O(log n)文件系统、数据库索引。

2025-05-14 11:43:34 1312

原创 数据结构之斐波那契查找

通过黄金分割比例(约0.618)减少比较次数。相比二分查找的固定中点分割,斐波那契查找在特定场景下能更高效地逼近目标位置。斐波那契查找是二分查找的另一种优化变种,其核心思想是。

2025-05-14 11:16:16 206

原创 数据结构之插值查找

而非机械地取中间点。它通过数据分布均匀性假设,在有序且分布均匀的数据集上可实现。插值查找是二分查找的优化变种,其核心思想是。

2025-05-14 11:12:37 148

原创 数据结构之二分查找

它采用分治策略,每次比较后排除一半的无效数据,适用于。二分查找是一种高效的查找算法,其核心思想是。

2025-05-14 11:02:49 313

原创 数据结构之线性查找

它不依赖数据的有序性,适用于任何线性结构(如数组、链表)。线性查找是最基础的查找算法,其核心思想是。

2025-05-14 10:55:04 126

原创 数据结构排序算法—堆排序

堆排序将数据视为完全二叉树进行处理,既保持了选择排序的简单性,又通过堆结构将时间复杂度优化到O(n log n)级别,是理解树形结构在排序中应用的经典案例。堆排序(Heap Sort)是一种基于完全二叉树结构的排序算法,利用堆的性质进行排序。交换10和1 → 调整堆 → 交换5和1 → 调整堆 → ... → 最终有序。:通过反复交换堆顶元素与末尾元素,并调整堆结构,逐步将极值元素移到有序区。:将无序数组构建成一个大顶堆(最大堆)或小顶堆(最小堆):从当前节点向下递归调整,保证父节点始终大于子节点。

2025-05-09 16:06:14 547

原创 数据结构排序算法之希尔排序

希尔排序(Shell Sort)是插入排序的高效改进版本,其核心思想是通过动态缩小的增量将数组分割为多个子序列,分别进行插入排序。随着增量逐渐减小,子序列越来越长,最终当增量为1时,整个数组进行一次插入排序。:取决于增量序列的选择。使用希尔原始序列(N/2, N/4, ..., 1)时,平均时间复杂度约为 O(n log n) 到 O(n²),最坏情况下为 O(n²)。:初始增量(间隔)为数组长度的一半,之后每次缩小为前一次的一半。:重复上述步骤,直至增量为1,完成最后一次全数组插入排序。

2025-04-30 15:09:53 784

原创 数据结构排序算法之归并排序

归并排序是一种典型的分治算法,其核心操作分为两个关键步骤:分解与合并。在分解阶段,它将一个完整的数组不断地递归分割成左右两半。这种递归操作会持续进行,直到每个子数组的长度缩减至 1。为什么要到长度为 1 呢?因为长度为 1 的子数组天然就是有序的。想象一下,一个数组里只有一个元素,它本身就不存在顺序问题。而在合并阶段,归并排序会将两个已经有序的子数组合并成一个新的有序数组。这个过程会持续进行,从最开始的小的有序子数组,逐步合并成更大的有序数组,直到所有的子数组都被合并完成,最终得到一个完全有序的原数组。

2025-04-14 16:00:38 832

原创 数据结构排序算法之快速排序

在快速排序中,分解步骤是通过“划分”操作完成的,而合并步骤则不需要显式执行,因为子数组的排序结果会自然地组合成整个数组的排序结果。这是因为每次划分操作将数组分为两部分,递归深度为O(log n),每次划分操作的时间复杂度为O(n)。2. 重新排列数组:将数组中的元素重新排列,使得所有小于基准值的元素都位于基准值的左侧,所有大于基准值的元素都位于基准值的右侧。3. 递归排序子数组:对基准值左侧的子数组和右侧的子数组分别递归执行上述步骤,直到子数组的大小为1或0,此时整个数组即为有序。• 选择数组的中位数。

2025-03-12 13:47:08 310

原创 数据结构排序算法之冒泡排序

正如计算机科学家Donald Knuth所言:"过早优化是万恶之源",冒泡排序正是这种理念的最佳注脚——在正确的地方使用合适的工具,才是程序设计的真谛。在计算机科学的璀璨星河中,冒泡排序犹如一颗独特的星辰,虽然亮度不及快速排序等高效算法,却以简单优雅的排序哲学照亮了无数初学者的算法之路。这个诞生于1956年的经典算法,至今仍在编程入门课程中占据重要位置,因为它完美诠释了算法设计的本质——用最直观的方式解决问题。第一轮:3↔5,5↔8,6↔8 → [3,5,6,4,8]从第一个元素开始,比较相邻元素。

2025-03-03 16:20:45 332

原创 龙格现象及分段线性插值基于python实现

3.与原函数的图像相比较,当插值节点数n增加时,由于插值多项式的次数也随之增加,拉格朗日插值多项式逼近函数的效果随之下降,插值函数相较于原函数更加失真,振荡现象严重。依据x的值以及所对应的y的值,分别求解出不同的插值点个数n所对应的格朗日插值多项式,并将函数图像可视化。

2023-08-21 15:58:48 1479 1

原创 牛顿插值法基于python的实现方法

插值法利用函数f(x)在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f(x)的近似值。牛顿插值法相对于拉格朗日插值法具有承袭性的优势,即在增加额外的插值点时,可以利用之前的运算结果以降低运算量。

2023-08-21 15:56:51 2100 1

原创 拉格朗日插值法基于python的实现方法

(x-x1)/(x0-x1)*y0+(x-x0)/(x1-x0)*y1 可以看出当x=x0的时候,函数值y0,当x=x1的时候,函数值为y1.已知,f(xk)=yk(k=0,1....n),在函数类P中寻找一个函数Φ(x)。线性插值:拉格朗日插值法中最简单的是线性插值,我们先来了解线性插值函数的构成。在此基础上了解多次插值,f(x)为被插值函数,Φ(x)为插值函数,x0,x1....xn为插值节点。设函数y=f(x)在区间[a,b]上连续,给定n+1个点。

2023-08-21 15:55:17 1215

Java课程设计火车票系统管理源码

Java课程设计火车票系统管理源码

2023-04-23

Java小游戏飞翔小鸟源码

Java小游戏飞翔小鸟源码

2023-04-23

Java小游戏-推箱子源码

Java小游戏-推箱子源码

2023-04-23

Java课程设计停车场系统

Java课程设计停车场系统

2023-04-22

Java小游戏飞机大战源码

Java小游戏飞机大战源码

2023-04-22

Java课程设计商品库存系统

Java课程设计商品库存系统

2023-04-22

Java小游戏五子棋源码

Java小游戏五子棋源码

2023-04-22

Java小游戏中国象棋源码

Java小游戏中国象棋源码

2023-04-22

Java小游戏扫雷源码

Java小游戏扫雷源码

2023-04-22

java小游戏超级玛丽源码

java小游戏超级玛丽源码

2023-04-21

java小游戏贪吃蛇源码

java小游戏贪吃蛇源码

2023-04-21

数据结构解决八皇后问题(java版)源码

数据结构解决八皇后问题(java版)源码

2023-04-21

Java程序个人通讯录源码

Java程序个人通讯录源码

2023-04-21

图书借阅管理系统的源码

图书借阅管理系统的源码

2023-04-21

Java小游戏植物大战僵尸源码

Java小游戏植物大战僵尸源码

2023-04-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除