📓
Study
  • README
  • Application
    • Contest
      • 竞赛trick
  • Basic Know
    • 半监督学习
    • 贝叶斯
      • 朴素贝叶斯分类器
    • 对抗训练
    • 概率图模型
      • CRF
      • HMM
      • 概率图模型
    • 关联分析
    • 归纳偏置
      • [什么是 Inductive bias(归纳偏置)?](BasicKnow/归纳偏置/什么是 Inductive bias(归纳偏置)?.md)
    • 聚类
    • 决策树
    • 绿色深度学习
    • 树模型&集成学习
      • 提升树
      • Ada Boost
      • [集成学习]
    • 特征工程
      • 数据分桶
      • 特征工程概述
      • 特征选择
      • LDA
      • PCA
    • 线性模型
      • 感知机
      • 最大熵模型
      • SVM
        • SVM支持向量机
      • 逻辑回归
      • 线性回归
    • 优化算法
      • 拉格朗日对偶性
      • 牛顿法
        • 牛顿法&拟牛顿法
      • 梯度下降法
        • 梯度下降算法
      • 优化算法
    • 预处理
      • [1-1]正则表达式
      • [1-2]文本预处理
      • [1-3]词性
      • [1-4]语法分析
      • [1-6]文本分类
      • [1-7]网络爬取
      • 【备用】正则表达式
      • 7.re模块
      • 词典匹配
      • 分词
      • 子表达式
      • Todo
    • 主题模型
      • LDA
    • Deep Learning
      • 反向传播
      • 梯度消失&梯度爆炸
      • Batch Size
      • 1.DLbasis
      • 小概念
      • MLstrategy
      • CNN
      • RNN及其应用
      • 关于深度学习实践
      • 神经网络概述
      • Batch Normalization
      • Program CNN
      • Program D Lbasis
      • Program DN Nimprove
      • Program Neural Style Transfer
      • Summer DL
    • EM算法
    • GAN
      • Gans In Action Master
    • GNN
      • 搜广推之GNN
      • Representation Learning
        • Anomalydetection
        • Conclusion
        • Others
        • Papernotes
        • Recommadation
    • k近邻法
      • K近邻
    • Language Model
      • 语言模型解码采样策略
      • [1-1][语言模型]从N-gram模型讲起
      • [1-2][语言模型]NNLM(神经网络语言模型)
      • [1-3][语言模型]基于RNN的语言模型
      • [1-4][语言模型]用N-gram来做完形填空
      • [1-5][语言模型]用KenLM来做完形填空
    • Loss Function
      • 常用损失函数
      • Focal Loss
      • softmax+交叉熵
    • Machine Learning
      • [基础]概念
      • 待整合
      • 交叉验证
      • 无监督学习
      • 优缺点
      • ML Yearning
      • SVD
    • Statistics Math
      • 程序员的数学基础课
      • 数学基础
      • 统计&高数
      • 统计题目
      • 线性代数
      • 组合数学
      • Discrete Choice Model
      • Nested Choice Model
  • Course Note
    • 基于TensorFlow的机器学习速成课程
      • [Key ML Terminology](CourseNote/基于TensorFlow的机器学习速成课程/Key ML Terminology.md)
    • 集训营
      • 任务说明
      • 算法实践1.1模型构建
      • 算法实践1.2模型构建之集成模型
      • 算法实践2.1数据预处理
    • 李宏毅机器学习
      • 10DNN训练Tips
        • Chapter 18
      • 16无监督学习
        • Chapter 25
    • 贪心NLP
      • 贪心NLP笔记
    • Cs 224 N 2019
      • [A Simple But Tough To Beat Baseline For Sentence Embeddings](CourseNote/cs224n2019/A Simple but Tough-to-beat Baseline for Sentence Embeddings.md)
      • [Lecture 01 Introduction And Word Vectors](CourseNote/cs224n2019/Lecture 01 Introduction and Word Vectors.md)
      • [Lecture 02 Word Vectors 2 And Word Senses](CourseNote/cs224n2019/Lecture 02 Word Vectors 2 and Word Senses.md)
      • [Lecture 03 Word Window Classification Neural Networks And Matrix Calculus](CourseNote/cs224n2019/Lecture 03 Word Window Classification, Neural Networks, and Matrix Calculus.md)
      • [Lecture 04 Backpropagation And Computation Graphs](CourseNote/cs224n2019/Lecture 04 Backpropagation and Computation Graphs.md)
      • [Lecture 05 Linguistic Structure Dependency Parsing](CourseNote/cs224n2019/Lecture 05 Linguistic Structure Dependency Parsing.md)
      • [Lecture 06 The Probability Of A Sentence Recurrent Neural Networks And Language Models](CourseNote/cs224n2019/Lecture 06 The probability of a sentence Recurrent Neural Networks and Language Models.md)
      • Stanford NLP
    • Deep Learning Book Goodfellow
      • Books
        • Deep Learning Book Chapter Summaries Master
      • 提纲
      • C 5
      • C 6
      • [Part I Applied Math And Machine Learning Basics](CourseNote/Deep-Learning-Book-Goodfellow/Part I - Applied Math and Machine Learning basics.md)
    • Lihang
    • NLP实战高手课
      • 极客时间_NLP实战高手课
    • 工具&资料
    • 机器学习、深度学习面试知识点汇总
    • 七月kaggle课程
    • 算法工程师
    • 贪心科技机器学习必修知识点特训营
    • 唐宇迪机器学习
    • 语言及工具
    • AI技术内参
    • Suggestions
  • Data Related
    • 数据质量
      • 置信学习
    • 自然语言处理中的数据增广_车万翔
      • 自然语言处理中的数据增广
    • Mixup
    • 数据不均衡问题
    • 数据增强的方法
  • Knowledge Graph
    • Information Extraction
      • 联合抽取
        • PRGC
      • Code
        • BERT微调
      • NER
        • 阅读理解做NER
          • MRC
        • FLAT
        • Global Pointer
        • 命名实体识别NER
    • Keyword Extraction
      • 关键词抽取
    • 小米在知识表示学习的探索与实践
    • KG
  • Multi Task
    • EXT 5
      • Ex T 5
  • NLG
    • Dailogue
      • 比赛
        • 对话评估比赛
          • [simpread-DSTC10 开放领域对话评估比赛冠军方法总结](NLG/Dailogue/比赛/对话评估比赛/simpread-DSTC10 开放领域对话评估比赛冠军方法总结.md)
      • 任务型对话
        • DST
          • DST概述
        • NLG
          • NLG概述
        • NLU
          • NLU概述
        • 任务型对话概述
        • simpread-任务型对话系统预训练最新研究进展
      • 问答型对话
        • 检索式问答
          • 基于预训练模型的检索式对话系统
          • 检索式文本问答
        • 业界分享
          • 低资源场景下的知识图谱表示学习和问答_阿里_李杨
          • QQ浏览器搜索智能问答
        • 问答型对话系统概述
      • 闲聊型对话
        • 闲聊型对话系统概述
      • 业界分享
        • 人工智能与心理咨询
        • 腾讯多轮对话机器人
        • 微软小冰
        • 小布助手闲聊生成式算法
        • 美团智能客服实践_江会星
        • 去哪儿智能客服探索和实践
        • 实时语音对话场景下的算法实践_阿里_陈克寒
        • 智能语音交互中的无效query识别_小米_崔世起
        • UNIT智能对话
      • 主动对话
      • EVA
        • EVA分享
        • EVA模型
      • PLATO
      • RASA
    • Machine Translation
      • 业界分享
        • 爱奇艺台词翻译分享
      • Paper
        • Deep Encoder Shallow Decoder
    • RAGRelated
    • Text 2 SQL
      • M SQL
        • [M SQL 2](NLG/Text2SQL/M-SQL/M-SQL (2).md)
      • [Text2SQL Baseline解析](NLG/Text2SQL/Text2SQL Baseline解析.md)
      • Text 2 SQL
    • Text Summarization
      • [文本摘要][paper]CTRLSUM
      • 文本摘要
  • Pre Training
    • 业界分享
      • 超大语言模型与语言理解_黄民烈
        • 超大语言模型与语言理解
      • 大模型的加速算法_腾讯微信
        • 大模型的加速算法
      • 孟子轻量化预训练模型
      • 悟道文汇文图生成模型
      • 悟道文澜图文多模态大模型
      • 语义驱动可视化内容创造_微软
        • 语义驱动可视化内容创造
    • Base
      • Attention
      • Mask
        • NLP中的Mask
      • Position Encoding
        • 位置编码
    • BERT
      • ALBERT
      • Bert
        • Venv
          • Lib
            • Site Packages
              • idna-3.2.dist-info
                • LICENSE
              • Markdown-3.3.4.dist-info
                • LICENSE
              • Tensorflow
                • Include
                  • External
                    • Libjpeg Turbo
                      • LICENSE
                  • Unsupported
                    • Eigen
                      • CXX 11
                        • Src
                          • Tensor
              • Werkzeug
                • Debug
                  • Shared
                    • ICON LICENSE
        • CONTRIBUTING
        • Multilingual
      • Ro BER Ta
      • BERT
      • BERT面试问答
      • BERT源码解析
      • NSP BERT
    • BERT Flow
    • BERT Zip
      • Distilling The Knowledge In A Neural Network
      • TINYBERT
      • 模型压缩
    • CPM
    • CPT
      • 兼顾理解和生成的中文预训练模型CPT
    • ELECTRA
    • EL Mo
    • ERNIE系列语言模型
    • GPT
    • MBART
    • NEZHA
    • NLG Sum
      • [simpread-预训练时代下的文本生成|模型 & 技巧](Pre-training/NLGSum/simpread-预训练时代下的文本生成|模型 & 技巧.md)
    • Prompt
      • 预训练模型的提示学习方法_刘知远
        • 预训练模型的提示学习方法
    • T 5
      • Unified SKG
      • T 5
    • Transformer
    • Uni LM
    • XL Net
    • 预训练语言模型
    • BERT变种
  • Recsys
    • 多任务Multi-task&推荐
    • 推荐介绍
    • 推荐系统之召回与精排
      • 代码
        • Python
          • Recall
            • Deep Match Master
              • Docs
                • Source
                  • Examples
                  • FAQ
                  • Features
                  • History
                  • Model Methods
                  • Quick Start
    • 业界分享
      • 腾讯基于知识图谱长视频推荐
    • 召回
    • Sparrow Rec Sys
    • 深度学习推荐系统实战
    • 推荐模型
    • Deep FM
  • Search
    • 搜索
    • 业界分享
      • 爱奇艺搜索排序算法实践
      • 语义搜索技术和应用
    • 查询关键字理解
    • 搜索排序
    • BM 25
    • KDD21-淘宝搜索中语义向量检索技术
    • query理解
    • TFIDF
  • Self Supervised Learning
    • Contrastive Learning
      • 业界分享
        • 对比学习在微博内容表示的应用_张俊林
      • Paper
      • R Drop
      • Sim CSE
    • 自监督学习
  • Text Classification
    • [多标签分类(Multi-label Classification)](TextClassification/多标签分类(Multi-label Classification)/多标签分类(Multi-label Classification).md)
    • Fast Text
    • Text CNN
    • 文本分类
  • Text Matching
    • 文本匹配和多轮检索
    • CNN SIM
    • Word Embedding
      • Skip Gram
      • Glove
      • Word 2 Vec
    • 文本匹配概述
  • Tool
    • 埋点
    • 向量检索(Faiss等)
    • Bigdata
      • 大数据基础task1_创建虚拟机+熟悉linux
      • 任务链接
      • Mr
      • Task1参考答案
      • Task2参考答案
      • Task3参考答案
      • Task4参考答案
      • Task5参考答案
    • Docker
    • Elasticsearch
    • Keras
    • Numpy
    • Python
      • 可视化
        • Interactivegraphics
        • Matplotlib
        • Tkinter
        • Turtle
      • 数据类型
        • Datatype
      • python爬虫
        • Python Scraping Master
          • phantomjs-2.1.1-windows
        • Regularexp
        • Scrapying
        • Selenium
      • 代码优化
      • 一行代码
      • 用python进行语言检测
      • Debug
      • Exception
      • [Features Tricks](Tool/python/Features & Tricks.md)
      • Fileprocess
      • Format
      • Functional Programming
      • I Python
      • Magic
      • Math
      • Os
      • Others
      • Pandas
      • Python Datastructure
      • Python操作数据库
      • Streamlit
      • Time
    • Pytorch
      • Dive Into DL Py Torch
        • 02 Softmax And Classification
        • 03 Mlp
        • 04 Underfit Overfit
        • 05 Gradient Vanishing Exploding
        • 06 Text Preprocess
        • 07 Language Model
        • 08 Rnn Basics
        • 09 Machine Translation
        • 10 Attention Seq 2 Seq
        • 11 Transformer
        • 12 Cnn
        • 14 Batchnorm Resnet
        • 15 Convexoptim
        • 16 Gradientdescent
        • 17 Optim Advance
    • Spark
      • Pyspark
        • pyspark之填充缺失的时间数据
      • Spark
    • SQL
      • 数据库
      • Hive Sql
      • MySQL实战45讲
    • Tensor Flow
      • TensorFlow入门
  • Common
  • NLP知识体系
