自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老毛的博客

从零开始学AI,求带,求组队

  • 博客(497)
  • 资源 (1)
  • 收藏
  • 关注

原创 01.总览(更新ing)

这套课程NG站台,一共四课,每课分别又分四个小节,以下内容翻译至官网。

2024-07-01 19:03:23 1008

原创 CS224W摘要总纲(已完结)

CS224W: Machine Learning with Graphs课程笔记目录

2021-10-24 09:33:16 1357 1

原创 深度之眼PyTorch训练营(第二期)笔记目录(已完结)

文章目录简介目录简介本期训练营来自深度之眼,以下为训练营PyTorch简介中摘录:1)上手快:PyTorch代码更简洁易读,实现时间短,只要了解它和机器学习的基础概念,就可以上手使用2)易调试:由于PyTorch采用动态图机制,使得调试它就像调试python一样简单3)资源多:非常干净、统一,文档化非常好,也没有大量重复的函数,目前arXiv中最新的算法大多都用pytorch实现,可以迅...

2019-10-30 08:55:55 5389 5

原创 C2W4.Assignment.Word_Embedding

使用 numpy.random.rand 生成矩阵,这些矩阵的初始化值为均匀分布的随机值,范围在 0 和 1 之间。在连续词袋(CBOW)建模中,可根据一些上下文词(中心词周围的词)来预测中心词。注意:这里使用随机种子。请不要修改该种子,以便正确测试我们的解决方案。结果:Size of vocabulary: 5775。对所有上下文单词进行独热编码后,就可以使用。构建词典,存放单词与索引的相互映射。需要初始化两个矩阵和两个向量。结果并不理想,哪里有问题?例如,上下文的半大小为。

2024-12-16 09:26:09 583

原创 C2W4.LAB.Word_Embedding.Part2

