データサイエンス

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

3
固定されていないカテゴリデータを使用して分類するにはどうすればよいですか?
カテゴリカルデータと数値データの両方に分類問題があります。私が直面している問題は、カテゴリデータが固定されていないことです。つまり、ラベルを予測したい新しい候補者には、事前に観察されなかった新しいカテゴリがある可能性があります。 例えば、私のカテゴリーデータであった場合、sex唯一の可能なラベルがないだろうfemale、maleとother、ないかは重要。ただし、私のカテゴリー変数はcity、予測しようとしている人物が私の分類子が見たことのない新しい都市を持っている可能性があるためです。 これらの用語で分類を行う方法があるのか​​、またはこの新しいカテゴリーデータを考慮して再度トレーニングを行う必要があるのか​​と思います。

3
XGboost-モデルによる選択
XGboostを使用して、保険金請求の2つのクラスターゲット変数を予測しています。私は別のデータセットで実行しているモデル(相互検証によるトレーニング、ハイパーパラメーターの調整など)を持っています。 私の質問は: 特定のクレームが1つのクラス、つまりモデルによる選択を説明する機能に影響を与えた理由を知る方法はありますか? 目的は、機械によって行われた選択を第三者の人間に正当化できるようにすることです。 ご回答有難うございます。
10 xgboost 

1
ジェスチャー認識システムでのRNN(LSTM)の使用
私はASL(アメリカ手話)ジェスチャーを分類するためのジェスチャー認識システムを構築しようとしているので、入力はカメラまたはビデオファイルからの一連のフレームであると想定されており、シーケンスを検出して対応するものにマッピングしますクラス(睡眠、助け、食べる、走るなど) 問題は、私がすでに同様のシステムを構築したことですが、静止画像(モーションは含まれません)の場合、手があまり動かず、CNNの構築が単純なタスクであるアルファベットの翻訳にのみ役立ちました。データセットの構造も私がケラスを使用していて、おそらくそうするつもりだったので管理可能でした(すべてのフォルダーには特定の標識の画像のセットが含まれており、フォルダーの名前はこの標識のクラス名です:A、B、C 、..) ここでの私の質問、データセットを整理してケラのRNNに入力できるようにするにはどうすればよいですか?モデルと必要なパラメーターを効果的にトレーニングするためにどの特定の関数を使用すればよいですか?TimeDistributedクラスの使用を提案した人もいますが私の好みに合わせてそれを使用する方法について明確なアイデアを持ち、ネットワーク内のすべてのレイヤーの入力形状を考慮に入れます。 また、私のデータセットが画像で構成されることを考えると、たぶん畳み込み層が必要になるでしょう。どのようにしてconv層をLSTM層に組み合わせることが実現可能でしょうか(つまり、コードの観点から)。 たとえば、私は私のデータセットがこのようなものであると想像します 「Run」という名前のフォルダーには3つのフォルダー1、2、3が含まれ、各フォルダーはシーケンスのフレームに対応しています だからRUN_1は、最初のフレームの画像のいくつかのセットが含まれます、RUN_2は、 2フレーム目のためにRun_3第三のために、私のモデルの目的は、単語を出力する。このシーケンスで訓練されるファイル名を指定して実行。

4
これは特徴エンジニアリングの良い習慣ですか?
機能エンジニアリングについて実際的な質問があります...ロジスティック回帰を使用して住宅価格を予測し、郵便番号を含む一連の機能を使用したいとします。次に、機能の重要度を確認したところ、zipはかなり優れた機能であることがわかったので、zipに基づいていくつかの機能を追加することにしました。各ジップの病院の。これらの4つの新機能により、モデルのパフォーマンスが向上しました。だから私はさらにzip関連の機能を追加します...そしてこのサイクルが繰り返されます。最終的に、モデルはこれらのzip関連の機能によって支配されますよね? 私の質問: そもそもこれらを行うことには意味がありますか? はいの場合、このサイクルを停止するのに適切なタイミングを知るにはどうすればよいですか? そうでない場合、なぜでしょうか?

1
Keras LSTMと1D時系列
私はKerasの使用方法を学んでおり、CholletのDeep Learning for Pythonの例を使用して、ラベル付けされたデータセットで妥当な成功を収めました。データセットは、3つの潜在的なクラスを含む長さ3125の〜1000時系列です。 予測率が約70%になる基本的な高密度レイヤーを超えて、LSTMレイヤーとRNNレイヤーについて説明します。 すべての例では、各時系列に複数の機能を持つデータセットを使用しているようであり、結果としてデータを実装する方法を見つけるのに苦労しています。 たとえば、1000x3125の時系列がある場合、それをSimpleRNNやLSTMレイヤーなどにフィードするにはどうすればよいですか?これらのレイヤーの機能に関する基本的な知識が不足していますか? 現在のコード: import pandas as pd import numpy as np import os from keras.models import Sequential from keras.layers import Dense from keras.layers import LSTM, Dropout, SimpleRNN, Embedding, Reshape from keras.utils import to_categorical from keras import regularizers from sklearn.model_selection import train_test_split import matplotlib.pyplot as plt …

