nn.embedding原理详解 nn.embeddingnn.Embedding 是 PyTorch 中用于处理序列数据中的词嵌入(word embeddings)的核心模块。它本质上是一个查找表,将输入的离散型数据(通常是整数形式的单词索引)映射为连续型的数据表示(即词向量)。这种转换在自然语言处理(NLP)、推荐系统等领域中非常常见。 函数解释当你调用 nn.Embedding(vocab_size, num_hiddens 2025-03-06 Machine Learning > Deep Learning #Embedding #Torch
从零实现PositionalEncoding与MultiHeadAttention 沐神的动手学深度学习里的PositionalEncoding与MultiHeadAttention从零实现,包括封装好的d2l库中的函数实现。 2025-03-06 Machine Learning > Deep Learning #Attention #Positional Encoding
机器学习之树模型 决策树决策树顾名思义就是用决策树来做决定,可分为分类树和回归树,如下所示。 优点: 模型可解释。 可处理数值和类别的特征。 缺点: 非常不稳定(集成学习可解决这个问题)。 复杂的决策树会造成过拟合(剪枝可解决这个问题)。 难以并行计算。 随机森林(Bagging)随机森林的想法是既然一棵树不行,那就生成很多棵树。训练多个决策树来提升稳定性。每棵树独立地进行训练,训练结束后,所有树一起作 2025-02-25 Machine Learning #Tree Model
机器学习算法总览 机器学习 监督学习(Supervised Learning): 在有标号的数据上训练模型,模型的任务是预测标号。最近备受关注的一类算法: 自监督学习(Self-Supervised Learning),其数据的标号来自于数据本身。 半监督学习(Semi-Supervised Learning): 有一些已经标注好的数据,还有大量没有标注的数据。这里有两个任务,一个任务和监督学习一样去预测标号,但是 2025-02-02 Machine Learning #Machine Learning
灵神基础算法精讲-27-学习笔记 单调队列239.滑动窗口最大值给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 思路举个例子,比如数组元素为 2 1 4 2 3 2,求出每个长为 3 的连续子数组的最大值。假设我们坐在一架飞机上向下看,数组元素值为山的高度,一开始看到 2 1 4,最高为4 2025-01-12 LeetCode #单调队列
灵神基础算法精讲-26-学习笔记 单调栈739. 每日温度给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 思路一:从右到左 把这张折线图想象成一座座山,假设已经遍历完了 6 3 2 5 这四个数,对于比 2 小的数 1 来说,由于 5 的出现,2 绝对不可能是 2025-01-11 LeetCode #单调栈
灵神基础算法精讲-25-学习笔记 树形DP968.监控二叉树给定一个二叉树,在树的节点上安装摄像头。 节点上的每个摄像头都可以监视其父对象、自身及其直接子对象。 计算监控树的所有节点所需的最小摄像头数量。 首先分析根节点装不装摄像头,比如根节点不装摄像头,那么它至少有一个儿子要装摄像头。 除了根节点以外,根据选或不选的思想,有以下三种方式: 选,在这个节点装摄像头 不选,在它的父节点装摄像头 不选,在它的左/右儿子装 2025-01-10 LeetCode #动态规划
灵神基础算法精讲-20-学习笔记 300. 最长递增子序列给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 思路子序列就是从数组中选择一些数,且顺序和数组中的顺序是一致的,这题要求选的子序列右边元素一定大于左边的元素,我们要做的就是在所有严格递增子序列中找 2025-01-05 LeetCode #动态规划
灵神基础算法精讲-19-学习笔记 1143. 最长公共子序列给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,”ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个 2025-01-04 LeetCode #动态规划
灵神基础算法精讲-18-学习笔记 0 - 1 背包和完全背包都是非常重要的 DP 模型,它们是 选或不选 这个思想的代表。 0 - 1 背包 先从回溯开始思考,考虑第 i 个物品是 选 还是 不选,不选的话容量不变,选的话容量变小,这样就确定了递归参数中的 i 和 c,它对应的子问题就是在剩余容量 为 c 的情况下,从前 i 个物品中能得到的最大价值和;如果不选,就递归到 dfs(i - 1, c),表示在剩余容量为 c 时,从前 2025-01-03 LeetCode #动态规划