图中描述的是一个简单的神经网络模型,通常用于处理词嵌入(Word Embedding)任务,如连续词袋模型(Continuous Bag of Words, CBOW)。如果再次运行这个单元,就会得到下一个值,依此类推,直到迭代器返回的值用完为止。,这个矩阵的第一列(3个元素)对应第一个单词的表征,第二列对应第二个单词,以此类推。你可以对它进行迭代(例如使用。是因为只进行一次迭代训练,如果在多个迭代中进行完整的训练,需要使用常规的。是 CBOW 模型的一个超参数,代表单词嵌入向量的大小以及隐藏层的大小。

2024-10-25 16:00:54 1085

原创 C2W4.LAB.Word_Embedding.Part1

训练示例(Training example):图中的 “I am happy because I am learning” 展示了一个训练示例,其中 “happy” 是中心词,而 “I”, “am”, “because”, “I”, “learning” 是上下文词。这里提供了一个辅助函数。表示模型的输出,它是通过将输入层的词向量与权重矩阵相乘,加上偏置,然后通过激活函数和softmax函数得到的。将以上步骤整合到一个方便的函数中,该函数的参数包括:要编码的单词、将单词映射到索引的字典,以及词汇量的大小。

2024-10-25 15:26:15 1016

原创 C2W3.Assignment.Language Models: Auto-Complete.Part2

当遇到的 n-gram 在训练数据中没有出现过,即n-gram 的计数为零时,此公式不起作用,等式 (2) 就无法求值(变成了零除以零)。后面还需要对公式2加上平滑项,公式2简单说,就是计算n-grams(分子),(n+1)-grams(分母)的序列应预测句子的第一个词。在计算 n-grams 的计数时,需预处理好句子,并在句子前加上。接下来,利用 n-gram 计数估算前 “n ”个单词的概率。要处理较长的句子,可以修改实现方法,取概率的对数之和。,这是便于将来tri-grams计算分母用的。

2024-07-26 16:48:31 895

原创 C2W3.Assignment.Language Models: Auto-Complete.Part1

当模型遇到了一个它在训练过程中从未见过的单词,那么它将没有输入单词来帮助它确定下一个要建议的单词。将所有标记词转换为小写,这样原文中大写的单词(例如句子开头的单词)就会与小写单词得到相同的处理。将每个单词列表添加到句子列表中。为了在预测过程中处理未知词,可以使用一个特殊的标记 “unk”来表示所有未知词。语言模型为单词序列分配概率,使更 “可能 ”的序列获得更高的分数。这里不会使用数据中出现的所有分词(单词)进行训练,只使用频率较高的单词。需要一个双 for 循环,一个用于句子,另一个用于句子中的标记。

2024-07-22 20:13:59 1968

原创 C2W3.LAB.N-grams+Language Model+OOV

这里使用的是Add-k 平滑法,它是一种用于自然语言处理中的语言模型平滑技术,它通过在每个n-gram的概率估计中添加一个常数k来避免概率为零的问题。它在是一种用于语言模型平滑的技术。1.定义基础模型:首先定义一个或多个基础的语言模型,这些模型可能是基于不同大小的n-gram构建的,例如unigram(1-gram)、bigram(2-gram)等。4.处理零概率问题:由于插值法结合了多个模型的预测,它通常可以避免零概率问题,因为即使某个模型给出了零概率,其他模型的非零概率贡献可以保证插值后的概率不为零。

2024-07-21 20:39:09 1073

原创 C2W2.Assignment.Parts-of-Speech Tagging (POS).Part3

Viterbi算法是一种在隐马尔可夫模型(Hidden Markov Model, HMM)中用于解码问题的强大技术,即在给定一系列观测的情况下,找出最可能的隐状态序列。计算第二个单词(‘tracks’)的词性标签是VBZ(动词、第三人称单数现在时)的概率。参照上面的三词示例,读取第 2 列的 best_paths,并将 z 填入位置 1。最后一项中的所有行(POS 标记),找出具有最大值的行(POS 标记)。的第 0 列之外,两个矩阵都将被初始化为 0。是包含单词与整数的键值对的字典。

2024-07-21 20:38:54 848

原创 C2W2.Assignment.Parts-of-Speech Tagging (POS).Part2

函数,其主要目的是创建一个发射矩阵 B,这个矩阵通常用于隐马尔可夫模型(HMM)中,表示在给定状态(在这里是词性标签)下观测到某个观测值(在这里是单词)的概率。函数主要目的是创建一个转移矩阵 A,这个矩阵通常用于隐马尔可夫模型(HMM)中,表示状态(在这里是词性标签)之间转移的概率。注意:以上的计算结果示例是经过平滑后的。每个单元格都给出了从一个词性标签到另一个词性标签的概率。马尔可夫模型中包含若干状态以及这些状态之间的转换概率。,使用这三个矩阵可以很容易的构造出A和B。在Part 1中已经计算了。

2024-07-20 21:51:06 773

原创 C2W2.Assignment.Parts-of-Speech Tagging (POS).Part1

的目的是遍历一个预处理后的词序列,根据观测/发射概率(emission probabilities)来预测每个词的词性,并与实际的词性标签进行比较,从而计算预测的准确率。该任务对搜索查询至关重要,识别专有名词、组织机构、股票代码或任何类似的东西,将大大提高从语音识别到搜索的各种能力。上面的词性标签是从训练集中提取出来的,里面包含有辅助词性标签,如: '–s–'表示句子的起始位置。用于计算每个词性标签与另一个词性标签相邻出现的次数。用于计算给定词性标签的条件下某个单词的出现概率。

2024-07-20 21:49:50 1313 2

原创 C2W2.LAB.Parts-of-Speech Tagging

如果设置为 True,则在执行求和操作后,结果数组的维度与原始数组保持一致,只是被求和的轴的维度被减少到1。要解决这个问题,可以简单粗暴地将每个新词归类为未知词,但也可以创建一个函数,尝试对每个未知词的类型进行分类,并为其分配一个相应的未知标记。否则返回 False。由于数据集提供了同一行中的每个单词和标签,而单词是否为已知取决于所使用的词汇,因此这两个元素应成为该函数的参数。如果不是,则应处理该行以返回正确的单词和标记对,如果单词未知,则应使用函数 assign_unk()标记未知单词具体未知类型。

2024-07-19 12:19:23 1085

原创 C2W1.Assignment.Autocorrect.Part2

在这里,给定一个字符串源[0…下图为表格/矩阵的初始化(根据公式4),每个格子/元素代表从原字符串source[0:i]到目标字符串target[0:j]所需要的最小编辑代价/距离。步骤1:使用前面完成的编辑功能,为提供的单词生成建议,生成建议需要遵循如下原则:具体编辑次数较少的词比编辑次数较多的词更有可能产生。这里,空列表 [] 被视为 False,而非空列表 [“a”,“b”] 被视为 True。由于 [“a”,“b”] 是 True,表达式的结果为 [“a”,“b”]。是该词在词汇表中出现的概率。

2024-07-19 08:58:40 904

原创 C2W1.Assignment.Autocorrect.Part1

这里的结果是列表的列表(嵌套列表)它首先遍历第一个 replace_set 中的每个子列表,然后遍历每个子列表中的每个元素,将它们添加到新的列表中。因此,如果第一个 replace_set 包含 n 个子列表,每个子列表有 26 个元素,那么第二个 replace_set 将是一个包含 n * 26 个元素的单一列表。它首先遍历第一个 insert_l 中的每个子列表,然后遍历每个子列表中的每个元素,将它们添加到新的列表中。insert_l 的大小与第一个相同,但它是一个单一的列表,而不是嵌套的列表。

2024-07-18 16:40:53 1349

原创 C2W1.LAB.Vocabulary Creation+Candidates from String Edits

注意:除了splits和deletes操作,还有其他的编辑类型,例如:insert, replace, switch等,这里没有一一实现,留待各位补全。这样做的目的是有效删除被编辑的原始单词中每个可能的字母。经过上面的操作,得到了执行删除编辑后创建的候选字符串列表。在下面的示例词汇表中,你能想到创建候选词列表的方法吗?下一步是过滤该列表,以查找词汇表中的候选词。中的后半部分的每个字符串中删除一个字母。找出将一个单词分成两个部分的所有方法!当然也可以用list更加简洁。修改小语料库的text,使。

2024-07-18 09:57:46 1303

原创 C1W4.Assignment.Naive Machine Translation and LSH

3.单词没有办法训练,于是使用get_matrices函数将en_fr_train中的英文法文单词对一一拿出来,分别在英文词向量表达en_embeddings_subset和法文词向量表达fr_embeddings_subset中找到对应的词向量表达,分别放到X和Y中。1.所有英文和法文都有词向量表达,但是太大,我们不需要这么多,先切出我们需要用的英文词向量表达en_embeddings_subset和法文词向量表达fr_embeddings_subset。是嵌入的维数(300)。

2024-07-17 21:52:58 952

原创 C1W4.LAB.Vector manipulation+Hash functions and multiplanes

多平面散列函数(Multi-plane Hashing,简称MPH)是一种哈希函数的设计方法,它通过将输入数据分割成多个部分,并在不同的平面上独立地对这些部分进行哈希处理,然后将结果组合起来生成最终的哈希值。在下面的代码中,我们将展示多平面原理的最基本形式。函数将生成一个以字典形式存储的哈希表,其中键包含哈希键,值提供输入列表中的哈希元素。上图中可以看到,定义平面的矢量并不是平面两边的边界。已经应用了前两种变换。注意:在Numpy中使用的是弧度不是角度,例如:以下代码定义一个旋转矩阵,该矩阵可将向量旋转。

2024-07-17 09:40:25 956

原创 C1W3.Assignment: Hello Vectors

现在的词向量是300维的,难以使用可视化的方式显示这些词向量,因此我们使用PCA将向量投射到一个维度更小的空间中,并尽量保持原始信息不丢失。例如,“悲伤”、"快乐 "和 "喜悦 “都是描述情绪的词语,在绘制时应该相互靠近。由于原始的谷歌新闻单词嵌入数据集约为 3.64 G,有条件的同学可以自行下载该数据集,提取出将在本作业中分析的单词样本,并将其保存在名为word_embeddings_subset.p的 pickle 文件中。使用上面实现的函数计算向量之间的相似性,并利用这些相似性找出各国的首都。

2024-07-16 15:32:32 1256

原创 C1W3.LAB.Linear algebra in Python with NumPy

对于二维数组 nparray2 来说,np.linalg.norm(nparray2) 默认计算的是矩阵的 L2 范数,这实际上是矩阵的最大奇异值。在这个函数调用中,没有指定 axis 参数,所以它计算的是整个数组的全局均值,即所有元素的总和除以元素的总数。在线性代数中,矩阵的转置是一种将矩阵在其对角线上翻转的运算,转置运算将矩阵的行和列索引互换,产生另一个矩阵。如果没有指定范数的类型,np.linalg.norm 计算的是 L2 范数,也就是欧几里得范数,它是数组元素平方和的平方根。

2024-07-16 11:22:06 718

原创 C1W2.Assignment: Naive Bayes

注意,这里是根据训练数据计算先验值的,训练数据在正负标签之间平均分配(4000 条正向推文和 4000 条负向推文)。换句话说,如果我们没有任何具体信息,盲目地从人群集合中挑选一条推文,那么这条推文是正面还是负面的概率是多少?在utils.py中,还实现了一个查询辅助函数(lookup),该函数接收 freqs 词典、一个单词和一个标签(1 或 0),并返回该单词和标签元组在推文集合中出现的次数。这里要完成情感词频字典(freqs)的构建,字典的键是一个元组(单词、标签),值是相应的频率。

2024-07-15 21:32:18 1065

原创 C1W2.LAB.Visualizing Naive Bayes

它比在直角坐标平面上绘制点更好,因为在大数据集上,点会严重重叠,从而掩盖数据的真实分布。在下面的练习中,将使用朴素贝叶斯特征对推文数据集进行可视化检查,重点理解对数似然比=一对可输入机器学习算法的数字特征。以上公式对应的代码本次实验不做要求,但运行得到的结果放在:'bayes_features.csv’文件中。对于每条推文,我们都计算了该推文的正面可能性和负面可能性。下面给出可能性比率的分子和分母。的概念,作为直观表示朴素贝叶斯模型的工具。修改后,两个数据的分布开始重合。分析朴素贝叶斯的结果。

2024-07-15 09:51:02 933

原创 C1W1.Assignment: Logistic Regression

的计算方法是取向量 "y "和 "log(h) "的点积。由于 "y "和 "h "都是列向量(m,1),因此要将向量向左转置,这样行向量与列向量的矩阵乘法就能得到点积。) 而标签为 0 时,对数损失的第二项就会变成一个很大的负数,然后乘以总系数-1,将其转换为正损失值。它将输入的 "z "映射为一个介于 0 和 1 之间的值,因此可以将其视为一个概率。的维度为:(n+1, 1),其中 "n "为特征个数,还有一个元素为偏置项。) 而标签 "y "也是 1 时,该训练示例的损失为 0。

