- 博客(204)
- 收藏
- 关注
原创 课程11. 计算机视觉、自编码器和生成对抗网络 (GAN)
解码器输入会输入一个潜在向量,该向量与该种族的独热向量连接在一起。之后,在生成器训练阶段,生成器会学习自适应,生成鉴别器无法再区分的图片。如果你在训练过程中将随机向量输入到输入中,并将网络输出与训练数据集中的图片进行比较,这样的网络将学会只生成训练数据集中的图片。我希望在训练数据集有限的情况下,教会神经网络生成不同的人脸,即使是神经网络在训练过程中没有识别的人脸(即不在训练数据中的人脸)。为了使自动编码器(AE)的潜在空间向量能够真正生成新的对象,我们需要强制自动编码器学习一个更连贯、更紧凑的潜在空间。
2025-05-15 10:00:00
1026
原创 课程11. 推荐系统
最简单的情况是,我们可以查看哪些电影经常与《星球大战》一起观看,然后直接推荐它们,但我们将采用一个更有趣的想法。由于我们针对的是“itemId_x”构建推荐,因此“n(itemId_x)”的值在 PMI 中对于所有候选人都是相同的,因此我们无需除以它。在这种情况下,很明显,为了预测 Lesha 会对《泰坦尼克号》有多喜欢,值得更多地关注 Egor 的评价,但也值得记住 Dima 和 Masha 的评价。现在,我们希望降低此类用户描述的维度,因为它显然是冗余的(例如,在 TF-IDF 的情况下)。
2025-05-12 10:00:00
409
原创 课程10. 聚类问题
尽管存在这种复杂性,“DBSCAN”仍然是一种非常有用的聚类算法,它使我们能够识别具有复杂规律性的聚类。我们可以基于我们能够形成的启发式方法,结合我们对主题领域的了解或问题的特征,以及通过尝试多个选项并确定哪种聚类能够最小化每个对象到其聚类中心的距离之和,来选择最适合我们任务的选项。我们将会了解这些方法。我们可以使用不同的聚类中心初始近似值多次运行该算法,然后选择每个对象到其聚类质心的距离总和最小的解。个聚类划分,合并其中最近的一个(或者,相反,将其中一个聚类拆分成两个不同的聚类),从而将样本划分为。
2025-05-04 20:19:06
995
原创 课程9. 机器翻译,Seq2Seq与Attention
上面讨论的注意力机制是目前大多数现代解决方案(ChatGPT、BERT 等)中使用的强大 Transformer 模型中的关键工具。在这些架构中,除了机制之外,还使用了一些附加特征(例如,对于每个标记,除了其向量表示之外,还考虑标记的序数)。但我们不会详细讨论这一点。我们只想说,这样的架构使我们能够有效地解决已经考虑的问题,例如文本分类问题。这是一个利用Attention机制的语言模型。
2025-04-25 20:39:41
1091
原创 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
435
原创 课程9. 数据降维
这样的集合一般表示几个矩阵的集合(比如流行的RGB(红,绿,蓝)编码就存储了3个这样的矩阵,每个矩阵对应自己的颜色)。每个单元格存储一组特定的数据,由一组落入该单元格的训练数据集点表示,并且每个单元格中的类别选择是通过对落入该单元格的所有对象进行投票来完成的。正如我们之前提到的,SVD 变换的设计方式是,通过丢弃与最小奇异值相关的分量,我们几乎不会丢失任何重要的信息,而且通常我们可能只会丢失对我们没有特别价值的噪声。得到的向量表示数据中的主要“轴”,向量的长度表示该轴在描述数据分布方面的“重要性”。
2025-04-17 19:32:29
787
原创 实战5:Python使用循环神经网络生成诗歌
在我们学习了后,我们在实战练习一个例子。你的主要任务:学习如何使用简单的循环神经网络(Vanilla RNN)生成诗歌。亚历山大·谢尔盖耶维奇·普希金的诗体小说《叶甫盖尼·奥涅金》将作为训练的文本语料库。
2025-04-16 22:15:30
964
原创 Python在糖尿病分类问题上寻找具有最佳 ROC AUC 分数和 PR AUC 分数(决策树、逻辑回归、KNN、SVM)
定义了四种分类算法,分别是决策树、逻辑回归、K 近邻和支持向量机,同时设置了相应的参数。
2025-04-13 16:25:35
990
原创 课程8. 质量指标
今天我们将讨论一个乍一看似乎微不足道的问题——如何衡量已经构建的分类器的质量?每个人首先想到的可能是我们在整个课程中经常使用的指标。让我们从他开始吧。准确度指的是分类器正确答案的比例最明显、最直观的指标。为了计算准确度(Accuracy),我们采用由 NNN 个对象组成的原始数据集,并查看其中有多少个对象被正确分类。令这个数字为MMM。然后:Accuracy=MNAccuracy = \frac{M}{N}Accuracy=NM看起来,还需要什么呢?这是最客观地显示我们算法有效性的指标!事实证明,准确性
2025-04-13 10:00:00
771
原创 Python手写“随机森林”解决鸢尾花数据集分类问题
该类用于实现随机森林分类器。__init__方法是类的构造函数,用于初始化随机森林的参数,包括决策树的数量、最大深度、子空间维度和随机种子。是一个空列表,用于存储随机森林中的每棵决策树。fit方法用于训练随机森林模型。对于每棵决策树:调用sample函数对数据进行自助采样,得到训练样本X_sample和对应的标签y_sample。使用随机选择个特征,得到特征子空间的索引。从采样数据中提取特征子空间X_subspace。创建一个决策树分类器,设置最大深度和随机种子。
2025-04-08 21:46:10
1591
原创 课程7. 机器学习的集成算法
然后,他们建立第二个模型,该模型预测的不是原始值,而是第一个模型的误差,并考虑到这一点,调整最终预测。我们说第一个模型给出了这个答案,但是我们在它上面添加了第二个模型的修正,然后是第三个模型的修正,依此类推,直到得到最后一个模型。它以略有不同的方式(采用不同的子样本、不同的特征)生成许多彼此独立的不同树,并根据它们的响应形成最终解决方案。增加模型的复杂性会导致散度的增加,而简化模型会导致偏差的增加。如果它们之间的差异确实不是很强,那么它们的偏差就大致相同,也就是说,它们的误差的系统部分是接近的。
2025-04-08 15:37:45
1054
原创 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
407
原创 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
262
原创 课程6. 上下文词嵌入 Word2Vec
在上面的例子中,几乎所有单词的值都是 1,即这种观点假设所有单词对于理解两篇文本都是相同的,但事实并非如此。这个想法基于关于如何在构建单词和文本的向量表示时考虑单词对于特定文本的重要性的考虑。现在让我们注意以下几点:到目前为止我们所做的一切都是基于一些考虑,构建单词/文档的向量/矩阵,以某种方式反映单词/文档的含义。我们将使用大小为 5 的滑动窗口遍历数据集,并在窗口的每个位置使用中心词,教神经网络预测当前窗口中的单词。意义相近的词的向量会很接近,意义相远的词的向量会按照欧几里得距离很远。
2025-04-01 01:39:11
776
原创 Python使用“决策树”算法解决预测钻石成本的问题
待测试的超参数params = [params是一个列表,其中每个元素是一个字典,包含了决策树回归模型的超参数组合,包括criterion(分裂准则)和max_depth(树的最大深度)。
2025-03-30 23:37:46
1260
原创 Python使用SVC算法解决乳腺癌数据集分类问题——寻找最佳核函数
为了检查问题解决方案的质量,请使用参数“test_size=0.2”和“random_state=42”将样本分成训练和测试,以使用“准确度”来检查。作为答案,请提供最佳内核的字符串名称,不带引号和其他小写的附加字符。这是指您传递给 SVC 参数的名称(即不是“多项式”,而是“poly”)填写下面的代码模板并选择最佳内核,保持其他超参数不变。不要忘记使用“StandardScaler”要尝试的内核:线性、多项式、径向、S 形。您的任务是选择最佳内核,使用。证明rbf是最佳核函数。证明rbf是最佳核函数。
2025-03-24 23:19:32
463
原创 Python解决“DNA序列编辑距离”问题
题目要求计算将一个受损DNA序列(dna1)转换成一个未受损序列(dna2)所需的最少编辑步骤。编辑步骤包括增加一个碱基、删除一个碱基或替换一个碱基。小R正在研究DNA序列,他需要一个函数来计算将一个受损DNA序列(dna1)转换成一个未受损序列(dna2)所需的最少编辑步骤。编辑步骤包括:增加一个碱基、删除一个碱基或替换一个碱基。输入:dna1 = “AACCGGTT”,dna2 = “AACCTTGG”输入:dna1 = “GGGG”,dna2 = “TTTT”编辑步骤包括增加、删除或替换一个碱基。
2025-03-23 16:11:19
891
原创 实战3. 利用Pytorch预写好ResNet-18预测电视剧《辛普森一家》中的人物——图像分类
你将训练一个神经网络来预测电视剧《辛普森一家》中的人物。您将获得一个训练和测试数据集。您将需要在训练数据上训练神经网络并在测试数据上获得预测。
2025-03-23 02:42:13
1302
原创 Python预训练模型实现俄语音频转文字
使用 Common Voice 8.0、Golos 和 Multilingual TEDx 的训练和验证分割对俄语的 facebook/wav2vec2-xls-r-1b 进行了微调。使用此模型时,请确保您的语音输入以 16kHz 采样。我们只需要装好三个功能包,写好你的文件路径即可使用!
2025-03-21 22:48:17
478
1
原创 课程5. 迁移学习
model输出:ResNet(model . fc输出:Linear(in_features=512, out_features=1000, bias=True)model输出:ResNet(
2025-03-21 22:20:54
1331
原创 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
218
原创 实战2. 利用Pytorch解决 CIFAR 数据集中的图像分类为 10 类的问题——提高精度
让我们回到图像分类问题 CIFAR。你的主要任务:实现整个模型训练流程,并在测试样本上获得良好的准确度指标值。本任务中用于训练模型的代码已完整实现。您需要做的就是为神经网络类编写代码并试验参数以获得良好的质量。除此之外,你要保证模型的内存使用!
2025-03-18 00:14:00
776
原创 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
280
原创 课程4. 图像处理算法与卷积神经网络
卷积层从输入图像中提取特定类别的某些特征模式(猫头、狗头、飞机尾巴、车身等)。在神经网络中,那些经过训练的过滤器被激活,以对图像中存在的模式类型做出反应。
2025-03-17 22:00:44
1271
原创 Python手写机器学习的“线性回归”算法
我们只考虑如何手写实现,不考虑效果好不好,和统计学上的使用方法,主要是培养代码算法实现思想,如果您想学习线性回归知识,请看我博客的专门有写文章。
2025-03-16 01:56:03
975
原创 Python实现“经典梯度下降算法”训练逻辑回归模型
"""y_true - 对于对象 x 的真实响应值y_pred - 我们的模型预测的对象 x 属于类别 1 的概率值x - 该对象的特征描述向量期望在输出中得到关于预测 y_pred 值的模型参数的偏导数向量 H。请注意,由于自由系数 a0 的存在,这个梯度的维度应该比 x 的维度大 1。"""# 在特征向量x前添加1,用于计算偏置项的梯度gradient函数用于计算逻辑回归损失函数关于模型参数的梯度。y_true是样本的真实标签(0 或 1),y_pred。
2025-03-16 01:36:48
814
原创 Python解决“创意标题匹配”问题
输入:n = 4, template = “ad{xyz}cdc{y}f{x}e”, titles = [“adcdcefdfeffe”, “adcdcefdfeff”, “dcdcefdfeffe”, “adcdcfe”]输入:n = 5, template = “{abc}xyz{def}”, titles = [“xyzdef”, “abcdef”, “abxyzdef”, “xyz”, “abxyz”]输出:“True,False,True,True,True”因此,总的空间复杂度为 O(n)。
2025-03-13 03:19:13
906
原创 课程4. 线性模型
线性分类和回归模型在经典机器学习中发挥着重要作用。我们将看到,线性模型易于使用和学习,具有部分可解释性,并且具有许多有趣的修改。将来,我们将会了解到神经网络在某种程度上是线性模型的扩展,也是线性模型的显著复杂化。线性分类和回归模型彼此有很大不同,因此我们将分别考虑它们。讲座的第一部分将专门讨论线性分类模型,第二部分将专门讨论线性回归模型。我们需要以下概念:向量及其操作。两个向量的标量积。平面、超平面上的直线方程。数理统计要素:数学期望、离差、标准差。广义线性分类器的想法是,我们将采取一些线性曲面,或者
2025-03-13 02:21:43
1185
原创 实战1. 利用Pytorch解决 CIFAR 数据集中的图像分类为 10 类的问题
你的任务是建立一个用于 CIFAR 图像分类的神经网络,并实现分类质量 > 0.5。:因为我们实战1里只讨论最简单的神经网络构建,所以准确率达到0.5以上就符合我们的目标,后面会不断学习新的模型进行优化CIFAR的数据集如下图所示:下面我们开始构建模型。
2025-03-09 02:37:19
905
原创 课程3. 分批训练与数据规范、标准化
让我们看一下具有几层的神经网络。在训练过程中,各层一起学习。并且网络在训练时每一层都必须适应前一层产生的值。但是在网络训练的时候,网络每一层输出的数值的分布是会发生变化的。并且算法每次迭代时每个隐藏层都必须适应前一层输出的新分布。正因为如此,网络学习得比较慢。同时,在每次训练迭代中,权重可能会发生相当大的变化,这可能会引发其他问题,例如梯度爆炸。规范化神经网络层的输出将有助于解决这个问题。那么我们如何实现层输出的规范化呢?
2025-03-06 21:13:08
843
原创 课程3. 度量方法
这些性质绝对是自然而可以理解的:第一个性质表明,我们要调用距离的函数必须大于或等于零(而只有当这两个物体重合时,它们之间的距离才等于零)。这非常方便,因为它允许我们不仅使用来自“sklearn”的类对象作为参数“clf”,还可以使用来自其他库(甚至我们自己的类)的类对象作为参数“clf”。我们希望这个常数在某种“一般意义”上与我们在邻域内已知的函数的所有值尽可能的相似。:监督学习问题(即在训练数据集中给予我们的标签并且我们的任务是学习预测它们的问题)分为几个分支,其中最重要的是分类问题。
2025-03-06 02:08:48
824
原创 Python解决“找出整形数组中占比超过一半的数”问题
使用哈希表(Python中的Counter)可以高效地统计每个数字的出现次数,然后遍历哈希表找到出现次数超过数组长度一半的数字。已知在这些数字中,某个数字的出现次数超过了数字总数的一半。:使用Counter对数组中的每个数字进行计数,生成一个哈希表,键为数字,值为该数字在数组中出现的次数。输入:array = [1, 3, 8, 2, 3, 1, 3, 3, 3]输入:array = [9, 9, 9, 9, 8, 9, 8, 8]输入:array = [5, 5, 5, 1, 2, 5, 5]
2025-03-04 22:33:18
259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人