machine-learning-notes
  • 封面
  • 目录
  • 前言
  • 个人前言
  • 机器学习前言
    • 什么是机器学习和模式识别
    • 机器学习的应用
    • 机器学习的流程
    • 不同的机器学习算法对相同数据预测效果不同
    • 快速入门机器学习
    • 机器学习需要参考哪些书
    • 机器学习的学习路径
    • 深度学习的学习路径
    • 互联网机器学习特定岗位所需技能
  • 机器学习面试
  • 数学基础
  • 微积分
    • 泰勒展开
    • e的直观认识
    • 傅里叶变换
    • 希尔伯特空间
  • 线性代数
    • 范数
    • 矩阵求导
    • 特征值
    • 奇异值分解
  • 概率与信息论
    • 综述概率论基本定义
    • 概率论与贝叶斯先验
    • 正态分布
    • 贝叶斯概率
    • 概率符号说明
    • 共轭先验
    • 信息论
  • 数值计算与优化
    • 最小二乘法
    • 等式约束的拉格朗日乘子法
    • 凸优化
      • 凸集和凸函数
      • 凸优化问题
  • 梯度下降算法
    • 随机梯度下降SGD
    • 动量法Momentum
    • 牛顿动量Nesterov
    • AdaGrad
    • RMSprop
    • Adadelta
    • Adam
    • Nadam
    • AMSGrad
    • AdasMax
  • 概率图模型
    • 概率图模型概论
    • 概率图简介
  • 编程基础
  • linux
    • linux常用命令
    • shell
      • 输入输出重定向
  • python
    • python简介
    • python语法
      • 基础语法
      • 数据结构
      • 过程控制
      • 函数
      • 类和对象
      • 文件操作
      • 正则表达式
    • python库
      • numpy
      • pandas
      • scipy
      • matplotlib
      • scikit-learn
    • python应用
      • 排序算法
  • 数据结构与算法
    • 数据结构
    • 算法思想
      • 排序
        • 堆排序
        • 归并排序
        • 快速排序
      • 递归
    • 剑指offer
      • 链表
      • 二叉树
      • 数组
      • 字符串
      • 栈和队列
      • 递归
      • 动态规划
      • 其他
    • leetcode
    • 编程语言
      • c++
  • Hadoop
    • Hadoop简介
    • MapReduce
  • Hive
  • Spark
  • TensorFlow
    • TensorFlow1.0
      • TensorFlow基础
      • TensorFlow基础概念解析
      • TensorFlow机器学习基础
      • Tensorflow分布式架构
    • TensorFlow2.0
  • PyTorch
  • 机器学习
  • 机器学习概论
  • 特征工程
  • 感知机
  • k近邻
  • 朴素贝叶斯
  • 线性模型
    • 最大熵模型
    • 指数族分布与广义线性模型
    • 线性回归
      • Ridge回归(岭回归)
      • Lasso回归
    • Logistic回归-对数几率回归
  • 决策树
  • 支持向量机
    • 线性可分支持向量机与硬间隔最大化
    • 线性支持向量机与软间隔最大化
    • 非线性支持向量机与核函数
    • 序列最小最优化算法SMO
    • SVM总结
  • 集成学习
    • Bagging
      • 随机森林
    • Boosting
      • AdaBoost
      • GradientBoosting
        • GBDT
        • XGBoost
          • XGBoost理论
          • XGBoost实践
    • Stacking
  • 降维
    • PCA主成分分析
    • 流形学习
  • EM算法
  • HMM隐马尔科夫模型
  • CRF条件随机场
  • 聚类
    • k均值聚类
    • 高斯混合模型
  • 主题模型
    • LDA隐狄利克雷分布
  • 知识点
    • 损失函数
    • 负采样
  • 机器学习算法总结
  • 深度学习
  • 深度学习概论
  • ANN人工神经网络
  • 知识点
    • Batch Normalization
  • CNN卷积神经网络
  • 深度学习优化算法
  • RNN循环神经网络
  • LSTM长短期记忆网络
  • GRU门控循环单元
  • GNN图神经网络
    • GNN图神经网络综述
    • GCN图卷积网络
      • GCN图卷积网络初步理解
      • GCN图卷积网络的numpy简单实现
      • GCN图卷积网络本质理解
      • GCN图卷积网络全面理解
      • SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS ICLR2017
  • 神经网络架构搜索
    • Weight-Agnostic-Neural-Networks Google2019
  • 强化学习
  • 强化学习概论
  • 马尔科夫决策过程
  • 动态规划
  • 无模型方法一:蒙特卡洛
  • 无模型方法二:时间差分
  • 无模型方法三:多步自举
  • 函数近似和深度网络
  • 策略梯度算法
  • 深度强化学习
  • 基于模型的强化学习
  • 强化学习前景
  • 自然语言处理
  • 自然语言处理概论
  • 自然语言
  • 语言模型和中文分词
  • word2vec
    • word2vec概述
    • word2vec算法原理
    • word2vec源码分析
    • word2vec实践
  • Seq2Seq模型和Attention机制
  • Self-Attention和Transformer
  • 知识图谱
  • 推荐系统
  • 推荐系统概论
  • 基础知识
  • 进阶知识
    • 机器学习
      • Factorization Machines ICDM2010
    • embedding
      • Network Embedding
        • LINE: Large-scale Information Network Embedding
    • 深度学习
      • DeepFM: A Factorization-Machine based Neural Network for CTR Prediction 2017
      • DSSM: Learning Deep Structured Semantic Models for Web Search using Clickthrough Data CIKM2013
    • 图卷积网络
      • Graph Convolutional Neural Networks for Web-Scale Recommender Systems KDD2018
    • 强化学习
      • DRN基于深度强化学习的新闻推荐模型
  • 业界应用
    • YouTube
      • Deep Neural Networks for YouTube Recommendations RecSys2016
    • Alibaba
      • Learning Tree-based Deep Model for Recommender Systems KDD2018
      • Deep Interest Network for Click-Through Rate Prediction KDD2018
      • DSIN:Deep Session Interest Network for Click-Through Rate Prediction IJCAI2019