Powered by GitBook
On this page
  • Transformer
  • Bert
  • 基于知识图谱的推荐

Was this helpful?

  1. Course Note

贪心科技机器学习必修知识点特训营

Previous算法工程师Next唐宇迪机器学习

Last updated 3 years ago

Was this helpful?

Bagging vs Boosting

  • Bagging: Leverages unstable base learners that are weak because of overfitting。每个人都是专家,都做得很好,容易过拟合。Bagging降低风险。股票投资不要都放到一个篮子里。list of experts

  • Boosting: Leverage stable base learners that are weak because of underfitting。一般人,不是专家,容易欠拟合。三个臭皮匠胜过诸葛亮。list of weak learner(比随机猜测好)

随机森林是并行式训练。

Boosting是串行式训练。

(x, 真实值)——Model 1——预测值1

(x, 真实值-预测值1=残差1)——Model 2——预测值2

(x, 残差1-预测值2=残差2)——Model 3——预测值3

Model可以是任何的模型,但是一般使用树模型

例子:预测年龄

1611675680964

XGBoost会比较关注残差更大的那些样本。

为什么XGBoost这么火爆?

  • 速度快,效果好(Speed and Performance)

  • 核心算法可以并行化

  • 大多数情况下比其它算法表现好

  • 大量的可调节的参数

