データサイエンス

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

2
属性を使用してユーザープロファイルを分類/クラスター化する
Webサイトから製品を購入するユーザーのデータセットがあります。 私が持っている属性は、ユーザーID、ユーザーの地域(状態)、製品のカテゴリーID、製品のキーワードID、WebサイトのキーワードID、および製品の消費額です。 目標は、製品とWebサイトの情報を使用して、「男性の若いゲーマー」や「家にいる」など、ユーザーが誰であるかを特定することです。 以下のサンプル画像を添付しました。 製品にはすべて1940の一意のカテゴリと13845の一意のキーワードがあります。Webサイトには、13063個の一意のキーワードがあります。それは毎日のログデータなので、データセット全体が巨大です。 これらは監視されていないため、クラスタリングを考えていますが、それらのIDは順序付けられた番号であり、数値の意味はありません。その場合、アルゴリズムの適用方法がわかりません。私も分類を考えています。購入した製品の販売額に基づいてクラスの列を追加した場合。クラスタリングがより好ましいと思います。キーワードidの次元は10000を超える可能性があるため、この場合にどのアルゴリズムを使用する必要があるかわかりません(各製品には多くのキーワードがあるため、Webサイトも同様です)。このプロジェクトにはSparkを使用する必要があります。 誰かがいくつかのアイデアや提案を手伝ってくれますか? どうもありがとうございます!

2
10 ^ 10ポイントのアルゴリズムのような高速k-means?
10次​​元の点のセットでk-meansクラスタリングを実行しようとしています。キャッチ:10 ^ 10ポイントがあります。 最大のクラスター(たとえば、10〜100個のクラスター)の中心とサイズだけを探しています。各ポイントがどのクラスターになるかは気にしません。k-meansの使用は特に重要ではありません。私は同様の効果を探していますが、近似的なk-meansまたは関連するアルゴリズムは素晴らしいでしょう(ミニバッチ-SGD平均、...)。GMMはある意味でk-meansと同じ問題なので、同じサイズのデータ​​でGMMを実行することも興味深いです。 この規模では、データをサブサンプリングしても結果はおそらく大幅に変わりません。データの1/10000番目のサンプルを使用して同じ上位10クラスターを見つける確率は非常に良好です。しかしそれでも、それは10 ^ 6ポイントの問題であり、扱いやすいものの端にあります。

1
Ruby用の機械学習ライブラリ
Ruby用の機械学習ライブラリは、比較的完全(教師ありおよび教師なし学習用のさまざまなアルゴリズムを含む)で、堅牢にテストされ、十分に文書化されていますか?Pythonのすばらしいドキュメントでscikit-learnが大好きですが、クライアントは慣れ親しんでいるのでRubyでコードを書くことを好むでしょう。 理想的には、scikitおよびのnumpyような、スパース行列のような多種多様なデータ構造と学習者を実装できるライブラリまたはライブラリのセットを探しています。 行う必要のあるいくつかの例は、SVMを使用したバイナリ分類、およびこのStackOverflow投稿で説明されているように、任意の数値データと連結したいバッグオブワードモデルの実装です。

2
不均衡データのバイナリ分類モデル
次の仕様のデータセットがあります。 2,821陽性の193,176サンプルのトレーニングデータセット 673個の陽性の82,887個のサンプルを含むテストデータセット 10個の機能があります。 バイナリ分類(0または1)を実行したい。私が直面している問題は、データのバランスが非常に悪いことです。いくつかの機能エンジニアリングとともにデータを正規化およびスケーリングし、いくつかの異なるアルゴリズムを使用した後、これらは私が達成できる最高の結果です。 mean square error : 0.00804710026904 Confusion matrix : [[82214 667] [ 0 6]] すなわち、6つの正のヒットのみです。これはロジスティック回帰を使用しています。これを使って試したさまざまなことを次に示します。 RandomForest、DecisionTree、SVMなどのさまざまなアルゴリズム 関数を呼び出すためのパラメーター値の変更 複雑な機能を含む直感ベースの機能エンジニアリング さて、私の質問は: ポジティブヒットの数を改善するにはどうすればよいですか? そのような場合に過剰適合があるかどうかをどのように判断できますか?(私はプロットなどを試みました) 多分これが私が持っている可能性のある最良の適合である場合、どの時点で結論づけることができますか?(673のうち6ヒットのみを考えると悲しいようです) パターン認識が向上してヒットが増えるように、ポジティブサンプルインスタンスの重量を増やす方法はありますか? どのグラフィックプロットを使用すると、外れ値や、どのパターンが最適かについての直感を検出できますか? Pythonでscikit-learnライブラリを使用していますが、すべての実装はライブラリ関数です。 編集: 他のいくつかのアルゴリズムの結果は次のとおりです。 ランダムフォレスト分類子(n_estimators = 100) [[82211 667] [ 3 6]] 決定木: [[78611 635] [ 3603 38]]

