データサイエンス

データサイエンスの専門家、機械学習の専門家、およびこの分野に関する知識が豊富な方へ

2
拡張型畳み込みとデコンボリューションの違いは何ですか?
これら2つの畳み込み演算は、現在、深層学習で非常に一般的です。 このペーパーで拡張した畳み込み層について読みました:WAVENET:A GENERATIVE MODEL for RAW AUDIO とデコンボリューションはこの論文にあります:セマンティックセグメンテーションのための完全たたみ込みネットワーク どちらも画像をアップサンプリングするようですが、違いは何ですか?

1
WindowsでのRのGPU高速データ処理
現在、ビッグデータに関する論文を執筆しており、データ分析にRを多用しています。ゲームの理由で、PCにGTX1070を使用しています。ですから、講師がやっていることのいくつかの処理をスピードアップすることができれば本当にクールだと思いましたが、これを行うのは簡単ではないようです。gpuR、CUDA、Rtools、およびその他のいくつかのビットとボブをインストールしました。たとえば、ゲノム発現データからgpuMatrixオブジェクトを作成できますが、両方ともgpuMatrixオブジェクトで機能する関数をまだ見つけていませんまた、パフォーマンスに目立った違いがあります。おそらくこれは、gpuRパッケージに固有の制限に関連しているだけです-他のいくつかのパッケージは、私が探しているようなもののように聞こえる関数を持っていることについて話しているようです これらのパッケージのほとんどすべてがLinux専用ですが、WindowsでRのGPUサポートを実装することは特に難しいですか?または、Windowsでこれを行うために使用できるパッケージが非常に少ないという他の理由がありますか?ある意味で私は興味があるだけですが、実際に機能させることも非常にクールです。Windowsで利用できるものがほとんどないことに驚き、通常はその逆です。
11 r  gpu  parallel 

1
Tensorflowでバッチをトレーニングする
現在、大きなcsvファイル(> 70GBで6,000万行以上)でモデルをトレーニングしようとしています。そのために、tf.contrib.learn.read_batch_examplesを使用しています。この関数が実際にデータを読み取る方法を理解するのに苦労しています。たとえば50.000のバッチサイズを使用している場合、ファイルの最初の50.000行を読み取りますか?ファイル全体(1エポック)をループする場合は、num_rows / batch_size = 1.200ステップ数をestimator.fitメソッドに使用する必要がありますか? 現在使用している入力関数は次のとおりです。 def input_fn(file_names, batch_size): # Read csv files and create examples dict examples_dict = read_csv_examples(file_names, batch_size) # Continuous features feature_cols = {k: tf.string_to_number(examples_dict[k], out_type=tf.float32) for k in CONTINUOUS_COLUMNS} # Categorical features feature_cols.update({ k: tf.SparseTensor( indices=[[i, 0] for i in range(examples_dict[k].get_shape()[0])], values=examples_dict[k], shape=[int(examples_dict[k].get_shape()[0]), 1]) for …

1
TensorflowニューラルネットワークTypeError:Fetch引数に無効なタイプがあります
私はテンソルフローを使用して単純なニューラルネットワークを作成していますが、自分で収集したデータを使用していますが、それは協力的ではありません:PIは、修正できない、または修正を見つけることができないエラーに遭遇しました。 エラーメッセージ: TypeError:2861.6152のFetch引数2861.6152に無効なtypeが含まれています。文字列またはTensorでなければなりません。(float32をTensorまたはOperationに変換できません。) エラーは私のコードの次の行を参照しています: _, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output}) コードで次の行をコメントアウトしてもエラーが発生しないことはすでにわかっています。 prediction = neural_network_model(champion_data) cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction, item_data)) optimizer = tf.train.AdamOptimizer().minimize(cost) _, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output}) したがって、これらの行の1つが、期待どおりに表示されないものを取得しています。私はすでに明白なことを試しました(batch_inputとbatch_outputからnp.array()を削除するか、それをlist()で置き換えます)が、それは問題を解決しません。私の現在の仮説は、neural_network_model(champion_data)の出力が何らかの形で間違った形またはタイプであるというものですが、それをテストする方法、またはそうであることが判明した場合の解決方法はわかりません。 完全なコードはここにあります:https : //gist.github.com/HasseIona/4bcaf9f95ae828e056d5210a2ea07f88 編集:neural_network_modelに入力されるチャンピオンデータ、予測、およびコストがすべてテンソルであることを確認しました。私は問題がなんとかしてコードのfeed_dict = {}の部分にあるという仮説を使用して問題を解決しようとしましたが、今のところどこにも行きません

