タグ付けされた質問 「neural-network」

人工ニューラルネットワーク(ANN)は、「ニューロン」(生物学的ニューロンの特性を模倣するプログラミング構造)で構成されています。ニューロン間の一連の重み付けされた接続により、ネットワーク設計者が実際のシステムのモデルを持たなくても、情報がネットワークを介して伝播し、人工知能の問題を解決できます。

3
ニューラルネットワークをトレーニングするためのオプティマイザーを選択するためのガイドライン
私はしばらくの間ニューラルネットワークを使用しています。ただし、私が常に苦労しているのは、ネットワークをトレーニングするためのオプティマイザーの選択です(backpropを使用)。私が通常行うことは、1つ(例えば、標準SGD)から始めて、それから他のものをほぼランダムに試すことです。良いオプティマイザーを見つけるためのより良い(そしてそれほどランダムではない)アプローチがあるかどうか、例えばこのリストから疑問に思っていました: SGD(勢いのあるなしにかかわらず) アダデルタ AdaGrad RMSProp アダム 特に、訓練データに何らかの性質がある場合、たとえば、それがまばらであることを考えて、他のものよりも一つを選択する理論的な正当性があるかどうかに興味があります。また、特定のドメインでは、一部のオプティマイザが他のオプティマイザよりもうまく機能することを想像します。たとえば、畳み込みネットワークとフィードフォワードネットワーク、または分類と回帰をトレーニングする場合です。 オプティマイザーの選択方法に関する戦略や直感を開発している方がいれば、それを聞いてみたいと思います。さらに、あるものを別のものよりも選択するための理論的な正当性を提供する作業があれば、それはさらに良いでしょう。

4
Kerasを使用したLSTM-RNNのハイパーパラメーター検索(Python)
Keras RNNチュートリアルから:「RNNには注意が必要です。バッチサイズの選択が重要であり、損失とオプティマイザーの選択が重要です。いくつかの構成は収束しません。」 したがって、これはKeras上のLSTM-RNNのハイパーパラメーターのチューニングに関するより一般的な質問です。RNNに最適なパラメーターを見つけるためのアプローチについて知りたいです。 KerasのGithubでIMDBの例から始めました。 メインモデルは次のようになります。 (X_train, y_train), (X_test, y_test) = imdb.load_data(nb_words=max_features, test_split=0.2) max_features = 20000 maxlen = 100 # cut texts after this number of words (among top max_features most common words) batch_size = 32 model = Sequential() model.add(Embedding(max_features, 128, input_length=maxlen)) model.add(LSTM(128)) model.add(Dropout(0.5)) model.add(Dense(1)) model.add(Activation('sigmoid')) # try using different optimizers …

4
ニューラルネットワークにおけるシグモイド関数の役割導関数
ニューラルネットワークにおけるシグモイド関数の微分の役割を理解しようとします。 最初に、シグモイド関数と、Pythonを使用した定義からのすべてのポイントの導関数をプロットします。この派生物の役割は正確に何ですか? import numpy as np import matplotlib.pyplot as plt def sigmoid(x): return 1 / (1 + np.exp(-x)) def derivative(x, step): return (sigmoid(x+step) - sigmoid(x)) / step x = np.linspace(-10, 10, 1000) y1 = sigmoid(x) y2 = derivative(x, 0.0000000000001) plt.plot(x, y1, label='sigmoid') plt.plot(x, y2, label='derivative') plt.legend(loc='upper left') plt.show()

1
ReLUが他のアクティベーション機能より優れている理由
ここでの答えは、-のsigmoidような活性化関数にあった勾配の消失と爆発を指しますが、Relu不利な点があり、それはその期待値です。の出力に制限はないReluため、その期待値はゼロではありません。Reluそれtanhが機械学習の専門家の間で最も人気があった前の時代を覚えていsigmoidます。その理由は、の期待値がtanhゼロに等しく、それがより深い層での学習がニューラルネットでより速くなるのを助けたからです。Reluこの特性はありませんが、その派生的な優位性を脇に置いておくとなぜうまく機能するのでしょうか。さらに、派生物も影響を受ける可能性があると思います。アクティベーション(の出力Relu)更新ルールの計算に関与しています。

3
ディープニューラルネットワークでのバギングとドロップアウト
バギングは、単一の予測子としてアンサンブルとして機能する複数の予測子の生成です。ドロップアウトは、考えられるすべてのサブネットワークを平均化するためにニューラルネットワークに教える手法です。最も重要なKaggleのコンペティションを見ると、この2つの技術は非常に頻繁に使用されているようです。実際の実装以外に理論的な違いは見られません。実際のアプリケーションで両方を使用する理由を誰が説明できますか?そして、両方を使用するとパフォーマンスが向上するのはなぜですか?

