データサイエンス

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

1
信号エンコーディングの学習
マンチェスターでエンコードされたビットストリームをオーディオ信号として表す多数のサンプルがあります。それらがエンコードされる周波数は、それが高い場合の主要な周波数成分であり、バックグラウンドに一定量のホワイトノイズがあります。 これらのストリームを手動でデコードしましたが、なんらかの機械学習手法を使用してエンコードスキームを学習できるかどうか疑問に思っていました。これにより、これらのスキームを手動で認識する時間を大幅に節約できます。難点は、異なる信号は異なる方法でエンコードされることです。 複数のエンコード方式のデコードを学習できるモデルを構築することは可能ですか?そのようなモデルはどの程度堅牢であり、どのような手法を採用したいですか?独立成分分析(ICA)は、気になる周波数を分離するのに役立つようですが、エンコードスキームをどのように学習しますか?

4
テキスト分類子トレーニングデータセットを提案する
テキスト分類子のトレーニングに使用できる自由に利用できるデータセットはどれですか? 私たちは、ユーザーに最も関連するコンテンツを推奨することでユーザーエンゲージメントを強化しようとしているため、事前定義された単語のバッグに基づいてコンテンツを分類した場合、すでに分類されたランダムな数の投稿に関するフィードバックを得ることで、ユーザーに魅力的なコンテンツを推奨できると考えました前。 この情報を使用して、これらのクラスでラベル付けされたパルスを彼に推奨できます。しかし、コンテンツに関連しない定義済みの単語のバッグを使用した場合、特徴ベクトルはゼロでいっぱいになることもわかりました。また、カテゴリはコンテンツに関連していない可能性があります。これらの理由により、コンテンツを分類せずにクラスタリングする別のソリューションを試しました。 ありがとう:)

1
レコメンデーションで暗黙のデータをどのように扱うべきか
推奨システムは、特定のユーザーに対してどのような推奨が行われたか、およびそのユーザーが推奨を受け入れるかどうかのログを保持します。みたいな user_id item_id result 1 4 1 1 7 -1 5 19 1 5 80 1 ここで、1はユーザーが推奨事項を受け入れたことを意味し、-1はユーザーが推奨事項に応答しなかったことを意味します。 質問:上記のログの種類に基づいて多数のユーザーに推奨を行う場合、MAP @ 3スコアを最大化するには、暗黙的なデータ(1または-1)をどのように処理すればよいですか? 私の考えは、1と-1を評価として扱い、因数分解マシンタイプのアルゴリズムを使用して評価を予測することです。しかし、暗黙的なデータの非対称性を考えると、これは正しくないように見えます(-1は、ユーザーが推奨事項を好まないことを意味しません)。 編集1 行列因数分解アプローチのコンテキストで考えてみましょう。-1と1を評価として扱う場合、いくつか問題があります。たとえば、ユーザー1は、潜在要素空間で1つの要素(たとえば、素晴らしいバックグラウンドミュージックを持っている)で高得点をとる映画Aが好きです。システムは、「栄光のバックグラウンドミュージック」でも高いスコアの映画Bを推奨しますが、何らかの理由でユーザー1が忙しくて推奨を調査できず、評価-1の映画Bがあります。1または-1を同等に扱った場合この場合、ユーザー1が依然として栄光のBGMを含む映画を愛している間、システムは栄光のBGMを含む映画をユーザー1に推奨することをお勧めできません。この状況は避けられるべきだと思います。

