データサイエンス

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

1
それでは、LSTMの欠点は何ですか?
私はKerasパッケージの知識を拡大しており、利用可能なモデルのいくつかでツールを開発しています。NLPバイナリ分類問題があり、それを解決しようとしており、さまざまなモデルを適用しています。 いくつかの結果を処理し、LSTMの詳細を読んだ後、このアプローチは(複数のデータセットにわたって)私が試した他のどの方法よりもはるかに優れているようです。私は、「なぜ/いつLSTMを使用しないのか」と考え続けています。LSTMに固有の追加のゲートを使用することは、勾配が消えてしまうモデルがいくつかあった後、私にとって完全に理にかなっています。 それでは、LSTMの欠点は何ですか?どこでうまくいかないのですか?「1つのサイズですべてに適合する」アルゴリズムのようなものはないことを知っているので、LSTMには欠点があるに違いありません。

1
Kerasでのマルチタスク学習
Kerasで共有レイヤーを実装しようとしています。Kerasにはがあることがわかりますがkeras.layers.concatenate、その使用に関するドキュメントからはわかりません。複数の共有レイヤーを作成するために使用できますか?以下に示すように、Kerasを使用して単純な共有ニューラルネットワークを実装する最良の方法は何でしょうか? 3つのNNすべての入力、出力、共有レイヤーの形状はすべて同じであることに注意してください。3つのNNには複数の共有レイヤー(および非共有レイヤー)があります。色付きのレイヤーは各NNに固有であり、同じ形状を持っています。 基本的に、この図は、複数の共有非表示層が続く3つの同一のNNを表し、その後に複数の非共有非表示層が続きます。 Twitterの例のように複数のレイヤーを共有する方法がわかりません。共有レイヤーは1つしかありません(APIドキュメントの例)。

2
データの不均衡を処理する必要があるのはなぜですか?
データの不均衡に対処する必要がある理由を知る必要があります。私はそれをどのように扱うか、アップサンプリングまたはダウンサンプリング、またはSmoteを使用することで問題を解決するためのさまざまな方法を知っています。 たとえば、100のうち1%のまれな疾患があり、トレーニングセットに50/50サンプルのバランスのとれたデータセットを使用することに決めたとします。疾患?比率が100分の1であっても。 データの不均衡に対処する必要があるのはなぜですか? バランスを設定するための推奨比率は何ですか

3
グラフ埋め込みとは何ですか?
最近、DeepWalkやLINEなどのグラフ埋め込みに出会いました。ただし、グラフの埋め込みが何を意味するのか、いつそれを使用するのか(アプリケーション)という明確な考えはまだありませんか?どんな提案でも大歓迎です!
12 graphs 

2
重みとバイアスの初期化を0付近で選択する必要があるのはなぜですか?
私はこれを読みました: ニューラルネットワークをトレーニングするには、各パラメーターW(l)ijWij(l)と各b(l)ibi(l)をゼロに近い小さなランダム値に初期化します(たとえば、Normal(0、ϵ2)Normal(0 、ϵ2)いくつかの小さなϵϵの分布、たとえば0.01) バックプロパゲーションアルゴリズムの 7番目の段落にあるスタンフォードの深層学習チュートリアルから 私が理解していないのは、重みまたはバイアスの初期化が約0である必要がある理由です。

4
ニューラルネットワークを使用した異常の検出
毎日生成される大規模な多次元データセットがあります。 過去と比較して、あらゆる種類の「異常」を検出するための優れたアプローチは何でしょうか?これは、ニューラルネットワークで対処できる適切な問題ですか? どんな提案も大歓迎です。 追加情報:例はないため、メソッドは異常自体を検出する必要があります

