ML
文章平均质量分 83
关于机器学习,包括神经网络
lijfrank
Life is too short, recording the fragments of studying.
展开
-
生成对抗网络(GAN)
简介生成式对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。原始 GAN 理论中,并不要求 G 和 D 都是神经网络,只需要是能拟...原创 2020-02-11 12:59:43 · 12264 阅读 · 0 评论 -
神经网络最后一层处理
神经网络最后一层处理回归任务分类任务二分类多分类通常,根据目标任务的不同,神经网络的最后一层处理方式也会不同。这篇文章将根据任务类型分别讨论。回归任务如果目标任务的预测值在 (−∞,+∞)(-\infty,+\infty)(−∞,+∞),一般默认不使用激活函数,意味着神经网络的输入和输出是线性关系。不过,以这种目标为任务的神经网络,一般在隐藏层使用非线性激活函数,在输出层不使用激活函数。如果目标任务的预测值在 [0,+∞)[0,+\infty)[0,+∞),一般使用ReLU,例如房价预测的回归任务。原创 2022-03-14 16:28:34 · 6030 阅读 · 1 评论 -
优化函数 (Optimization Function)
在利用损失函数(Loss Function)计算出模型的损失值之后,接下来需要利用损失值进行模型参数的优化。在实践操作最常用到的是一阶优化函数。包括GD,SGD,BGD,Adam等。一阶优化函数在优化过程中求解的是参数的一阶导数,这些一阶导数的值就是模型中参数的微调值。1.梯度下降梯度下降(Gradient Descent)是参数优化的基础方法。虽然已广泛应用,但是其自身存在许多不足,所以...原创 2020-02-11 21:25:41 · 10139 阅读 · 2 评论 -
深度学习-激活函数
激活函数是用来加入非线性因素的,因为线性模型的表达能力不够。引入非线性激活函数,可使深层神经网络的表达能力更加强大。优秀的激活函数应满足:非线性: 激活函数非线性时,多层神经网络可逼近所有函数可微性: 优化器大多用梯度下降更新参数单调性: 当激活函数是单调的,能保证单层网络的损失函数是凸函数近似恒等性:f(x)≈xf(x) \approx xf(x)≈x . 当参数初始化为随机小值时,神经网络更稳定激活函数输出值的范围:激活函数输出为有限值时,基于梯度的优化方法更稳定激活函数输出为无原创 2020-05-23 14:59:59 · 653 阅读 · 0 评论 -
损失函数Loss Function
损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。例如在统计学和机器学习中被用于模型的参数估计(parameteric estimation)[1],在宏观经济学中被用于风险管理(ris...原创 2020-02-11 19:14:44 · 3792 阅读 · 0 评论 -
GRU是什么?RNN、LSTM分别是什么?
在学习图网络(GN)的过程中,总会遇到不懂的知识,是因为自己的深度学习基础不够好。最早的GNN网络(详情见GNN)可以被用于处理有环图、有向图或无向图。然而,GNN网络本身必须使整个网络达到不动点之后才可以进行计算。针对这一问题,通过将GRU引入到网络结构中,进一步提出了GGNN网络(详情见GGNN)。那么,现在就介绍一下GRU是什么东西。GRU中的G不是Graph,而是Gate,全称是Gat...原创 2019-11-19 20:52:36 · 26431 阅读 · 2 评论 -
指数衰减-学习率
在神经网络的参数更新过程中,学习率不能太大也不能太小,太大可能会导致参数在最优值两侧来回移动,太小会大大降低优化速度,为了解决学习率的问题,TensorFlow 提供了一种灵活的学习率设置方法,即指数衰减法。TensorFlow API: tf.keras.optimizers.schedules.ExponentialDecay每迭代一轮,新的学习率都会根据以上参数更新一次,式子如下:decayed_learning_rate = learning_rate * decay_rate ^ (g原创 2020-05-23 10:22:24 · 4272 阅读 · 0 评论 -
残差网络(ResNet)简单介绍
简介残差网络的思想是在论文【Deep Residual Learning for Image Recognition】(翻译:深度残差学习用于图像识别)提出来的。这篇文章发现,如果存在某个层的网络是当前最优的网络,那么可以构造一个更深的网络,其最后几层仅是该网络第层输出的恒等映射(Identity Mapping),就可以取得与一致的结果;也许还不是所谓“最佳层数”,那么更深的网络就可以取得更...原创 2019-12-07 13:37:19 · 5381 阅读 · 0 评论 -
Deep Residual Learning for Image Recognition
ResNet Github参考:https://github.com/tornadomeet/ResNetNIN的第一个N指mlpconv,第二个N指整个深度网络结构,即整个深度网络是由多个mlpconv构成的。Abstract 更深层次的神经网络更难训练。我们提出了一个残差学习框架,以简化对比以前使用的网络更深入的网络的训练。我们根据层输入显式地将层重新表示为学习残差函数...转载 2019-12-07 21:34:13 · 397 阅读 · 0 评论 -
链式法则
链式法则是微积分中的求导法则,用于求一个复合函数的导数,是在微积分的求导运算中一种常用的方法。复合函数的导数将是构成复合这有限个函数在相应点的 导数的乘积,就像锁链一样一环套一环,故称链式法则。(来自百度百科)链式法则是求复合函数的导数(偏导数)的法则,若 I,J 是直线上的开区间,函数 f(x) 在 I 上有定义处可微,函数 g(y) 在 J 上有定义,在 f(a) 处可微,则复合函数在 a...原创 2019-12-05 21:39:16 · 12821 阅读 · 0 评论 -
Transformer介绍
前言谷歌推出的BERT模型在11项NLP任务中夺得STOA结果,引爆了整个NLP界。而BERT取得成功的一个关键因素是Transformer的强大作用。Transformer模型最早的介绍来自谷歌的paper——《Attention is all you need》,最早是用于机器翻译任务,当时达到了STOA效果。Transformer改进了RNN最被人诟病的训练慢的缺点,利用self-att...原创 2020-02-18 23:31:44 · 7056 阅读 · 1 评论 -
神经网络深度(Deepth)的影响
参考:内容来源于网络总结。在参数一样的前提下,模型深的比浅的效果更好,加大深度”就相当于函数中的模块化,也就是“并不急于解决问题,而是把问题切成比较小的问题,再解决”。而且这样的好处是:“数据集要求低,并不需要太多的数据”。deep 就相当于 模块化 。模块化就可以减少数据的需求量。所以deep 只需要比较少的需求量。为什么我们要做deep learning ,就是因为我们没有足够的data...原创 2020-01-15 22:39:09 · 7621 阅读 · 5 评论 -
深度学习-批标准化(批归一化,Batch Normalization)
Google在ICML文中描述得非常清晰,即在每次SGD时,通过mini-batch来对相应的activation做标准化操作,使得结果(输出信号各个维度)的均值为0,方差为1。而最后的“scale and shift”操作则是为了让因训练所需而“刻意”加入的BN能够有可能还原最初的输入,从而保证整个network的capacity(非线性、表达能力)。为什么深度神经网络随着网络深度加深,训练起来越困难,收敛越来越慢?这是个在DL领域很接近本质的好问题。很多论文都是解决这个问题的,比如ReLU激活函数,再原创 2020-05-24 13:01:38 · 2284 阅读 · 1 评论 -
循环神经网络(RNN)和长短期记忆网络(LSTM)
循环神经网络(Recurrent Neural Network,RNN)和长短期记忆网络(Long Short Term Memery network, LSTM)https://blog.csdn.net/zhaojc1995/article/details/80572098转载 2019-07-10 12:56:44 · 2341 阅读 · 0 评论 -
BERT简单理解-入门
简介BERT模型来自谷歌团队的paper——BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,它在11个NLP任务中刷新了成绩,效果非常好,非常惊人。但是,这项工作不是很好复现,如果没有足够的资源就不要想了 。之前,利用预训练的语言表征来完成下游NLP任务的研究,可以概括为两类:feature-based和fine-tuning。feature-based类别比如ELMo,fine-tuning原创 2020-05-31 23:36:06 · 1853 阅读 · 0 评论 -
BERT直观理解
BERT架构图 简单解释一下BERT的架构图。位置向量解决了时序问题(RNN不能并行的执行,只能一个一个的来,但是不一个一个的来,时序即word的先后顺序,怎么处理呢,位置向量就解决了);Self-Attention解决RNN不能并行的问题,multi-head可以提取到多种语义的层次表达,这一部分是核心;接着将向量层的数据(向量表示)和Mutil-Head-Attention的数据进行合并,这个操作叫残差连接,为了使下一层不比上一层差,其中归一化(标准化)的操作是为了更好的求导,防止梯度消失,还能原创 2020-06-05 23:14:28 · 950 阅读 · 0 评论 -
机器学习(深度学习)中的metrics
本文以二分类问题作讨论,多分类可以类推。混淆矩阵原创 2020-06-16 16:30:59 · 7120 阅读 · 0 评论 -
Attention机制
想要看懂时下流行的Bert,必须要先弄懂Transformer,弄懂Transformer还得搞清楚什么是Attention。概述Attention机制之所以能够迅速发展,主要是它解决了很多难题,它的总体思路为从关注全部到关注重点。主要有以下特点:效率高Attention 通过选择性聚焦,一定程度上解决了 RNN 不能并行计算的问题。Attention机制每一步计算不依赖于上一步的计算结果,因此可以和CNN一样并行处理。效果好在MT、QA、情感分析、POS、parsing和对话等任务中使用at原创 2020-05-30 00:50:15 · 348 阅读 · 0 评论 -
大数据挖掘相关知识
一、基本概念从数据中“淘金”,从大量数据(文本)中挖掘出隐含的、未知的、对决策有潜在的关系、模型和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程,这就是数据挖掘。 简言之,数据挖掘(Data Mining)是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。它是利用各种分析工具在大量数据中...翻译 2019-03-14 16:40:31 · 802 阅读 · 0 评论 -
Hadoop认识
大数据介绍大数据技术,是指从各种类型的数据中,快速获得由价值信息的能力。适用大技术的技术,包括大规模并行处理(MPP)数据库,数据挖掘,分布式文件系统,分布式数据库,云计算平台,互联网和可扩展的存储系统。大数据特点4V数据量大(Volume)数据类型复杂(Variety)数据处理速度快(Velocity)数据真实性高(Veracity)当前,Hadoop已经成为了事实上的标准,H...转载 2019-03-14 17:04:46 · 768 阅读 · 0 评论 -
智能优化算法简介
智能优化算法:受人类智能、生物群体社会性或自然现象规律的启发。主要包括:(1)遗传算法: 模仿自然界生物进化机制(2)差分进化算法: 通过群体个体间的合作与竞争来优化搜索(3)免疫算法: 模拟生物免疫系统学习和认知功能(4)蚁群算法:模拟蚂蚁集体寻径行为(5)粒子群算法:模拟鸟群和鱼群群体行为(6)模拟退火算法:源于固体物质退火过程(7)禁忌搜索算法:模拟人类智力记忆过程(8)...原创 2019-06-05 21:40:36 · 43846 阅读 · 0 评论 -
分类算法简介
1 决策树(Decision Trees)的优缺点优点:决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义。对于决策树,数据的准备往往是简单或者是不必要的.其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性。能够同时处理数据型和常规型属性。其他的技术往往要求数据属性的单一。决策树是一个白盒模型。如果给定一个观察的模型,那么根据所产生的决策树很容易推出相...转载 2019-06-06 22:15:36 · 5719 阅读 · 0 评论 -
shuffle算法
浅谈shuffle算法 https://www.cnblogs.com/huaping-audio/archive/2008/09/09/1287985.html转载 2019-07-25 23:47:41 · 318 阅读 · 0 评论 -
用Tarjan算法求解图的割点与桥(割边)
简介割边和割点的定义仅限于无向图中。我们可以通过定义以蛮力方式求解出无向图的所有割点和割边,但这样的求解方式效率低。Tarjan提出了一种快速求解的方式,通过一次DFS就求解出图中所有的割点和割边。数组介绍在具体实现Tarjan算法上,我们需要在DFS(深度优先遍历)中,额外定义三个数组dfn[],low[],parent[]。dnf数组dnf数组的下标表示顶点的编号,数组中的值表示该顶...转载 2019-10-19 16:48:44 · 329 阅读 · 0 评论 -
模式识别和机器学习的区别
说起人工智能,很多人张口就能聊个五毛一块的。从历史到未来,从图灵到马斯克,从卷积神经网络再到朴素贝叶斯……但是如果问起模式识别、机器学习有什么区别,就有不少人懵圈了:这难道不是一样东西吗?居然还有区别?别怕,你不是一个人。模式识别、机器学习在人工智能领域本就是傻傻分不清楚的孪生兄弟。它们之间究竟有什么渊源,又有何种联系?从发展史上来讲,这对孪生兄弟都是人工智能历史中辉煌一时的流派。其中模...转载 2019-11-10 10:18:37 · 3586 阅读 · 0 评论 -
机器学习中各种熵的简介
1 信息熵熵 (entropy) 这一词最初来源于热力学。1948年,克劳德·爱尔伍德·香农将热力学中的熵引入信息论,所以也被称为香农熵 (Shannon entropy),信息熵 (information entropy)。本文只讨论信息熵。首先,我们先来理解一下信息这个概念。信息是一个很抽象的概念,百度百科将它定义为:指音讯、消息、通讯系统传输和处理的对象,泛指人类社会传播的一切内容。那信...原创 2019-11-12 15:24:07 · 2111 阅读 · 1 评论 -
点云的概念
点云与三维图像的关系:三维图像是一种特殊的信息表达形式,其特征是表达的空间中三个维度的数据,表现形式包括:深度图(以灰度表达物体与相机的距离),几何模型(由CAD软件建立),点云模型(所有逆向工程设备都将物体采样成点云)。和二维图像相比,三维图像借助第三个维度的信息,可以实现天然的物体——背景解耦。点云数据是最为常见也是最基础的三维模型。点云模型往往由测量直接得到,每个点对应一个测量点,未经过其他...转载 2019-11-14 22:12:11 · 9322 阅读 · 0 评论 -
PageRank算法的简单介绍
简介PageRank,网页排名,又称网页级别、Google左侧排名或佩奇排名,是一种由根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一,以Google公司创办人拉里·佩奇(Larry Page)之姓来命名。Google用它来体现网页的相关性和重要性,在搜索引擎优化操作中是经常被用来评估网页优化的成效因素之一。Google的创始人拉里·佩奇和谢尔盖·布林于1998年在斯坦福大学发明了...原创 2019-12-05 20:51:45 · 1557 阅读 · 0 评论 -
欠拟合、过拟合、梯度消失/弥散、梯度爆炸
目前,优化神经网络参数的方法都是基于反向传播的思想,即根据损失函数计算的误差通过梯度反向传播的方式,指导深度网络权值的更新优化。整个深度网络可以视为是一个复合的非线性多元函数 :栗子:表达式为:若要对于求梯度,根据链式求导法则,得到的解为:我们最终的目的是希望这个多元函数可以很好的完成输入到输出之间的映射。梯度消失与梯度爆炸其实是一种情况。例如,下图以三个...原创 2019-12-05 22:05:47 · 899 阅读 · 10 评论 -
【转载】用户画像
1. 用户画像是什么用户画像(User Profile),作为大数据的根基,它完美地抽象出一个用户的信息全貌,为进一步精准、快速地分析用户行为习惯、消费习惯等重要信息,提供了足够的数据基础,奠定了大数据时代的基石。男,31岁,已婚,收入1万以上,爱美食,团购达人,喜欢红酒配香烟。这样一串描述即为用户画像的典型案例。如果用一句话来描述,即:用户信息标签化。用户画像,即用户信息标签化,...转载 2019-12-15 10:56:41 · 613 阅读 · 0 评论 -
Markov chain马尔科夫链
在机器学习算法中,马尔可夫链(Markov chain)是个很重要的概念。马尔可夫链(Markov chain),又称离散时间马尔可夫链(discrete-time Markov chain),因俄国数学家安德烈·马尔可夫(俄语:Андрей Андреевич Марков)得名,为状态空间中经过从一个状态到另一个状态的转换的随机过程。该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前...转载 2019-12-18 20:54:23 · 348 阅读 · 0 评论 -
fine-tuning介绍
在深度学习过程中,获取数据集后,在训练自己的网络之前,用别人现有的网络进行fine-tuning(微调),然后训练。在实践中,由于数据集不够大,很少有人从头开始训练网络,常见的做法是使用预训练的网络来重新fine-tuning(微调),或者当做特征提取器。fine-tuning是迁移学习的一种手段(方法)。Transfer Learning DefinitionAbility of a s...原创 2020-02-19 10:58:59 · 2045 阅读 · 0 评论 -
SMOTE过采样处理不均衡数据(imbalanced data)
关于不均衡数据(imbalanced data)的相关介绍和处理方法,可以参见处理不均衡数据(imbalanced data)的几种方法,本文主要介绍SMOTE过采样处理不均衡数据。SMOTE全称是Synthetic Minority Oversampling Technique,即合成少数类过采样技术。它是基于随机过采样算法的一种改进方案,因为随机过采样算法容易产生模型过拟合的问题,使得模型...原创 2020-02-21 21:30:43 · 16289 阅读 · 1 评论 -
降维技术简介
为什么需要降维数据的维度过高,需要存储数据的空间非常大,降维可以降低数据存储所需的空间; 数据的维数过高,某些算法的时间复杂度很高,降维到较小的维数可以缓解计算/训练时间,而且有些算法因为数据的维度过高,不能执行,需要降维处理使算法work; 数据中通常可能存在一些冗余特征,降维可以消除这些冗余特征。因为数据中的某些特征本身就互相关联,只需要知道它们中的一种特征即可。因此,全部存储没有意义,反而消耗存储空间,因为它们中只需要一个就能符合你的要求; 降维有助于可视化数据。很难以更高的维度可视化数据,原创 2020-02-22 09:52:10 · 1113 阅读 · 0 评论 -
主动学习(Active Learning)
引言Active Learning,即主动学习,通过一定的算法查询最有用的未标记样本,并交由专家进行标记,然后用查询到的样本训练分类模型来提高模型的精确度。深度学习在各种各样的实际应用中取得巨大突破,其主要的推动力在于三个方面:数据,算法和算力。也就是说,在很多情况下,一个完整的解决方案,需要具备这样的条件:1)足够的符号要求的数据;2)强大机器保障;3)靠谱的算法。随着大数据和GPU技术的发展,很多问题已不在是局限,但取得大量标注准确的数据依然需要高昂的成本,模型的训练依然需要大量的时间和精力,这原创 2020-02-22 10:56:30 · 2337 阅读 · 0 评论 -
过拟合解决利器-正则化项
正则化(Regularization) 是解决模型过拟合的重要手段之一,正则化是为了防止过拟合, 进而增强泛化能力,使测试集上的表现(或说性能 performance)一样优秀,但是它为什么能解决模型的过拟合问题呢?下面将慢慢展开。过拟合在机器学习(ML)中,训练的模型对于训练集和验证集有着优秀的拟合预测能力,但是对于测试集或未见过的样本(Sample),拟合预测能力很差,我们说泛化能力(Generalization)较差,出现了过拟合(Overfitting)。正则化如何去做无论是Logistic原创 2020-05-10 18:10:16 · 678 阅读 · 1 评论