2019年1月

1/2ページ
  • 2019.01.30

[Matplotlib] 日本語を表示する方法

タイトルとテキストに日本語を表示する方法  Matplotlib を初期設定のまま使用していると、Axes.title() や Axes.text() の引数に日本語の文字列を渡しても、文字化けを起こしてしまいます。 # Figureを作成して、Axesを追加 fig = plt.figure(figsize = (5, 5)) ax = fig.add_subplot(111) # Axesのタ […]

  • 2019.01.29

線形基底関数モデル⑤ K-分割交差検証

K-分割交差検証  前回記事で扱ったホールドアウト検証は、入力データと目標データを一つの方法で分割するので、結果に偏りが生じる可能性があります。そこで今回は下図のようにデータを 4 等分して、テストデータと訓練データの役割を変えながら、近似曲線とテストデータの誤差を計算し、最後に 4 個の標準偏差の平均を求めて、これをモデルの評価基準とします。    標準偏差の平均が最小となる基底関数の組合わせが […]

  • 2019.01.27

線形基底関数モデル④ ホールドアウト検証

オーバーフィッティング  次の図は、前回記事 のランダム・ガウス基底のコードで、試行回数NT (Number of Trials) を 1000 回に設定して描いた近似曲線です。  標準偏差 SD は 2.874 となり、NT = 10 のときよりも大幅に下がっています。しかし、波打つような曲線になっていることには違和感を覚えます。直感的には NT = 10 のモデルのほうがよさそうに思えます。 […]

  • 2019.01.26

剰余演算

剰余演算の定義  $a$ を $b$ で割ったときの剰余(余り) $r$ は   \[a=bq+r\quad (0\leq r\leq |b|)\] によって定義され、   \[r=a\ \mathrm{mod}\ b\] と表します。$q$ は商です。Python においては $q$ だけが(浮動小数点数型の)整数値であり、$a,\ b,\ r$ は必ずしも整数値であるとは限りません。たとえば、 […]

  • 2019.01.24

ReLU(ランプ関数)

ReLU(ランプ関数) ReLUの定義  ReLU (Rectified Linear Unit) は、ニューラルネットワークの分野で活性化関数として用いられる関数の1つです。一般には ランプ関数 (ramp function) とよばれ (ramp は「傾斜」の意)、次式で定義されます。   \[R(x)=\begin{cases}0 & (x\lt 0)\\[6pt] x & (x\geq 0 […]

  • 2019.01.24

線形基底関数モデル③ ガウス基底モデル

ガウス基底モデル  前回までは多項式近似を扱いましたが、今回は   \[\phi(x)=\exp\left\{-\frac{(x-\mu)^2}{2\sigma^2}\right\}\] で定義されるガウス関数を基底関数として用いた ガウス基底モデル を扱います。 ガウス基底モデル①  $\sigma=10,\ \mu=20k\ (k=0,\ 1,\ 2,\ 3,\ 4)$ とした 5 個の ガウ […]

  • 2019.01.22

線形基底関数モデル② Fit_funcクラス

Fit_funcクラス  前回記事では、入力変数 $x$ と目標データ $y$ の関係を基底関数 $\phi_k(x)$ の線形結合   \[f(x)=a_0\phi_0(x)+a_1\phi_1(x)+a_2\phi_2(x)+\cdots +a_{M-1}\phi_{M-1}(x)+a_M\] によって近似するようなモデル(線形基底関数モデル)について学びました。今後、色々な基底関数を選びなが […]

  • 2019.01.20

[NumPy] 配列データの書き込み/読み込み

 NumPy の配列データ (ndarray) をファイルに保存する方法 について解説します。 numpy.save()  numpy.save() を使うと、配列を NumPy 独自のバイナリ形式のファイル (npyファイル) に書き込むことができます。  numpy.save(ファイル名, 配列)  データを書き込むときにはファイルの拡張子を省略できますが、numpy.load() を使って保 […]

  • 2019.01.17

線型基底関数モデル① 多項式近似

線型基底関数モデル 新しい年齢と体重のデータ  前回までは 25歳以下に限定した年齢と体重のデータを使っていました。今回は年齢制限をなくして、幅広い年齢層から 20人を無作為抽出したデータを使用します。 # https://python.atelierkobato.com/kitei/ # 線形基底関数モデル リストM3-A-1 # モジュールをインポート import numpy as np i […]

  • 2019.01.15

線型回帰モデル② 最小二乗法による単回帰分析

線型回帰モデル② 最小二乗法による単回帰分析  前回記事では年齢データ $x_k$ と体重データ $y_k$ をもとに、   \[Q(a,b)=\frac{1}{N}\sum_{k=0}^{N-1}\{w(x_k)-y_k\}^2=\frac{1}{N}\sum_{k=0}^{N-1}(ax_k+b-y_k)^2\] を最小にするような $a,\ b$ を勾配法のアルゴリズムで計算させて、年齢 $ […]