预测模型

【NLP】彻底搞懂BERT

不打扰是莪最后的温柔 提交于 2019-11-27 23:33:37
# 好久没更新博客了,有时候随手在本上写写,或者Evernote上记记,零零散散的笔记带来零零散散的记忆o(╥﹏╥)o。。还是整理到博客上比较有整体性,也方便查阅~ 自google在2018年10月底公布BERT在11项nlp任务中的卓越表现后,BERT(Bidirectional Encoder Representation from Transformers)就成为NLP领域大火、整个ML界略有耳闻的模型,网上相关介绍也很多,但很多技术内容太少,或是写的不全面半懂不懂,重复内容占绝大多数 (这里弱弱吐槽百度的搜索结果多样化。。) 一句话概括,BERT的出现,彻底改变了 预训练产生词向量 和 下游具体NLP任务 的关系,提出龙骨级的训练词向量概念。 目录:   词向量模型:word2vec, ELMo, BERT比较   BERT细则:Masked LM, Transformer, sentence-level   迁移策略:下游NLP任务调用接口   运行结果:破11项NLP任务最优纪录 一、词向量模型 这里主要横向比较一下word2vec,ELMo,BERT这三个模型,着眼在模型亮点与差别处。 传统意义上来讲,词向量模型是一个工具,可以把真实世界抽象存在的文字转换成可以进行数学公式操作的向量,而对这些向量的操作,才是NLP真正要做的任务。因而某种意义上,NLP任务分成两部分,

论文阅读之Learning loss for active learning 个人jian'jie

时光总嘲笑我的痴心妄想 提交于 2019-11-27 21:32:40
最近在关注数据相关的工作!主动学习是数据领域中一个方向,它的目的是用最少的标注样本实现最好的模型预测效果,能够减少人工标注的成本。本文将介绍《Learning loss for active learning 》一些基本的思想,不到之处还请指正! 这篇文章提出根据损失来选取前K个最有价值的数据(即损失最大的K个数据),将这K个数据由专家标注,放入有标签的训练集中,依次迭代多次直到模型达到预期的效果。本文最主要的思想是在目标网络上添加损失预测模块,它能预测模型的损失值。模型结构如下图所示: a图就是模型的整体框架,由于损失预测模块与任务无关只与模型的损失有关。因此,这种方法可以应用到其他不同的任务中(比如训练时是分割任务得到的损失预测模型可应用于分类任务)当然这个过程必须保持模型不变。 GAP是指全局平均池化,训练过程就是联合优化目标模型与损失预测模型的损失函数。这里比较重要的一点就是损失预测模型的损失函数的设计,最直接的想法就是考虑损失预测模型的预测值与实际损失值之间的均方误差。这种做法显然是不合理的,因为迭代过程中的损失值是一个变化的过程,这就会导致损失预测模型的训练过程中对应的数据的标签不一致!导致预测效果很差。因此作者就提出数据对的思想来确定损失预测模型的损失函数。 公式1为整个模型的损失函数 为尺度常量,前面的是目标模型的损失函数(比如分类的交叉熵损失函数等)

机器学习 Python scikit-learn 中文文档(3)使用 scikit-learn 介绍机器学习

走远了吗. 提交于 2019-11-27 21:16:05
与官方文档完美匹配的中文文档,请访问 https://www.studyai.cn 与官方文档完美匹配的中文文档,请访问 https://www.studyai.cn Logo 首页 安装 文档 案例 Fork me on GitHub Previous scikit-learn 教程 Next 用于科学数据处理的统计学习教程 Up scikit-learn 教程 scikit-learn v0.20.1 其他版本 该中文文档由人工智能社区的Antares翻译! 使用 scikit-learn 介绍机器学习 机器学习:问题设置 加载示例数据集 学习和预测 模型持久化 规定或约定(Conventions) 类型转换 再次训练和更新参数 多分类拟合 vs. 多标签拟合 使用 scikit-learn 介绍机器学习 内容提要 在本节中,我们介绍一些在使用 scikit-learn 过程中用到的 机器学习<https://en.wikipedia.org/wiki/Machine_learning> _ 词汇, 并且给出一些例子阐释它们。 机器学习:问题设置 通常,我们的学习问题(learning problem)要考虑一个包含n个样本 (samples) 的数据集合,然后尝试预测未知数据的某个或某些属性。 如果每个样本不止一个数字,则称其具有若干属性(attributes)或特征

《机器学习实战》9.3树回归之模型树和项目案例