2
スマートフォンのデータセット問題を使用した人間活動認識
私はこのコミュニティに不慣れです。うまくいけば、私の質問がここに収まるでしょう。学部のデータ分析コースの一環として、スマートフォンのデータセットを使用して、人間の行動認識に関するプロジェクトを行うことにしました。私に関する限り、このトピックは機械学習とサポートベクターマシンに関連しています。私はまだこの技術に詳しくないので、助けが必要です。 私はこのプロジェクトのアイデアに従うことにしましたhttp://www.inf.ed.ac.uk/teaching/courses/dme/2014/datasets.htmlプロジェクトの目標は、人間とは何か活動を決定です(一番上の最初のプロジェクトを)スマートフォン(Samsung Galaxy S II)が被験者の腰に記録したデータから(例:WALKING、WALKING_UPSTAIRS、WALKING_DOWNSTAIRS、SITTING、STANDING、LAYING)内蔵の加速度計とジャイロスコープを使用して、データには3軸の線形加速度と50Hzの一定速度での3軸の角速度が含まれます。 すべてのデータセットは、いくつかの説明と機能ラベルが付いた1つのフォルダーに含まれています。データは「テスト」ファイルと「トレーニング」ファイルに分割され、データは次の形式で表されます。 2.5717778e-001 -2.3285230e-002 -1.4653762e-002 -9.3840400e-001 -9.2009078e-001 -6.6768331e-001 -9.5250112e-001 -9.2524867e-001 -6.7430222e-001 -8.9408755e-001 -5.5457721e-001 -4.6622295e-001 7.1720847e-001 6.3550240e-001 7.8949666e-001 -8.7776423e-001 -9.9776606e-001 -9.9841381e-001 -9.3434525e-001 -9.7566897e-001 -9.4982365e-001 -8.3047780e-001 -1.6808416e-001 -3.7899553e-001 2.4621698e-001 5.2120364e-001 -4.8779311e-001 4.8228047e-001 -4.5462113e-002 2.1195505e-001 -1.3489443e-001 1.3085848e-001 -1.4176313e-002 -1.0597085e-001 7.3544013e-002 -1.7151642e-001 4.0062978e-002 7.6988933e-002 -4.9054573e-001 -7.0900265e-001 そして、それはファイルに含まれる内容のごく一部にすぎません。 このデータが何を表し、どのように解釈できるのか、私にはよくわかりません。また、データの分析、分類、およびクラスタリングには、どのツールを使用する必要がありますか?このデータをラベルを含めてExcelに入れて、たとえばRまたはPythonを使用してサンプルデータを抽出し、これに取り組む方法はありますか? ヒント/ヒントをいただければ幸いです。