4
高度にバイアスされたデータセットを使用してツリーアンサンブルをトレーニングすることの意味は何ですか?
バイアスの高いバイナリデータセットがあります。ポジティブクラスよりもネガティブクラスの例が1000倍多くあります。このデータでツリーアンサンブル(エクストラランダムツリーやランダムフォレストなど)をトレーニングしたいのですが、ポジティブクラスの十分な例を含むトレーニングデータセットを作成するのは困難です。 層化されたサンプリングアプローチを行って、肯定的な例と否定的な例の数を正規化することの意味は何でしょうか 言い換えると、たとえば、トレーニングセット内の肯定的なクラスの例の数を人為的に(リサンプリングによって)膨らませることは悪い考えですか?

4
インフラストラクチャスタック/ワークフロー/パイプラインの例を探す
hadoop、monogodb / nosql、storm、kafkaなど、実世界のユースケースですべての「ビッグデータ」コンポーネントがどのように連携するかを理解しようとしています。これは、さまざまな種類がありますが、アプリケーション、webapp、オンラインショップの機械学習など、アプリケーションでの相互作用について詳しく知りたいと思います。 ビスタ/セッション、トランザクションデータなどがあり、それを保存します。しかし、その場で推奨事項を作成したい場合は、私が持っているログの大きなデータベースでそのための遅いmap / reduceジョブを実行できません。インフラストラクチャの側面に関する詳細情報はどこで入手できますか?ほとんどのツールを単独で使用できると思いますが、それらを相互に接続することはそれ自体が芸術のようです。 利用可能な公開例/ユースケースなどはありますか?個々のパイプラインはユースケースとユーザーに強く依存していることを理解していますが、おそらく単なる例が私にとって非常に役立つでしょう。

1
勾配ブーストされたツリーはどの関数にも適合しますか?
ニューラルネットワークの場合、ニューラルネットワークはR nのコンパクトなサブセット上の任意の連続関数を近似できると述べる普遍近似定理があります。RnRnR^n 勾配ブーストされたツリーにも同様の結果がありますか?ブランチを追加し続けることができるので合理的と思われますが、このテーマに関する正式な議論は見つかりません。 編集:私の質問は 回帰木は継続的に予測できますか?、おそらくまったく同じことを求めていない。しかし、関連する議論についてはその質問を参照してください。


1
CNNの入力としてサイド画像に沿って非画像機能を追加する方法
畳み込みニューラルネットワークをトレーニングして、霧の状態(3クラス)で画像を分類しています。ただし、約150.000個の画像のそれぞれについて、画像のクラスの予測に役立つ可能性のある4つの気象変数も利用できます。気象変数(温度、風速など)を既存のCNN構造に追加して、分類に役立つようにするにはどうすればよいのかと思っていました。 私がすでに考えることができる1つの方法は、CNNと一緒に別の(小さな)フィードフォワードニューラルネットを作成し、CNNレイヤーの出力と非イメージニューラルネットの非表示レイヤーを密なレイヤーで互いに連結することです。 私が考えることができる2番目の方法は、これらの機能を密なレイヤーに接触させることです。ただし、この場合、非画像変数は線形予測のみを行うことができます。 非画像機能をモデルに含めることができる他の(より良い)方法はありますか?そして、私が持っているデータの量を考慮して、推奨される方法は何でしょうか? 私が持っている別の質問は、これらの非画像機能でトレーニング中に畳み込み層をフリーズ解除する必要があるかどうかです。Resnet-18のこれらのレイヤー(ImageNetで事前トレーニング済みとして初期化された)は、画像を使用して既に微調整されています。私の推測では、非画像フィーチャが画像フィーチャと「接触」するのはここだけであるため(CNNの初期段階ではない)、それらを凍結したまま高密度レイヤーのみを凍結解除する必要があります。これが間違っている場合は、そう言ってください!

3
ImageNetに個人クラスはありますか?人間に関連するクラスはありますか?
インターネット上の Imagenetクラスの多くのソースの1つを見ると、人間に関連する単一のクラスを見つけることができません(そして、ハーベストマンは収穫する人ではありませんが、パパロングレッグのようなものでした)クモ :-)。そんなことがあるものか?私は、少なくとも期待したpersonクラスを、そしてなど、より具体的であっても、何かman、woman、toddler、などの並べ替えの何もありません。どうして?Lii -Fei-Liと彼女のチームは、人の画像をデータベースに入れないという意識的な選択をしましたか?間違ったファイルを見ていますか?質問のために、ImageNet2014年以降のバージョンを検討できます。

