一些函数

Published: 20 Dec 2018 Category: algo

策略、算法工作中,读论文或设计算法,经常会遇到一些性质很棒的函数,满足特定的需求,持续汇总积累。

softmax

Softmax可以将一组实数序列(r1, r2, r3, …)映射到概率分布(p1, p2, p3, …)上。Softmax里max指会放大最大值的概率,soft指保留部分概率给小的值。

The softmax function maps arbitrary values $x$ to a probability distribution $𝑝_i$. “max” because amplifies probability of largest $x_i$. “soft” because still assigns some probability to smaller $x_i$

algo-softmax

sigmoid

可将任意实数映射到(0, 1)区间,其值有时候可解释为概率。当然,也可以添加参数,调整曲线的形状

algo-sigmoid

其导数形式比较好,还可以用sigmoid函数本身表示:

其与tanh函数也有关联,可简单根据值域推断出来:

低频加强

比如每个word在词库里有个频率分布,想大致按次频率分布采样,同时适当加强低频词,削弱高频词,如何做?word2vec论文里有类似办法,就是unigram distribution U(w) raised to the 3/4rd power解决。

对(0, 1)之间的数,取(0, 1)指数次幂,会使其值适当放大,越小的值,放大效应越明显。可以在google里输入以下语句查看函数性质

plot y = x ** 0.75 and y = x

衰减函数

之间一篇博客介绍衰减了函数,参考见越近越好Elasticsearch: 权威指南

algo-decay-function