2024-07-14 14:39:36 1093

原创 C1W1.LAB.Preprocessing+Word frequencies+Logistic_regression_model

NLTK 的推特样本数据集分为正面推文和负面推文。其中包含 5000 条正面推文和 5000 条负面推文。这些类别之间的精确匹配并非巧合。这样做的目的是为了得到一个平衡的数据集。这并不能反映实时 Twitter 流中正面和负面类别的真实分布(正面大于负面)。这只是因为平衡数据集简化了情感分析所需的大多数计算方法的设计。plt.show()

2024-07-14 10:44:44 1038

原创 09.C2W4.Word Embeddings with Neural Networks

往期文章请点。

2024-07-10 21:02:55 952

原创 08.C2W3.Auto-complete and Language Models

往期文章请点。

2024-07-09 12:44:05 1181

原创 07.C2W2.Part-of-Speech (POS) Tagging and Hidden Markov Models

往期文章请点。

2024-07-08 18:24:07 1014

原创 06.C2W1.Auto-correct

D[2,3] = pl → sta,表示pl到sta的最小距离,这里pl是单词play的前两个字母,sta是目标单词stay的前三个字母,也可以表示为:D[2,3] = source[:2] → target[:3],更通用的形式是。其实这些不同编辑操作得到的2是基于前面算出来的结果进行计算得到的,例如第一种操作中的插入s已经算过了就是1,然后是删除p也是1,最后加起来就是2,路径是紫色+一个删除;它通过将问题分解为更小的子问题,并将子问题的解存储起来(通常是在表格中),以避免重复计算,从而提高效率。