梦想的初衷 提交于 2019-11-27 13:41:28
《机器学习实战》9.3树回归之模型树和项目案例 搜索微信公众号:‘AI-ming3526’或者’计算机视觉这件小事’ 获取更多人工智能、机器学习干货 csdn:https://blog.csdn.net/baidu_31657889/ github:https://github.com/aimi-cn/AILearners 本文出现的所有代码,均可在github上下载,不妨来个Star把谢谢~: Github代码地址 一、引言 这一节我们来介绍模型树以及进行一个简单的树回归的项目实战 二、模型树 2.1 模型树简介 回归树的叶节点是常数值,而模型树的叶节点是一个回归方程。 用树来对数据建模,除了把叶节点简单地设定为常数值之外,还有一种方法是把叶节点设定为分段线性函数,这里所谓的 分段线性(piecewise linear) 是指模型由多个线性片段组成。 我们看一下图中的数据,如果使用两条直线拟合是否比使用一组常数来建模好呢?答案显而易见。可以设计两条分别从 0.0-0.3、从 0.3-1.0 的直线,于是就可以得到两个线性模型。因为数据集里的一部分数据(0.0-0.3)以某个线性模型建模,而另一部分数据(0.3-1.0)则以另一个线性模型建模,因此我们说采用了所谓的分段线性模型。 决策树相比于其他机器学习算法的优势之一在于结果更易理解。很显然

ABC卡

我与影子孤独终老i 提交于 2019-11-27 09:24:23
如今在银行,P2P等各种贷款业务机构,普遍使用信用评分,对客户实行打分制,以期对客户有一个优质与否的评判。但是不是所有人都知道信用评分卡还分A,B,C卡三类!所以,如果你只知道ABC是Gary的ABC汤,那就赶紧来补习下这些知识吧~~ A卡(Application score card)申请评分卡 B卡(Behavior score card)行为评分卡 C卡(Collection score card)催收评分卡 三种卡的介绍,请直接看这篇文章:比较全面的说了三种打分机制。 梁世栋博士的《行为评分和贷后风险管理研究》http://www.docin.com/p-516772778.html 这三种打分机制的区别在于: 1.使用的时间不同。分别侧重 贷前、贷中、贷后 ; 2.数据要求不同。 A卡一般可做贷款0-1年的信用分析,B卡则是在申请人有了一定行为后,有了较大数据进行的分析,一般为3-5年,C卡则对数据要求更大,需加入催收后客户反应等属性数据。 3.每种评分卡的模型会不一样。在A卡中常用的有 逻辑回归 , AHP [层次分析法(Analytic Hierarchy Process,简称AHP)]等,而在后面两种卡中,常使用 多因素逻辑回归 ,精度等方面更好。 3.检测评分卡中客户群的 特征变化 ,已经这些变化对评分卡分值的冲击。 2.计算 某些特定参数 ,用以触发某些行动

Doc2vec学习总结(三)

江枫思渺然 提交于 2019-11-27 08:35:47
这篇是 七月在线 问答系统项目中使用到的一个算法,由于当时有总结,就先放上来了后期再整理。 Doc2vec ​ Doc2vec又叫Paragraph Vector是Tomas Mikolov基于word2vec模型提出的,其具有一些优点,比如 不用固定句子长度,接受不同长度的句子做训练样本 ,Doc2vec是一个无监督学习算法,该算法用于预测一个向量来表示不同的文档,该模型的结构潜在的克服了词袋模型的缺点。 ​ Doc2vec模型是受到了word2vec模型的启发,word2vec里预测词向量时,预测出来的词是含有词义的,比如上文提到的词向量'powerful'会相对于'Paris'离'strong'距离更近,在Doc2vec中也构建了相同的结构。所以Doc2vec克服了词袋模型中没有语义的去缺点。假设现在存在训练样本,每个句子是训练样本。和word2vec一样,Doc2vec也有两种训练方式,一种是PV-DM(Distributed Memory Model of paragraphvectors)类似于word2vec中的CBOW模型,另一种是PV-DBOW(Distributed Bag of Words of paragraph vector)类似于word2vec中的skip-gram模型 1. A distributed memory model ​

6.评估分类模型

孤人 提交于 2019-11-27 08:16:28
6.评估分类模型 训练,调优和建立模型是整个分析生命周期的重要部分,但更重要的是知道这些模型的性能如何。分类模型的性能一般基于模型对新数据的预测输出结果。通常情况下,使用测试数据集或保留数据集对性能进行测量,数据集中的数据不会以任何方式影响或训练分类器。测试数据集一般包括一些观测值和对应的标签。 使用与训练模型时一样的方法提取特征。这些特征被送入训练好的模型,就获得了每个数据的预测结果。接着,预测结果与实际标签进行匹配以观察模型预测结果如何或其精准情况。 有多个指标可以判定模型的预测性能,但将主要关注下面几个指标: 准确率(accuracy)。 精确率(precision)。 召回率(recall)。 F1 score。 让我们看看实际的例子,看看如何计算这些指标。考虑一个将邮件分类为 “Spam”(垃圾邮件)或 “ham”(正常邮件)之一的二分类问题。假设共有 20 封邮件,对于每封邮件已经有了实际的手工标签,将这些邮件送入已经建好的分类器,就得到了每封邮件的预测标签。现在,想通过比较两个预测值与实际标签来衡量分类器的性能。下面的代码设置初始化依赖项、实际标签与预测的标签。 from sklearn import metrics import numpy as np import pandas as pd from collections import Counter

