
「数智通识」
文章平均质量分 97
三余知行
「数智通识」:人工智能、机器学习、深度学习、AIGC、AI Infra、AI 应用方面;
「算法通解」:算法的串联与极解;
「计算通践」:技术的落地方面、工具的使用、编程语言;
「知见通感」:知人、知己、生活、职场、人生;
-- 冬者岁之余,夜者日之余,阴雨者时之余也
展开
-
深度学习|求导公式:梯度逆传播规律
神经网络学习的核心是计算损失函数的梯度,即求损失函数关于网络参数的偏导数。而网络的计算可以理解成一系列基本运算的复合,因此我们可以通过了解这些基本运算的导数求解方式,以及结合链式法则归纳出这些基本运算的复合形式的求导规律,来完成网络的梯度的高效计算。这就是误差逆传播算法的基本原理。原创 2024-09-29 22:24:21 · 1810 阅读 · 37 评论 -
深度学习|误差逆传播:梯度速解
BP 算法是迄今最成功的神经网络学习算法,通常神经网络(不限于前馈神经网络)都使用 BP 算法进行训练。“BP 网络”特指使用 BP 算法训练的多层前馈神经网络。BP 算法实质是 LMS(Least Mean Square)算法的推广。LMS 试图使网络的输出均方误差最小化,用于神经元激活函数可微的感知机学习,LMS 推广到由非线性可微神经元组成的多层前馈网络,就是 BP 算法。原创 2024-09-24 21:28:17 · 1937 阅读 · 50 评论 -
深度学习|损失函数:网络参数优化基准
损失函数(loss function)是表示神经网络性能“恶劣程度”的指标,即当前神经网络对监督数据有多么不拟合,多么不一致。在神经网络模型中,均方误差、交叉熵误差、绝对误差、Kullback-Leibler Divergence 和 Hinge Loss 等都具有实际价值,选择何种损失函数通常取决于特定问题的需求、目标以及数据的特征。原创 2024-09-18 12:42:49 · 1613 阅读 · 45 评论 -
深度学习|模型训练:手写 SimpleNet
本文我们通过手写 Python 代码实现了一个简单的神经网络 SimpleNet,并使用 MNIST 数据集演示了 SimpleNet 的完整训练过程,最终我们对模型训练过程中训练集和测试机的识别精度做了跟踪验证,从结果可以看出,随着学习的进行,训练集和测试集的识别精度都很快从不足 10% 提高到了 94% 以上,SimpleNet 对测试集中未曾“见过”的图片也具备了准确的识别能力,这验证了 SimpleNet 的泛化能力。原创 2024-09-12 12:25:56 · 2629 阅读 · 45 评论 -
深度学习|梯度下降法:误差最小化的权重参数
梯度下降法是神经网络训练的核心算法,通过梯度下降法,我们可以找到使损失函数最小的权重参数,从而使神经网络的推理结果更加准确。梯度下降法是一个迭代的过程,需要不断调整参数,直至损失函数收敛。在实际应用中,我们还会使用一些优化算法(如 `Adam`、`RMSprop` 等)来加速梯度下降的过程,具体的优化算法我们将在后续篇章中详细介绍。原创 2024-09-09 23:20:55 · 2471 阅读 · 50 评论 -
深度学习|激活函数:网络表达增强
激活函数是神经网络的核心组件之一,其对于模型的性能是至关重要的。不同的激活函数在输出范围、计算复杂度、梯度表现和适用场景等方面存在显著差异。选择合适的激活函数应根据具体任务的需求、网络结构与数据特性进行考量。随着深度学习的发展,激活函数的类型、性质及其设计原则也在不断演进。了解各种激活函数的特性,有助于设计更有效的神经网络结构。原创 2024-09-05 23:53:28 · 1771 阅读 · 10 评论 -
深度学习|模型推理:端到端任务处理
神经网络是一种机器学习算法,它的目的是自动学会**端到端**任务的处理逻辑。这里说的端到端,便是指任务的最初输入端到最终输出端。神经网络的推理过程主要前向传播的过程,我们可以将输入数据通过网络的各个连接进行传递,每个神经元接收到上一层神经元传递的信息,并根据自身的权重和激活函数进行计算,然后将计算结果传递给下一层神经元。通过多个层次的计算和传递,神经网络就具备了对输入数据进行复杂逻辑处理的能力,并产生网络所需的端到端的预测或分类结果。原创 2024-09-04 19:59:35 · 3432 阅读 · 29 评论 -
深度学习|感知机:神经网络之始
感知机经历了从起初的热潮到冷却,再到现代深度学习复兴的过程。其简单而有效的结构与思想成为了现代人工智能的基石,指引了神经网络在各个领域的广泛应用与发展。感知机的基本结构与学习算法为现代复杂神经网络的设计奠定了理论基础,是理解更高级模型的关键。尽管受限于线性可分性,但其概念与学习算法是现代深度学习(如卷积神经网络、递归神经网络等)的发展提供了基础。感知机的思想指引研究者探索新的激活函数、优化算法及网络架构,从而推动深度学习领域的不断创新。原创 2024-09-03 22:31:31 · 1671 阅读 · 26 评论 -
深度学习|引介:未来已来
人工神经网络(ANN)是深度学习领域的核心概念,而深度学习几乎已经是现代人工智能(AI)的代名词,其对 AI 的发展起到了重要的推动作用。我们将围绕 ANN 的基本概念与原理、发展历史和近来趋势、应用领域等进行由浅入深的探讨,慢慢全面而细致地沉浸到这个重要主题的探索与剖析中去。原创 2024-09-03 13:28:11 · 1777 阅读 · 28 评论 -
计算之魂:持续于正确的因果链(二)
将问题中各种情况抽象成状态,将大量看似无关的情况用少数状态覆盖,再理清状态之间的逻辑关系。状态之间是存在因果关系的,借助 test(找到非法的状态)与 debug(找到导致非法状态的因果关系链)的能力,我们可以更好地理解问题的本质。有很多经典而有趣的问题或算法,它们计算之机巧,应用之广泛,类比之深远,皆值得我们去深思和不断探究。今天带来的是其中的12 球问题与和为 K 的字数组问题*原创 2024-09-02 09:15:00 · 1932 阅读 · 1 评论 -
计算之魂:持续于正确的因果链(一)
站在系统的角度来考虑所有应用问题,沿着正确的方向,经过不断递进的联系,见识逾大,思考逾深,才能完成一次质的飞跃。有很多经典而有趣的问题或算法,它们计算之机巧,应用之广泛,类比之深远,皆值得我们去深思和不断探究。今天带来的是其中的**25 人赛跑**与**BB84 量子密钥分发**。原创 2024-09-01 18:02:52 · 1258 阅读 · 0 评论 -
问题最优解:实际问题转换图论问题
图论作为一种数学模型,为我们提供了分析各种实际问题的强有力工具。无论是在城市交通、社交网络还是物流优化领域,我们所面临的很多问题都可以通过图论理论来获取“最优解”,而如何将实际问题转换为图论问题是我们必须面对的挑战。本文将回归图论的本质,探讨实际问题到图论问题的转换、图算法的作用及求解优化、以及图论对解决实际问题的局限性与更多可能性。原创 2024-08-30 13:25:30 · 1339 阅读 · 4 评论 -
计算存储:时空权衡
存储是计算机科学中的一个核心话题,它不仅提供了对数据的持久性访问,还涉及资源的有效利用。计算机系统中可用的内存或磁盘空间的量,即存储空间;计算机执行操作所需的时间,包括处理时间和存取时间,即处理速度;此两者之间的平衡,我们可以称之为时空权衡。原创 2024-08-29 13:15:00 · 794 阅读 · 2 评论 -
计算思维:串行、并行、分布式云计算、GPU
计算效率是计算机科学中的重要主题,不同的计算模式和架构设计适用于不同的场景。串行计算适用于小规模任务,而并行计算适用于大规模任务。分布式云计算适用于海量数据处理,GPU 批处理适用于深度学习和计算密集型任务。掌控每一种计算架构与思维方式是提高计算效率和性能的关键,也是计算机工程师的必备技能。在实际应用中,根据任务的特点和需求,选择合适的计算模式和架构设计。原创 2024-08-29 09:15:00 · 5271 阅读 · 23 评论 -
图论:最大流量问题与 Ford-Fulkerson 算法
最大流量问题是图论中的一个经典应用,主要涉及在给定的图中,从源点(Source)到汇点(Sink)能够传输的最大流量。这个问题常见于交通流、数据传输等领域。本文将介绍最大流量问题的基本概念,以及如何使用 Ford-Fulkerson 算法和 Edmonds-Karp 算法来解决这一问题。原创 2024-08-28 09:15:00 · 1298 阅读 · 0 评论 -
图论:商业级网络爬虫思考
网络爬虫是一种用于自动抓取网页内容的程序。商业级网络爬虫通常用于搜索引擎、数据挖掘、竞争情报等领域。构建一个高效的“商业级”网络爬虫需要考虑多个方面,包括有向性与强连通性、节点的不可枚举性(可预知性)、动态变化的拓扑结构、体量(海量规模)、并行协调、流量控制、合法合规等。本文将从这些方面进行深入探讨,并提供一些实现示例与实践思考。原创 2024-08-27 09:15:00 · 1536 阅读 · 4 评论 -
图论:图的遍历(DFS vs. BFS)
图的遍历是图论中的核心概念,通过不同的遍历方法能够有效地处理多种问题,例如连通性检测、路径查找、图的最小生成树等。本篇我们将重点探讨图的深度优先搜索(DFS)和广度优先搜索(BFS)两种常见的图遍历方法,分析它们的原理、应用场景以及实现方法,并通过实际案例代码分析问题解决方案。原创 2024-08-26 13:28:57 · 1745 阅读 · 0 评论 -
图论:配对问题与匈牙利算法
在社会实验与市场机制中,图论可以帮助分析竞争与合作如何影响配对的效果。例如,通过分析竞争者间的边权重,评估配对质量。图论不仅是数学的抽象工具,更是现代科技和社会发展的重要支撑。探索图论在日常生活中的影响,激励我们在应对复杂问题时,更有效地运用这一理论,提升决策的科学性与效率。原创 2024-08-26 09:15:00 · 2555 阅读 · 8 评论 -
图论:描述有限离散集合中元素间关系
图论作为一种数学理论,旨在研究有限的离散集合中元素之间的关系,其核心在于通过图的结构,即点与线的组合,精确地描述和解析对象间的互动与联系。图的定义不仅是数学抽象,更具有丰富的应用场景。本文将结合计算机科学的视角,从图论的基本概念、实际生活中的应用以及配对问题的解决方案三个方面进行深入探讨,并通过 Python 代码实现相关模型。原创 2024-08-25 19:41:53 · 772 阅读 · 0 评论 -
向量数据库|Milvus:智能检索新时代
随着对高效向量检索需求的不断增长,Milvus 在未来的数据分析和人工智能领域继续扮演着举足轻重的角色,助力企业和开发者解决各类复杂的数据挑战。本文通过探讨 Milvus 的基本特点与技术原理、环境搭建与数据管理、基本使用与最佳实践,能够全面理解 Milvus 的强大功能及高效性能,并为构建智能化、高效率的数据处理平台打下坚实基础。原创 2024-08-21 13:45:00 · 3619 阅读 · 21 评论 -
向量:任意事物的机器表达与理解
向量作为一种灵活而强大的数学表示方式,无论是在特征表示、模型训练还是高效检索中,向量都扮演着不可或缺的角色。向量不仅是信息的载体,更是智能化发展的重要推动力。向量在多个领域中的广泛应用凸显了它作为机器学习和人工智能中重要工具的价值。从自然语言处理到计算机视觉,从推荐系统到信息检索,从音频处理到社交网络分析,向量展示了其强大的表达与理解能力。随着向量技术和相关算法的不断发展,向量将愈发重要,成为推动智能化革新的核心力量。原创 2024-08-21 09:14:21 · 1046 阅读 · 0 评论 -
向量数据库 Faiss:搭建与使用
在大数据与 AI 的时代,向量数据库在高效搜索与相似度检索场景中扮演了至关重要的角色。Faiss(Facebook AI Similarity Search)作为一款强大的开源向量数据库,以其优越的性能和灵活的配置选项,成为处理高维向量检索的理想选择。本文将探讨 Faiss 的基本特点与核心技术原理、基础维护,以及基本使用,从而帮助用户搭建出高效的向量数据库解决方案。原创 2024-08-20 12:39:52 · 6252 阅读 · 0 评论 -
高维数据检索:PQ(积量化)算法
在大 AI 时代,高维数据的处理与检索一直是一项重要的技术需求。面对高维数据的海量增加,传统的数据处理方法往往无法应对存储和计算开销的挑战。PQ(积量化)算法以其高效性受到广泛关注,旨在通过量化技术对数据进行压缩,并提高近似搜索的效率。本文将深入探讨 PQ 算法的基本原理,包括量化与码本的构建、维度灾难与内存开销的分析,以及积量化的创新与应用。原创 2024-08-20 09:15:00 · 1818 阅读 · 0 评论 -
高维数据检索:局部敏感哈希算法
局部敏感哈希(Locality Sensitive Hashing, LSH)是一种用于高维数据相似性检索的算法,通过将相似的高维数据点映射到相同的“桶”(bucket)中,从而提高相似性检索的效率。随着数据量的不断增长,LSH 在图像检索、文本数据处理、推荐系统等众多领域中展现出极大的潜力。以下是对 LSH 算法的原理、优缺点、改进算法与应用场景进行深入探讨。原创 2024-08-19 13:16:19 · 1590 阅读 · 0 评论 -
无监督学习:K-Means 聚类算法
K-Means 聚类算法因其高效性和易用性,已广泛应用于各种领域。K-Means 与嵌入模型结合的使用是有效的无监督学习策略,能够帮助我们在复杂数据集上进行有效的聚类和模式识别。K-Means 聚类算法与向量数据库的结合极大地提升了高维数据的处理能力,让管理员能高效地存储、检索和分析数据。在实际应用中,K-Means 聚类算法广泛用于文本分析、图像处理、推荐系统和其他数据分析领域。原创 2024-08-19 10:01:39 · 1288 阅读 · 0 评论 -
高维数据检索:IVFFlat 算法
IVFFlat(Inverted File with Flat Quantization)算法在高维数据检索领域中扮演着不可或缺的角色。作为传递速度与数据处理效率的重要工具,IVFFlat 为在大规模数据集中的近似最近邻搜索提供了一种有效的解决方案。随着大数据技术的发展,传统的线性扫描方法已无法适应现代需求,因此深入探讨 IVFFlat 的原理、实施与应用实践显得尤为重要。原创 2024-08-18 23:05:06 · 1628 阅读 · 0 评论 -
现代信息检索:HNSW 算法
HNSW 算法以其独特的高效特性,在信息检索、大数据处理、与深度学习结合等多个领域展现出广泛的应用潜力和灵活性。随着技术的快速发展,HNSW 不仅在对抗传统搜索系统的瓶颈方面取得了重大的突破,同时在实时动态检索中正渐渐发挥出更为重要的作用。未来的研究可以进一步集中在 HNSW 在动态数据环境中的优化与创新应用,以期在信息检索领域实现更多的创新与突破。原创 2024-08-18 21:53:52 · 1754 阅读 · 0 评论 -
数据库技术核心:向量检索(pgvector)
`pgvector` 为 PostgreSQL 引入了专门针对向量数据的索引,特别是 HNSW 和 IVFFlat 索引。这些索引帮助实现高效的向量检索和相似度计算。在选择 HNSW 或 IVFFlat 索引时,应根据应用场景的具体需求(如查询频率、数据更新频率和可用内存等)做出选择。HNSW 适合需要高检索精度和灵活更新的数据集,而 IVFFlat 则更适合需要快速处理庞大数据集但对精度有轻微取舍的场景。原创 2024-08-16 13:20:45 · 3630 阅读 · 0 评论 -
数据库技术核心:查询优化(PostgreSQL)
案例展示了通过合理使用索引、复合索引、部分索引、多表联接、窗口函数、查询计划分析、表分区、分片策略、热数据访问、缓存机制、物化视图和分布式数据库等技术,大幅优化复杂查询的性能的过程。其主要涉及合理的表设计、索引的高效数据访问、减少子查询次数、分区裁剪机制,以及数据预计算等。原创 2024-08-16 09:15:00 · 1645 阅读 · 0 评论 -
数据库技术核心:基本维护(PostgreSQL)
本文提供 PostgreSQL 的安装、启停、卸载、用户管理、库表创建及一些基本维护操作的指引,掌握这些技巧是使用 PostgreSQL 数据库的基础,也是提供数据库性能和稳定性,确保数据安全等的基本保障。原创 2024-08-15 13:09:44 · 1983 阅读 · 0 评论 -
数据库技术核心:最佳实践
在数据库应用与开发过程中,数据库设计、查询优化、事务管理、数据库维护、安全性、数据一致性和高可用性等方面是最关键的方面,数据库的正确使用姿势都在这些环节当中。了解数据库应用开发的注意事项和最佳实践,开发者可以更有效地使用和管理关系数据库,确保其在性能、安全性和可靠性方面达到最佳状态。原创 2024-08-15 09:15:00 · 1264 阅读 · 0 评论 -
数据库技术核心:迭代逻辑思考
通过对数据库的历史演进、当前技术趋势和未来发展方向等的全面探讨,有助于我们理解数据库技术的演进逻辑,更好地指引数据库开发和应用。在数智化大浪潮之下,数据库作为数据管理和处理的核心技术,将继续发挥重要作用,为企业与开发者提供高效、安全和可靠的数据服务。原创 2024-08-14 17:30:00 · 1375 阅读 · 0 评论 -
数据库核心技术:索引技术演进
通过关于 B 树、B+ 树、B\* 树和 LSM 树的探讨和实现,我们可以了解到数据库传统索引技术的核心思想、演进逻辑以及未来的发展方向,这些可以为我们的数据库开发和应用提供指引。未来数据库技术的发展将继续推动其应用生态的优化和创新,为未来海量数据的智能化处理提供更高效的解决方案。原创 2024-08-14 09:08:21 · 912 阅读 · 0 评论 -
数据库核心技术:存储与索引概览
各主流关系数据库在存储结构和索引技术上的选择和实现都是为了满足特定业务需求和性能优化。如 MySQL 的 InnoDB 强在 OLTP 上的应用;PostgreSQL 提供多样的索引类型(B+树、Hash、GiST、GIN 等)和 TOAST 技术,灵活性和扩展性更强,适应复杂查询和高定制化场景中的特殊需求;Oracle 和 SQL Server 在企业级任务关键应用中表现强势。选择合适的关系数据库应根据具体业务需求、查询模式和性能要求等因素综合考量。原创 2024-08-13 21:03:19 · 1259 阅读 · 0 评论 -
卡特兰数:一通百通
研究和使用卡特兰数,可以解决特定的组合计数问题,还能提升整体的数学思维和解决问题的能力,从而做到举一反三,一通百通。原创 2024-08-07 22:44:02 · 1301 阅读 · 0 评论 -
哈夫曼编码:最小信息熵
哈夫曼编码是数据压缩领域的经典算法,既具备学术价值,又在工程实践中有着广泛的应用。通过理论(信息熵)和实际实现(哈夫曼树),我们可以看到哈夫曼编码在数据压缩和信息传输中的重要应用和高效性。它的有效性和简洁性使其成为数据压缩领域的重要工具。原创 2024-08-08 21:01:13 · 1575 阅读 · 0 评论 -
布隆过滤器:大数据量下的快速存在性判断
哈希表适用于精确查找,是一种功能强大且高效的数据结构,能够在平均情况下提供常数时间的查找、插入和删除操作。凭借其高效的性能,哈希表在实际应用中被广泛使用。理解哈希表的基本原理和实现方法对于计算机编程和系统设计非常重要。而布隆过滤器适用于在大数据量下的快速存在性判断,是一种高效的概率数据结构。尽管存在一定的误判率,但其高效的空间和时间性能使其在很多应用场景中非常有用。原创 2024-08-10 18:15:00 · 1121 阅读 · 0 评论 -
矩阵:消除冗余
矩阵及其相关技术在现代科学计算、机器学习、图像处理、网络分析等领域有广泛应用,其优势在于强大的表达能力和高效的计算性能。然而,面对大规模数据时,存储和计算复杂度仍然是挑战。未来发展趋势包括进一步优化矩阵运算、智能算法的引入、数据结构与存储方法的改进以及与其他技术的融合。原创 2024-08-09 17:15:00 · 2308 阅读 · 3 评论 -
多重编码:兼顾范围与精度
各个编码方式有着不同的应用场景和优势,而其中的关键在于把握范围和精度的平衡。通常的最佳实践是采用非线性编码来扩大范围(粗调),用差分编码来缩短编码长度(精调)。综合采用多种编码方式,可以优化信号的传输和存储,提高数据压缩效率和传输可靠性。原创 2024-08-09 09:15:00 · 1240 阅读 · 0 评论 -
编码:区分彼此与信息压缩
编码的本质是区分彼此。此外,编码的抽象作用不仅限于字符和数据,还能够扩展到对目标、路径、流程的分层次的抽象编码,从而使事物的处理效率达到极致。编码是信息压缩与传递的基础。通过编码,信息可以更有效地传输或存储。在信息压缩中,编码可以减少信息的冗余度,从而减少传输或存储所需的资源。在信息传递中,编码可以将信息转换为适合传输或存储的形式。人对目标的编码是一个渐渐演变所得到的结果,以方便为目的;而计算机的编码要争取一次性尽可能考虑清楚所有情况,以效率为目的。它们之间经常需要一座桥梁来连接。原创 2024-08-08 18:33:18 · 1037 阅读 · 0 评论