XGBoost学习路径

  • 如何构造目标函数

  • 如何近似目标函数

  • 如何引入树到目标函数,改造目标函数

  • 如何使用贪心算法构造树

使用多棵树预测

第二项类似于正则,防止过拟合。可以是树的深度、叶子结点的权重(即预测值)、叶子结点的个数等

第一项是损失函数。

如何去训练模型

t棵树。第一棵树是0,认为是Base case。预测值是combined prediction,已经把之前的树的预测值加上了。

前t-1棵树的复杂度已知,所以变成了constant。

使用泰勒级数近似目标函数

函数有二阶导数的条件下才能展开成上式。

得到新的目标函数

g, h是很容易计算的,但f(x)如何去表示呢?因为它是一棵树,如果表示成函数的形式呢?

重新定义一棵树

T:叶子结点的数量

w:权重向量

q(x):输入object,输出index(叶子结点的index)

树的复杂度

新的目标函数

f(x)=ax^2+bx+c的最小值,x=-b/2a

上述是树的形状已知的情况下的最小值

举例:

如何寻找树的形状?

最简单的是暴力搜索法。列出所有可能的树,计算出每棵树的最小的目标函数值,从中选出最小的目标函数值,就找到树的形状了。

想想决策树的构造过程,Information gain,这里用Obj