2.自动文本分类

旧城冷巷雨未停 提交于 2019-11-27 08:15:53
2.自动文本分类 现在对于文本分类的定义和范围有所了解。当提到 “文本分类系统” 可以将文本文件划分到它们代表的类或类别时,也从该概念和数学上对文本分类进行了正式的定义。假设几个人通过浏览每个文本并进行分类完成文本分类任务,那么他们就是我们所讨论的文档分类系统的一部分。然而,一旦文档数量超过百万并且需要快速进行分类处理时,该方法则不能很好地扩展。为了使文档分类的过程更加高效和快速,需要思考文本分类任务的自动化,这给我们带来了自动文本分类。 为实现自动文本分类,可以充分利用一些机器学习的技术和概念。这里主要有两类与解决该问题相关的技术: 有监督机器学习。 无监督机器学习。 此外,还有一些其他的机器学习算法家族,例如强化学习和半监督学习。接下来,更加升入地了解有监督机器学习和无监督机器学习算法,从机器学习方面了解如何利用这些算法进行文本文件分类。 无监督学习指的是不需要提前标注训练数据样本来建立模型的具体的机器学习技术或算法。通常,有一个数据点集合,它可以是文本或数字类型的,这取决于要解决的具体问题。我们通过名为 “特征提取” 的过程从每个数据中提取特征,然后将来自于每个数据的特征集合输入算法。尽力从这些数据中提取有意义的模式,例如使用聚类或基于主题模型的文本摘要技术对相似的数据进行分组。这项技术在文本分类中非常有用,也称为文档聚类,即我们仅仅依靠文本的特征、相似度和属性

交通量预测——极端情况下的预测算法

青春壹個敷衍的年華 提交于 2019-11-27 07:15:39
1.背景介绍 在高方差时段(如节假日和体育赛事等等)准确的预测交通量,对于异常检测、资源分配、预算规划和其他相关的任务都是至关重要,这些任务有助于网约车大规模优化用户体验,然而,预测这些变量极具挑战性,因为这种极端事件预测取决于天气、城市人口增长和其他导致预测不确定性的外部因素。 近几年来,长短期记忆网络技术以其端到端建模,易于映入外生变量和自动特征抽取的特点,成为了一种流行的时间序列建模框架。LSTM方法利用多个维度的大量数据,可以对复杂的非线性特征相互作用进行建模,这对于预测极端事件是至关重要的。 在Lingxue Zhu和Nikolay Laptev发表在IEEE的一篇论文 Deep and Confident Prediction for Time Series at Uber 中,介绍一种新的端到端贝叶斯神经网络(BNN)结构,它能在大规模的情况下更精准地预测时间序列结果和不确定性预测。 2.概述 2.1不确定性预测 首先,我们用函数 来表示一个神经网络,其中f表示是网络的结构,用** W **来表示模型参数的集合。在BNN模型中,引入了权重参数的先验,并且模型的目标是去拟合最优的后验分布。比如,高斯先验通常假设: 。 然后,我们进一步数据生成分布定为 。在回归问题中,我们通常假设: (其中具有一定的噪声 )。 接着,给定N个观测值 和

NLP(十六)轻松上手文本分类

二次信任 提交于 2019-11-27 06:25:01
背景介绍   文本分类是NLP中的常见的重要任务之一,它的主要功能就是将输入的文本以及文本的类别训练出一个模型,使之具有一定的泛化能力,能够对新文本进行较好地预测。它的应用很广泛,在很多领域发挥着重要作用,例如垃圾邮件过滤、舆情分析以及新闻分类等。   现阶段的文本分类模型频出,种类繁多,花样百变,既有机器学习中的朴素贝叶斯模型、SVM等,也有深度学习中的各种模型,比如经典的CNN, RNN,以及它们的变形,如CNN-LSTM,还有各种高大上的Attention模型。   无疑,文本分类是一个相对比较成熟的任务,我们尽可以选择自己喜欢的模型来完成该任务。本文以kashgari-tf为例,它能够支持各种文本分类模型,比如BiLSTM,CNN_LSTM,AVCNN等,且对预训练模型,比如BERT的支持较好,它能让我们轻松地完成文本分类任务。   下面,让我们一起走进文本分类的世界,分分钟搞定text classification! 项目   首先,我们需要找一份数据作为例子。我们选择THUCNews,THUCNews是根据新浪新闻RSS订阅频道2005~2011年间的历史数据筛选过滤生成,包含74万篇新闻文档(2.19 GB),均为UTF-8纯文本格式。我们在原始新浪新闻分类体系的基础上,从中选择10个候选分类类别:体育、娱乐、家居、房产、教育、时尚、时政、游戏、科技、财经。