iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 29
0
Google Developers Machine Learning

又LAG的ML學習筆記系列 第 29

從開始到混亂的log、ln、lg理解之旅

這幾天看的東西越來越怪?這次會突然跑去看loglnlg的差異,是因為在看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 ...

/images/emoticon/emoticon06.gif


維基百科大家都可以編輯,可能有編輯錯誤。再來問問Google大神看看:

先來問問lg(10)

https://ithelp.ithome.com.tw/upload/images/20191015/20112470HJM2ncHWCK.png

阿勒勒? 如果以10為底結果不是應該是1嗎?那lg(2)呢?

https://ithelp.ithome.com.tw/upload/images/20191015/20112470NWyCMHaTMZ.png

Great.../images/emoticon/emoticon38.gif


小總結

在計算機資訊領域中,一本經典的書籍INTRODUCTION TO ALGORITHMS大多數以lg去計算,但是我們知道,在計算演算法複雜度時,大多以2為底數。

老實說,我沒怎麼看那本書。只有簡單翻過。

所以雖然ISO標準是以10為底數,作為常用對數。但是在資訊計算機領域,是用2為底數。


上一篇
康威生命遊戲
下一篇
簡單使用scikit-learn裡的TFIDF看看
系列文
又LAG的ML學習筆記32

尚未有邦友留言

立即登入留言