ManonLegrand
I ain't never backin' down (come and step in the plate).
For my city for my town (I'll do whatever it takes).
展开
-
LeetCode - 神经网络的 反向传播(Sigmoid + MSE) 教程
使用 Python + Numpy,设计带有 Sigmoid 激活函数 的神经网络,实现反向传播以更新神经元的权重和偏置。函数输入:特征向量(Input)、真实标签(Label)、初始权重(Weight)、初始偏置(Bias)、学习率(LR)、训练轮数(Epoch)。基于 均方误差(MSE) 损失,使用梯度下降法,更新权重和偏置。函数输出:更新后的权重、偏置、每一轮训练的 MSE 值列表,每个 MSE 值保留四位小数。原创 2025-03-07 10:53:58 · 222 阅读 · 0 评论 -
LeetCode - Google 大模型10题 第2天 Position Embedding(位置编码) 3题
在 Transformer 架构中,位置编码(Position Embedding) 是辅助模型理解序列中元素顺序的关键机制。原创 2025-02-05 14:28:50 · 1245 阅读 · 0 评论 -
LeetCode - Google 大模型10题 第1天 Self-Attention(自注意力机制) 3题
GroupQueryAttention(分组查询注意力机制) 和 KVCache(键值缓存) 是大语言模型中的常见架构,GroupQueryAttention 是注意力机制的变体,通过将查询(Query)分组,每组与相同的键(Key)值(Value)交互,优化计算效率和性能,保持模型对于输入信息有效关注,减少计算资源的消耗,适用于处理大规模数据和复杂任务的场景。KVCache 是缓存机制,用于存储和快速检索键值对(KV),当模型处理新的输入(Q)时,直接从缓存中读取KV数据,无需重新计算。原创 2025-01-26 15:11:27 · 934 阅读 · 0 评论 -
LeetCode - Google 校招100题 第9天 Hard 题汇总 (12题)
经常编写算法和数据结构题目,可以系统地巩固基础知识,加深对于编程语言特性的理解,掌握更多高效的编程技巧,优化时间和空间复杂度,也有助于培养解决实际问题的能力,应对遇到的各种复杂情况,接触不同的思路和方法,拓宽思维视野,提升逻辑思维能力。原创 2025-01-23 10:43:52 · 573 阅读 · 0 评论 -
LeetCode - Google 校招100题 第8天 图(Graph) (2题)
图(Graph) 是复杂的数据结构,由节点和连接这些节点的边组成。有向无环图(DAG) 是一种特殊的图,其中的边具有方向性,且不存在环,这种结构常用于表示任务的依赖关系或层次结构。连通分量(Connected Component) 是指图中最大的节点集合,集合中的任意两个节点都可以通过路径相互到达,在分析图的连通性时至关重要。原创 2024-12-26 15:06:59 · 354 阅读 · 0 评论 -
LeetCode - Google 校招100题 第7天 序列(数据结构&贪心) (14题)
序列结构包括栈、字典和集合等,基于不同的数据存储和访问方式的数据结构。栈(Stack) 是一种 后进先出(LIFO) 的数据结构,支持 推入(append) 和 弹出(pop) 操作,常用于处理嵌套问题和回溯算法。字典(Map) 是一种基于键值对的存储结构,提供快速的查找、插入和删除操作,其效率通常与哈希表的实现有关。集合(Set) 是一种无序且元素唯一的数据结构,支持高效的成员检查、添加和删除操作,常用于去重和数学集合操作。原创 2024-12-26 14:55:02 · 651 阅读 · 0 评论 -
LeetCode - Google 校招100题 第6天 回溯法(Backtracking) (8题)
回溯法(Backtracking) 是一种 深度优先搜索(DFS) 策略,用于遍历或搜索所有可能路径。从根节点开始,沿着每一个分支深入探索,直到达到无法继续的节点,然后,回溯到上一个节点,尝试其他可能的分支。常用于解决组合问题、排列问题、划分问题等,核心思想是在探索过程中剪枝,一旦发现当前路径不可能产生有效的解,就立即回溯,尝试其他路径,能够系统地枚举问题的解空间,寻找所有可能的解决方案,或者在找到第一个可行解后停止。原创 2024-12-26 14:24:25 · 402 阅读 · 0 评论 -
LeetCode - Google 校招100题 第5天 双指针(Two Pointers) (11题)
双指针(Two Pointers) 是数据结构中一种常用的算法策略,涉及到使用两个指针(left and right)来遍历或处理数据结构,用于解决各种问题,如移除重复元素、合并两个有序数组、反转数组部分区域、检测循环链表等。优势在于其简单性和效率,尤其是在处理线性数据结构时,调整两个指针的相对位置和移动速度来实现复杂的操作,通常只需要一次遍历即可完成任务,时间复杂度为O(n)。原创 2024-12-26 14:07:14 · 519 阅读 · 0 评论 -
LeetCode - Google 校招100题 第4天 查找排序(Search&Sort) (12题)
查找和排序是数据结构中的基础操作。二分查找(Binary Search) 是一种在有序数组中查找特定元素的高效算法,通过反复将目标值与数组中间元素比较,根据比较结果缩小搜索范围,每次比较都将搜索区间减半,从而实现对数级别的查找效率(logn)。排序(Sort) 是将一系列元素按照特定顺序排列的过程,常见的排序算法包括快速排序、归并排序、堆排序等,各自有不同的实现方式和时间复杂度(nlogn)。排序算法影响数据的组织和检索效率,与查找算法的效率密切相关,大多数高效的查找算法都要求数据是有序的。原创 2024-07-02 22:12:51 · 754 阅读 · 0 评论 -
LeetCode - Google 校招100题 第3天 动态规划(DP) (20题)
动态规划(Dynamic Programming, DP) 通过将复杂问题分解为更简单的子问题求解的方法,适用于具有重叠子问题和最优子结构特性的问题。每个子问题只解决一次,其结果被存储在一个表格中,在需要时直接查询,避免重复计算。通过构建一个解决方案的逐步过程,确保每一步都基于之前步骤的最优解,从而找到全局最优解。原创 2024-06-03 17:05:12 · 670 阅读 · 0 评论 -
LeetCode - Google 校招100题 第2天 树(Tree) (20题)
树(Tree) 是一种非线性数据结构,由 节点(TreeNode) 组成,每个节点包含一个数据元素和指向其子节点的指针集合。树的 根节点(Root) 位于顶部,没有父节点,而叶子节点位于底部,没有子节点。二叉树结构中的每个节点最多有两个子节点,分别称为 左子节点(LeftNode) 和 右子节点(RightNode)。原创 2024-05-28 16:36:06 · 1186 阅读 · 0 评论 -
LeetCode - Google 校招100题 第1天 链表(List) (15题)
链表(List) 是一种基础的数据结构,由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针,允许高效的插入和删除操作,只需要改变节点之间的指针,而不需要像 数组(Array) 那样移动大量元素。链表可以是单向的,也可以是双向的,其中双向链表的每个节点都有两个指针,分别指向前一个和后一个节点。原创 2024-05-27 21:50:04 · 751 阅读 · 0 评论