注意每个结点是独立的。每个结点的Obj可以分开求最小值

$\gamma=\gamma (T+1)-\gamma T$

寻找最好的Split

XGBoost的参数

  • max_depth:最大深度

  • subsample

涉及PAC Learning,VC Dimension

为什么需要Attention

NMT(Neural Machine Translation)

输入到Encoder(比如RNN)得到Context,再到Decoder得到输出

context是这种模型的瓶颈,这种模型处理长句子变得颇具挑战性。

2015年提出Attention,Attention技术极大地提高了机器翻译系统的质量,使得模型可以根据需要集中于输入序列的相关部分。

不同点:

  • encoder传播了很多数据给decoder。相比较于以前只传递encoding部分的最后的Hidden state,encoder传递了所有的hidden states 到decoder

  • 为每一个hidden state产生不同的权重,每一个hidden state分别乘以softmaxed的权重,然后求和

h_t是decoder在t时刻的hidden state

h_s是encoder之前的hidden state,s代表输入的单词数

Transformer

在论文中被提出,利用Self Attention,去掉RNN,使得训练更快。

Encoder包括Self-Attention和Feed Forward

Decoder包括Self-Attention, Encoder-decoder Attention和Feed Forward

q, k, v 文档检索。K是问题,V是答案。Q是用户的提问。Q和K计算相关度。

