机器学习
文章平均质量分 68
做程序员的第一天
这个作者很懒,什么都没留下…
展开
-
终身学习(Lifelong Learning)
虽然深度学习在很多任务上取得了成功,但是其前提是训练数据和测试数据的分布要相同一旦训练结束模型就保持固定不再进行迭代更新.并且,要想一个模型同时在很多不同任务上都取得成功依然是一件十分困难的事情.比如在围棋任务上训练的 AlphaGo只会下围棋对象棋一窍不通.如果让AlphaGo去学习下象棋,可能会损害其下围棋的能力这显然不符合人类的学习过程.我们在学会了下围棋之后,再去学下象棋并不会忘记下围棋的下法.人类的学习是一直持续的,原创 2023-10-13 11:36:29 · 242 阅读 · 0 评论 -
多任务学习
一般的机器学习模型都是针对单一的特定任务,比如手写体数字识别物体检测等.不同任务的模型都是在各自的训练集上单独学习得到的.如果有两个任务比较相关,它们之间会存在一定的共享知识这些知识对两个任务都会有所帮助.这些共享的知识可以是表示特征)、模型参数或学习算法等.目前主流的多任务学习方法主要关注表示层面的共享.内容多任务学习是指同时学习多个相关任务让这些任务在学习过程中共享知识,利用多个任务之间的相关性来改进模型在每个任务上的性能和泛化能力.多任务学习可以看作一种。原创 2023-10-12 15:09:38 · 97 阅读 · 0 评论 -
机器学习之自训练&协同训练
监督学习往往需要大量的标注数据,而标注数据的成本比较高.因此利用大量的无标注数据来提高监督学习的效果有着十分重要的意义.这种利用少量标注数据和大量无标注数据进行学习的方式称为半监督学习SSL).本文将介绍两种半监督学习算法自训练和协同训练.自训练自训练(Self-training)是一种半监督学习的方法,它通过结合有标签数据和无标签数据来提高模型的性能。原创 2023-10-11 23:06:40 · 610 阅读 · 0 评论 -
集成学习的小九九
集成学习(Ensemble Learning)是一种机器学习的方法,通过结合多个基本模型的预测结果来进行决策或预测。集成学习的目标是通过组合多个模型的优势,并弥补单个模型的不足,从而提高整体性能。原创 2023-10-11 21:57:15 · 951 阅读 · 0 评论 -
机器学习—非零中心化、非零中心化会带来的问题
众所周知,激活函数最好具有关于零点对称的特性,不关于零点对称会导致收敛变慢。这种说法看到几次了,但对于背后的原因却一直比较模糊,今天就来捋一捋。原创 2023-09-18 22:28:27 · 563 阅读 · 0 评论 -
RNN项目实战——文本输入与预测
在本篇博客文章中,我们将使用pytorch搭建RNN模型来生成文本。原创 2023-09-10 21:17:58 · 1172 阅读 · 0 评论 -
一文读懂LSTM及手写LSTM结构
torch.nn.LSTM`是PyTorch中用于创建长短时记忆网络(Long Short-Term Memory)的类。LSTM是一种用于处理序列数据的循环神经网络(Recurrent Neural Network,RNN)变体。原创 2023-09-09 21:58:40 · 838 阅读 · 3 评论 -
一文读懂官方给出torch.nn.RNN API的参数及手写RNN API复现
此外,`torch.nn.RNN`还返回一个包含最后一个时间步的隐藏状态的张量,通常称为`h_n`。原创 2023-09-09 10:29:10 · 638 阅读 · 0 评论 -
如何理解张量、张量索引、切片、张量维度变换
张量” 看起来和矩阵比较相似,但实际上“张量” 和线性代数中的 “矩阵” 并不相同。理解“张量”最简单的方法,是把它看成一个“多维数组”,这个数组可以是 0 维,即一个数值(称为“标量”);也可以是 1 维,即一个常见的普通数组(称为“矢量/向量”);还可以是 2 维、3维、甚至 N 维;原创 2023-09-07 17:22:45 · 515 阅读 · 0 评论 -
argmax函数的使用(pytorch版)
如果一个数组中最大值个数不唯一。那么返回第一个最大值的索引。原创 2023-09-03 10:13:55 · 420 阅读 · 0 评论 -
现有模型的保存与加载(PyTorch版)
保存模型的两种方式如下代码所示,第一种为既保存模型结构,又保存模型参数;第二种只保存模型参数,并且以字典的形式保存。我们先搭建出网络模型结构,随后将保存好的网络模型参数加载到网络模型结构中去。接下来我们按照加载方式1的方法在load.py文件中加载这个模型。我们以VGG16网络为例,来说明现有模型的保存与加载操作。我们在save.py文件中搭建我们的网络结构,并将其保存。保存与加载方式均有两种,接下来我们分别来学习这两种方式。上述结果是VGG16网络模型结构以及网络模型参数。保存方式1有一个小小的陷阱。原创 2023-09-02 21:35:28 · 410 阅读 · 0 评论 -
torch.nn中的L1Loss和MSELoss
我们打开Pytorch官网,找到torch.nn中的loss function,进去如下图所示。原创 2023-09-02 20:38:57 · 1151 阅读 · 0 评论 -
借助CIFAR10模型结构理解卷积神经网络及Sequential的使用
我们发现,使用Sequential之后得到的结果(示例2)与按照前向传播一层一层搭建得到的结果(示例1)一致,使用Sequential之后可以使得forward函数中的内容得以简化。当模型中只是简单的前馈网络时,即上一层的输出直接作为下一层的输入,这时可以采用torch.我们点开搭建好的网络Tudui,可以得到更具体的网络每一层,如下图所示。,padding = 0,通道数不变,特征图尺寸减小一半。按下Enter键,得到一个网址,如下图所示。,通道数不变,特征图尺寸减小一半。改写示例 1,示例 2 如下。原创 2023-09-02 15:34:42 · 699 阅读 · 0 评论 -
机器学习——参数与超参数
在机器学习中,优化又可以分为参数优化和超参数优化.模型 𝑓(𝒙;𝜃)中的𝜃 称为模型的参数,可以通过优化算法进行学习.除了可学习的参数 𝜃 之外,还有一类参数是用来定义模型结构或优化策略的,这类参数叫作。或者通过搜索的方法对一组超参数组合进行不断试错调整.。(Hyper-Parameter).在贝叶斯方法中,超参数的选取一般都是组合优化问题,是机器学习的一个经验性很强的技术,超参 数可以理解为参数的参数,即控制模型参数分布的参数.。支持向量机中的核函数等。通常是按照人的经验设定。聚类算法中的类别个数。原创 2023-08-28 21:41:59 · 164 阅读 · 0 评论 -
一文学会Machine Learning & Meta Learning
文章主要介绍了元学习与机器学习的相关内容及区别原创 2023-08-23 16:50:44 · 47 阅读 · 0 评论 -
元学习(Meta Learning)
你带小朋友去动物园,小朋友看到水里面有一只毛茸茸的小动物,他从来没有见过这种动物,所以他想知道这种动物是什么,虽然小朋友没有见过这种动物,但是他学过如何区分动物,他有自主学习的能力。现在你给他一堆卡片,每张卡片上有一个动物的图片和动物的名字,小朋友既没有见过眼前水里面的动物,也没有见过这些卡片上的动物,但是小朋友很聪明,他把卡片翻一遍,就知道自己眼前看到的动物是水塔了。而多任务学习是基于多个不同的任务同时进行损失函数优化,它的学习范围只限定在这几个不同的任务里,并不具学习的特性。原创 2023-08-21 17:08:23 · 5641 阅读 · 0 评论 -
从图结构的角度观测循环神经网络(RecNN、GNN)
同样,我们也可以用门控机制来改进递归神经网络中的长距离依赖问题。递归神经网络主要用来建模自然语言句子的语义. 给定一个句子的语法结构(可以使用递归神经网络来按照句法的组合关系来合成一个句子的语义.。而链式结构是一种特殊的图结构,我们可以比较容易地将这种。是将消息传递的思想扩展到图结构数据上的神经网络.。即每个短语的语义都可以由它的子成分语义组合而来。递归神经网络的一般结构为树状的层次结构,Message), 更新自己的状态,的思想扩展到任意的图结构上.。模型的思想应用到树结构的网络中。原创 2023-08-20 16:34:52 · 107 阅读 · 0 评论 -
门控循环单元网络——GRU网络
门控循环单元GRU网络是一种比LSTM网络更加简单的循环神经网络.GRU 网络引入门控机制来控制信息更新的方式.和LSTM不同GRU不引入额外的记忆单元,GRU网络通过引入一个更新门来控制当前状态需要从历史状态中保留多少信息不经过非线性变换),以及需要从候选状态中接受多少新信息1、门控循环神经网络可以更好地捕获时间步距离很长的序列上的依赖关系。2、重置门有助于捕获序列中的短期依赖关系。3、更新门有助于捕获序列中的长期依赖关系。原创 2023-08-20 10:48:57 · 741 阅读 · 0 评论 -
LSTM(Long-Short Term Memory,LSTM)
一句话介绍LSTM,它是RNN的进阶版,如果说RNN的最大限度是理解一句话,那么LSTM的最大限度则是理解一段话,详细介绍如下:LSTM,全称为长短期记忆网络(Long Short Term Memory networks),是一种特殊的RNN,能够学习到长期依赖关系。长短期记忆网络论文首次发表于1997年。由于独特的设计结构,LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件。原创 2023-08-19 17:35:53 · 70 阅读 · 0 评论 -
循环神经网络的长程依赖问题及解决方法
RTRL算法和BPTT算法都是基于梯度下降的算法,分别通过前 向模式和反向模式应用链式法则来计算梯度.。循环神经网络就可以按照前馈网络中的反向传播算法计算参数梯度.。算法的主要思想是通过类似前馈神经网络的错误反向传播算法。因此参数的真实梯度是所有 “展开层” 的参数梯度之和。算法需要保 存所有时刻的中间梯度,是通过前向传播的方式来计算梯度。参数的梯度需要在一个完整的。循环神经网络的参数学习之法_做程序员的第一天的博客-CSDN博客。循环神经网络在学习过程中的主要问题是由于梯度消失或爆炸问题,原创 2023-08-19 10:30:15 · 706 阅读 · 0 评论 -
循环神经网络的参数学习之法
RTRL算法和BPTT算法都是基于梯度下降的算法,分别通过前 向模式和反向模式应用链式法则来计算梯度.。循环神经网络就可以按照前馈网络中的反向传播算法计算参数梯度.。算法的主要思想是通过类似前馈神经网络的错误反向传播算法。.BPTT算法将循环神经网络看作一个展开的多层前馈网络。因此参数的真实梯度是所有 “展开层” 的参数梯度之和。循环神经网络的参数可以通过梯度下降方法来进行学习。算法需要保 存所有时刻的中间梯度,是通过前向传播的方式来计算梯度。参数的梯度需要在一个完整的。所有层的参数是共享的,原创 2023-08-19 10:10:06 · 163 阅读 · 0 评论 -
简单循环网络SRN
简单循环网络SRN是一个非常简单的循环神经网络,只有一个隐藏层的神经网络.在一个两层的前馈神经网络中连接存在相邻的层与层之间隐藏层的节点之间是无连接的.而简单循环网络增加了从隐藏层到隐藏层的反馈连接.如果我们把每个时刻的状态都看作前馈神经网络的一层,循环神经网络可以看作在时间维度上权值共享的神经网络.图6.2给出了按时间展开的循环神经网络.。原创 2023-08-16 10:44:13 · 119 阅读 · 0 评论 -
什么是图灵完备
可以用来解决所有的可计算问题. 目前主流的编程语言(这套规则可以是指令集、也可以是编程语言。图灵机是一种抽象的信息处理装置,)是指一种数据操作规则(比如一种计算机编程语言,解决所有的可计算问题.。原创 2023-08-16 09:58:37 · 413 阅读 · 0 评论 -
给神经网络增加记忆能力
背景介绍为了处理时序数据并利用其历史信息,我们需要让网络具有短期记忆能力.而前馈网络是一种静态网络不具备这种记忆能力.一般来讲,引入外部记忆单元一种简单的利用历史信息的方法是建立一个额外的延时单元,用来存储网络的历史信息(可以包括输入输出隐状态等).比较有代表性的模型是延时神经网络TDNN.延时神经网络在时间维度上共享权值,以降低参数数量.因此对于序列输入来讲,延时神经网络就相当于卷积神经网络.延时神经网络是在前馈网络中的非输出层都添加一个。原创 2023-08-15 17:53:32 · 148 阅读 · 1 评论 -
如何理解循环神经网络RNN?
循环神经网络RNN是一类具有短期记忆能力的神经网络.在循环神经网络中神经元不但可以接受其他神经元的信息也可以接受自身的信息,形成具有环路的网络结构.和前馈神经网络相比,循环神经网络更加符合生物神经网络的结构.循环神经网络已经被广泛应用在语音识别、语言模型以及自然语言生成等任务上.循环神经网络的参数学习可以通过随时间反向传播算法来学习.随时间反向传播算法即按照时间的逆序将错误信息一步步地往前传递.当输入序列比较长时会存在梯度爆炸和消失问题也称为长程依赖问题.。原创 2023-08-15 16:54:11 · 62 阅读 · 1 评论 -
机器学习之数据的特征表示
前言在实际应用中,数据的类型多种多样比如文本音频图像视频等.不同类型的数据,其原始特征(Raw Feature)的空间也不相同.比如一张灰度图像(像素数量为 𝐷)的特征空间为 [0, 255]^𝐷,一个自然语言句子(长度为𝐿的特征空 间为|𝒱|^𝐿,其中𝒱 为词表集合.而很多机器学习算法要求输入的样本特征是数学上可计算的,因此在机器学习之前我们需要将这些不同类型的数据转换为向量表示.在手写体数字识别任务中,样本𝑥 为待识别的图像.为了识别 𝑥 是什么数字,原创 2023-08-14 09:37:51 · 351 阅读 · 0 评论 -
机器学习之偏差—方差分解
给出了机器学习模型的期望错误、偏差和方差随复杂度的变化情况,其中红色虚线表示最优模型.最优模型并不一定是偏差曲线和方差曲线的交点.。当 𝜆 变大时,模型复杂度会降低,可以有效地减少方差,避免过拟合,但偏差会上升.当 𝜆。一个机器学习算法(包括模型以及优化算法)的能力可以用不同训练集上的模型的平均性能来评价.。给出了机器学习模型的四种偏差和方差组合情况.每个图的中心点为最优模型𝑓 ∗ (𝒙)是指一个模型在不同训练集上的平均性能和最优模型的差异,为高偏差低方差的情况,表示模型的泛化能力很好,原创 2023-08-12 16:33:07 · 174 阅读 · 1 评论 -
PAC学习理论
其中|ℱ|为假设空间的大小.从上面公式可以看出,模型越复杂,即假设空间ℱ 越大,模型的泛化能力越差.要达到相同的泛化能力,越复杂的模型需要的样本数量越多.为了提高模型的泛化能力,通常需要。由于我们不知道真实的数据分布 𝑝(𝒙, 𝑦),也不知道真实的目标函数 𝑔(𝒙), 因此期望从有限的训练样本上学习到一个期望错误为0的函数𝑓(𝒙)是不切实际的.。的算法是指该学习算法能够在多项式时间内从合理数量的训练数据中学习到一个近似正确的𝑓(𝒙)只要求学习算法可以以一定的概率学习到一个近似正确的假设,原创 2023-08-12 10:44:50 · 191 阅读 · 1 评论 -
机器学习之归纳偏置
归纳偏置在贝叶斯学习中也经常称为。很多学习算法经常会对学习的问题做一些假设。我们会假设每个特征的条件概率是互相独立的。一个小的局部区域中的大部分样本同属一类。我们会假设在特征空间中,在朴素贝叶斯分类器中,比如在最近邻分类器中。原创 2023-08-12 10:26:47 · 48 阅读 · 1 评论 -
丑小鸭定理——你的客观判断并不客观,全都带有主观偏见
丑小鸭与它父母的差别要小于它父母和其他白天鹅之间的差别。丑小鸭与白天鹅之间的区别和两只白天鹅之间的区别一样大。也是模式识别的最早研究者之一.】【这里的“丑小鸭和白天鹅的区别大于两只白天鹅的区别。因为世界上不存在相似性的客观标准,如果从体型大小或外貌的角度来看,这个定理初看好像不符合常识,但是仔细思考后是非常有道理的。一切相似性的标准都是主观的。但是如果从基因的角度来看,而不是 “丑陋的小鸭子。原创 2023-08-12 10:24:11 · 218 阅读 · 1 评论 -
奥卡姆剃刀原理
即对一个数据集𝒟,最好的模型𝑓 ∈ ℱ 会使得数据集的压缩效果最好,William of Occam 提出的一个解决问题的法则:“我们经常会引入参数正则化来限制模型能力,奥卡姆剃刀的一种形式化是。如果有两个性能相近的模型,我们应该选择更简单的模型。简单的模型泛化能力更好。在机器学习的学习准则上。原创 2023-08-12 10:17:50 · 187 阅读 · 1 评论 -
没有免费的午餐定理
具体问题具体分析”. 没有免费午餐定理对于机器学习算法也同样适用.。如果有人宣称自己的模型在所有问题上都好于其他模型,那么它一定在另外一些问题上比纯随机搜索算法更差。不存在一种机器学习算 法适合于任何领域或任务.。Macerday 在最优化理论中提出的。不能脱离具体问题来谈论算法的优劣。如果一个算法对某些问题有效,对于基于迭代的最优化算法,不存在某种算法对所有问题。没有免费午餐定理证明。原创 2023-08-12 10:10:33 · 2037 阅读 · 1 评论 -
机器学习算法的类型
(Regression)问题中的标签 𝑦 是连续值(实数或连续整数), 𝑓(𝒙;𝜃)的输出也是连续值.。按照学习准则的不同,机器学习算法也可以分为统计方法和非统计方法. 但一般来说,表示输入 𝒙 的所有可能的输出目标集合.计算 argmax 的过程也称为。(Classification)问题中的标签 𝑦 是离散的类别(符号。) 是指从不包含目标标签的训练样本中自动学习到一些有价值的信息.。如果机器学习的目标是建模样本的特征 𝒙 和标签 𝑦 之间的关系。𝒙, 𝒚映射为该空间中的联合特征向量𝜙(𝒙, 𝒚),原创 2023-08-12 09:55:52 · 47 阅读 · 1 评论 -
机器学习概述
比如对于三分类问题,一个样本的标签向量为 𝒚 = [0, 0, 1]^T,模型预测的 标签分布为 𝑓(𝒙;𝜃) = [0.3, 0.3, 0.4]^T,则它们的交叉熵为 −(0 × log(0.3) + 0 × log(0.3) + 1 × log(0.4)) = − log(0.4).。一般可以用交叉熵来衡量它们的差异.标签的真实分布 𝒚和模型预测分布𝑓(𝒙;𝜃) ∈ [0, 1]^𝐶 的输出为类别标签的条件概率分布,即。Data Set)。对于样本空间中的样本(𝒙, 𝑦) ∈ 𝒳 × 𝒴,原创 2023-08-12 09:40:07 · 65 阅读 · 1 评论