6
Excelはデータサイエンスに十分ですか?
私は、Rプログラミング言語を使用して、データサイエンスの入門コースを教える準備を進めています。私の聴衆は、ビジネス科目を専攻する学部生です。典型的なビジネスの学部生は、コンピュータープログラミングの経験はありませんが、Excelを使用するいくつかのクラスを受講しています。 個人的には、コンピューターサイエンスを専攻したため、R(または他のプログラミング言語)に非常に満足しています。しかし、生徒の多くはプログラミング言語を学ぶのが難しいように見えるかもしれないので慎重になると感じています。 私はExcelにある程度精通しています。Excelは単純なデータサイエンスには役立ちますが、学生はデータサイエンス用の本格的なプログラミング言語(RやPythonなど)を学ぶ必要があると考えています。Excelはデータサイエンスを勉強している真面目なビジネス学生には不十分であり、プログラミングを学ぶ必要があると自分自身や学生にどのように説得しますか? コメントに応じて編集 ここで取り上げるトピックの一部を次に示します。 データ処理とデータクリーニング データテーブルの操作方法。たとえば、行のサブセットの選択(フィルター)、新しい変数の追加(変更)、列ごとの行の並べ替え dplyrパッケージを使用したSQL結合 ggplot2パッケージを使用してプロット(散布図、棒グラフ、ヒストグラムなど)を描画する方法 線形回帰、ロジスティック回帰、分類木、k最近傍などの統計モデルを推定および解釈する方法 私はExcelをあまりよく知らないので、これらのタスクのすべてをExcelで簡単に実行できるかどうかはわかりません。

1
バイアスはどのように初期化および正則化する必要がありますか?
カーネルの初期化に関するいくつかの論文を読みましたが、多くの論文では、カーネルのL2正則化(多くの場合、)を使用していると述べています。λ=0.0001λ=0.0001\lambda = 0.0001 定数ゼロでバイアスを初期化し、それを正規化しないのとは違う人がいますか? カーネル初期化ペーパー Mishkin and Matas:必要なのは良い初期化だけです Xavier GlorotとYoshua Bengio:ディープフィードフォワードニューラルネットワークのトレーニングの難しさを理解する 彼他:整流器を深く掘り下げる:ImageNet分類で人間レベルのパフォーマンスを超える

4
異なる形式のドキュメントを比較する場合のTF-IDFおよびコサイン類似性の代替
私は、ユーザーの仕事のスキルを取り入れ、それらのスキルに基づいてユーザーにとって最も理想的なキャリアを提案する小さな個人的なプロジェクトに取り組んできました。これを実現するために、求人リストのデータベースを使用しています。現時点では、コードは次のように機能します。 1)各ジョブリストのテキストを処理して、リストに記載されているスキルを抽出する 2)各キャリア(「データアナリスト」など)について、そのキャリアの求人情報の処理済みテキストを1つのドキュメントに結合します 3)キャリア文書内の各スキルのTF-IDFを計算する この後、ユーザーのスキルのリストに基づいてキャリアをランク付けするためにどの方法を使用する必要があるかわかりません。私が見た最も人気のある方法は、ユーザーのスキルをドキュメントとしても扱い、スキルドキュメントのTF-IDFを計算し、コサイン類似度などを使用してスキルドキュメントと各ドキュメントの類似度を計算することですキャリア文書。 同じ形式の2つのドキュメントを比較するときにコサインの類似性が最もよく使用されるため、これは私にとって理想的な解決策ではないようです。さらに言えば、TF-IDFはユーザーのスキルリストに適用するのに適切なメトリックとは思えません。たとえば、ユーザーがリストに追加のスキルを追加すると、各スキルのTFは低下します。実際には、スキルの頻度がユーザーのスキルリストにあるかどうかは気にしません。ユーザーがそれらのスキルを持っていることを気にしています(そして、それらのスキルをどれだけよく知っているかもしれません)。 より良い測定基準は次のようにすることです。 1)ユーザーが持っているスキルごとに、キャリア文書でそのスキルのTF-IDFを計算します 2)各キャリアについて、ユーザーのすべてのスキルのTF-IDF結果を合計します 3)上記の合計に基づいてキャリアをランク付けする 私はここで正しい線に沿って考えていますか?もしそうなら、これらの線に沿って機能するが、単純な合計よりも洗練されたアルゴリズムはありますか?助けてくれてありがとう!

