対数

1でない正数aと正数Nとの間にN = a^bの関係がある時、そのbのこと。
bを、aを底とするNの「対数」と言い、log[a]N = bと表す。
10を底とする常用対数や、eを底とする自然対数を、単に「対数」で指す場合がある

import math
print(math.log10(x) for x in (1,10,100,1000,10000))

ん?

print(math.log10(10))
print(math.log10(-1))

[vagrant@localhost python]$ python app.py
1.0
Traceback (most recent call last):
File “app.py”, line 4, in
print(math.log10(-1))
ValueError: math domain error

import numpy as np 
import matplotlib.pyplot as plt 

x = np.arange(0, 10, 0.01) + 0.00001
y = np.log10(x)
plt.plot(x, y)
plt.savefig('01')

log[10]は0に近づくとマイナスになる。

で、対数って何に使うか?
-> 数字がでかくなる時に、y軸を対数スケールにすると分かりやすくなる …

-> 掛け算、割り算
log[x][y] = log[x] + log[y]
log[x]/[y] = log[x] – log[y]
機械学習には必須。。

-> 2^x = N だから、 x = log[2]N
2分法のアルゴリズムの計算か。あれ、これは結構重要じゃん

「あとどれ位やればある程度マスターできる」って思考が宜しくないね。