4
ニューラルネットワークの追加出力層(10進数から2進数)
私はオンラインブックからの質問に取り組んでいます: http://neuralnetworksanddeeplearning.com/chap1.html 追加の出力層が5つの出力ニューロンである場合、前の層のバイアスをそれぞれ0.5、重みをそれぞれ0.5に設定できることを理解できます。しかし、今の質問では、4つの出力ニューロンの新しい層を求めています。これは、で10の可能な出力を表すのに十分24242^{4}です。 誰かがこの問題を理解して解決するために必要な手順を説明してくれますか? 演習問題: 上記の3層ネットワークに追加の層を追加することにより、数字のビット単位の表現を決定する方法があります。下の図に示すように、追加のレイヤーは前のレイヤーの出力をバイナリ表現に変換します。新しい出力レイヤーの重みとバイアスのセットを見つけます。ニューロンの最初の3つの層は、3番目の層(つまり、古い出力層)の正しい出力の活性化が少なくとも0.99で、誤った出力の活性化が0.01未満であると仮定します。

2
検証セットとテストセットの両方を使用する理由
ニューラルネットワークについて考えます。 特定のデータセットについて、トレーニング、検証、テストセットに分割します。古典的な60:20:20の比率でそれを行うと仮定し、検証セットでチェックすることによりネットワークを検証することにより、過剰適合を防ぎます。次に、パフォーマンスを確認するためにテストセットでテストする必要はありますか? ネットワークの場合、検証セットと同じように見えないデータであり、両方の数も同じであるため、テストセットのエラーは検証セットと同じではありませんか? 代わりに、テストセットをマージしてトレーニングセットを増やし、トレーニングデータを増やしてネットワークトレーニングを改善し、検証セットを使用してオーバーフィットを防ぐことはできませんか?なぜこれをしないのですか?