2
検証の損失がまだ低下している場合でも、過剰適合は発生しますか?
Kerasには、Kaggleコンテストに使用している畳み込み+ LSTMモデルがあります(参照1)。アーキテクチャを以下に示します。ラベル付けされた11000サンプルのセットでトレーニングしました(2つのクラス、初期有病率は〜9:1であるため、1を約1/1の比率にアップサンプリングしました)。しばらくの間、私はそれがノイズとドロップアウト層で制御下にあると思った。 モデルは見事にトレーニングされているように見え、最終的にトレーニングセット全体で91%を獲得しましたが、テストデータセットでテストすると、絶対ゴミになりました。 注意:検証の精度は、トレーニングの精度よりも高くなっています。これは、「典型的な」過剰適合の反対です。 私の直感では、検証の分割がわずかであるため、モデルは依然として入力セットにあまりにも強く適合し、一般化を失っています。もう1つの手がかりは、val_accがaccよりも大きいことです。これが最も可能性の高いシナリオですか? これが過剰に適合している場合、検証分割を増やすことでこれをまったく軽減できますか、それとも同じ問題に遭遇しますか? モデル: Layer (type) Output Shape Param # Connected to ==================================================================================================== convolution1d_19 (Convolution1D) (None, None, 64) 8256 convolution1d_input_16[0][0] ____________________________________________________________________________________________________ maxpooling1d_18 (MaxPooling1D) (None, None, 64) 0 convolution1d_19[0][0] ____________________________________________________________________________________________________ batchnormalization_8 (BatchNormal(None, None, 64) 128 maxpooling1d_18[0][0] ____________________________________________________________________________________________________ gaussiannoise_5 (GaussianNoise) (None, None, 64) 0 batchnormalization_8[0][0] ____________________________________________________________________________________________________ lstm_16 (LSTM) (None, …

3
分類にRBMを使用する方法は?
現時点では、制限付きボルツマンマシンで遊んでいます。私はそのため、手書きの数字を分類してみようと思います。 私が作成したモデルは、今ではかなり派手な生成モデルですが、それをさらに進める方法がわかりません。 で、この記事の著者は言うが、それは良い生成モデルを作成した後、一つは「その後、差別分類器を訓練する(すなわち、線形分類器、サポートベクターマシン)RBMのトップ標識された試料の使用に関する」」とfurtherly状態をあなたが伝播するため、データベクトルをRBMモデルの非表示ユニットに追加して、非表示ユニットベクトルまたはデータの高レベル表現を取得します。問題は、それが正しいかどうかわからないということです。 つまり、入力を非表示のユニットに伝播するだけで、RBMの分類機能がありますか? 誰かがこのプロセスを説明できますか?


