タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

pythonとPythonとNNに関するtnalのブックマーク (4)

  • 共役勾配法によるニューラルネットのパラメータ推定 - 人工知能に関する断創録

    Courseraの機械学習ネタの続き。前回は、ロジスティック回帰のパラメータ推定(2014/4/15)に共役勾配法(Conjugate Gradient: CG法)を使いました。今回はより複雑なニューラルネット(多層パーセプトロン)のパラメータ推定に共役勾配法を適用してみました。 以前、多層パーセプトロンで手書き数字認識の実験をしたとき(2014/2/1)は、共役勾配法ではなく、勾配降下法(Gradient Descent)を用いてパラメータの更新式を自分で書いていました。 self.weight1 -= learning_rate * np.dot(delta1.T, x) self.weight2 -= learning_rate * np.dot(delta2.T, z) 勾配降下法は、学習率(learning rate)を適切な値に設定しないと収束が遅い、発散するなど欠点があります

    共役勾配法によるニューラルネットのパラメータ推定 - 人工知能に関する断創録
  • 多層パーセプトロンで手書き数字認識 - 人工知能に関する断創録

    多層パーセプトロンが収束する様子(2014/1/23)の続き。数字認識は前にニューラルネットによるパターン認識(2005/5/5)をJavaで作りましたが今回はPythonです。 今回は、多層パーセプトロンを用いて手書き数字を認識するタスクを実験します。今回からscikit-learnというPython機械学習ライブラリを活用しています。ただ、scikit-learnには多層パーセプトロンの正式な実装はない*1ため多層パーセプトロンのスクリプトはオリジナルです。今回から比較的大きなデータを扱うためなるべく高速に動作し、かつPRMLと変数名を合わせることで理解しやすいようにしました。 digitsデータ 手書き数字データは、MNISTというデータが有名です。PRMLの付録Aでも紹介されています。今回はいきなりMNISTではなく、scikit-learnのdigitsというより単純なデータセ

    多層パーセプトロンで手書き数字認識 - 人工知能に関する断創録
  • 多層パーセプトロンが収束する様子 - 人工知能に関する断創録

    多層パーセプトロンによる関数近似(2014/1/22)の続きです。 もう少しスクリプトを改造し、実際に各重みと出力がどのように収束するかアニメーションにしてみました。ほとんどの関数は最初に急激に変化したあとだんだん収束していく様子が見てとれます。|x|は最初は誤差が減らずローカルミニマムにはまったかな?と思ったのですが、しばらく待っていたら急激に誤差が減りました。よかった、よかった。 残りは http://www.youtube.com/channel/UC4DmXhmsKZT48cRD6znEXaw このアニメーションを実行するスクリプトです。matplotlibにwxPythonを組み合わせることでアニメーションを実現しています。このアニメーションの書き方は、短時間フーリエ変換(2011/7/16)でも使いました。 次回は、数字の手書きデータを認識するニューラルネットを作りたいと思いま

    多層パーセプトロンが収束する様子 - 人工知能に関する断創録
  • 多層パーセプトロンによる関数近似 - 人工知能に関する断創録

    パターン認識と機械学習(PRML)まとめ(2010/8/29)の続きです。以下、つづくかも?になってましたが、2014年はDeep Learningを勉強しよう(2014/1/4)と思っているので、関連するニューラルネットワーク関係の実験結果をもう少し追記します。 今回は、PRMLの5章ニューラルネットワークの中から図5.3にある多層パーセプトロンによる関数近似をPythonで実装してみました。 上の図にあるようにxを入れたときにsin(x)の近似値を出力するようなニューラルネットワークを学習します。もっと詳しく言うと (x, sin(x)) のたくさんの組(訓練データ)を教師データとして用いて、xを入れたときにsin(x)の近似値を出力するようにニューラルネットワークの重みを更新します。 多層パーセプトロン(Multilayer perceptron) p.228にあるようにバイアスパラ

    多層パーセプトロンによる関数近似 - 人工知能に関する断創録
  • 1