Powered by GitBook
On this page
  • 自然语言
  • 语言的进化
  • 来自自然选择的社会协作
  • 语言游戏与摩斯密码
  • 语言与智能
  • 信息熵
  • 交叉熵(KL散度)
  • 语义的进化
  • 语言模型:语言概率
  • 词袋模型
  • 二元语言模型:CR情感分析
  • 参考资料

Was this helpful?

自然语言

Previous自然语言处理概论Next语言模型和中文分词

Last updated 5 years ago

Was this helpful?

自然语言

语言的进化

语言不是静态的,而是持续变化的。比如吃鸡,这个词在现在有一种游戏的含义了。所以计算机对语义的建模是一个难点。

来自自然选择的社会协作

自然界进化倾向于合作,并不完全是竞争的关系。在达尔文的基础上。提出了另外一个进化的标识:合作。

语言和语音是怎么挂钩的呢?原始社会最开始的时候,渐渐地会把某个音对应于某个物体,这样就形成了基本的语言。

语言游戏与摩斯密码

语言对应着大脑中的一幅图像。语言的交流就是图像的传输。

语言存在的唯一意义就是交流。

语言与智能

信息熵

熵是对信息量衡量的函数。

事件x的信息量H(x)需要满足

  • 信息量必须大于等于0

  • 信息量H(x)和概率P(x)之间的关系是相反的关系

  • 如果有两件事H(x1)和H(x2),这两件事的信息量应该是两者的加和。

则信息量的定义为:

信息熵的定义就是信息量的期望:

交叉熵(KL散度)

交叉熵的定义:

首先我们定义下KL散度,即Kullback-Leiblev Divergence,描述的是两个分布之间的差别和距离。

对于分布p和q,之间的差别(肯定是正数)是

但是KL散度有个特别不好的特点就是:

所以很多时候在衡量的时候,需要用到Average KL,即

这样就比较公平地衡量两个分布之间的区别。

交叉熵H(P, Q)和KL散度的关系为:

证明如下

如果P和Q非常像,那KL(P, Q)就会等于0

语义的进化

以苹果这个单词为例,可以很明显地看到语义随时间的变化:

语言模型:语言概率

语言模型源于语音识别,就是讲出的这一段话的概率。

词袋模型

第一个语言模型:

比如这段话:

Computer we table loves Trump phone

它的概率就是,在全部语料库中,这个句子出现的次数,除以所有六个单词组成的句子的次数,即

N是所有n个词组成的句子(N元组)出现的概率。

这就是一个非常简单的语言模型,就是通过统计次数得到的。

但是这种模型每个单词之间的关系太强了,我们假设每个字的出现概率独立,即

这就叫做词袋模型,即认为词和词之间是相互独立的。

但是这显然是不符合实际的,相邻的两个词之间往往是有关联的,比如I love后面出现you的概率就很大,出现txt的概率就很小。即有一个条件概率的关系。

二元语言模型:CR情感分析

词袋模型真的有用吗?

我们用LR模型统计出每个词的正负情感趋势,如下:

参考资料

本节是这门课该章节的课程笔记。