1
ディープニューラルネットワーク-ReLUによる逆伝播
ReLUで逆伝播を導き出すのに多少の困難があり、いくつかの作業を行いましたが、正しい軌道に乗っているかどうかはわかりません。 コスト関数:ここで、は実数値で、は予測値です。また、 > 0は常に仮定します。 Y X12(y− y^)212(y−y^)2\frac{1}{2}(y-\hat y)^2yyyy^y^\hat yバツバツx 1層ReLU、1番目の層の重みはw1w1w_1 dCdw1= dCdRdRdw1dCdw1=dCdRdRdw1\frac{dC}{dw_1}=\frac{dC}{dR}\frac{dR}{dw_1} dCw1= (y−R e L U(w1x ))(x )dCw1=(y−ReLうん(w1バツ))(バツ)\frac{dC}{w_1}=(y-ReLU(w_1x))(x) 2層の番目の層の重みはで、2番目の層は、1番目の層を更新したかったw2w2w_2w1w1w_1w2w2w_2 dCdw2=dCdRdRdw2dCdw2=dCdRdRdw2\frac{dC}{dw_2}=\frac{dC}{dR}\frac{dR}{dw_2} dCw2= (y− R e LU(w1∗ R e LU(w2x ))(w1x )dCw2=(y−ReLうん(w1∗ReLうん(w2バツ))(w1バツ)\frac{dC}{w_2}=(y-ReLU(w_1*ReLU(w_2x))(w_1x) 以降R e L U(w1∗ R e LU(w2x ))= w1w2バツReLうん(w1∗ReLうん(w2バツ))=w1w2バツReLU(w_1*ReLU(w_2x))=w_1w_2x 3層ReLU、1番目の層の重みは番目の層および3番目の層w3w3w_3w2w2w_2w1w1w_1 dCdw3= dCdRdRdw3dCdw3=dCdRdRdw3\frac{dC}{dw_3}=\frac{dC}{dR}\frac{dR}{dw_3} dCw3= (y− R e L U(w1* R …

2
テストデータにも正規化を適用する必要がありますか?
著者識別問題に関するプロジェクトを行っています。データのトレーニングにtf-idf正規化を適用し、そのデータでsvmをトレーニングしました。 分類子を使用する場合、テストデータも正規化する必要があります。正規化の基本的な目的は、学習中に、学習アルゴリズムがより重要な機能により重点を置くようにすることだと感じています。そのため、トレーニングが完了すると、どの機能が重要であり、どれが重要ではないかをすでに知っています。正規化をテストデータにも適用する必要はありますか? この分野は初めてです。質問が愚かに見える場合は無視してください?

5
畳み込みニューラルネットワークのオーバーフィッティング。ドロップアウトが役に立たない
私はconvnetsで少し遊んでいます。具体的には、猫または犬(それぞれ12500)としてラベル付けされた25000個の画像で構成されるkaggle cats-vs-dogsデータセットを使用しています。 テストセットで約85%の分類精度を達成できましたが、90%の精度を達成するという目標を設定しました。 私の主な問題は過剰適合です。どういうわけか、それは常に起こることになります(通常、エポック8-10の後)。私のネットワークのアーキテクチャは、VGG-16に大まかに触発されています。具体的には、画像のサイズを128 x 128 x 3128x128x3128x128x3に変更し、次に実行します。 Convolution 1 128x128x32 (kernel size is 3, strides is 1) Convolution 2 128x128x32 (kernel size is 3, strides is 1) Max pool 1 64x64x32 (kernel size is 2, strides is 2) Convolution 3 64x64x64 (kernel size is 3, strides is 1) Convolution …

2
ニューラルネットワークの機能を選択する方法は?
この質問に対する明確な答えはないことはわかっていますが、大量のデータを持つ巨大なニューラルネットワークがあり、入力に新しい機能を追加したいとします。「最良の」方法は、新しい機能を使用してネットワークをテストし、結果を確認することですが、機能が非常に役立つかどうかをテストする方法はありますか?相関測定(http://www3.nd.edu/~mclark19/learn/CorrelationComparison.pdf)などが好きですか?

5
シーボーンヒートマップを大きくする
corr()元のdfからdf を作成します。corr()DFは、70 X 70から出てきたし、ヒートマップを可視化することは不可能です... sns.heatmap(df)。を表示しようとするcorr = df.corr()と、テーブルが画面に収まらず、すべての相関関係を確認できます。dfサイズに関係なく全体を印刷する方法ですか、ヒートマップのサイズを制御する方法ですか?
16 visualization  pandas  plotting  machine-learning  neural-network  svm  decision-trees  svm  efficiency  python  linear-regression  machine-learning  nlp  topic-model  lda  named-entity-recognition  naive-bayes-classifier  association-rules  fuzzy-logic  kaggle  deep-learning  tensorflow  inception  classification  feature-selection  feature-engineering  machine-learning  scikit-learn  tensorflow  keras  encoding  nlp  text-mining  nlp  rnn  python  neural-network  feature-extraction  machine-learning  predictive-modeling  python  r  linear-regression  clustering  r  ggplot2  neural-network  neural-network  training  python  neural-network  deep-learning  rnn  predictive-modeling  databases  sql  programming  distribution  dataset  cross-validation  neural-network  deep-learning  rnn  machine-learning  machine-learning  python  deep-learning  data-mining  tensorflow  visualization  tools  sql  embeddings  orange  feature-extraction  unsupervised-learning  gan  machine-learning  python  data-mining  pandas  machine-learning  data-mining  bigdata  apache-spark  apache-hadoop  deep-learning  python  convnet  keras  aggregation  clustering  k-means  r  random-forest  decision-trees  reference-request  visualization  data  pandas  plotting  neural-network  keras  rnn  theano  deep-learning  tensorflow  inception  predictive-modeling  deep-learning  regression  sentiment-analysis  nlp  encoding  deep-learning  python  scikit-learn  lda  convnet  keras  predictive-modeling  regression  overfitting  regression  svm  prediction  machine-learning  similarity  word2vec  information-retrieval  word-embeddings  neural-network  deep-learning  rnn 

3
ニューラルネットワークのトレーニングのためにカテゴリ型入力機能と連続入力機能を組み合わせる方法
カテゴリー型と連続型の2種類の入力特徴があるとします。カテゴリカルデータはワンホットコードAとして表すことができますが、連続データはN次元空間の単なるベクトルBです。A、Bはまったく異なる種類のデータであるため、単にconcat(A、B)を使用することは適切な選択ではないようです。たとえば、Bとは異なり、Aには番号順がありません。私の質問は、このような2種類のデータをどのように組み合わせるか、またはそれらを処理する従来の方法があるかどうかです。 実際、私は写真に示されているような素朴な構造を提案しています ご覧のように、最初のいくつかのレイヤーは、データAを連続空間の中間出力に変更(またはマップ)するために使用され、データBと連結されて、後のレイヤーの連続空間で新しい入力フィーチャを形成します。それが妥当なのか、それとも単なる「試行錯誤的な」ゲームなのか。ありがとうございました。

2
(PyTorchを使用して)不均衡なクラスに使用する損失関数は何ですか?
次のアイテムを含む3つのクラスのデータセットがあります。 クラス1:900要素 クラス2:15000要素 クラス3:800要素 規範からの重要な逸脱を示すクラス1とクラス3を予測する必要があります。クラス2はデフォルトの「通常の」ケースで、私は気にしません。 ここではどのような損失関数を使用しますか?CrossEntropyLossの使用を考えていましたが、クラスの不均衡があるため、重み付けする必要があると思いますか?実際にはどのように機能しますか?このように(PyTorchを使用)? summed = 900 + 15000 + 800 weight = torch.tensor([900, 15000, 800]) / summed crit = nn.CrossEntropyLoss(weight=weight) または、重量を逆にする必要がありますか?つまり、1 /重量? これは最初から正しいアプローチですか、それとも私が使用できる他の/より良い方法がありますか? ありがとう

8
ニューラルネットワークの学習方法
私は、1年生の学部生です(私の不慣れさを許すために、これについて言及しています)。教授の指導に基づいて、3ノードのニューラルネットワーク(動作する)をコーディングしました。ただし、AIとデータサイエンスでのキャリアを追求したいので、これらについて適切に詳細に学習したいと思います。ニューラルネットワーク構造、ディープラーニングなどについてもっと教えてくれる本やリソースはありますか。推奨事項はありますか? 注:私はJava、Python、Bash、JavaScript、Matlabに精通しており、C ++を少し知っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.