1
決定木の連続変数の分割点はどのように選択されますか?
デシジョンツリーに関連する2つの質問があります。 連続属性がある場合、分割値をどのように選択しますか? 例:Age =(20,29,50,40 ....) 値を持つ連続属性があると想像してください。をで分割するときに最小ゲインを得るために、分割点を見つけるアルゴリズムを作成するにはどうすればよいですか?R v f v f > vfffRRRvvvfffvvvf> vf>vf>v

5
機械学習の初心者向け数学ブック
私は統計や高度な数学のバックグラウンドを持たないコンピューターサイエンスエンジニアです。 私は、ラシュカとミルジャリリの著書「Python Machine Learning」を勉強していますが、機械学習の数学を理解しようとしたとき、友人が私に示唆する統計学習の素晴らしい本を理解することができませんでした。 機械学習の簡単な統計と数学の本を知っていますか?そうでない場合、どのように移動する必要がありますか?

1
CNNの逆伝播
次のCNNがあります。 サイズ5x5の入力画像から始めます 次に、2x2カーネルとストライド= 1を使用して畳み込みを適用し、サイズ4x4の機能マップを作成します。 次に、ストライド= 2の2x2最大プーリングを適用します。これにより、機能マップがサイズ2x2に縮小されます。 次に、ロジスティックシグモイドを適用します。 次に、2つのニューロンを持つ1つの完全に接続されたレイヤー。 そして出力層。 簡単にするために、フォワードパスを既に完了し、δH1= 0.25とδH2= -0.15を計算したと 仮定します。 したがって、完全なフォワードパスと部分的に完了したバックワードパスの後、ネットワークは次のようになります。 次に、非線形層(ロジスティックシグモイド)のデルタを計算します。 δ11=(0.25∗0.61+−0.15∗0.02)∗0.58∗(1−0.58)=0.0364182δ12=(0.25∗0.82+−0.15∗−0.50)∗0.57∗(1−0.57)=0.068628δ21=(0.25∗0.96+−0.15∗0.23)∗0.65∗(1−0.65)=0.04675125δ22= (0.25 ∗ − 1.00 + − 0.15 ∗ 0.17 )∗ 0.55 ∗ (1 − 0.55 )= − 0.06818625δ11=(0.25∗0.61+−0.15∗0.02)∗0.58∗(1−0.58)=0.0364182δ12=(0.25∗0.82+−0.15∗−0.50)∗0.57∗(1−0.57)=0.068628δ21=(0.25∗0.96+−0.15∗0.23)∗0.65∗(1−0.65)=0.04675125δ22=(0.25∗−1.00+−0.15∗0.17)∗0.55∗(1−0.55)=−0.06818625 \begin{align} &\delta_{11}=(0.25 * 0.61 + -0.15 * 0.02) * 0.58 * (1 - 0.58) = 0.0364182\\ …

1
複数の時系列を使用したRNN
各シリーズのタイプに基づいてトレーニングするために、時系列を入力として使用してニューラルネットワークを作成しようとしています。RNNを使用すると、入力をバッチに分割し、時系列のすべてのポイントを個々のニューロンに使用し、最終的にネットワークをトレーニングできることを読みました。 私がやろうとしていることは、入力として複数の時系列を使用することです。たとえば、2つのセンサーから入力を受け取る場合があります。(つまり2つの時系列)、最終結果を得るために両方を使用したいと思います。 また、時系列の将来の値を予測しようとはしていません。それらすべてに基づいて分類を取得しようとしています。 この問題にどのように取り組むべきですか? RNNへの入力として複数の時系列を使用する方法はありますか? 時系列を1つに集約しようとする必要がありますか? または、2つの異なるニューラルネットワークを使用する必要がありますか?そして、この最後のアプローチが正しければ、時系列の数が増えても、それはコンピューターに負担をかけすぎないでしょうか?
14 time-series  rnn 

1
バッチサイズを2のべき乗に保つことの利点は何ですか?
機械学習でモデルをトレーニングしているときに、バッチサイズを2の累乗に保つことが有利な場合があるのはなぜですか?GPUメモリ/ RAMに最も適合するサイズを使用するのが最善だと思いました。 この回答は、一部のパッケージでは、バッチサイズとして2のべき乗の方が優れていると主張しています。誰かが詳細な説明/詳細な説明へのリンクを提供できますか?これは、すべての最適化アルゴリズム(勾配降下法、逆伝播法など)またはそれらの一部のみに当てはまりますか?

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