5
教師なし画像セグメンテーション
平面テーブル上に複数のオブジェクトを含む画像があり、各オブジェクトのセグメンテーションマスクの出力が望ましいアルゴリズムを実装しようとしています。CNNとは異なり、ここでの目的は、なじみのない環境でオブジェクトを検出することです。この問題への最善のアプローチは何ですか?また、オンラインで利用可能な実装例はありますか? 編集:申し訳ありませんが、質問は少し誤解を招く可能性があります。「なじみのない環境」とは、オブジェクトがアルゴリズムにとって未知である可能性があるということです。アルゴリズムはオブジェクトが何であるかを理解する必要はありませんが、オブジェクトを検出するだけです。この問題にどのように取り組むべきですか?

2
GPUでトレーニングに時間がかかるのはなぜですか?
詳細: GPU:GTX 1080 トレーニング:10のクラスに属する約110万の画像 検証:10クラスに属する約150の画像 エポックごとの時間:〜10時間 CUDA、cuDNN、Tensorflow(Tensorflow GPUも)をセットアップしました。 私のモデルはエポックごとに10時間かかるほど複雑ではないと思います。私のGPUに問題があるかどうかも確認しましたが、問題はありませんでした。 完全に接続されたレイヤーによるトレーニング時間ですか? 私のモデル: model = Sequential() model.add() model.add(Conv2D(64, (3, 3), padding="same", strides=2)) model.add(Activation('relu')) model.add(Dropout(0.25)) model.add(Conv2D(64, (3, 3), padding="same", strides=2)) model.add(Activation('relu')) model.add(Dropout(0.25)) model.add(Conv2D(32, (3, 3))) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=(3, 3), strides=2)) model.add(Flatten()) model.add(Dense(256)) model.add(Activation('relu')) model.add(Dense(4096)) model.add(Activation('relu')) model.add(Dense(10)) model.add(Activation('softmax')) model.summary() opt = keras.optimizers.rmsprop(lr=0.0001, decay=1e-6) model.compile(loss='categorical_crossentropy', optimizer=opt, …

2
TensorFlowを使用して財務時系列データを予測しようとしています
私はMLとTensorFlowを初めて使用し(数時間前に開始しました)、それを使用して時系列の次のいくつかのデータポイントを予測しようとしています。私は私の入力を受け取り、これを使ってこれを行っています: /----------- x ------------\ .-------------------------------. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | '-------------------------------' \----------- y ------------/ 私がやっていることは、xを入力データとして使用し、yをその入力の目的の出力として使用して、0〜6を指定すると1〜7(特に7)が得られるようにすることです。ただし、xを入力としてグラフを実行すると、yではなくxに似た予測が得られます。 ここにコードがあります(この投稿とこの投稿に基づいています): import tensorflow as tf import numpy as np import matplotlib.pyplot as plot import pandas as pd import csv def load_data_points(filename): print("Opening CSV …

1
AlphaGo Zeroの「新しい強化学習アルゴリズム」とは何ですか?
なんらかの理由で、AlphaGo Zeroはその驚くべき結果にもかかわらず、元のAlphaGoほど宣伝されていません。一から始めると、それはすでにAlphaGoマスターに勝っており、他の多くのベンチマークに合格しています。さらに驚くべきことに、これは40日で完了します。Googleはこれを「間違いなく世界最高のGoプレーヤー」と名付けています。 DeepMindは、これは「新しい形の強化学習」であると主張しています。この手法は本当に新しいものですか?または、この手法が使用された時期は他にもあります。その場合、その結果はどうでしたか?私が話している要件は、1)人間の介入なし、2)歴史的な遊びなしですが、これらは柔軟です。 これは同様の質問のようですが、すべての回答はAlphaGo Zeroがその種の最初のものであるという仮定から始まるようです。

1
KerasをマルチマシンマルチコアCPUシステムで実行する
KerasのLSTMを使用して(Theanoバックグラウンドを使用して)Seq2Seqモデルに取り組んでいます。数MBのデータでもトレーニングに数時間かかるため、プロセスを並列化したいと考えています。 GPUはCPUよりも並列化がはるかに優れていることは明らかです。現時点では、使用できるのはCPUだけです。16 CPUにアクセスできました(コアあたり2スレッドXソケットあたり4コアX 2ソケット) Theanoのマルチコアサポートのドキュメントから、1つのソケットの4つのコアすべてを使用することができました。したがって、基本的にCPUの使用率は400%で4CPUが使用され、残りの12 CPUは未使用のままです。どうすればそれらも活用できますか。Tensorflowが機能する場合は、Theano背景の代わりに使用することもできます。

