BlogCat

1/17ページ
  • 2019.02.22

[NumPy] 多項式の計算

1次元多項式 1次元多項式オブジェクト  numpy.poly1d() は 1次元多項式オブジェクト (numpy.lib.polynomial.poly1dクラスのインスタンス) を生成します。  np.poly1d(c_or_r, r=False, variable=None)  c_or_r には係数または根を渡します。第 2 引数 r が False ならば c (係数) 、True の場 […]

  • 2019.02.17

最尤推定 (MLE)

気温と降雨/降雪  次のデータは、2017年11月から2018年1月にかけて、青森県青森市で降水(降雨または降雪)のあった日の最低気温と、降雨・降雪の現象を示すデータです(気象庁が提供しているデータを元に作成しました)。入力データベクトル $\boldsymbol{\mathrm{X}}$ の各要素は気温 (℃)、目標データベクトル $\boldsymbol{\mathrm{Y}}$ の各要素は雪 […]

  • 2019.02.11

[Matplotlib] 注釈と矢印

注釈と矢印  グラフのある特定の位置を明示するために、Axes.annotate() を使って 注釈 (annotation) と 矢印 (arrow) を表示することができます。まずは簡単な例を示します。 # https://python.atelierkobato.com/annotate/ # リストA-1 import numpy as np import matplotlib.pyplo […]

  • 2019.02.08

検証曲線 (validation curve)

検証曲線(validation curve) scikit-learnによる回帰分析  これまでの記事では、ほとんどゼロからモデルを構築しながら、色々な回帰分析の手法について学んできました。今回は回帰分析シリーズの締め括りとして、scikit-learn という機械学習専用ライブラリを使った線形回帰の手順を解説します。  今回の分析で用いるモジュールをまとめてインポートしておきます。 # http […]

  • 2019.02.03

非線形モデル② 複数のモデルを比較検討します

モデルの比較  今回は 複数の非線形モデルを作成して、曲線の形状や評価値を見ながら、比較検討作業を行ないます。 関数の定義  そのための準備として、最初に「任意の関数オブジェクトを渡すと、平均 2 乗誤差を計算する関数を返す関数」を定義しておきます。 # https://python.atelierkobato.com/model-compare/ # 非線形モデル リストM4-B-1 # モジュ […]

  • 2019.02.01

非線形モデル① 非線形ガウス基底モデル

非線形モデル  個々の基底関数が入力データ $x$ 以外の内部パラメータ $p,\ q,\ r,\ ...$ を含んでいる場合、これを   \[\phi(x,\ p,\ q,\ r,\ ...)\] と表すことにします。たとえば、ガウス基底の場合は $\mu$ と $\sigma$ が内部パラメータにあたります。線形モデルにおいては基底関数同士の線形結合   \[f(x)=\sum_{k}a_k\ […]

  • 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 のモデルのほうがよさそうに思えます。   […]

1 17