2024-07-07 22:13:07 878

原创 05.C1W4.Machine Translation and Document Search

可以看到,不同组的平面划分得到结果也不一样,这种划分方法在紫色向量找朋友的时候没有与所有的其他向量进行比较,只比较了子集,因此只能称为:Approximate nearest (friendly) neighbors算法。假设我们将英法翻译得到词向量用紫色表示,然后使用了三组不同的随机平面进行划分,得到最紫色向量最邻近的结果也有三组,分别用三种颜色表示。在法语词向量空间中找到与转化结果最接近(相似)的词向量,最相似的单词就是翻译的候选单词,例如找到chat,就是法语中的cat。例如下图中的橙色和蓝色向量。

2024-07-05 12:52:25 1041

原创 04.C1W3.Vector Space Models

这里的Manipulating Words,是指对词向量的加减(平移向量),使得我们可以计算对应关系,例如:已有国家和首都的词向量空间,已知漂亮国首都是DC(漫威表示不服),求大毛的首都是什么。语料库中各个类型的文章单词数量不相同,这里的Agriculture和History文章单词数量基本相同,而Food文章单词较少。可视化可以让我们很直观的看到单词的相似性,当单词的向量表示通常是高维的,需要我们将其降维到2D空间便于绘图,这里先学其中一种降维写方式:PCA。这里n取值在1到词表大小之间。

