NLP 3.7 核函数+变分推断

1、核函数

  • 将样本值映射到高维空间,使得非线性不可分的问题可分。如高斯核函数
  • 解决内积产生过大的时间复杂度的问题

面试题:

1)为什么在SVM中应用核函数?

  • 对于线性不可分的数据,需要把它映射到高维空间,使它线性可分
  • 对于svm的目标函数,有内积项,如果映射增加degree,会使得时间复杂度特别大。

2)有哪些常见的核函数:

  • 线性核
  • 多项式核函数
  • 高斯核函数
  • sigmoid核函数

3)如何在svm中选择核函数?

  • 如果特征的数量大到和样本数量差不多,使用LR或者线性svm
  • 如果特征的数量小,样本的数量正常,使用高斯核svm
  • 如果特征数量小,而样本数量巨大,需要手动添加一些特征。

2、变分法 Variational Inference

是一个优化型得算法。是一个bias的算法。使用更简单的方式去替代后验概率。

Gibbs sampling(MCMC)是 unbias 的

随着采样的数量越多,会得到真正正确的答案。

2.1 Introduction

如果对于隐变量的条件概率很难计算,那么可以选择一个新的后验概率替换。
最理想的状态是p=q
在这里插入图片描述

因为实际上q不可能完全等于p,所以是bias的

问题:p(z|x, α \alpha α)=======>q(z| α \alpha α)
对于两个分布,希望新的分布和原来的分布相似度越来越高。使用KL散度

如何估计两个分布的相似度:

  • KL divergence
  • Wasserstin distance
  • 卷积

2.2 KL divergence

在这里插入图片描述

2.3 如何定义目标函数:ELMO+p(x)

简化kl散度的计算公式:
在这里插入图片描述
Elmo:前两项:
最小化kl散度意味着最大化ELMO部分的值
加粗样式

在这里插入图片描述
使用jenson不等式:
在这里插入图片描述
期望的函数值小于函数的期望。

最大化p(x)就是最大化它的lower bound,elmo是p(x)的lower bound

2.4 变分法——LDA

在这里插入图片描述
LDA flow chart:
在这里插入图片描述
超参数(无需参与计算)是和每个文档每个单词是已知的
文档和主题的关系,主题和词的性质,每个词在每篇文档中对应的主题是未知的
根据贝叶斯网络的条件性质,拆分

第一部分

在这里插入图片描述
对于 θ , ϕ , z i , j \theta,\phi,z_{i,j} θ,ϕ,zi,j的超参数进行定义:
在这里插入图片描述

第二部分,是用新定义的超参数把q(z)拆开

在这里插入图片描述

2.5 重写LDA目标函数

重写新的目标函数:

在这里插入图片描述
可以使用coordinate descent 对于每个隐状态分别进行优化。

在这里插入图片描述

拆分目标函数:

1)先关注z和 θ \theta θ之间的关系
服从多项式分布

在这里插入图片描述
2)关注于在q下,z和 ϵ \epsilon ϵ

在这里插入图片描述
3) 关注 θ \theta θ α \alpha α

遵从dir 分布
在这里插入图片描述

4)关注在q分布下的 θ \theta θ:
服从dir分布

在这里插入图片描述
5)关注 ϕ \phi ϕ在p和q分布中的概率分布:
也可以转换为遍历所有文档后,隐变量的log gamma参数+对log dirichilet分布求期望的加和。

将七个项相加得到:

在这里插入图片描述

优化目标函数

分别对q分布中的三个超参数求偏导
1)对 θ \theta θ的超参数求导:
在这里插入图片描述
在这里插入图片描述
2)对于Z的超参数求导:
提取所有与 ϵ \epsilon ϵ相关的项:
需要加入拉格朗日乘子项

在这里插入图片描述

3)对于 ϕ \phi ϕ的超参数求导:
在这里插入图片描述

三个超参数的汇总:

在这里插入图片描述
直到收敛为止

问题:时间复杂度很高

解决:SVI

在这里插入图片描述
直到局部的参数收敛,再更新全局参数

猜你喜欢

转载自blog.csdn.net/weixin_51182518/article/details/114092647
3.7
NLP