機械学習のExampleから覚えるPython(ランダム)
今までPythonを感覚的に使っていたので、改めて文法を知ろうかなと。
その際にいま流行りの機械学習(深層学習)のExampleを例にすると
わかりやすいのかなと思ったので書いてみる。
※基本的には Python3.x系のつもりで記載してます
今回は、重み(Weight)に使われているランダムについてです。
TensorFlowでは、Initilizerで指定しているものです。
Bias
は初期値:0 のことが多いですが、Weight
はランダムで初期化されることが多いです。
コードは Numpyで記載しますが、Python内にもramdomパッケージはあります。
正規分布
Normal(Gaussian)と呼ばれるやつです。
import numpy as np import matplotlib.pyplot as plt mu, sigma = 0, 1.0 # mean and standard deviation r = np.random.normal(mu, sigma, 2000) count, bins, ignored = plt.hist(r, 30, density=True) plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) * np.exp( - (bins - mu)**2 / (2 * sigma**2) ), linewidth=2, color='r') plt.show()
生成されたデータはこんな感じになります。
一様分布
今回は uniform
で記載します。
import numpy as np import matplotlib.pyplot as plt count, bins, ignored = plt.hist(s, 15, density=True) plt.plot(bins, (np.ones_like(bins)*0.5), linewidth=2, color='r') plt.show()
生成されたデータはこんな感じになります。