![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 88
Pr4da
这个作者很懒,什么都没留下…
展开
-
[Few-shot learning] Siamese neural networks
这篇文章主要介绍的是Siamese Neural Network经典论文:。神经网络能够取得非常好的效果得益于使用大量的带标签数据进行有监督学习训练。当我们只有少量带标签的数据时如何训练出一个泛化性很好的模型呢?因此,few-shot learning问题应用而生。Few-shot learning仅需要每个类别含有少量带标签数据就可以对样本进行分类。Gregory Koch等人提出了一种新的机器学习框架,当每个待测类别仅有1个样本的时候也能取得超过90%的识别准确率。原创 2023-03-28 10:32:05 · 642 阅读 · 0 评论 -
[Few-shot learning] MAML
论文:[Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks](# Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks)原创 2023-03-28 10:17:06 · 593 阅读 · 0 评论 -
知识蒸馏Knownledge Distillation
知识蒸馏源自Hinton et al.于2014年发表在NIPS的一篇文章:Distilling the Knowledge in a Neural Network。1. 背景一般情况下,我们在训练模型的时候使用了大量训练数据和计算资源来提取知识,但这不方便在工业中部署,原因有二:(1)大模型推理速度慢(2)对设备的资源要求高(大内存)因此我们希望对训练好的模型进行压缩,在保证推理效果的前提下减小模型的体量,知识蒸馏(Knownledge Distillation)属于模型压缩的一种方法 [1.原创 2022-05-05 21:11:23 · 1677 阅读 · 0 评论 -
Open Set Domain Adaptation 开集领域适应
1. Motivation2017年ICCV上发表了一篇题为OpenSetDomainAdaptationOpen Set Domain AdaptationOpenSetDomainAdaptation[1]的论文说:一般我们所讲的领域适应(domain adaptation)是在一个闭集(close set)的前提条件下进行的,即源域和目标与拥有相同的标签类别。但是在大多数的实际情况中,源域和目标域可能只共享了一部分相同类别。如图1所示(图片来源于文献[1]),在Close set domain原创 2022-05-01 15:13:53 · 1233 阅读 · 0 评论 -
核方法 Kernel method
文章目录1.内积(点积)2.核方法 [^1]3.核方法的定义和例子[^2]4. 常见的核方法4.1 线性核4.2 多项式核1.内积(点积)内积,又叫做点积,数量积或标量积。假设存在两个向量a=[a1,a2,...,an]a=[a_{1}, a_{2}, ..., a_{n}]a=[a1,a2,...,an]和b=[b1,b2,...,bn]b=[b_{1},b_{2},...,b_{n}]b=[b1,b2,...,bn],内积的计算方法为:a⋅b=a1b1+a2b2+⋯+anbna\cd原创 2022-04-26 12:25:53 · 1395 阅读 · 0 评论 -
图文带你理解什么是Few-shot Learning
Few-shot Learning(少样本学习)是Meta Learning(元学习)中的一个实例1,所以在了解什么是Few-shot Learning之前有必要对Meta Learning有一个简单的认识。不过在了解什么是Meta Learning之前还是要了解一下什么是Meta。因此,阅读本文后你将对如下知识有一个初步的了解。What is MetaWhat is Meta LearningWhat is Few-shot Learning1. What is Meta?meta就是描述原创 2021-07-07 13:37:37 · 4720 阅读 · 3 评论 -
什么是Inductive learning和Transductive learning
1. Inductive learningInductive learning (归纳式学习)。归纳是从已观测到的数据到一般数据的推理,归纳学习即我们平时所说的监督学习,使用带有标签的数据进行模型训练,然后使用训练好的模型预测测试集数据的标签,训练集数据不包含测试集数据。2. Transductive learningTransductive learning (直推式学习)。直推是从观测到的特定数据到特定数据的推理。直推学习与归纳学习不同的是,训练数据和测试数据在之前都已经可以观测,我们从已知的训练原创 2021-07-07 13:33:07 · 1595 阅读 · 0 评论 -
损失函数——负对数似然
阅读本文可以了解如下内容:似然似然估计对数似然负对数似然1. 似然在开始之前需要区分一个知识:似然(likelihood)和概率(probability)。概率是一个事件发生的可能性,而似然指的是影响概率的未知参数。也就是说,概率是在该未知参数已知的情况下所得到的结果;而似然是该参数未知,我们需要根据观察结果,来估计概率模型的参数。用数学方法可以描述为:假设XXX是离散随机变量,其概率质量函数ppp依赖于参数$\theta $,则:L(θ∣x)=pθ(x)=Pθ(X=x)L(\thet原创 2021-03-28 13:17:57 · 13491 阅读 · 3 评论 -
损失函数——交叉熵
在了解交叉熵之前我们需要关于熵的一些基本知识,可以参考我的上一篇博客1。1.信息熵信息熵的定义为离散随机事件的出现概率2。当一个事件出现的概率更高的时候,我们认为该事件会传播的更广,因此可以使用信息熵来衡量信息的价值。当一个信源具有多种不同的结果,记为:U1,U2,…,Un,每个事件相互独立,对应的概率记为:P1,P2,…,Pn。信息熵为各个事件方式概率的期望,公式为:H(U)=E[−logpi]=−∑i=1npilogpiH(U)=E[-\log p_{i}]=-\sum_{i=1}^{n}p_原创 2021-03-28 13:16:29 · 1605 阅读 · 0 评论 -
LabelEncoder和LabelBinarizer的区别
LabelBinarizerimport numpy as npfrom sklearn.preprocessing import LabelBinarizerlb = LabelBinarizer()a = np.array([1,2,3,2,5,6,6])b = lb.fit_transform(a)print(b)输出为:[[1 0 0 0 0] [0 1 0 0 0] [0 0 1 0 0] [0 1 0 0 0] [0 0 0 1 0] [0 0 0 0 1] [0原创 2021-03-21 18:59:25 · 403 阅读 · 0 评论 -
使用Keras构建GAN,以Mnist为例
在开始之前请先了解GAN的原理,有很多博主讲的都很好,在这里我就不再过多讲解,视频推荐台大李宏毅老师的课程。GAN共包含两个主要结构generator和discriminator。generator负责生成假的数据来“欺骗”discriminator,discriminator负责判断输入的数据是否为generator生成的,二者互相迭代,最终实现generator生成能以假乱真的数据。以下以Mnist数据集为例,使用GAN来产生手写数字。文章目录构建网络模型1.generator2.discrimin原创 2021-03-18 13:32:43 · 528 阅读 · 0 评论 -
tf.random_normal()函数的用法
tf.random_normal()函数用于从服从指定正太分布的数值中取出指定个数的值。tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) shape: 输出张量的形状,必选 mean: 正态分布的均值,默认为0 stddev: 正态分布的...原创 2019-01-11 22:51:40 · 1233 阅读 · 0 评论 -
keras构建resnet50网络代码解读
Resnet50的代码不是由笔者编写,笔者只对代码进行讲解,方便后续使用。原作者博客链接。为了节省篇幅这里不贴出代码,请访问原作者GitHub查看代码。Resnet50包含两种基本模块Conv Block和Identity Block,其结构图如下所示:从图中可以看到,Identity Block的输出和输入必须是有相同的形状(不然residual和input不能相加),这导致卷积提取到的特征长宽和维度不能发生变化,而Conv Block在残差边加入了一层卷积可以对输入的维度进行调整,这可以使残差原创 2020-05-18 16:50:10 · 2629 阅读 · 1 评论 -
快速了解集成学习
目录1.什么是集成学习2.Bagging算法3.Stacking算法4.Boosting算法1.什么是集成学习集成学习(ensemble learning)是一类机器学习框架,通过构建并结合多个学习器来完成学习任务。一般结构是:先产生一组“个体学习器”,再用某种策略将它们结合起来。结合策略主要有平均法、投票法和学习法等集成学习包含三个典型算法:Bagging、Staking和Boosting2.Bagging算法我们从很多的个体学习器中得到了不同效果的分类模型,那么怎么得到最终的模型呢?平均原创 2020-07-05 00:37:57 · 292 阅读 · 0 评论 -
偏差与方差及如何权衡
1.什么是偏差与方差偏差(Bias)和方差(Variance)是机器学习训练中不可避免的问题。先来看看什么是偏差和方差:我没看到左下角这幅图,箭完全偏离了靶心,这种情况叫做偏差。再看右上角这幅图,箭随机分布在靶心周围,这叫方差。可以把靶心看作模型的预测目标,箭看作模型的预测值,模型的预测结果也同样会出现偏差和方差两种情况。一个模型的误差通常来源于三种情况:模型误差=偏差+方差+不可避免误差不可避免误差往往是无法消除的,例如环境噪声等。2.造成偏差与方差的原因偏差的出现往往是模型本身有问原创 2020-07-01 00:19:23 · 2107 阅读 · 0 评论 -
分类评价指标:ROC曲线和PR曲线详解
1. 什么是ROC曲线接受者操作特性曲线(receiver operating characteristic curve,简称ROC曲线),又称为感受性曲线(sensitivity curve)。接受者操作特性曲线就是以虚惊概率为横轴,击中概率为纵轴所组成的坐标图。因此,ROC曲线越靠近坐标的左上角越好。2.混淆矩阵对于一个二分类问题,它有四种情况:如果一个实例是正类,它被分为正类,记为 真正(True Positive);如果一个实例是正类,它被分为负类,记为 假负(False Negativ原创 2020-06-04 15:04:27 · 4141 阅读 · 1 评论