2
畳み込みニューラルネットワークの線形埋め込み層を理解できませんか?
私は「ディープランキングで細かい画像の類似性を学習する」という論文のネットワークアーキテクチャを持っていて、3つの並列ネットワークからの出力が線形埋め込み層を使用してどのようにマージされるのか理解できません。このレイヤーに記載されている唯一の情報は、 最後に、3つの部分からの埋め込みを正規化し、それらを線形埋め込みレイヤーと組み合わせます。埋め込みの次元は4096です。 作者がこのレイヤーについて話しているときに、作者が何を意味するのかを理解するのを手伝ってくれる人はいますか?

4
文から情報を抽出する
シンプルなチャットボットを作成しています。ユーザーの応答から情報を取得したい。シナリオ例: Bot : Hi, what is your name? User: My name is Edwin. 文からエドウィンという名前を抽出したいと思います。ただし、ユーザーは次のようなさまざまな方法で応答できます。 User: Edwin is my name. User: I am Edwin. User: Edwin. 単語間の依存関係に頼ろうとしましたが、うまくいきません。 この問題に取り組むためにどのようなテクニックを使用できるかについてのアイデアはありますか? [更新しました] 名前付きエンティティの認識と、品詞のタガーとパーサーをテストしました。ほとんどのモデルは、個人名または固有名詞のエンティティの最初の文字が大文字でなければならないようにトレーニングされていることがわかりました。これは通常のドキュメントにも当てはまりますが、チャットボットには関係ありません。例えば User: my name is edwin. ほとんどのNERはこれを認識できませんでした。
11 python  nlp 

