人工データをロジスティック回帰モデルで識別させてみよう(0) 〜 データ生成プログラム
以下を適当な名前で保存して,ipython 上で実行してみよう. このプログラムでは3クラスのデータを2次元の正規分布で生成してますが,nclass を 2 にしたら赤と緑の2クラスのデータを作ることもできます.
#gist(08915ac166e2316568346be4c5b6e1c6);
人工データをロジスティック回帰モデルで識別させてみよう (1) 〜 2クラス識別の実験
上記プログラムで得られる2クラスのデータを学習データとして,ロジスティック回帰モデルの交差エントロピーをSGDによって最小化する学習プログラムを作成しよう.
学習が一定回数(たとえば \( N \) 回)進むたびに交差エントロピー \( H \) と誤識別率(\( z = 0.5 \)を境にしてどっちと識別したか判断する)を表示するようにしよう. 構成はこんな感じ:
学習データの散布図を描く xx = np.asarray( plt.xlim() ) yy = -( a * xx + c ) / b # 本当は b → 0 のときのこととかちゃんと考えるべき line = matplotlib.lines.Line2D( xx, yy ) ax.add_line( line ) fig.show()