- 博客(19)
- 收藏
- 关注
原创 机器学习-优化器:动量SGD、AdaGrad 以及Adam
上一篇博客讲了,随机梯度下降法偶尔也会失效 ,无法给出满意的训练结果 , 并解释了原因。本文将介绍,为了改进随机梯度下降法,研究者都做了哪些改动?提出了哪些变种方法? 各有哪些特点?动量( Momentum )方法为了解决随机梯度下降法山谷震荡和鞍点停滞的问题,我们做一个简单的思维实验。想象一下纸团在山谷和鞍点处的运动轨迹,在山谷中纸团受重力作用沿山道滚下,两边是不规则的山壁,纸团不可避免地撞在山壁,由于质量小受山壁弹力的干扰大,从一侧山壁反弹回来撞向另一侧山壁 ,结果来回震荡地滚下 。 如果当纸团来到
2020-10-07 15:52:13
3671
原创 机器学习-优化器:梯度下降法的原理及其优缺点
批量梯度下降法在机器学习中,优化问题的目标函数通常可以表示成其中, θ是待优化的模型参数 , x是模型输入,f(x,θ)f(x,θ)f(x,θ)的是模型的实际输出,y是模型的目标输出,函数 L 刻画了模型在数据 (x,y) 上的损失pdatap_{data}pdata表示数据的分布, E表示期望。 因此 ,L(θ)L(θ)L(θ)的刻画了当参数为 θ 时, 模型在所有数据上的平均损失。我们希望能够找到平均损失最小的模型参数,也就是求解优化问题经典的梯度下降法采用所有训练数据的平均损失来近似目标函
2020-10-05 22:37:56
4098
1
原创 非监督学习:高斯混合模型
高斯混合模型( Gaussian Mixed Model, GMM )也是一种常见的聚类算法,与 K均值算法类似,同样使用了 EM 算法进行迭代计算。 高斯混合模型假设每个簇的数据都是符合高斯分布(又叫正态分布)的 , 当前数据呈现的分布就是各个簇的高斯分布叠加在一起的结果。高斯混合模型样例图1是一个数据分布的样例 , 如果只用一个高斯分布来拟合图中的数据,图中所示的椭圆即为高斯分布的二倍标准差所对应的椭圆 。 直观来说,图中的数据明显分为两簇,因此只用一个高斯分布来拟和是不太合理的 , 需要推广到用多
2020-10-04 20:30:17
1187
原创 C++语言类型详解:编译式、静态类型、过程化编程、面向对象编程和泛型编程
C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。那么静态类型、编译式、过程化编程、面向对象编程和泛型编程该怎么理解呢?静态类型 VS 动态类型理解静态与动态之别,我们要从变量赋值这个操作为切入点。静态类型语言中,变量的类型必须先声明,即在创建的那一刻就已经确定好变量的类型,而后的使用中,你只能将这一指定类型的数据赋值给变量。如果强行将其他不相干类型的数据赋值给它,就会引发错误。而动态类型则没有这样的限制,你将什么类型的数据赋值给变量,
2020-10-03 22:07:46
1669
原创 非监督学习: K 均值聚类(原理、步骤、优缺点、调优)
支持向量机、逻辑回归、决策树等经典的机器学习算法主要用于分类问题,即根据一些己给定类别的样本, 训练某种分类器,使得它能够对类别未知的样本进行分类。与分类问题不同,聚类是在事先并不知道任何样本类别标签的情况下,通过数据之间的内在关系把样本划分为若干类别,使得同类别样本之间的相似度高 , 不同类别之间的样本相似度低。分类问题属于监督学习的范畴 , 而聚类则是非监督学习。K 均值聚类K均值聚类( K-Means Clustering )是最基础和最常用的聚类算法。它的基本思想是 通过迭代方式寻找 K个簇(C
2020-10-03 20:35:28
12841
原创 自然语言处理:文本相似度计算(欧氏距离、余弦相似度、编辑距离、杰卡德相似度)
文本相似度,顾名思义是指两个文本(文章)之间的相似度,在搜索引擎、推荐系统、论文鉴定、机器翻译、自动应答、命名实体识别、拼写纠错等领域有广泛的应用。与之相对应的,还有一个概念——文本距离——指的是两个文本之间的距离。文本距离和文本相似度是负相关的——距离小,“离得近”,相似度高;距离大,“离得远”,相似度低。业务上不会对这两个概念进行严格区分,有时用文本距离,有时则会用文本相似度。欧氏距离欧氏距离是数学中的一个非常经典的距离,公式如下:文本向量 A={一,二,三,四},即 x1 = 一,x2 =
2020-10-03 19:56:35
5565
1
原创 决策树剪枝:预剪枝、后剪枝
一棵完全生长的决策树会面临一个很严重的问题,即过拟合。当模型过拟合进行预测时,在测试集上的效果将会很差。因此我们需要对决策树进行剪枝, 剪掉一些枝叶,提升模型的泛化能力。决策树的剪枝通常有两种方法,预剪枝( Pre-Pruning )和后剪枝( Post-Pruning )。预剪枝( Pre-Pruning )预剪枝 , 即在生成决策树的过程中提前停止树的增长。核心思想是在树中结点进行扩展之前,先计算当前的划分是否能带来模型泛化能力的提升,如果不能,则不再继续生长子树。此时可能存在不同类别的样本同时存
2020-10-02 21:48:24
6055
原创 机器学习:超参数调优的方法(网格搜索 、随机搜索、贝叶斯优化算法)
对于很多算法工程师来说, 超参数调优是件非常头疼的事。除了根据经验设定所谓的“合 理值”之外, 一般很难找到合理的方法去寻找超参数的最优取值。 而与此同时,超参数对于模型效果的影响又至关重要。 高没有一些可行的办法去进行超参数的调优呢?为了进行超参数调优,我们一般会采用网格搜索、 随机搜索、贝叶斯优化等算法。 在具体介绍算法之前,需要明确超参数搜索算法一般包括哪几个要素。一是目标函数,即算法需要最大化/最小化的目标;二是搜索范围,一般通过上限和下限来确定 ; 三是算法的其他参数, 如搜索步长。网格搜索
2020-10-02 20:00:06
8577
原创 推荐系统评估方法:A/B测试的原因及方法
在互联网公司中, A/B 测试是验证新模块、新功能、新产品是否高效,新算法、新模型的效果是否有提升,新设计是否受到用户欢迎,新更改是否影响用户体验的主要测试方法。在机器学习领域中, A/B 测试是验证模型最终效果的主要手段。在对模型进行过充分的离线评估之后,为什么还要进行在线 A/B 测试?需要进行在线 A/B 测试的原因如下 :( 1 )离线评估无法完全消除模型过拟台的影响,因此, 得出的离线评估结果无法完全替代线上评估结果。( 2 )离线评估无法完全还原线上的工程环境。 一般来讲,离线评估往往不
2020-10-02 19:23:25
1052
原创 机器学习评估指标:准确率( Accuracy )、精确率(Precision)、召回率(Recall)、P-R 曲线、均方根误差
在模型评估过程中,分类问题、排序问题、回归问题往往需要使用不同的指标进行评估。在诸多的评估指标中,大部分指标只能片面地反映模型的一部分性能。 如果不能合理地运用评估指标,不仅不能发现模型本身的问题,而且会得出错误的结论。准确率( Accuracy )准确率是指分类正确的样本占总样本个数的比例,即:其中 ncorrectn_{correct}ncorrect为被正确分类的样本个数, ntotaln_{total}ntotal为总样本的个数。准确率是分类问题中最简单也是最直观的评价指标,但存在明显
2020-10-01 21:26:54
4253
原创 机器学习:特征归一化( Normalization )的方法和原因
引言为了消除数据特征之间的量纲影响 ,我们需要对特征进行归一化处理 , 使得不同指标之间具有可比性。 例如,分析一个人的身高和体重对健康的影响 , 如果使用米( m) 和千克( kg )作为单位 , 那么身高特征会在 1.6 ~ l.8m 的数值范围内 , 体重特征会在50 ~ 100kg 的范围内, 分析出来的结果显然会倾向于数值差别比较大的体重特征。 想要得到更为准确的结果,就需要进行特征归一化( Normalization )处理,使各指标处于同一数值量级,以便进行分析。归一化的方法对数值类型的
2020-09-30 22:56:58
4341
原创 Python3 六大基本数据类型详解
标准数据类型Python3 中有六个标准的数据类型:1、Number(数字)2、String(字符串)3、List(列表)4、Tuple(元组)5、Set(集合)6、Dictionary(字典)Python3 的六个标准数据类型中:不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。Number(数字)Python3 支持 int、float、bool、comple
2020-09-30 21:45:25
1202
原创 机器学习:逻辑回归如何做多分类任务
多项逻辑回归( Softmax Regression )如果一个样本只对应于一个标签,我们可以假设每个样本属于不同标签的概率服从于几何分布,使用多项逻辑回归( Softmax Regression ) 来进行分类。因此,多项逻辑回归实际上是二分类逻辑回归在多标签分类下的一种拓展 。k个逻辑回归分类器当存在样本可能居于多个标签的情况时,我们可以训练 k个二分类的逻辑回归分类器。第l个分类器用以区分每个样本是否可以归为第i类,训练该分类器时,需要把标签重新整理为“第 i 类标签” 与“非第i类标签”两
2020-09-29 20:16:09
1643
原创 一文全面了解word2vec(CBOW、Skip-Gram、层序softmax、负采样)
引言在自然语言处理任务中,文本向量化往往是任务中必不可少的基础工作,因此如何更好地将文本向量化就显得尤为重要。词是自然语言文本中最小的语义单元,自然语言文本是由词序列构成的,因此如果能够完成对词的向量化,那么文本向量化的任务也就迎刃而解了。词袋模型词袋模型(bag of words)是最早的以词为基本处理单元的文本向量化方法,词袋模型通过先构建一个包含语料库中所有词的词典,然后根据词典完成对每个词的向量化,进而完成文本向量化。例1给出了词袋模型的词项量化和文本向量化的流程。例1 给定一个包含两个文本
2020-09-29 15:29:26
1438
原创 神经网络之BP(反向传播算法)的原理介绍
反向传播是人工神经网络中的一个重要算法,这个方法可以对网络中所有权重计算损失函数的梯度,然后这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。反向传播算法的原理我们先直观的看一下反向传播的原理,假设有一个网络:这是一个三层的神经网络,我们以这个网络为例子,展示下BP算法的过程。其中,每个神经元有两个单元,第一个单元是对其输入信号和对应的权重的乘积求和,第二单元就是激活函数,它的输出就是整个神经元的输出。上图展示了信号在神经网络中是怎么传播的,符号 w(xm)n\ w_{(x
2020-09-29 14:44:26
7229
3
原创 神经网络之LN(Layer Normalization)
上一篇博客提到了BN不适用于RNN等动态网络以及batchsize较小的时候,而LN可以。这篇博客就对LN做一个简单的介绍。深度网络中的数据维度一般是[N, C, H, W]或者[N, H, W,C]格式,N是batch size,H/W是feature的高/宽,C是feature的channel,压缩H/W至一个维度,其三维的表示如上图,假设单个方格的长度是1,那么其表示的是[6, 6,*, * ]。LN避开了batch维度,归一化的维度为[C,H,W]。简单来说,对同一样本的不同特征做归一化。背景
2020-09-28 15:55:26
4226
1
原创 神经网络中BN层的原理与作用
BN层介绍BN,全称Batch Normalization,是2015年提出的一种方法,在进行深度网络训练时,大都会采取这种算法。原文链接:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate ShiftBN被广泛应用于深度学习的各个地方,由于在实习过程中需要修改网络,修改的网络在训练过程中无法收敛,就添加了BN层进去来替换掉LRN层,网络可以收敛。BN层和卷积层,池化层一样都是一
2020-09-28 15:06:04
30330
3
原创 机器学习过拟合产生的原因及解决方案
这里写自定义目录标题过拟合产生的原因解决方案过拟合产生的原因1.训练集的数据量级和模型的复杂度不匹配,测试集数据量远小于模型复杂度;2. 训练集和测试集特征分布不一致;3. 样本里的噪音数据干扰过大,忽略了真实的输入输出;4.Over training:拟合了噪声和样例中没有代表性的特征。解决方案1.减小模型复杂度,比如神经网络中减少隐藏层数;2. 数据增强;3. 正则化;4.dropout:以一定的概率丢弃掉一部分神经元;5.早停:一般监视指标是val_loss;6.集成学习。
2020-09-28 11:41:33
856
原创 从随机场到条件随机场(CRF)
从随机场到条件随机场(CRF)从随机场到条件随机场(CRF)条件随机场应该是机器学习领域比较难的一个算法模型,但是其在自然语言处理方面应用(比如词性标注)效果比较好,所以学习NLP相关知识,这是一个必须了解的知识。1.随机场首先,我们来看看什么是随机场。“随机场”的名字取的很玄乎,其实理解起来不难。随机场是由若干个位置组成的整体,当给每一个位置中按照某种分布随机赋予一个值之后,其全体就叫做随机场。还是举词性标注的例子:假如我们有一个十个词形成的句子需要做词性标注。这十个词每个词的词性可以在我们已知的
2020-07-05 12:05:48
137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人