1
Kerasでカスタムパフォーマンスメトリックを定義する方法
以下に従ってKeras(Tensorflowバックエンド)でカスタム指標関数(F1-Score)を定義しようとしました: def f1_score(tags, predicted): tags = set(tags) predicted = set(predicted) tp = len(tags & predicted) fp = len(predicted) - tp fn = len(tags) - tp if tp>0: precision=float(tp)/(tp+fp) recall=float(tp)/(tp+fn) return 2*((precision*recall)/(precision+recall)) else: return 0 これまでのところ、とても良いですが、モデルのコンパイルに適用しようとすると: model1.compile(loss="binary_crossentropy", optimizer=Adam(), metrics=[f1_score]) エラーが発生します: TypeError Traceback (most recent call last) <ipython-input-85-4eca4def003f> in <module>() 5 model1.add(Dense(output_dim=10, …


6
機械学習におけるモデルの定義
基礎となる分布を常に想定しているわけではないため、この定義は完全には当てはまりません。では、実際にモデルとは何でしょうか?指定されたハイパーパラメーターを持つGBMをモデルと見なすことはできますか?モデルはルールのコレクションですか?


2
畳み込みニューラルネットワークを使用したドキュメント分類
CNN(畳み込みニューラルネットワーク)を使用してドキュメントを分類しようとしています。短いテキスト/文のCNNは多くの論文で研究されています。ただし、長いテキストやドキュメントにCNNを使用した論文はないようです。 私の問題は、ドキュメントの機能が多すぎることです。私のデータセットでは、各ドキュメントに1000を超えるトークン/単語があります。各例をCNNに送るために、word2vecまたはgloveを使用して各ドキュメントをマトリックスに変換し、大きなマトリックスを作成します。各行列の高さはドキュメントの長さで、幅は単語埋め込みベクトルのサイズです。私のデータセットには9000を超える例があり、ネットワークのトレーニングに長い時間がかかり(1週間)、パラメーターの微調整が難しくなっています。 別の特徴抽出方法は、単語ごとにワンホットベクトルを使用することですが、これにより非常にスパース行列が作成されます。そしてもちろん、この方法では、以前の方法よりもトレーニングに時間がかかります。 それで、大きな入力行列を作成せずに特徴を抽出するためのより良い方法はありますか? また、可変長のドキュメントをどのように処理する必要がありますか?現在、ドキュメントを同じ長さにするために特別な文字列を追加していますが、これは良い解決策ではないと思います。

2
「意図的認識機能」はどのように機能しますか?
AmazonのAlexa、NuanceのMix、およびFacebookのWit.aiはすべて同様のシステムを使用して、テキストコマンドをインテントに変換する方法、つまりコンピューターが理解できるものを指定する方法を指定しています。これの「正式な」名前が何であるかはわかりませんが、「意図認識」と呼んでいます。基本的に、「ライトを50%の明るさに設定してください」からに進む方法lights.setBrightness(0.50)です。 それらが指定される方法は、インテントに関連付けられ、オプションで「エンティティ」(基本的にパラメータ)の場所でタグ付けされた「サンプル発話」のリストを開発者に提供することです。Wit.aiの例を次に示します。 私の質問は、これらのシステムはどのように機能するのですか?それらはすべて非常に類似しているので、私はそれらすべてが使用するいくつかの精巧な仕事があると思います。誰か知っていますか? 興味深いことに、Houndifyは正規表現に似た別のシステムを使用しています["please"] . ("activate" | "enable" | "switch on" | "turn on") . [("the" | "my")] . ("lights" | "lighting") . ["please"]。私はそれが彼らの音声認識システムのビーム検索に統合されていると思いますが、Alexa、Wit.ai、Mixは別々のSpeech-> TextおよびText-> Intentシステムを持っているようです。 編集:出発点- 非公式の音声コマンドによる人間とロボットの相互作用のメカニズムを見つけました。これは、潜在セマンティック分析と呼ばれるものを使用して発話を比較します。私はそれについて読みます。少なくともそれは私に引用ネットワークの出発点を与えました。 編集2: LSAは基本的に、テキストの各段落で使用されている単語(Bag of Words)を比較しています。この場合、単語の順序が完全に失われるため、どのようにうまく機能するかわかりません。おそらく、これらの種類のコマンドでは、単語の順序はそれほど重要ではありません。 編集3: 非表示のトピックマルコフモデルは、興味深いかもしれないように見えます。

1
文字シーケンスが英単語かノイズかを判別する方法
将来の予測のために単語リストからどのような機能を抽出しようとしますか?それは既存の単語ですか、それとも単なる文字の混乱ですか? そこで見つけたタスクの説明があります。 あなたは与えられた単語が英語であるかどうかに答えることができるプログラムを書かなければなりません。これは簡単です—辞書で単語を検索する必要があるだけです—しかし、重要な制限があります。プログラムは64 KiBを超えてはいけません。 そのため、問題を解決するためにロジスティック回帰を使用することは可能だと思いました。私はデータマイニングの経験があまりありませんが、その仕事は私にとって興味深いものです。 ありがとう。

1
小さなテキストファイルにword2vecを適用する
私はword2vecがまったく新しいので、plsは私と一緒にそれに耐えます。私はテキストファイルのセットを持っています。それぞれに1000〜3000のツイートのセットが含まれています。共通のキーワード( "kw1")を選択し、word2vecを使用して "kw1"に意味的に関連する用語を見つけたいと考えています。たとえば、キーワードが「apple」の場合、入力ファイルに基づいて「ipad」、「os」、「mac」などの関連用語が表示されます。したがって、この「kw1」の関連用語のセットは、word2vecが個々のファイルでトレーニングされるため(たとえば、5つの入力ファイル、各ファイルでword2vecを5回実行)、入力ファイルごとに異なります。 私の目標は、他の目的で使用される共通のキーワード( "kw1")が指定された各入力ファイルの関連用語のセットを見つけることです。 私の質問/疑問は: このようなタスクにword2vecを使用することには意味がありますか?入力ファイルのサイズが小さいことを考慮して使用するのは技術的に正しいですか? :私はcode.google.comからコードをダウンロードしているhttps://code.google.com/p/word2vec/と、次のようにちょうどそれに予行演習を与えています: time ./word2vec -train $file -output vectors.bin -cbow 1 -size 200 -window 10 -negative 25 -hs 1 -sample 1e-3 -threads 12 -binary 1 -iter 50 ./distance vectors.bin 私の結果から、「距離」ツールを使用して関連する用語を「kw1」に取得すると、多くのノイズの多い用語(ストップワード)が表示されることがわかりました。そのため、ストップワードやユーザーの言及など、その他のノイズの多い用語は削除しました。しかし、word2vecがクリーンな入力データを必要とすることはどこにもありません...? どのようにして正しいパラメータを選択しますか?「-window」、「-iter」などのパラメーターを変更すると、(距離ツールの実行による)結果が大きく異なることがわかります。パラメータの正しい値を見つけるには、どの手法を使用すればよいですか。(私はデータセットをスケールアップするので、手動で試行錯誤することはできません)。

4
word2vecを使用して目に見えない単語を識別し、それらをすでにトレーニングされたデータに関連付ける方法
私はword2vec gensimモデルに取り組んでいて、それが本当に面白いと思いました。私は、モデルでチェックしたときに未知の/目に見えない単語が、トレーニングされたモデルから同様の用語を取得できる方法を見つけることに興味があります。 これは可能ですか?これのためにword2vecを微調整できますか?または、トレーニングコーパスには、類似性を見つけたいすべての単語が必要です。

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