タグ

ブックマーク / blog.yusugomori.com (2)

  • PythonによるDeep Learningの実装(Logistic Regression 編) - Yusuke Sugomori's Blog

    前回の制約付きボルツマンマシン(Restricted Boltzmann Machine, RBM)編に引き続き、今回はロジスティック回帰(Logistic Regression)のコードを紹介します。 Deep Learningにおいて、ロジスティック回帰は最後の出力層で用います。途中の層でRBMにより特徴抽出を行い、最後にロジスティック回帰によりラベルを出力して学習を行います。 ソースは以下。 重み行列のWとバイアス項のbは、確率的勾配降下法(Stochastic Gradient Descent, SGD)により更新します。その際、L2正則化を導入することで、高周波のノイズを取り除き、過学習を防ぐことができます。また、多クラス分類に用いるため、sigmoid関数ではなく、softmax関数を使っています。 コードを実行すると、交差エントロピー誤差関数が返す値が減少していくのが分かるか

    PythonによるDeep Learningの実装(Logistic Regression 編) - Yusuke Sugomori's Blog
  • PythonによるDeep Learningの実装(Deep Belief Nets 編) - Yusuke Sugomori's Blog

    前回、前々回とそれぞれロジスティック回帰(Logistic Regression)、制約付きボルツマンマシン(Restricted Boltzmann Machine, RBM)を紹介しました。 手法の説明については、各記事を参照してください。 今回は、これら2つを組み合わせて実装されている Deep Belief Nets (DBN) について紹介します。今回のコードは長いので、記事の最後の方に載せています。 DBNは Greedy Layer-Wise Training of Deep Networks [Bengio 2007] で提案されている手法ですが、こちらがDeep Learningのパイオニアと言っても過言ではありません。 DBNは多層ニューラルネットワークの形をしています。従来の研究では、多層にするほど精度が下がるという問題が指摘されていましたが(多層のため誤差の重みが少

    PythonによるDeep Learningの実装(Deep Belief Nets 編) - Yusuke Sugomori's Blog
  • 1