4
数学博士(非線形プログラミング)からデータサイエンスへの切り替え?
私は数学の博士号を取得しています。卒業後、データサイエンティストとして業界に行きたい学生。質問をする前に、私の教育の背景を簡単に説明し、理解を深めます。 数学コースワーク: これは主に純粋な数学で行われました:トポロジー、機能分析などですが、より多くの応用されたもの(私が論文に特化したもの)も含まれます:凸最適化、非線形プログラミング、数値解析、線形プログラミング、多目的最適化。また、現時点では推論統計の知識はありませんが、確率論には自信があります。 プログラミング: 私は学士号で1年のコースを受講したばかりですが、それはほとんどMathematicaといくつかのJavaでしたが、正直なところ何も覚えていません。このコースの内容には、データ構造やアルゴリズムの設計と分析、データベース管理システムは含まれていません。また、学士論文でアルゴリズムを実装するために自分でMatlabを学びました。 上記の背景は、学士号と修士号のプログラム中のものです。今、博士号の間 プログラムでは、機械学習が非線形最適化、プログラミング、および現実世界のアプリケーションの間の(私にとって)完璧な組み合わせであることを発見しました。つまり、機械学習は理論的に興味深く、アプリケーション指向です。これが私が産業界に行くことにとても興奮した理由です。したがって、私は過去3年間で、自分のことを(少しの自由な時間に)自分で学び始めました。 学んだことの短い要約: Python:最適化アルゴリズムを実装し、jupyterノートブックとnumpyライブラリを操作し(実際、論文のためにこれを行わなければなりませんでした)、パンダで基本的なデータ操作とクリーニングタスクを行うことに慣れています。これは、dataquest(https://app.dataquest.io)というプラットフォームでオンラインで学びました。ただし、データ構造とアルゴリズムのインタビューに合格するための十分な知識がないと思います(上記を参照)。 機械学習:私は大学のトピックのマスターレベルのコースを受講しました(私はドイツにいるため、博士課程にはコースがないので、これはすべて私の個人的な時間でした)、それは本当に楽しかったです。含まれるトピック:k-NN、PCA、SVM、NNなど 今学期のデータベースのコースは、SQLに焦点を当てています。 今学期は、Courseraのディープラーニング専門分野を受講します。 最後に、私はトピックを完全に学ぶことができると感じていると言いたいです。実際、時間の経過とともに、オンラインで利用できる大学院レベルのコース(たとえば、スタンフォードCS231N、CS234など)を受講するつもりです。私の意見では、オンラインコースは十分に厳格ではない可能性があるためです。うまくいけば、防衛の後、私はこれにフルタイムで集中することができるでしょう。 したがって、質問: この時点でまだ雇用できますか(つまり、上記の知識でこの学期を終えた後)?正直、まだ準備は出来ていないと思いますが、1年で上手くいけると自信を持っています。 会社が私にチャンスを与えると考えるのがあまりにも単純すぎるのですか? どうしてもヒラブルになるにはどうすればいいですか?


2
優先再生、重要度サンプリングは実際に何をするのですか?
優先再生(5ページ)の重要度サンプリングの重み(IS)の目的を理解できません。 トランジションは、その「コスト」が大きいほど、経験の再現からサンプリングされる可能性が高くなります。私が理解しているのは、「IS」は、十分な長さのトレーニングを終えた後、優先再生の使用をスムーズに放棄するのに役立つということです。 しかし、代わりに何を使用しますか、均一サンプリング? そのような係数の各成分が結果にどのように影響しているのか、私には理解できないと思います。誰かがそれを言葉で説明できますか? w私= (1N⋅ 1P(私))βwi=(1N⋅1P(i))βw_i = \left( \frac{1}{N}\cdot \frac{1}{P(i)} \right) ^\beta 次に、遷移から取得しようとする勾配を弱めるために使用されます。 どこ: w私wiw_iは「IS」 NはExperience Replayバッファーのサイズです P(i)は、「そのコストの大きさ」に応じて、遷移私iiを選択する機会です。 ββ\betaは0から始まり、新しいエポックごとに1にドラッグされます。 これらのパラメーターに対する私の理解も正しいですか? 編集回答が受け入れられた後、私は追加のソース、初心者に役立つかもしれないビデオを見つけました-MC Simmulations:3.5重要度サンプリング 1 / N1/N1/N ββ\betaP(私)P(i)P(i) 0.1 0.2 0.3 0.4 つまり、最初のエントリには10%が選択され、2番目には20%が選択されます。これらを反転すると、次のようになります。 10 5 3.333 2.5 1/N1/N1/N1/41/41/4 2.5 1.25 0.8325 0.625 ...which would add up to '5.21' 10,5,3.333,2.510,5,3.333,2.510, 5, 3.333, …

1
VGG19 CNNから派生した「VGG54」および「VGG22」とは何ですか?
クリスチャン・レディグらによる論文「写実的単一画像超解像生成的敵対的ネットワークを使用した超解像」では、(損失関数で使用される)画像間の距離は、VGG19ネットワークから抽出された特徴マップから計算されます。この記事で使用されている2つは(少し混乱しますが)VGG22とVGG54と呼ばれています。 これらの機能マップとは何ですか? 「22」と「54」の意味は何を意味しますか?

1
パンダのinterpolate()とfillna()の違い
Interpolateとfillnaメソッドはna値を埋めるのと同じ働きをするので。この2つの基本的な違いは何ですか。これらの2つの異なる方法を持つことの重要性は何ですか?誰でも簡単な言葉で私を説明できますか?私はすでに公式ドキュメントを訪問し、違いを知りたいと思っていました

2
オートエンコーダーをクラスタリングにどのように使用できますか?
ラベルのない時間領域信号のセットがあるとします。それらを2つまたは3つのクラスにクラスター化したい。オートエンコーダーは、入力の圧縮を学習する監視なしネットワークです。したがって、入力、重みと、バイアスと、および出力を指定すると、次の関係が見つかります。x(i)x(i)x^{(i)}W1W1W_1W2W2W_2b1b1b_1b2b2b_2x^(i)x^(i)\hat{x}^{(i)} z(i)=W1x(i)+b1z(i)=W1x(i)+b1z^{(i)} =W_1x^{(i)}+b_1 x^(i)=W2z(i)+b2x^(i)=W2z(i)+b2\hat{x}^{(i)} =W_2z^{(i)}+b_2 したがって、は圧縮形式であり、は後者の再構成です。ここまでは順調ですね。z(i)z(i)z^{(i)}x(i)x(i)x^{(i)}x^(i)x^(i)\hat{x}^{(i)} 私が理解していないのは、これをクラスタリングに使用する方法です(それを行う方法がある場合)。たとえば、このペーパーの最初の図には、よくわからないブロック図があります。フィードフォワードネットワークへの入力としてを使用しますが、そのネットワークのトレーニング方法については言及されていません。私が無視しているものがあるのか​​、それとも論文が不完全なのかわかりません。また、最後のこのチュートリアルは、オートエンコーダーによって学習された重みを示しています。これらは、CNNが画像を分類するために学習するカーネルのようです。ですから...オートエンコーダの重みは、フィードフォワードネットワークで分類のためになんらかの方法で使用できると思いますが、その方法はわかりません。z(i)z(i)z^{(i)} 私の疑問は: もし長さの時間領域信号である(すなわち、X ^ {(I)} \で\ mathbb {R} ^ {1 \回N} )、缶Z ^ {(I)}ベクトルだけでも?換言すれば、それはのための理にかなっている^ {(I)} Zことがマトリックスよりもその寸法が大きいのいずれかで1?そうではないと思いますが、確認したいだけです。x(i)x(i)x^{(i)}NNNx(i)∈R1×Nx(i)∈R1×Nx^{(i)}\in\mathbb{R}^{1\times N}z(i)z(i)z^{(i)}z(i)z(i)z^{(i)}111 これらの量のどれが分類器への入力になりますか?たとえば、信号を分類したいクラスと同じ数の出力ユニットを持つ従来のMLPを使用したい場合、この完全に接続されたネットワークの入力(z(i)z(i)z^{(i)}、x^(i)x^(i)\hat{x}^{(i)}、他のもの)? このMLPで学習した重みとバイアスをどのように使用できますか?使用可能なラベルは絶対にないと想定しているため、ネットワークをトレーニングすることは不可能です。学習したとは、完全に接続されたネットワークで何らかの形で役立つはずですが、それらの使用方法はわかりません。WiWiW_ibibib_i 観察:MLPは最も基本的なアーキテクチャであるため、例としてMLPを使用したことに注意してください。ただし、質問は、時間領域信号の分類に使用できる他のすべてのニューラルネットワークに適用されます。

3
Pandasデータフレームのフィルタリング速度を改善する
19列と約25万行のデータセットがあります。私はより大きなデータセットを扱ってきましたが、今度はパンダスが私の神経で遊ぶことにしました。 いくつかの単純なルールに基づいて、元のデータセットを3つのサブデータフレームに分割しようとしました。ただし、コードの実行には時間がかかります。フィルタリングのためだけに約15〜20秒。 コードのパフォーマンスを向上させる代替方法はありますか? import pandas as pd #read dataset df = pd.read_csv('myData.csv') #create a dataframe with col1 10 and col2 <= 15 df1 = df[(df.col1 == 10) & (df.col2 <= 15)] df = df[~df.isin(df1)].dropna() #create a dataframe with col3 7 and col4 >= 4 df2 = df[(df.col3 == 7) & …

1
トレーニングラベルの信頼度を使用して予測精度を向上させることはできますか?
バイナリ値でラベル付けされたトレーニングデータがあります。また、これらの各ラベルの信頼度を収集しました。つまり、0.8の信頼度は、人間のラベラーの80%がそのラベルに同意することを意味します。 この信頼性データを使用して分類子の精度を向上させることはできますか? 以下はうまくいくでしょうか? 1a)ラベルが0で、そのラベルの信頼度データが0.8の場合、トレーニングデータに0.2の新しいラベルを付けます。 1b)ラベルが1で、そのラベルの信頼性データが0.8の場合、トレーニングデータに0.8の新しいラベルを付けます。 2)トレーニングセットのすべてのエントリに対して、この方法を使用して新しいラベルを計算します 3)問題を回帰問題として扱います(ラベルの範囲は0〜1)。 4)新しいラベルが特定の値の上か下かに基づいて、ラベルのないデータを分類します。つまり、すべての予測ラベルにX未満の場合はクラス0を、Xを超える場合はクラス1を指定します。 現在、モデルにRBFカーネルを備えたSVMを使用しています。 前もって感謝します!