2024-07-04 13:47:35 869

原创 03.C1W2.Sentiment Analysis with Naïve Bayes

概率与条件概率及其数学表达贝叶斯规则(应用于不同领域,包括 NLP)建立自己的 Naive-Bayes 推文分类器假设我们有一个推文语料库,里面包含正面和负面情感的推文:某个单词例如:happy,可能出现在正面或负面情感的推文中:下面我们用数学公式来表示上面的概率描述。AAA表示正面的推文,则正面的推文发生的概率可以表示为:P(A)=P(Positive)=Npos/NP(A)=P(Positive)=N_{pos}/NP(A)=P(Positive)=Npos​/N以上图为例:P(A)=

2024-07-03 21:27:10 1214

原创 02.C1W1.Sentiment Analysis with Logistic Regression

如果词表大小为10W,则该句子的特征向量大小为1×10W的,单词出现在句子中,则该词的位置为1,否则为0,可以看到,句子的特征向量非常稀疏(称为稀疏表示Sparse representation)。SA任务的目标是用逻辑回归分类器,预测一条推文的情绪是积极的还是消极的,如下图所示,积极情绪的推文都有一个标签:1,负面情绪的推文标签为0。由于中括号里面的log是针对0-1之间的值,所以得到的结果是负数,为保证Cost函数是正值(这样才能求最小),在最前面加上了负号。

2024-07-02 20:42:44 872

原创 11.FrugalGPT

假设模型为LiL_iLi​,输入为qqq,模型输出为LiqL_i(q)Li​q若正确答案表示为aaa,则输入在模型LiL_iLi​raLiqraLi​q))sqLiqsqLi​q))模型的运行代价根据上面的调研表格可知:输入要钱、输出要钱、固定按次要钱。

