這幾天看的東西越來越怪?這次會突然跑去看log
、ln
、lg
的差異,是因為在看TFIDF的公式,其中讓我們討論的在於IDF的公式:
TFIDF 也是文字處理常用的,將文字轉換為向量的方式。與課程中提到的 word2vec 很像。所以今天不算歪樓吧!
當中又以lg
這個符號有所爭論。
但是,為了避免各位也混亂,我先列出在ISO 31-11標準裡的表示意思 :
表示法 | 意義 |
---|---|
lb(x) |
以2為底數的log(x) |
ln(x) |
以e 為底數的log(x) |
lg(x) |
以10為底數的log(x) |
再但是!!也有人用lg(x)
來表示以2為底數的log(x)
,維基百科裡面有這麼段話:
在數學中,以 2 為底的對數通常記為 log2 n。然而,還有一些其他表示法。
有些作者用 lg n 表示以 2 為底的對數,這也是芝加哥格式手冊中列出的表示形式。
用lg(x)
來表示以2為底數的log(x)
也是我所記憶的。ln
沒有異議;lb
倒是今天第一次知道。但是不管在這個頁面,還是這個頁面,都說lg
是以10為底數。在維基百科中,常用對數也是這麼寫:
常用對數的一般表示方法為
log x
,或簡寫成lg x
...
維基百科大家都可以編輯,可能有編輯錯誤。再來問問Google大神看看:
先來問問lg(10):
阿勒勒? 如果以10為底結果不是應該是1嗎?那lg(2)呢?
Great...
在計算機資訊領域中,一本經典的書籍INTRODUCTION TO ALGORITHMS大多數以lg
去計算,但是我們知道,在計算演算法複雜度時,大多以2為底數。
老實說,我沒怎麼看那本書。只有簡單翻過。
所以雖然ISO標準是以10為底數,作為常用對數。但是在資訊計算機領域,是用2為底數。