2
多次元時系列から30分前のイベントを予測するモデルをトレーニングする方法
私の分野の専門家は、イベント(黄色のバイナリスパイク)が発生する 30分前に、その可能性を予測できます。ここでの頻度は1秒です。このビューは数時間分のデータを表します。「悪意のある」パターンがあるはずの箇所を黒く囲んでいます。次元間に相互作用が存在するため、次元を個別に調査することはできません(またはそれらを検討できますか?) 私はScikit Learn を使用して監視された MLモデルを構築しようとしています。これは、通常のリズムを学習し、症状がスパイクにつながる可能性がある場合を検出します。私はどちらの方向を取るか迷っています。私は異常検出を試しましたが、それはその場検出でのみ機能し、以前は機能しませんでした。 それらのイベントの前に「悪意のある」パターンを検出するにはどうすればよいですか(ターゲット変数としてそれらを取得します)? どのアルゴリズムまたはデータ処理パイプラインが役立つかについてのアドバイスを歓迎します。ありがとうございました:)

4
相互検証のパフォーマンスは、独立したデータセットの実際のパフォーマンスを予測するための正確な指標になりますか?
この質問は、相互検証の背後にある理論に関連していると思います。ここに私の経験的発見を示し、そこで交差検証の理論に関連する質問を書きました。 2つのモデルM1とM2があります。同じデータセットを使用してそれらをトレーニングし、同じデータセットを使用して交差検証を実行して、各モデルの最適なパラメーターを見つけます。最終的に、最適パラメーターの下でのM1は、10倍の交差検証スコアの点で、最適パラメーターの下でのM2よりもパフォーマンスが良いことがわかりました。次に、予測子とラベルの両方を含む別の独立したテストデータセットがあり、このテストデータセットがトレーニングデータセットの同じ分布から生成された場合、これらの2つの十分に調整されたモデルをその新しいテストデータセットに適用する前に、主張したり、新しいテストデータセットよりもM1の方がM2よりもパフォーマンスが優れていることを期待できますか? 私はカグルタイタニックの例を演奏していました。2つのxgboostモデルがあり、M1は十分にチューニングされており、M1はトレーニングデータセットに対して10倍の交差検証を実行するという点であまりチューニングされていません。しかし、両方を送信すると、調整が不十分なモデルの方が実際にテストデータセットのスコアが優れていることがわかりました。それはどうでしょうか?そして、それが真実である場合、データを異なるモデルに適合させ、モデルパラメータを調整するときに何を探す必要がありますか? これが私の具体的な提出結果です:ランダムグリッド検索を行いました params_fixed = {'silent': 1,'base_score': 0.5,'reg_lambda': 1, 'max_delta_step': 0,'scale_pos_weight':1,'nthread': 4, 'objective': 'binary:logistic'} params_grid = {'max_depth': list(np.arange(1,10)), 'gamma': [0,0.05,0.1,0.3, 0.5,0.7,0.9], 'n_estimators':[1,2,5,7,10,15,19,25,30,50], 'learning_rate': [0.01,0.03,0.05,0.1,0.3,0.5,0.7,0.9,1], 'subsample': [0.5,0.7,0.9], 'colsample_bytree': [0.5,0.7,0.9], 'min_child_weight': [1,2,3,5], 'reg_alpha': [1e-5, 1e-2, 0.1, 0.5,1,10] } rs_grid = RandomizedSearchCV( estimator=XGBClassifier(**params_fixed, seed=seed), param_distributions=params_grid, n_iter=5000, cv=10, scoring='accuracy', random_state=seed ) 変数を変更するたびにn_iter。まず、を設定しますn_iter=10。これにより、これらのハイパーパラメーターの値のセットが得られます。このベクトルをと呼び、cvスコア(精度率)が0.83389の場合、を使用してモデルをトレーニングし、独立したテストで予測を生成しますデータセット、およびKaggleに送信すると、テストデータセット0.79426で真の精度が生成されますα 1α1α1\alpha_1α1α1\alpha_1 …

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