2016-10-11 15 views
2

softmax回帰を使用してニューラルネットワークを作成しようとしています。私は、次の回帰式を使用しています:softmax回帰の実装

enter image description here

は、私が1000x100の入力を持っているとしましょう。言い換えれば、10x10の各次元の1000個の画像があるとします。今、画像がA、B、C、D、E、F、G、H、I、Jからの文字の画像で、これを予測しようとしているとしましょう。私のデザインは次のとおりです:100の入力(各画像)と10の出力を持つこと。

私は以下の疑問を持っています。分子がx^nの上付き文字であると仮定すると、w(w =重みは次元数が出力の数を表す10×100-10であり、100が入力の数を表す)の内積と、 x(単一のイメージ)またはすべてのイメージを組み合わせた(1000x100)?私はPythonでコーディングしているので、wとx^T(10x100 dot 100x1000)の積を計算すると、その指数をどのように作ることができるのか分かりません。私はnumpyを使用しています。私はこれらの行列の周りに指数として持ち上げる方法について心を抱いて苦労しています。

+0

1)x^nは、前のレイヤからのすべてのノードの出力を表します。それは指数ではありません。 w_iは、softmax層におけるノードiの重みベクトルを表す。 2)ドットプロダクトは常に2つの同じサイズのベクトルで実行されます。 [こちらの実装はこちら](https://github.com/supersaiyanmode/Image-Orientation-Detector/blob/master/orient.py#L52)をご覧ください。 – SuperSaiyan

答えて

0

ニューラルネットワークをトレーニングする場合は、Theanoライブラリをチェックする価値があります。 tanh,softmaxなどのようなさまざまな出力スレッシュホールド機能を備え、GPU上のニューラルネットワークのトレーニングを可能にします。

また、x^nは上の式の最後の層の出力であり、指数に入力されません。行列を指数にすることはできません。

softmax回帰の詳細を確認する必要があります。 Thisが役に立ちます。

関連する問題