【番外】负采样原理

简介: 【番外】负采样原理

NCE(噪声对比估计)


负采样可以看成 NCE 的特化,所以有必要先讲一下 NCE。


Softmax 回归中,样本属于某个分类的概率是:


P(y=kx)=jexp(wjTx+bj)exp(wkTx+bk)=Zexp(wkTx+bk)


也就是说,要计算它属于某个分类的概率,就要把所有分类的概率都计算出来。有的时候算力计算一个是够的,但不够计算这么多。


NCE 的想法很简洁,把多分类变成二分类,还用相同的参数。


我们需要在数据集上采样。对于每个样本,它的特征为 x x x,选取它所属的类别 y 0 y_0 y0,并根据某个分布 N ( y ) N(y) N(y) 选取 n n n 个其它类别 y 1 . . . y n y_1 ... y_n y1...yn。然后把每个 ( x , y i ) (x, y_i) (x,yi) 当做新样本的特征。


然后给每个新样本一个标签 d d d,如果 x x x 属于 y i y_i yi,那么 d = 1 d = 1 d=1,否则 d = 0 d = 0 d=0。


20181122150909983.png


然后整个问题就变成了优化 P ( d = 1 ∣ y , x ) P(d = 1| y, x) P(d=1∣y,x)。

   注:这里把 y = k y=k y=k 省略为 y y y,下同。


我们观察到,在新的数据集中,如果我们选取 d = 1 d = 1 d=1 的样本,它们的 x , y x, y x,y 和原始样本一样。也就是:P(yx,d=1)=P0(yx)


为了避免混淆,把原数据集上的那个函数加了个下标 0。

如果我们选取 d = 0 d = 0 d=0 的样本,它们的 y y y 就是分布 N ( y ) N(y) N(y)。


P(yx,d=0)=N(y)


还有,对于每个 x x x, d d d 总会有一个 1 和 n n n 个 0。


P(d=1x)=n+11P(d=0x)=x+1n


把它们乘一起,就得到了联合分布:


P(d=1,yx)=n+11P0(yx)P(d=0,yx)=n+1nN(y)


然后计算需要优化的那个函数:


P(d=1y,x)=P(d=1,yx)+P(d=0,yx)P(d=1,yx)=P0(yx)+nN(y)P0(yx)



负采样


到现在还是算不出来,Mikolov 在此基础上做了两个改动:


第一,把 N ( y ) N(y) N(y) 变成所抽样标签上的均匀分布,那么 n N ( y ) = 1 nN(y) = 1 nN(y)=1。


第二,把配分项 Z Z Z 变成模型的一个参数 z z z。


于是,


P(d=1y,x)=P0(yx)+1P0(yx)=exp(wkTx+bk)+zexp(wkTx+bk)=1+exp(wkTxbk+logz)1=σ(wkTx+bklogz)


然后在多次试验中发现     z 始终等于 1,就把这项去掉了。现在它就是二分类了。

P(d=1y,x)=σ(wkTx+bk)


优化的时候,我们随机选个 x x x。由于 y y y 是均匀的,我们再随机选个 k,计算 P(d=1∣y,x)。之后再用它和  d 算交叉熵损失,用梯度下降来更新参数即可。





相关文章
|
21小时前
|
算法
基于改进自适应分段线性近似(IAPLA)的微分方程数值解法研究: 从简单动力系统到混沌系统的应用分析
IAPLA方法为复杂动力系统的数值模拟提供了一个灵活、高效且易于实现的框架,在众多实际应用中可以作为现有数值求解器的有效替代方案。
9 2
基于改进自适应分段线性近似(IAPLA)的微分方程数值解法研究: 从简单动力系统到混沌系统的应用分析
|
1月前
|
数据采集 机器学习/深度学习 数据可视化
过采样与欠采样技术原理图解:基于二维数据的常见方法效果对比
本文介绍了处理不平衡数据集的过采样和欠采样技术,包括随机过采样、SMOTE、ADASYN、随机欠采样、Tomek Links、Near Miss 和 ENN 等方法。通过二维数据集的可视化示例,直观展示了各种方法的原理和效果差异。文章还讨论了混合采样方法(如SMOTETomek和SMOTEENN)以及应用这些方法的潜在风险,强调了在实际应用中审慎选择的重要性。
48 3
|
6月前
|
数据可视化
R语言极值理论:希尔HILL统计量尾部指数参数估计可视化
R语言极值理论:希尔HILL统计量尾部指数参数估计可视化
|
6月前
|
算法 Linux Python
R语言BUGS序列蒙特卡罗SMC、马尔可夫转换随机波动率SV模型、粒子滤波、Metropolis Hasting采样时间序列分析
R语言BUGS序列蒙特卡罗SMC、马尔可夫转换随机波动率SV模型、粒子滤波、Metropolis Hasting采样时间序列分析
|
6月前
|
算法 Windows
R语言广义二次跳跃、非线性跳跃扩散过程转移函数密度的估计及其应用
R语言广义二次跳跃、非线性跳跃扩散过程转移函数密度的估计及其应用
|
6月前
用图直观上理解梯度算子(一阶)与拉普拉斯算子(二阶)的区别,线检测与边缘检测的区别
用图直观上理解梯度算子(一阶)与拉普拉斯算子(二阶)的区别,线检测与边缘检测的区别
248 1
|
6月前
|
算法 定位技术
插值、平稳假设、本征假设、变异函数、基台、块金、克里格、线性无偏最优…地学计算概念及公式推导
插值、平稳假设、本征假设、变异函数、基台、块金、克里格、线性无偏最优…地学计算概念及公式推导
161 2
|
6月前
|
机器学习/深度学习 TensorFlow 定位技术
神经网络学习率指数衰减ExponentialDecay策略的参数含义与使用方法详解
神经网络学习率指数衰减ExponentialDecay策略的参数含义与使用方法详解
125 1
|
传感器
通过求解数学模型来选择编码节点的最佳数量和位置(Matlab代码实现)
通过求解数学模型来选择编码节点的最佳数量和位置(Matlab代码实现)
通过求解数学模型来选择编码节点的最佳数量和位置(Matlab代码实现)
|
算法
基于PSO的最优路径优化仿真,带GUI界面,可以设置粒子数目,迭代次数,优化目标,输出最优解和最优路径
基于PSO的最优路径优化仿真,带GUI界面,可以设置粒子数目,迭代次数,优化目标,输出最优解和最优路径
150 0
基于PSO的最优路径优化仿真,带GUI界面,可以设置粒子数目,迭代次数,优化目标,输出最优解和最优路径
下一篇
无影云桌面