对数(log)的换算公式 您所在的位置:网站首页 log底数怎么化为一样的 对数(log)的换算公式

对数(log)的换算公式

2024-04-05 22:56| 来源: 网络整理| 查看: 265

对数公式的换算,对于算法复杂度的推导非常重要。但是我总忘,这次特地总结一下常用的对数公式,以备后用。

名称公式和差 log ⁡ α M N = log ⁡ α M + l o g α N \log_\alpha MN=\log_\alpha M+log_\alpha N logα​MN=logα​M+logα​N换底公式 log ⁡ α x = log ⁡ β x log ⁡ β α \log_\alpha x=\frac{\log_\beta x}{\log_\beta\alpha} logα​x=logβ​αlogβ​x​次方公式 log ⁡ a n x m = m n log ⁡ a x \log_{a^n}x^m=\frac{m}{n}\log_ax logan​xm=nm​loga​x互换 M log ⁡ a N = N log ⁡ a M M^{\log_aN}=N^{\log_aM} Mloga​N=Nloga​M倒数 log ⁡ a b = ln ⁡ b ln ⁡ a = 1 log ⁡ b a \log_ab=\frac{\ln b}{\ln a}=\frac{1}{\log_ba} loga​b=lnalnb​=logb​a1​链式 log ⁡ γ β log ⁡ β α = ln ⁡ β ln ⁡ γ ln ⁡ α ln ⁡ β = ln ⁡ α ln ⁡ γ = log ⁡ γ α \log_\gamma \beta\log_\beta\alpha=\frac{\ln \beta}{\ln \gamma}\frac{\ln \alpha}{\ln \beta}=\frac{\ln \alpha}{\ln \gamma}=\log_\gamma\alpha logγ​βlogβ​α=lnγlnβ​lnβlnα​=lnγlnα​=logγ​α还原 α log ⁡ α x = x = log ⁡ α α x \alpha^{\log_\alpha x}=x=\log_\alpha \alpha^x αlogα​x=x=logα​αx

注:公式总结自维基百科:https://zh.wikipedia.org/wiki/%E5%AF%B9%E6%95%B0。

基底是 e e e还是2的问题

在一些计算机相关的领域,书写 log ⁡ \log log函数时经常会省略基底(base),例如时间复杂度 O ( log ⁡ N ) O(\log N) O(logN),或者在机器学习领域用来做多分类的交叉熵损失函数: L c e ( x , y ) = − ∑ c = 1 M y o , c log ⁡ ( p o , c ) L_{ce}(x,y)=-\sum^M_{c=1}y_{o,c}\log(p_{o,c}) Lce​(x,y)=−∑c=1M​yo,c​log(po,c​),这个时候我们会想知道这些 log ⁡ \log log函数的基底到底是数学常数 e e e还是2?

一般情况下,算法复杂度和信息论领域(例如交叉熵)的 log ⁡ \log log计算都是以2为底,但也有少部分以 e e e为底的情况。其实我们对 log ⁡ \log log的基底无需过分担心,因为以 e e e为底得出的结果与以2为底得出的结果比值是个常数,使用换底公式即可求得: log ⁡ e N log ⁡ 2 N = log ⁡ k N log ⁡ k e / log ⁡ k N log ⁡ k 2 = log ⁡ k 2 log ⁡ k e = log ⁡ e 2. \frac{\log_eN}{\log_2N}=\frac{\log_kN}{\log_ke}/\frac{\log_kN}{\log_k2}=\frac{\log_k2}{\log_ke}=\log_e2. log2​Nloge​N​=logk​elogk​N​/logk​2logk​N​=logk​elogk​2​=loge​2. 因此,我们不应该过分关注 log ⁡ \log log函数的基底是 e e e还是2的问题,它们计算结果的比值总是一个常数,采用任何一个基底都不会对要解决的问题本身产生影响。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有