多头注意力机制

Positional Encoding

  • 用于表达不同单词在输入句子中的位置顺序

  • 为了表达位置顺序,transformer为每一个输入的单词的embedding添加了一个位置向量

  • 直觉是将位置向量添加到embedding以后,计算attention的时候,这些位置向量提供了不同embedding之间的距离信息。

每一行是一个embedding。黄色的是1,越往下的颜色值越小。

Residual, Layer Normalization

Residual, Normalization在每一层都使用。

Decoder

Decoder的第二个多头注意力的V是来自自己的,Q和K是来自Encoder的输出。

损失函数

训练小技巧

Bert

Contextual Embedding

  • Word2Vec等embedding忽略了context

  • ELMo考虑了context,但是由于其使用bidirectional-LSTM,无法避免梯度消失(gradient vanishing)的问题

  • 是否可以利用Transformer的思路构造contextual embedding,Transformer的问题在于其为forward language model,而构造contextual embedding需要both forward和backward

训练:

  • Masked Language Model。mask 15%的单词,让模型预测masked的单词,或者随机替换一个单词,让模型预测此位置正确的单词

  • Two-sentence Tasks。

选择哪一层的embedding,视具体任务而定

基于知识图谱的推荐

水波网络(Ripple Network)

n-hop:可以理解为扩散到第几层时的节点数

Ripple Set:理解为三元组

学习出用户和item的embedding

排序:CTR:$\hat y_{uv}=\sigma(u^Tv)$ 点还是不点的概率

召回:获取了user_Embedding与Item_Embedding:向量化检索最相似的TopN

在召回阶段用的多。

随机初始化embedding

v和h的维度相同。

水波网络问题

  • 最终效果强依赖于物品图谱的构建质量

  • 物品图谱的大小

  • 物品图谱的更新频率

1611675753131
1611675794303
1611675896525
1611754728199
1611754851549
1611755123352
1611755147830
1611755315794
1611756275857
1611756828257
1611757051623
1611757337439
1611757859705
1611758016987
1611758341509

但是我们无法列出所有可能的树,而且非常耗时。

1611758580435
1611760200562
1611847711278
1612277745084
1612278838921
1612278997097
1612279345225
1612279640698
1612279739515
1612279897424
1612280092936
1612280132775

1612796831936
1612796852065
1612794769697
1612795693821
1612796227578
http://nlp.seas.harvard.edu/2018/04/03/attention.html
https://tx.greedyai.com/my/course/150
1611758460291