H(x)≥0H(x)\geq 0H(x)≥0
P(x)↑, H(x)↓P(x)\uparrow,\ H(x)\downarrowP(x)↑, H(x)↓
H(x1,x2)=H(x1)+H(x2)H(x_1,x_2)=H(x_1)+H(x_2)H(x1​,x2​)=H(x1​)+H(x2​)
H(x)=log 1P(x)=−log P(x)H(x)=\text{log}\ \frac{1}{P(x)}=-\text{log}\ P(x)H(x)=log P(x)1​=−log P(x)
EX[H(x)]=−∑xP(x)log P(x)=−∫xP(x)log P(x)dx\begin{aligned} E_X[H(x)]&=-\sum_xP(x)\text{log}\ P(x)\\ &=-\int_{x}P(x)\text{log}\ P(x)dx \end{aligned}EX​[H(x)]​=−x∑​P(x)log P(x)=−∫x​P(x)log P(x)dx​
H(P,Q)=−∑xP(x)log Q(x)H(P,Q)=-\sum_xP(x)\text{log}\ Q(x)H(P,Q)=−x∑​P(x)log Q(x)
KL(P∣∣Q)=EQ[−logP(x)Q(x)]⩾−log EQ[P(x)Q(x)](Jensen不等式)=−log[∫Q(x)P(x)Q(x)dx]=−log∫P(x)dx=−log 1=0\begin{aligned} \text{KL}(P||Q)&=E_Q\left[-\text{log}\frac{P(x)}{Q(x)}\right]\\ &\geqslant-\text{log}\ E_Q\left[\frac{P(x)}{Q(x)}\right](\text{Jensen不等式})\\ &=-\text{log}\left[\int Q(x)\frac{P(x)}{Q(x)}dx\right]\\ &=-\text{log}\int P(x)dx\\ &=-\text{log}\ 1\\ &=0 \end{aligned}KL(P∣∣Q)​=EQ​[−logQ(x)P(x)​]⩾−log EQ​[Q(x)P(x)​](Jensen不等式)=−log[∫Q(x)Q(x)P(x)​dx]=−log∫P(x)dx=−log 1=0​
KL(P∣∣Q)≠KL(Q∣∣P)\text{KL}(P||Q)\neq\text{KL}(Q||P)KL(P∣∣Q)=KL(Q∣∣P)
AKL(P∣∣Q)=KL(P∣∣Q)+KL(Q∣∣P)2\text{AKL}(P||Q)=\frac{\text{KL}(P||Q)+\text{KL}(Q||P)}{2}AKL(P∣∣Q)=2KL(P∣∣Q)+KL(Q∣∣P)​
H(P,Q)=H(P)+KL(P∣∣Q)H(P,Q)=H(P)+\text{KL}(P||Q)H(P,Q)=H(P)+KL(P∣∣Q)
H(P,Q)=−∑xP(x)log Q(x)=−∑x[P(x)log Q(x)−P(x)logP(x)+P(x)logP(x)]=−∑xP(x)logP(x)+∑xP(x)logP(x)Q(x)=H(P)+KL(P∣∣Q)\begin{aligned} H(P,Q)&=-\sum_xP(x)\text{log}\ Q(x)\\ &=-\sum_x\left[P(x)\text{log}\ Q(x)-P(x)\text{log}P(x)+P(x)\text{log}P(x)\right]\\ &=-\sum_xP(x)\text{log}P(x)+\sum_xP(x)\text{log}\frac{P(x)}{Q(x)}\\ &=H(P)+\text{KL}(P||Q) \end{aligned}H(P,Q)​=−x∑​P(x)log Q(x)=−x∑​[P(x)log Q(x)−P(x)logP(x)+P(x)logP(x)]=−x∑​P(x)logP(x)+x∑​P(x)logQ(x)P(x)​=H(P)+KL(P∣∣Q)​
P(x1,x2,...,xn)=c(x1,x2,...,xn)NP(x_1,x_2,...,x_n)=\frac{c(x_1,x_2,...,x_n)}{N}P(x1​,x2​,...,xn​)=Nc(x1​,x2​,...,xn​)​
P(I love China)=P(I)P(love)P(China)P(I\ love\ China)=P(I)P(love)P(China)P(I love China)=P(I)P(love)P(China)
P(y=1∣x)=11+exp(WTx)P(y=1|x)=\frac{1}{1+\text{exp}(W^Tx)}P(y=1∣x)=1+exp(WTx)1​

《自然语言处理算法精讲》第3章:自然语言
返回顶层目录
返回上层目录
noisy-channelmodel-for-communications
evolution-of-semantics-apple
bag-of-words
sentimen-analyze-by-LR