指数对数
对于原本是用相乘结合的概念, 比如独立事件的概率, 每个阶段的状态总数(热力学熵), 串联的增益(分贝)等, 如果要设计一个新指标, 用来表示这个概念的某个性质, 但是是相加的关系,这个新指标就只能选择对数形式, 因为只有对数满足本来相乘的东西相加起来继续可以相乘.
数学语言的话, 满足 $\phi(xy)=\phi(x)+\phi(y)$ 的泛函只有 $\phi(x)=c\ln x$. 证明很简单: 固定 x 对 y 求导得 $x\phi’(xy)=\phi’(y)$, 令 y=1 有 $x\phi’(x)=\phi’(1)$ 即 $\phi’(x) = \frac{c}{x}$ . 反过来类似, 满足 $\psi(s+t)=\psi(s)\psi(t)$的只有 $\psi(t)=e^{ct}$ .
再抽象一点, 指数是加法群到乘法群的唯一连续同态. 这个特点表现为 导数是自身 或者 连续增长的极限 . 写出来就是: $$f(x+y)=f(x)f(y)$$
$$\frac{f(x+y)-f(x)}{y}=f(x)\frac{f(y)-1}{y}$$ 当 y 趋近于 0 时, $$f’(x)=f(x)f’(0)$$ 当 x=y=t/n 时, $$f(\frac{t}{n}+ \frac{t}{n}+ …) = f(\frac{t}{n})f(\frac{t}{n})*…$$ n很大时 $f(\frac{t}{n})= f(0)+f’(0)\frac{t}{n}=1+f’(0)\frac{t}{n}$, 即 $$f(t)=(1+f’(0)\frac{t}{n})^n$$ so, 从乘法到加法, 导数是自身, 增长的极限 三个情况其实是一件事, 都只有指数是唯一解.
概率和信息量
最典型的例子概率和信息量, 一个概率是 p 的事件的信息量只能是p 的对数如果满足: 两件(独立)事的信息量之和显然是相加的, 或者说通过不同流程获取一件事最终得到的信息量应该是一样的, 即信息量与观察的方式无关. 对于事件 $A\subseteq B\subseteq C$, 已知 C, 直接从 C 到 A的信息量与 先从 C 到 B, 再从 B 到 A 的信息量之和应当一样, 即, $I(A\mid C)=I(B\mid C)+I(A\mid B)$ , 又有 $P(A\mid C)=P(B\mid C),P(A\mid B)$ 所以I和 P 的关系就是泛函$I=\phi(P)$ 满足 $\phi(xy)=\phi(x)+\phi(y)$ , 要素出现, 也就只能是对数. 一般用$-\log p$ 更符合直觉.
对数与概率的联系是数学上的必然,所以在出现概率的场合, 特别是基于统计的机器学习中就会一直出现. logits 越大表示类别越有可能, 是一个从指标加到概率乘的过程,所以概率只能是 logits 的指数, softmax 是唯一解. 另外, logit 一般是 feature的线性组合, 也可以理解为是加法的结果, 所以其实是在假设每个维度是独立对概率做可加的贡献.
多写几句无关内容, 接受了信息量是 $-\log p$, 香农熵就是一个分布信息量的期望, 多少信息量就需要多少 bit 编码, 也就是理想平均码长.
交叉熵 $H(p,q)=-\sum_x p(x) \log q(x)$ 就是用错分布去算信息量的期望, 或者说用错编码方式去编码得到的长度. KL 散度就是因为用错分布导致这个期望差了多少, 编码长度长了多少.
互信息 $I(p,q) = H(p)-H(p|q)$ 就是观察到 q 的情况下, p 的信息量降低了多少(如果独立,就不降低). 已知 q 的话,给 p 编码能节省多少码长.
ELO
一个特别好的应用是 ELO 等关于胜率的分数. 对于胜率或者更通用的二者比较主要有两种建模: Thurstone: 双方表现都是正态分布, 某方胜率也是正态分布; Bradley-Terry: 胜率正比于双方强度数值, 胜率之比也就是强度之比就是赔率, 这不线性导致强度不好比较,所以用强度的对数.
ELO 想要一个分数能衡量(连续)对抗中的水平. (B-T 版本的)定义是, A B 对抗结果 A 的得分期望是 $E_{A}={\frac {1}{1+10^{(R_{B}-R_{A})/400}}}$ , 叫得分期望不说胜率是要考虑打平的情况, 根据实际结果更新分数$R’=R+K(S-E)$一般 K 用 16 或 32. 理想的分数是要分差能描述水平差异,也就是谁更可能胜, 胜率高多少, ELO分差是胜率的差别的对数 (logistic regression 中用到的几率 odds, 体育比赛叫赔率) $\frac{E_A}{E_B}=10^{(R_A-R_B)/400}, R_A-R_B =C \log (E_A/E_B)$ . 400和10 让分数比较容易记忆,分差表达的意思也比较容易计算(并没有..), 400 分差即赔率10:1, 800 100:1 , etc.
用上边对数必然出现的理论: A 获胜的概率为 P(A>B), 不考虑平局, P(A>B)+P(A<B)=1 再设不同对手的对抗结果是独立的, 对于分数依次升高的 A B C 三人, $d(A,C)=d(A,B)+d(B, C)$ , $\frac{P(A>C)}{P(C>A)} = \frac{P(A>B)}{P(B>A)} \frac{P(B>C)}{P(C>B)}$ , 那么 d 就只能是 P 的对数, 或者说 P 是 d 的指数, $\frac{P(A>B)}{P(B>A)}\propto e^{R(A)-R(B)}$
热力学 统计力学
Maxwell 在早期统计力学也用到了只能是指数的规律. 他先假设气体分子的速度是方向无关的, 只和动能也就是速率相关, 对于任意一个坐标系 xyz, 速度是(0,3,4)的分子和速度是(5,0,0)的分子其实是一类, 即存在一个 F 只用速率可以表述速度的联合分布 $f(v_x,v_y,v_z)=F(v_x^2+v_y^2+v_z^2)$ . 他又假设在不同的方向分量上的分布是独立的, 即 $f(v_x,v_y,v_z)=\phi(v_x)\phi(v_y)\phi(v_z)$ , 一边乘一边加的要素出现了, 稍微推导一下就得到了速率平方/每个方向的速度平方的分子数概率密度正比于它的指数. 玻尔兹曼把这里的动能扩展到粒子总能量, 又引入微观状态数来定义热力学熵.
费曼讲统计力学的时候也有一个简洁的推导. 已知理想气体方程 $PV=NkT$ 或 $P=nkT$ n 是单位体积的分子数. 我们想要知道因为重力的影响, 高处气体和低处气体的压强区别. 假设存在一个很高的等温封闭空气柱, 在高度为 $h+dh$ 这个截面(很矮的圆柱)上下, 截面底向上的压强的力应该等于界面顶向下的压强力+圆柱内所有分子的重力, 即 $dP=P_{h+dh}-P_h=-mgndh$, $ndh$是单位截面体积的分子数, 带入理想气体方程消去 P 得到 $dnkT=-mgndh$ $\frac{dn}{dh}=-\frac{mg}{kT}n$, 要素出现, n 的变化率是自己, 所以 n 是 h 的指数: $n=c e^{-mgh/kT}$ .