2024-03-15 19:10:45 1042 1

原创 11.用AI运行AI

部分截图来自原课程视频《2023李宏毅最新生成式AI教程》,B站自行搜索。用AI运行AI,顾名思义就是使用AI来统筹调用其他AI来解决复杂问题。常见的AI运行AI工具有:这里面推荐使用Godmode,相较其他工具更加友好,可以随时调整执行计划,可以以10分钟为单位分段执行查看执行结果,且不需要魔法上网就可以访问(但需要谷歌或推特账号登录)。

2024-03-14 15:51:12 1381

原创 10.用AI解释AI

部分截图来自原课程视频《2023李宏毅最新生成式AI教程》,B站自行搜索。官网Blog地址:https://openai.com/research/language-models-can-explain-neurons-in-language-modelsAI涉及到的神经网络模型是一个黑盒子,关于AI的可解释性一直也是研究的一个热点,现有研究有从不同目的,不同角度对这个黑盒子做了一些可解释性的解读。

2024-03-14 10:32:39 1240

原创 09.复刻ChatGPT,自我进化,AI多智能体

部分截图来自原课程视频《2023李宏毅最新生成式AI教程》,B站自行搜索。

2023-12-05 10:51:41 2162 2

原创 深度之眼Paper带读笔记GNN.08.GCN(下)

本课程来自深度之眼,部分截图来自课程视频。图卷积神经网络的半监督分类(GCN)作者:Thomas N.Kipf,Max Welling单位:University of Amsterdam发表会议及时间:ICLR 2017在线Latex公式之前写的有点问题,重新编辑发现CSDN对文章长度做了限制,只能切开变成上下两篇了这节通过几篇图卷积相关的论文来讲解图卷积核的演变过程。

2023-11-22 09:44:54 416 3

原创 08.Diffusion Model数学原理分析(下)

σt​z部分截图来自原课程视频《2023李宏毅最新生成式AI教程》,B站自行搜索。书接。

2023-11-10 11:12:51 459 1

原创 08.Diffusion Model数学原理分析(上)

文章目录Diffusion Model回顾Diffusion Model算法TrainingInference图像生成模型的本质目标MLE vs KLVAE计算Pθ(x)P_\theta(x)Pθ​(x)Lower bound of log⁡P(x)\log P(x)logP(x)DDPM计算Pθ(x)P_\theta(x)Pθ​(x)Lower bound of log⁡P(x)\log P(x)logP(x)原理数学推导部分截图来自原课程视频《2023李宏毅最新生成式AI教程》,B站自行搜索。Dif

2023-11-08 17:12:23 386 1

原创 07.Diffusion Model概述

部分截图来自原课程视频《2023李宏毅最新生成式AI教程》,B站自行搜索。

2023-11-04 20:53:34 459 1

en-US.twitter.txt

en-US.twitter.txt

2024-07-22

去掉标签后的test.words

test.words

2024-07-19

hmm-vocab.txt

hmm_vocab.txt

2024-07-19

Wall Street Journal (WSJ)测试集

Wall Street Journal (WSJ)测试集

2024-07-19

Wall Street Journal Dataset

Wall Street Journal Dataset

2024-07-19

en-fr.test.txt

en-fr.test.txt

2024-07-17

en-fr.train.txt

en-fr.train.txt

2024-07-17

fr-embeddings.p

fr_embeddings.p

2024-07-17

en-embeddings.p

en-embeddings.p

2024-07-17

utils-nb.py

utils-nb.py

2024-07-16

word-embeddings-subset.p

word_embeddings_subset.p

2024-07-16

capitals.txt

capitals.txt

2024-07-16

bayes-features.csv

bayes-features.csv

2024-07-15

logistic-features.csv

logistic-features.csv

2024-07-14

Android开发英文书及开发配置说明

O'Reilly出的Android开发教程,比较基础,新入门的可以看看,但是是E文的,另外附有Android开发前的配置说明

2010-08-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除