1
単純な自己運転RCカーの教師あり学習と強化学習
私は楽しみのために遠隔操作の自動運転車を作っています。オンボードコンピューターとしてRaspberry Piを使用しています。また、車の周囲のフィードバックのために、Raspberry Piカメラや距離センサーなどのさまざまなプラグインを使用しています。OpenCVを使用してビデオフレームをテンソルに変換し、GoogleのTensorFlowを使用して複雑なニューラルネットワークを構築し、道路の境界と障害物を学習しています。私の主な質問は、教師付き学習を使用して車に運転を教えるべきですか、または目標と罰則を提供し、強化学習を行う必要がありますか?以下は、私が思いついた長所と短所のリストです。 教師付き学習プロ: 学習アルゴリズムへの入力は非常に簡単です。車は、ビデオフレームテンソルとセンサー距離の読み取り値を前方、後方、および角度のホイール変位に関連付けることを学習します 私は多かれ少なかれ自分の思い通りに運転するように車を教えることができます(もちろん、オーバーフィッティングなしで) 私はこれまでに多くの教師付き学習問題を行ってきましたが、このアプローチは既存のスキルセットに快適に適合するようです 教師付き学習の短所: 速度をどのように教えるかは明確ではありません。正しい速度は、車があまり速く進まないので、道を逸れる限り、かなりarbitrary意的です。トレーニング中は速く走れると思いますが、これは粗雑なアプローチのようです。トレーニング中にそのトレーニングセッションの速度に対応する定数変数を手動で追加し、学習アルゴリズムを展開するときに、必要な速度に応じてこの変数を設定できますか? 強化学習のプロ: 他の人の自動運転車をレースするという特定の目的で車を構築する場合、強化学習は私の車に「できるだけ早くそこに着く」ように言う自然な方法のようです 私はRLが自律型ドローンに時々使用されることを読んだことがあるので、理論的には車の方が簡単だと思います。 強化学習の短所: 強化学習には多くの追加センサーが必要だと感じており、率直に言って、足の長い車にはバッテリー、Raspberry Pi、ブレッドボードを取り付ける必要があることを考えると、それほどスペースがありません 車は最初は非常に不規則に振る舞うため、それ自体が破壊される可能性があります。また、学習に不当に長い時間がかかる場合があります(たとえば、数か月または数年) たとえば、おもちゃの赤信号に立ち寄るなど、明示的なルールを組み込むことはできません。教師あり学習により、多数のSLアルゴリズム(ストップライトを識別するHaar Cascade分類器など)を、各ビデオフレーム間で評価される構成可能なルールエンジンに組み込むことができました。したがって、ルールエンジンは、ストップライトがドライビングアルゴリズムのトレーニングの一部ではない場合でも、赤いストップライトが表示された場合、ドライビングSLアルゴリズムをオーバーライドできます。RLはこれを行うには連続しすぎているようです(つまり、最終状態でのみ停止します) 適用された強化学習の経験はあまりありませんが、関係なくそれを学びたいです

2
PCAを行う際に削減する次元数は?
PCAにKを選択する方法は?Kは、投影する次元の数です。唯一の要件は、多くの情報を失わないことです。データに依存することは理解していますが、Kを選択する際に考慮すべき特性についての簡単な一般的な概要を探しています。
12 pca 

1
2つの機能と時系列のイベントに基づいて顧客を分類する
私が設計しているアルゴリズムの次のステップに何をすべきかについての助けが必要です。 NDAのせいで、あまり開示することはできませんが、一般的でわかりやすいものにしようと思います。 基本的に、アルゴリズムのいくつかのステップの後、私はこれを持っています: 私が持っている各顧客と、彼らが1か月間に行うイベントについて、最初のステップでイベントをいくつかのカテゴリにクラスター化しました(各顧客は、1からxが1から25までのカテゴリに分けられたイベントを持ち、通常、最初のカテゴリは他のカテゴリよりもイベントの密度が高くなります)。 各カテゴリと顧客について、1時間あたりの月のイベントを集約する時系列を作成しました(これらのイベントがいつ行われるかのパターンを取得します)。また、私は、男が少なくとも1つのイベントを実行する1か月(30日間)の日数と、少なくとも1つのイベントの合計に対する少なくとも1つのイベントの日数に基づいて、いくつかの正規化変数を使用していますイベント(すべてのクラスターを集約)。1つ目は、その月の顧客の活動度の比率を示し、2つ目は、他のカテゴリに対してカテゴリを重み付けします。 ファイナルテーブルは次のようになります |*Identifier*| *firstCat* | *feature1* | *feature2* | { *(TIME SERIES)* } CustomerID | ClusterID | DaysOver30 | DaysOverTotal | Events9AM Events10AM ... xx | 1 | 0,69 | 0,72 | 0,2 0,13 ... xx | 2 | 0,11 | 0,28 | 0,1 0,45 ... …

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