2
死んだReluニューロンを確認する方法
背景:ニューラルネットワークをreluアクティベーションでフィッティングしているときに、予測がほぼ一定になることがあります。これは、ここで述べたように、トレーニング中にreluニューロンが死んでしまったためだと思います。(ニューラルネットワークの「死にかけているReLU」問題とは?) 質問:ニューロンが死んでいるかどうかをチェックするために、コード自体にチェックを実装することを望んでいます。その後、必要に応じて、コードをネットワークに適合させることができます。 このように、死んだニューロンをチェックするのに適した基準は何ですか?現在、予測としてのばらつきが少ないかどうかを市町村として確認することを考えています。 それが役立つ場合は、ケラスを使用しています。

3
任意の数の入力と出力を備えた人工ニューロンネットワーク(ANN)
問題にANNを使用したいのですが、問題は入力と出力のノード番号が固定されていないことです。 私は質問をする前にグーグル検索をしましたが、RNNが私の問題を解決するのに役立つことがわかりました。しかし、私が見つけたすべての例は、どういうわけか、入力ノードと出力ノードの数を定義しています。 それで、私は戦略、それをどのように現実のものにするか、または少なくともいくつかの例を探しています。KerasまたはPyTorchで望ましいです。 私の問題の詳細: 2つの入力リストがあります。最初のリストの長さは固定され、2に等しくなります。fe: in_1 = [2,2] ただし、2番目のリストの長さは柔軟で、長さは3からinf、feまで可能です。 in_2 = [1,1,2,2] または in_2 = [1,1,1,2,2,2,3,3,3] また、入力リストは互いに依存しています。最初のリストは、出力リストの次元を示しています。したがって、in_1 = [2,2]の場合、出力は[2,2]形式に再形成される可能性がある必要があることを意味します。 現在、2つの入力リストを1つに結合することを考えています。 in = in_1 + in_2 = [2, 2, 1, 1, 2, 2] さらに、出力の長さはin_2リストと同じです。fi: 入力リストが次の場合: in_1 = [2, 2] in_2 = [1, 1, 2, 2] 出力は次のようになります。 out = [1, 2, 1, …

3
脳波データの再発(CNN)モデル
私は、EEGコンテキストでリカレントアーキテクチャを解釈する方法を知りたいです。具体的には、これを(LSTMのようなアーキテクチャーとは対照的に)再帰CNNと考えていますが、他のタイプの再帰ネットワークにも適用される可能性があります R-CNNについて読んだとき、それらは通常、画像分類のコンテキストで説明されています。それらは通常、「時間をかけて学習する」または「現在の入力に対するtime-1の影響を含む」と表現されます。 この解釈/説明は、EEGデータを扱うときに本当に混乱します。脳波データで使用されているR-CNNの例はここにあります それぞれが1x512アレイで構成されるトレーニング例があるとします。このアレイは、512の連続した時点で1つの電極の電圧測定値を取得します。これを(1D畳み込みを使用して)再発CNNへの入力として使用すると、モデルの再発部分が実際に「時間」をキャプチャしていませんよね?(前述の説明/説明によって暗示されるように)このコンテキストでは、時間はすでにアレイの2番目の次元によってキャプチャされているため このように設定すると、ネットワークの繰り返し部分によって、通常のCNNが(時間でない場合でも)できないことを実際にモデル化できるようになりますか? 再発とは、たたみ込みを実行し、その結果を元の入力に追加し、再度たたみ込みを行うことを意味するだけのようです。これはx回の反復ステップで繰り返されます。このプロセスは実際にどのような利点をもたらしますか?

1
DropOutはどの程度正確に畳み込みレイヤーで機能しますか?
ドロップアウト(論文、説明)は、一部のニューロンの出力をゼロに設定します。したがって、MLPの場合、アイリスの花データセットに対して次のアーキテクチャを使用できます。 4 : 50 (tanh) : dropout (0.5) : 20 (tanh) : 3 (softmax) これは次のように機能します。 s o ft m a x (W3tan tanh(W2⋅ マスク(D 、tanh(W1⋅ I N P U T _ V E C T O R )))softmax(W3⋅tanh⁡(W2⋅mask(D,tanh⁡(W1⋅input_vector)))softmax(W_3 \cdot \tanh(W_2 \cdot \text{mask}(D, \tanh(W_1 \cdot input\_vector))) 、、、、(簡略化のためにバイアスを無視)。 W 1 ∈ R …
10 dropout 

4
特徴選択方法のパフォーマンスを比較する方法は?
いくつかの特徴選択 /変数選択アプローチがあります(たとえば、Guyon&Elisseeff、2003 ; Liu et al。、2010を参照): フィルター方法(例:相関ベース、エントロピーベース、ランダムフォレスト重要度ベース)、 ラッパーメソッド(たとえば、前方検索、山登り検索)、および 特徴選択がモデル学習の一部である埋め込みメソッド。 公開されているアルゴリズムの多くは、R、Pythonなどの機械学習ツールにも実装されています。 異なる特徴選択アルゴリズムを比較し、特定の問題/データセットに最適な方法を選択するための適切な方法は何ですか?さらなる質問は、特徴選択アルゴリズムのパフォーマンスを測定する既知のメトリックがあるかどうかです。

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