- 博客(212)
- 收藏
- 关注
原创 课程12. 神经网络
到目前为止,我们讨论的都是经典的机器学习算法。今天,我们将探讨机器学习如何超越经典模型,通过开发一种全新的模型——神经网络——发展成为深度学习。让我们回顾一下什么是线性回归。它是一种模型,通过为描述对象的每个特征生成权重,从而对对象的某些特性进行合理的预测。从某种意义上说,这些权重可以被视为给定特征对最终决策的重要性。让我们来看一个经典的例子:假设我们需要根据房屋的某些特征来评估其价值。这些特征包括:房间数量,浴室数量,该地区学校的平均绩点(该特征可以被视为对这些学校质量的评估),该地区的绿化率,地铁站,该
2025-11-23 17:35:02
724
原创 三、大模型(LLM)内部核心机制
从整体上看Transformer LLM接收提示词输入,并输出生成的文本模型并不是一次性生成所有文本,而是一次生成一个词元。每个词元生成步骤都是模型的一次前向传播(在机器学习中,前向传播指的是输入进入神经网络并流经计算图,最终在另一端产生输出所需的计算过程)。在生成当前词元后,我们将输出词元追加到输入提示词的末尾,从而调整下一次生成的输入提示词。神经网络外围的软件基本上就是在循环运行这个模型,按顺序扩展生成的文本,直到完成。
2025-11-23 00:01:44
959
原创 二、词元和嵌入
分词器设计中有三个主要决策点:分词器算法(如BPE、WordPiece、SentencePiece)、 分词参数(包括词表大小、特殊词元、大小写处理策略和不同语言的处理)以及用于训练分词器的数据集。
2025-11-20 11:00:00
622
转载 GPU内存浅析
假设所有线程都需要访问一个 constant_A 的常量,在存储介质上 constant_A 的数据只保存了一份,而内存的物理读取方式决定了多个线程不能在同一时刻读取到该变量,所以会出现先后访问的问题,这样使得并行计算的线程出现了运算时差。按照存储功能进行细分,GPU 内存可以分为:局部内存(local memory)、全局内存(global memory)、常量内存(constant memory)、共享内存(shared memory)、寄存器(register)、L1/L2 缓存等。
2025-11-15 17:38:03
36
原创 一、什么是语言模型?
各位读者好,欢迎收看我的新专栏大语言模型实战系列,本专栏主要讲述大模型实际操作部门内容,不会特别涉及底层概念,主要是了解和用,这次为第一节,什么是语言模型?本节我们主要是调用一个实例来看看语言模型能做什么?
2025-11-08 01:25:03
465
原创 计算某字符出现次数
第一行输入一个长度 1 ≤ length(s) ≤ 10³,由大小写字母、数字和空格构成的字符串 s。说明:由于 o 为小写字母,因此统计其大小写形态出现的次数和,即3。第二行输入一个字符 c,保证 c 为大小写字母或数字。保证字符 c 要么为字母、要么为数字。在一行上输出一个整数,代表统计结果。
2025-10-05 20:06:38
1108
原创 字符串最后一个单词的长度
对于给定的若干个单词组成的句子,每个单词均由大小写字母混合构成,单词间使用单个空格分隔。输出最后一个单词的长度。在这个样例中,最后一个单词是 “HelloNowcoder"而"HelloNowcoder”,长度为 13。除此之外,保证每个单词非空,由大小写字母混合构成,且总字符长度不超过10^3。在一行上输入若干个字符串,每个字符串代表一个单词,组成给定的句子。在一行上输出一个整数,代表最后一个单词的长度。
2025-10-05 19:47:56
309
原创 Python大数据分析——AdaBoost、GBDT、SMOTE与XGBoost算法模型
提升树算法与线性回归模型的思想类似,所不同的是该算法实现了多棵基础决策树f(x)的加权运算,最具代表的提升树为AdaBoost算法,即:其中,F(x)是由M棵基础决策树构成的最终提升树,Fm-1(x)表示经过m-1轮迭代后的提升树,αm为第m棵基础决策树所对应的权重,fm(x)为第m棵基础决策树。其中Fm-1(x)=α1f1+α2f2+…+αm-1fm-1。
2025-08-09 14:42:52
822
1
原创 课程11. 计算机视觉、自编码器和生成对抗网络 (GAN)
解码器输入会输入一个潜在向量,该向量与该种族的独热向量连接在一起。之后,在生成器训练阶段,生成器会学习自适应,生成鉴别器无法再区分的图片。如果你在训练过程中将随机向量输入到输入中,并将网络输出与训练数据集中的图片进行比较,这样的网络将学会只生成训练数据集中的图片。我希望在训练数据集有限的情况下,教会神经网络生成不同的人脸,即使是神经网络在训练过程中没有识别的人脸(即不在训练数据中的人脸)。为了使自动编码器(AE)的潜在空间向量能够真正生成新的对象,我们需要强制自动编码器学习一个更连贯、更紧凑的潜在空间。
2025-05-15 10:00:00
1237
原创 课程11. 推荐系统
最简单的情况是,我们可以查看哪些电影经常与《星球大战》一起观看,然后直接推荐它们,但我们将采用一个更有趣的想法。由于我们针对的是“itemId_x”构建推荐,因此“n(itemId_x)”的值在 PMI 中对于所有候选人都是相同的,因此我们无需除以它。在这种情况下,很明显,为了预测 Lesha 会对《泰坦尼克号》有多喜欢,值得更多地关注 Egor 的评价,但也值得记住 Dima 和 Masha 的评价。现在,我们希望降低此类用户描述的维度,因为它显然是冗余的(例如,在 TF-IDF 的情况下)。
2025-05-12 10:00:00
557
原创 课程10. 聚类问题
尽管存在这种复杂性,“DBSCAN”仍然是一种非常有用的聚类算法,它使我们能够识别具有复杂规律性的聚类。我们可以基于我们能够形成的启发式方法,结合我们对主题领域的了解或问题的特征,以及通过尝试多个选项并确定哪种聚类能够最小化每个对象到其聚类中心的距离之和,来选择最适合我们任务的选项。我们将会了解这些方法。我们可以使用不同的聚类中心初始近似值多次运行该算法,然后选择每个对象到其聚类质心的距离总和最小的解。个聚类划分,合并其中最近的一个(或者,相反,将其中一个聚类拆分成两个不同的聚类),从而将样本划分为。
2025-05-04 20:19:06
1175
原创 课程9. 机器翻译,Seq2Seq与Attention
上面讨论的注意力机制是目前大多数现代解决方案(ChatGPT、BERT 等)中使用的强大 Transformer 模型中的关键工具。在这些架构中,除了机制之外,还使用了一些附加特征(例如,对于每个标记,除了其向量表示之外,还考虑标记的序数)。但我们不会详细讨论这一点。我们只想说,这样的架构使我们能够有效地解决已经考虑的问题,例如文本分类问题。这是一个利用Attention机制的语言模型。
2025-04-25 20:39:41
1222
原创 Python解决“小D的abc字符变换”问题
题目要求对一个仅由 “abc” 三种字母组成的字符串进行 k 次变换,每次变换规则是将 ‘a’ 变成 ‘bc’,‘b’ 变成 ‘ca’,‘c’ 变成 ‘ab’。核心信息是每次变换都会将字符串的长度增加,并且变换规则是固定的。例如:对于初始字符串 “abc”,执行 2 次操作后,字符串将变为 “caababbcbcca”。输出:‘abbcbccabccacaabcaababbcabbcbcca’输出:‘caababbcbcca’将 ‘a’ 变成 ‘bc’将 ‘b’ 变成 ‘ca’将 ‘c’ 变成 ‘ab’
2025-04-17 22:30:21
490
原创 课程9. 数据降维
这样的集合一般表示几个矩阵的集合(比如流行的RGB(红,绿,蓝)编码就存储了3个这样的矩阵,每个矩阵对应自己的颜色)。每个单元格存储一组特定的数据,由一组落入该单元格的训练数据集点表示,并且每个单元格中的类别选择是通过对落入该单元格的所有对象进行投票来完成的。正如我们之前提到的,SVD 变换的设计方式是,通过丢弃与最小奇异值相关的分量,我们几乎不会丢失任何重要的信息,而且通常我们可能只会丢失对我们没有特别价值的噪声。得到的向量表示数据中的主要“轴”,向量的长度表示该轴在描述数据分布方面的“重要性”。
2025-04-17 19:32:29
946
原创 实战5:Python使用循环神经网络生成诗歌
在我们学习了后,我们在实战练习一个例子。你的主要任务:学习如何使用简单的循环神经网络(Vanilla RNN)生成诗歌。亚历山大·谢尔盖耶维奇·普希金的诗体小说《叶甫盖尼·奥涅金》将作为训练的文本语料库。
2025-04-16 22:15:30
1103
原创 Python在糖尿病分类问题上寻找具有最佳 ROC AUC 分数和 PR AUC 分数(决策树、逻辑回归、KNN、SVM)
定义了四种分类算法,分别是决策树、逻辑回归、K 近邻和支持向量机,同时设置了相应的参数。
2025-04-13 16:25:35
1136
原创 课程8. 质量指标
今天我们将讨论一个乍一看似乎微不足道的问题——如何衡量已经构建的分类器的质量?每个人首先想到的可能是我们在整个课程中经常使用的指标。让我们从他开始吧。准确度指的是分类器正确答案的比例最明显、最直观的指标。为了计算准确度(Accuracy),我们采用由 NNN 个对象组成的原始数据集,并查看其中有多少个对象被正确分类。令这个数字为MMM。然后:Accuracy=MNAccuracy = \frac{M}{N}Accuracy=NM看起来,还需要什么呢?这是最客观地显示我们算法有效性的指标!事实证明,准确性
2025-04-13 10:00:00
928
原创 Python手写“随机森林”解决鸢尾花数据集分类问题
该类用于实现随机森林分类器。__init__方法是类的构造函数,用于初始化随机森林的参数,包括决策树的数量、最大深度、子空间维度和随机种子。是一个空列表,用于存储随机森林中的每棵决策树。fit方法用于训练随机森林模型。对于每棵决策树:调用sample函数对数据进行自助采样,得到训练样本X_sample和对应的标签y_sample。使用随机选择个特征,得到特征子空间的索引。从采样数据中提取特征子空间X_subspace。创建一个决策树分类器,设置最大深度和随机种子。
2025-04-08 21:46:10
1847
原创 课程7. 机器学习的集成算法
然后,他们建立第二个模型,该模型预测的不是原始值,而是第一个模型的误差,并考虑到这一点,调整最终预测。我们说第一个模型给出了这个答案,但是我们在它上面添加了第二个模型的修正,然后是第三个模型的修正,依此类推,直到得到最后一个模型。它以略有不同的方式(采用不同的子样本、不同的特征)生成许多彼此独立的不同树,并根据它们的响应形成最终解决方案。增加模型的复杂性会导致散度的增加,而简化模型会导致偏差的增加。如果它们之间的差异确实不是很强,那么它们的偏差就大致相同,也就是说,它们的误差的系统部分是接近的。
2025-04-08 15:37:45
1174
原创 Python解决“组成字符串ku的最大次数”问题
题目要求从给定的字符串中最多能组成多少个字符串 “ku”。然后,通过统计字符串中字符 ‘k’ 和 ‘u’ 的个数,可以确定最多能组成的 “ku” 字符串的数量。具体来说,最多能组成的 “ku” 字符串的数量取决于字符 ‘k’ 和 ‘u’ 中数量较少的那个。给定一个字符串 s,该字符串中只包含英文大小写字母。:O(n),其中 n 是字符串的长度。:O(1),因为 Counter 对象最多存储 26 个字符的频率,空间占用是常数级别的。例如,输入 “AUBTMKAxfuu”,从中最多能组成 1 个 “ku”。
2025-04-05 23:52:34
465
原创 Python解决“数字插入”问题
题目要求将数字 b 插入到数字 a 的某个位置,以形成一个最大的可能数字。我们可以通过遍历 a 的每一位,尝试将 b 插入到每一个可能的位置,并比较插入后的结果,选择最大的那个。她的任务是将第二个数字 b 插入到第一个数字 a 的某个位置,以形成一个最大的可能数字。:O(n),其中 n 是数字 a 的长度。我们需要遍历 a 的每一位,尝试插入 b,并生成新的数字。输入:a = 76543, b = 4。输入:a = 666, b = 6。输入:a = 44, b = 5。输入:a = 1, b = 0。
2025-04-05 23:43:42
326
原创 课程6. 上下文词嵌入 Word2Vec
在上面的例子中,几乎所有单词的值都是 1,即这种观点假设所有单词对于理解两篇文本都是相同的,但事实并非如此。这个想法基于关于如何在构建单词和文本的向量表示时考虑单词对于特定文本的重要性的考虑。现在让我们注意以下几点:到目前为止我们所做的一切都是基于一些考虑,构建单词/文档的向量/矩阵,以某种方式反映单词/文档的含义。我们将使用大小为 5 的滑动窗口遍历数据集,并在窗口的每个位置使用中心词,教神经网络预测当前窗口中的单词。意义相近的词的向量会很接近,意义相远的词的向量会按照欧几里得距离很远。
2025-04-01 01:39:11
913
原创 Python使用“决策树”算法解决预测钻石成本的问题
待测试的超参数params = [params是一个列表,其中每个元素是一个字典,包含了决策树回归模型的超参数组合,包括criterion(分裂准则)和max_depth(树的最大深度)。
2025-03-30 23:37:46
1401
原创 Python使用SVC算法解决乳腺癌数据集分类问题——寻找最佳核函数
为了检查问题解决方案的质量,请使用参数“test_size=0.2”和“random_state=42”将样本分成训练和测试,以使用“准确度”来检查。作为答案,请提供最佳内核的字符串名称,不带引号和其他小写的附加字符。这是指您传递给 SVC 参数的名称(即不是“多项式”,而是“poly”)填写下面的代码模板并选择最佳内核,保持其他超参数不变。不要忘记使用“StandardScaler”要尝试的内核:线性、多项式、径向、S 形。您的任务是选择最佳内核,使用。证明rbf是最佳核函数。证明rbf是最佳核函数。
2025-03-24 23:19:32
531
原创 Python解决“DNA序列编辑距离”问题
题目要求计算将一个受损DNA序列(dna1)转换成一个未受损序列(dna2)所需的最少编辑步骤。编辑步骤包括增加一个碱基、删除一个碱基或替换一个碱基。小R正在研究DNA序列,他需要一个函数来计算将一个受损DNA序列(dna1)转换成一个未受损序列(dna2)所需的最少编辑步骤。编辑步骤包括:增加一个碱基、删除一个碱基或替换一个碱基。输入:dna1 = “AACCGGTT”,dna2 = “AACCTTGG”输入:dna1 = “GGGG”,dna2 = “TTTT”编辑步骤包括增加、删除或替换一个碱基。
2025-03-23 16:11:19
973
原创 实战3. 利用Pytorch预写好ResNet-18预测电视剧《辛普森一家》中的人物——图像分类
你将训练一个神经网络来预测电视剧《辛普森一家》中的人物。您将获得一个训练和测试数据集。您将需要在训练数据上训练神经网络并在测试数据上获得预测。
2025-03-23 02:42:13
1393
原创 Python预训练模型实现俄语音频转文字
使用 Common Voice 8.0、Golos 和 Multilingual TEDx 的训练和验证分割对俄语的 facebook/wav2vec2-xls-r-1b 进行了微调。使用此模型时,请确保您的语音输入以 16kHz 采样。我们只需要装好三个功能包,写好你的文件路径即可使用!
2025-03-21 22:48:17
587
1
原创 课程5. 迁移学习
model输出:ResNet(model . fc输出:Linear(in_features=512, out_features=1000, bias=True)model输出:ResNet(
2025-03-21 22:20:54
1465
原创 Python解决“特定数组的逆序拼接”问题
题目要求构造一个特定数组,该数组的构造规则是:对于每个 i 从 1 到 n,将数字 n 到 i 逆序拼接,直到 i 等于 n 为止。每次循环生成一个逆序序列,序列的长度从 n 到 1 递减,总共需要生成 n+(n−1)+(n−2)+…最终,输出这个拼接后的数组。输出:[5, 4, 3, 2, 1, 5, 4, 3, 2, 5, 4, 3, 5, 4, 5]例如,当n等于3时,拼接后的数组是 [3, 2, 1, 3, 2, 3]。输出:[4, 3, 2, 1, 4, 3, 2, 4, 3, 4]
2025-03-18 21:17:21
257
原创 实战2. 利用Pytorch解决 CIFAR 数据集中的图像分类为 10 类的问题——提高精度
让我们回到图像分类问题 CIFAR。你的主要任务:实现整个模型训练流程,并在测试样本上获得良好的准确度指标值。本任务中用于训练模型的代码已完整实现。您需要做的就是为神经网络类编写代码并试验参数以获得良好的质量。除此之外,你要保证模型的内存使用!
2025-03-18 00:14:00
850
原创 Python解决“永久代币卡回本计划”问题
具体来说,小F需要通过每天登录游戏返还的勾玉来抵消购买卡片的花费。设购买卡片的价格为 a 勾玉,每天返还 b 勾玉,那么需要的天数 d 可以通过公式 d=⌈ba⌉ 来计算。由于直接计算向上取整比较麻烦,我们可以通过 (a+b−1)//b 来实现向上取整的效果。该卡片的价格为 a 勾玉,每天登录游戏可以返还 b 勾玉。功能包里有个math.ceil(a / b):计算 a / b 并向上取整,得到需要的天数。只使用了常数级别的额外空间。输入:a = 10, b = 1。输入:a = 10, b = 2。
2025-03-17 22:12:25
316
原创 课程4. 图像处理算法与卷积神经网络
卷积层从输入图像中提取特定类别的某些特征模式(猫头、狗头、飞机尾巴、车身等)。在神经网络中,那些经过训练的过滤器被激活,以对图像中存在的模式类型做出反应。
2025-03-17 22:00:44
1391
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