贾世林jiashilin
alanjia163@163.com 贾世林jiashilin 计算机 软件工程 AI bigdata
展开
-
深度学习中的Epoch,Batchsize,Iterations
扫盲 | 深度学习中的Epoch,Batchsize,Iterations转载文https://mp.weixin.qq.com/s/tEOvxPRPAPndNk3thT8EZA简单一句话说就是,我们有2000个数据,分成4个batch,那么batch size就是500。运行所有的数据进行训练,完成1个epoch,需要进行4次iterations。Epoch,Ba...转载 2019-04-02 23:43:20 · 627 阅读 · 0 评论 -
BN时候参数
BN,Batch Normalization,就是在深度神经网络训练过程中使得每一层神经网络的输入保持相近的分布。BN训练和测试时的参数是一样的嘛?对于BN,在训练时,是对每一批的训练数据进行归一化,也即用每一批数据的均值和方差。而在测试时,比如进行一个样本的预测,就并没有batch的概念,因此,这个时候用的均值和方差是全量训练数据的均值和方差,这个可以通过移动平均法求得。对于BN...原创 2019-09-29 15:47:23 · 1270 阅读 · 0 评论 -
生成模型和判别模型有哪些,统计,具体
生成模型,就是生成(数据的分布)的模型; 判别模型,就是判别(数据输出量)的模型。 生成式模型:朴素贝叶斯! 混合高斯模型! 隐马尔科夫模型(HMM)! 贝叶斯网络 Sigmoid Belief Networks 马尔科夫随机场(Markov Random Fields) 深度信念网络(DBN)判别式模型:K近邻(KNN) 线性回归(Linear Regress...原创 2019-09-10 17:10:40 · 9364 阅读 · 0 评论 -
L1和L2特点
作为正则化 在机器学习中,正规化是防止过拟合的一种重要技巧。从数学上讲,它会增加一个正则项,防止系数拟合得过好以至于过拟合。L1与L2的区别只在于,L2是权重的平方和,而L1就是权重的和。如下:最小平方损失函数的L1正则化:最小平方损失函数的L2正则化:它们的性质的区别能快速地总结如下:L1正则化 L2正则化 在非稀疏情形下计算效率低 计算...原创 2019-10-01 17:58:56 · 1013 阅读 · 0 评论 -
最小二乘法
把要猜测的线段长度的真实值用平行于横轴的直线来表示(因为是猜测的,所以用虚线来画),记作:算术平均数可以让误差最小。每个点都向做垂线,垂线的长度就是,也可以理解为测量值和真实值之间的误差,总的误差的平方就是:这就是最小二乘法,一个二次函数,对其求导,导数为0的时候取得最小值:进而:正好是算术平均数。算术平均数可以让误差最小。以下这种方法...原创 2019-07-09 15:08:35 · 252 阅读 · 0 评论 -
BN(Batch Normalization)
BN训练 1)随机梯度下降法(SGD)对于训练深度网络简单高效,但是它有个毛病,就是需要我们人为的去选择参数,比如学习率、参数初始化、权重衰减系数、Drop out比例等。这些参数的选择对训练结果至关重要,以至于我们很多时间都浪费在这些的调参上。那么使用BN(详见论文《Batch Normalization_ Accelerating Deep Network Training ...原创 2019-10-01 17:41:15 · 266 阅读 · 0 评论 -
BN(Batch Normalization)
BN训练 1)随机梯度下降法(SGD)对于训练深度网络简单高效,但是它有个毛病,就是需要我们人为的去选择参数,比如学习率、参数初始化、权重衰减系数、Drop out比例等。这些参数的选择对训练结果至关重要,以至于我们很多时间都浪费在这些的调参上。那么使用BN(详见论文《Batch Normalization_ Accelerating Deep Network Training ...原创 2019-10-01 17:41:45 · 1151 阅读 · 0 评论 -
CNN 介绍 反向传播
CNN反向传播的不同之处:首先要注意的是,一般神经网络中每一层输入输出a,z都只是一个向量,而CNN中的a,z是一个三维张量,即由若干个输入的子矩阵组成。其次:池化层没有激活函数。这个问题倒比较好解决,我们可以令池化层的激活函数为σ(z)=z,即激活后就是自己本身。这样池化层激活函数的导数为1。 池化层在前向传播的时候,对输入进行了压缩,那么我们向前反向推导上一层的误差时,需要做upsa...原创 2019-07-29 23:18:19 · 627 阅读 · 0 评论 -
机器学习和深度学习相关概念
过拟合当学习器把训练样本学得"太好"了的时候,很可能巳经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降这种现象在机器学习中称为"过拟合" (overfitting). 与"过拟合"相对的是"欠拟合" (underfitting) ,这是指对训练样本的一般性质尚未学好.留出法"留出法" (hold-out)直接将数据集D 划分为...原创 2019-03-21 13:09:27 · 505 阅读 · 0 评论 -
回归和相关
对称线性回归模型是因变量是对称分布线性回归要求因变量服从正态分布对于线性回归模型,当因变量服从正态分布,误差项满足高斯–马尔科夫条件(零均值、等方差、不相关)时,回归参数的最小二乘估计是一致最小方差无偏估计.所以线性回归的假设前提是噪声服从正态分布,即因变量服从正态分布...原创 2019-09-04 21:08:59 · 303 阅读 · 0 评论 -
生成模型,判别模型
目录区别:监督学习模型可分为生成模型与判别模型优缺点常见模型区别:监督学习模型可分为生成模型与判别模型 判别模型直接学习决策函数或者条件概率分布 直观来说,判别模型学习的是类别之间的最优分隔面,反映的是不同类数据之间的差异 生成模型学习的是联合概率分布P(X,Y),然后根据条件概率公式计算 P(Y|X) 优缺点 判别模型 ...原创 2019-04-07 16:08:38 · 170 阅读 · 0 评论 -
文本摘要
方法分类: 抽取式(传统基于统计学的) 相关算法:Text rank排序算法、BM25算法、TFIDF 生成式(Automatic Summarization) seq2seq+attention sequence2sequence 2016year,cnn FAIR encoder &rnn decoder [FAIR ,Facebook AI Res...原创 2019-08-24 23:54:13 · 252 阅读 · 0 评论 -
如何解决RNN中梯度消失问题?
梯度消失:由于0-1范围内的导数累乘,会发现累乘会导致激活函数导数的累乘,如果取tanh或sigmoid函数作为激活函数的话,那么必然是一堆小数在做乘法,结果就是越乘越小。随着时间序列的不断深入,小数的累乘就会导致梯度越来越小直到接近于0,这就是“梯度消失“现象。解决选取更好的激活函数,如Relu激活函数。ReLU函数的左侧导数为0,右侧导数恒为1,这就避免了“梯度消失“的发生。但恒为...原创 2019-05-12 09:42:07 · 2921 阅读 · 1 评论 -
如何解决过拟合和欠拟合
欠拟合:添加其他特征项。组合、泛化、相关性、上下文特征、平台特征等特征是特征添加的重要手段,有时候特征项不够会导致模型欠拟合。 添加多项式特征。例如将线性模型添加二次项或三次项使模型泛化能力更强。例如,FM(Factorization Machine)模型、FFM(Field-aware Factorization Machine)模型,其实就是线性模型,增加了二阶多项式,保证了模型一定的拟...原创 2019-04-27 14:54:28 · 381 阅读 · 0 评论 -
为什么代价函数要非负?
1. 常见的cost function 如MSE,方差等都是非负 的2. 约定俗成,通常看到0 就知道快要收敛了 ,如果是负数,负到什么时候难以确定,很难规定下面为别人的回答: 目标函数存在一个下界,在优化过程当中,如果优化算法能够使目标函数不断减小,根据单调有界准则,这个优化算法就能证明是收敛有效的。 只要设计的目标函数有下界,基本上都可以,代价函数非负更为方便。...原创 2019-04-23 11:51:41 · 728 阅读 · 0 评论 -
模型评估常用方法?
一般情况来说,单一评分标准无法完全评估一个机器学习模型。下面介绍常用的分类模型和回归模型评估方法。分类模型常用评估方法:Accuracy准确率,Precision精准度/查准率,Recall|召回率/查全率P-R曲线,查准率为纵轴,查全率为横轴,F1值Confusion Matrix|混淆矩阵,ROC|ROC曲线,AUC|ROC曲线下的面积回归模型常用评估...原创 2019-04-26 15:19:50 · 2125 阅读 · 0 评论 -
激活函数有哪些性质?
1.可微性2.单调性3. 输入值和输出值相差不是很大,4.非线性原创 2019-05-03 19:11:35 · 2166 阅读 · 0 评论 -
预训练与微调(fine tuning)
预训练与微调(fine tuning)1概念1.1. 什么是预训练你需要搭建一个网络模型来完成一个特定的图像分类的任务。首先,你需要随机初始化参数,然后开始训练网络,不断调整直到网络的损失越来越小。在训练的过程中,一开始初始化的参数会不断变化。当你觉得结果很满意的时候,你就可以将训练模型的参数保存下来,以便训练好的模型可以在下次执行类似任务时获得较好的结果。这个过程就是 pre-t...原创 2019-05-08 12:23:40 · 35753 阅读 · 17 评论 -
学习率的作用,学习率衰减,函数
目录1.学习率的作用2.学习率衰减常用参数有哪些3.常见衰减函数3.1分段常数衰减3.2指数衰减3.3自然指数衰减3.4多项式衰减3.5余弦衰减1.学习率的作用 梯度下降法是一个广泛被用来最小化模型误差的参数优化算法。梯度下降法通过多次迭代,并在每一步中最小化成本函数(cost 来估计模型的参数。学习率 (learning rate),在迭代过程中会...原创 2019-05-05 16:14:31 · 6904 阅读 · 6 评论 -
常见的代价函数
1. .二次代价函数(quadratic cost)均方误差:代价函数 = (实际值-输出值)的平方/2nm:训练样本的个数;hθ(x):用参数θ和x预测出来的y值;y:原训练样本中的y值,也就是标准答案上角标(i):第i个样本2.交叉熵代价函数(cross-entropy)其中,C表示代价函数,x表示样本,y表示实际值,a表示输出值,n表示...原创 2019-04-23 14:53:36 · 3343 阅读 · 0 评论 -
提高网络泛化能力,过拟合
方法 说明 使用更多数据 在有条件的前提下,尽可能多地获取训练数据是最理想的方法,更多的数据可以让模型得到充分的学习,也更容易提高泛化能力 使用更大批次 在相同迭代次数和学习率的条件下,每批次采用更多的数据将有助于模型更好的学习到正确的模式,模型输出结果也会更加稳定 调整数据分布 大多数场景下的数据分布是不均匀的,模型过多地学习某类数据容易导致其输出结果偏向于该...原创 2019-05-11 12:14:49 · 5965 阅读 · 1 评论 -
常见的类别不平衡问题解决方法
1.对大类数据降采样 减少大类数据样本个数,使与小样本个数接近。 缺点:欠采样操作时若随机丢弃大类样本,可能会丢失重要信息。 代表算法:EasyEnsemble。其思想是利用集成学习机制,将大类划分为若干个集合供不同的学习器使用。相当于对每个学习器都进行欠采样,但对于全局则不会丢失重要信息2. 对小类数据过采样3. 增加小类样本数据4. 数据代价加权5.使用一些对样...原创 2019-04-28 14:58:51 · 1375 阅读 · 0 评论 -
GAN的Loss为什么降不下去
为什么GAN的Loss一直降不下去。GAN到底什么时候才算收敛?其实,作为一个训练良好的GAN,其Loss就是降不下去的。衡量GAN是否训练好了,只能由人肉眼去看生成的图片质量是否好。不过,对于没有一个很好的评价是否收敛指标的问题,也有许多学者做了一些研究,后文提及的WGAN就提出了一种新的Loss设计方式,较好的解决了难以判断收敛性的问题。下面我们分析一下GAN的Loss为什么降不下去?生...原创 2019-05-16 00:05:41 · 30744 阅读 · 4 评论 -
聚类和分类
聚类:聚类是把相似的东西分到一起,需要知道如何计算相似度,对于聚类来说,在对数据集操作时,我们是不知道该数据集包含多少类,我们要做的,是将数据集中相似的数据归纳在一起。比如预测某一学校的在校大学生的好朋友团体,我们不知道大学生和谁玩的好玩的不好,我们通过他们的相似度进行聚类,聚成n个团体,这就是聚类。因此聚类通常并不需要使用训练数据进行学习,在机器学习中属于无监督学习分类:对于分...原创 2019-05-01 12:13:11 · 3375 阅读 · 0 评论 -
为什么用交叉熵代替二次代价函数
1. 为什么不用 二次方代价函数sigmoid 的导数在输出接近 0 和 1 的时候 是非常小的,这会导致一些实例在刚开始训练时学习得非常慢:2、为什么要用 交叉熵交叉熵代价函数同样有两个性质:非负性。(所以我们的目标就是最小化代价函数) 当真实输出a与期望输出y接近的时候,代价函数接近于0.(比如y=0,a~0;y=1,a~1时,代价函数都接近0)。另外,它可...原创 2019-04-25 23:59:31 · 599 阅读 · 0 评论 -
Batch Normalization(BN)在什么时候用比较合适?
1.在CNN中,(a).BN作用在非线性映射前,当神经网络收敛速度缓慢时候,或者梯度爆炸无法训练时候可以考虑用BN,(b).一般情况也可以用BN来尝试加快训练速度,提高模型的精度。2.不适用于动态的网络结构和RNN网络BN比较适用的场景是:每个mini-batch比较大,数据分布比较接近.在进行训练之前,要做好充分的shuffle,否则效果会差很多 由于BN需要在...原创 2019-05-08 11:31:03 · 4837 阅读 · 0 评论 -
经验误差和泛化误差
经验误差(empirical error):也叫训练误差(training error),模型在训练集上的误差。泛化误差(generalization error):模型在新样本集(测试集)上的误差称为“泛化误差”...原创 2019-04-27 14:38:17 · 7177 阅读 · 0 评论 -
卷积,空洞卷积、可分离卷积
原创 2019-05-09 23:23:25 · 367 阅读 · 0 评论 -
支持向量机的特点,优点缺点
特点:支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量。 SVM的目标是对特征空间划分得到最优超平面,SVM方法核心是最大化分类边界。 SVM方法的理论基础是非线性映射,SVM利用内积核函数代替向高维空间的非线性映射。 SVM是一种有坚实理论基础的新颖的适用小样本学习方法。它基本上不涉及概率测度及大数定律等,也简化了通常的分类和回归等问题。 SVM的最终决策...原创 2019-04-29 15:46:51 · 41642 阅读 · 0 评论 -
归一化方法
两种常用的归一化方法:(1)min-max标准化(2)Z-score标准化方法1.min-max标准化(Min-Max Normalization)(线性函数归一化)定义:也称为离差标准化,是对原始数据的线性变换,使得结果映射到0-1之间。本质:把数变为【0,1】之间的小数。转换函数:(X-Min)/(Max-Min)如果想要将数据映射到-1,1,则将公式换成:(X-Mean...转载 2019-05-04 22:02:39 · 3346 阅读 · 0 评论 -
GAN生成对抗网络
基本概念:GAN由生成器和判别器组成,生成器负责生成样本,判别器负责判断生成器生成的样本是否为真。生成器要尽可能迷惑判别器,而判别器要尽可能区分生成器生成的样本和真实样本GAN图左边是生成器,其输入是,对于原始的GAN,是由高斯分布随机采样得到的噪声。噪声通过生成器得到了生成的假样本。右边为判别器生成的假样本与真实样本放到一起,被随机抽取送入到判别器D,由判别器去区分...原创 2019-05-14 10:21:39 · 360 阅读 · 0 评论 -
batch_size
目录3.5 Batch_Size3.5.1 为什么需要 Batch_Size?3.5.2 Batch_Size 值的选择3.5.3 在合理范围内,增大Batch_Size有何好处?3.5.4 盲目增大 Batch_Size 有何坏处?既然 Full Batch Learning 并不适用大数据集,那么走向另一个极端怎么样?3.5.5 调节 Batch_Size 对...原创 2019-05-03 21:13:40 · 659 阅读 · 0 评论 -
encoder to decoder
步骤一:将输入数据编码成一个上下文向量,这部分称为Encoder,得到有多种方式,最简单的方法就是把Encoder的最后一个隐状态赋值给, 还可以对最后的隐状态做一个变换得到, 也可以对所有的隐状态做变换。其示意如下所示: 步骤二:用另一个RNN网络(我们将其称为Decoder)对其进行编码,方法一:将步骤一中的作为初始状态输入到Decoder,示意图如下所示:...原创 2019-05-12 09:14:29 · 399 阅读 · 0 评论 -
监督学习有哪些步骤?
1. 数据的创建和分类,(标注-划分测试和训练集)2.数据增强(data Augmentation),一般搜集的数据并不一定包含目标在各种扰动下的信息,数据增强一般包括,图像旋转,平移,颜色变换,裁剪,仿射变换3.特征工程(Feature Engineering),包括特征提取和特征选择,机器学习的特征工程不在被关注,研究者提出的不同的网络结构、正则化、归一化方法实际上就是深度...原创 2019-04-24 23:14:13 · 4277 阅读 · 0 评论 -
目标检测(Object Detection)
目录目标检测(Object Detection)目标检测算法分类?1.Two stage目标检测算法2.One stage目标检测算法目标检测(Object Detection)目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光...原创 2019-05-20 22:44:20 · 702 阅读 · 0 评论 -
为什么现在的CNN模型都是在GoogleNet.VGGNet或者AlexNet上调整的?各个模型图
评测对比:为了让自己的结果更有说服力,在发表自己成果的时候会同一个标准的baseline及在baseline上改进而进行比较,常见的比如各种检测分割的问题都会基于VGG或者Resnet101这样的基础网络。 时间和精力有限:在科研压力和工作压力中,时间和精力只允许大家在有限的范围探索。 模型创新难度大:进行基本模型的改进需要大量的实验和尝试,并且需要大量的实验积累和强大灵感...原创 2019-05-09 21:57:32 · 170 阅读 · 0 评论 -
GAN为什么不适合文本任务?
只有在数据连续的情况下,你才可以略微改变合成的数据,而如果数据是离散的,绝对不可以改变合成数据,一点都不可以。例如,如果你输出了一张图片,其像素值是1.0,那么接下来你可以将这个值改为1.0001。如果你输出了一个单词“penguin”,那么接下来就不能将其改变为“penguin + .001”,因为没有“penguin +.001”这个单词。如果想改的话,你必须将“penguin”变为“os...原创 2019-05-18 23:51:43 · 2397 阅读 · 1 评论 -
支持向量机(SVM)
1. 支持向量机概念 在一个二维环境中,其中点R,S,G点和其它靠近中间黑线的点可以看作为支持向量,它们可以决定分类器,即黑线的具体参数。 支持向量:在求解的过程中,会发现只根据部分数据就可以确定分类器,这些数据称为支持向量。 支持向量机(Support Vector Machine,SVM):其含义是通过支持向量运算的分类器支持向量机是一种二分类模型,它的目的是寻找一...原创 2019-04-29 14:56:45 · 353 阅读 · 0 评论 -
生成式模型、判别式模型的区别?
生成式模型、判别式模型的区别? 对于机器学习模型,我们可以根据模型对数据的建模方式将模型分为两大类,生成式模型和判别式模型。如果我们要训练一个关于猫狗分类的模型,对于判别式模型,只需要学习二者差异即可。比如说猫的体型会比狗小一点。 而生成式模型则不一样,需要学习猫张什么样,狗张什么样。有了二者的长相以后,再根据长相去区分。具体而言: 生成式模型:由数据学习联合概率分布P(X,Y...原创 2019-05-16 13:12:57 · 8733 阅读 · 0 评论 -
交叉熵代价函数的特点
1. 交叉熵是⾮负的,在神经元达到很好的正确率的时候会接近 0。是我们想要的代价函数的特性。其实这些特性也是⼆次代价函数具备的。2. 但是交叉熵代价函数有⼀个⽐⼆次代价函数更好的特性就是它避免了学习速度下降的问题。...原创 2019-05-02 23:15:46 · 393 阅读 · 0 评论