データサイエンス

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

2
学習率がニューラルネットワークの重みを急上昇させるのはなぜですか?
私はテンソルフローを使用して簡単なニューラルネットワークを記述し、少しの研究を行っています。トレーニング中に「nan」の重みに多くの問題がありました。オプティマイザの変更、損失、データサイズの変更など、さまざまな解決策を試しましたが、役に立ちませんでした。最後に、学習率の変化が私の体重に信じられないほどの違いをもたらすことに気づきました。 .001の学習率(かなり保守的だと思いました)を使用すると、最小化関数は実際に指数関数的に損失を発生させます。1エポック後、損失は数千から1兆、そして無限( 'nan')にジャンプする可能性があります。学習率を.0001に下げたところ、すべてうまくいきました。 1)なぜ1桁がそのような影響を与えるのですか? 2)最小化機能が文字通りその機能の反対を実行し、損失を最大化するのはなぜですか?学習率に関係なく、それは起こらないはずです。

2
word2vecの単語ベクトルの特徴
私は感情分析をしようとしています。単語を単語ベクトルに変換するために、word2vecモデルを使用しています。すべての文が「sentences」という名前のリストにあり、次のようにこれらの文をword2vecに渡しているとします。 model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300, window=5, sample=1e-3) 私は単語ベクトルに慣れていないので、2つの疑問があります。 1-特徴の数を300に設定すると、単語ベクトルの特徴が定義されます。しかし、これらの機能は何を意味していますか?このモデルの各単語が1x300のnumpy配列で表されている場合、これらの300の特徴はその単語に対して何を意味するのでしょうか。 2-上記のモデルの「sample」パラメーターで表されるダウンサンプリングは実際には何をしますか? 前もって感謝します。

1
匿名のスケーリングされた数値予測子を使用してnumer.ai競争にアプローチする方法は?
Numer.aiはここしばらくの間存在しており、それに関するWebでの投稿やその他の議論はほとんどないようです。 システムは随時変更され、今日のセットアップは次のとおりです。 トレーニング(N = 96K)およびテスト(N = 33K)で、[0,1]の連続値とバイナリターゲットを持つ21個のフィーチャ。 データはクリーンで(欠損値なし)、2週間ごとに更新されます。(テストセットの)予測をアップロードして、ログの損失を確認できます。テストデータの一部はライブデータでもあり、適切な予測に対して報酬が支払われます。 私が議論したいこと: 機能は完全に匿名であるため、私たちができる機能エンジニアリングはそれほど多くはないと思います。だから私のアプローチは非常に機械的です: これに触発されて、分類アルゴリズムを使用して、私のテストデータに最も適合するトレーニングデータを除外します。 いくつかの素晴らしい前処理を理解する 素晴らしい分類アルゴリズムを訓練する それらのアンサンブルを構築します(スタッキングなど)。 具体的な質問: ステップ1について:そのようなアプローチの経験はありますか?トレーニングサンプルがテストに属する確率(通常は0.5未満)を注文し、最大のK確率を取得するとします。どのようにKを選びますか?私は15Kで試しましたが、主にステップ3のトレーニングを高速化するために小さなトレーニングデータセットを用意しました。 ステップ2に関して:データはすでに0,1スケールです。(PCAのような)線形変換を適用すると、このスケールが壊れます。そのような数値データがあり、これが実際にそうであることがわからない場合、前処理で何を試みますか? PS:numer.aiが給料を支払っているので、これについて議論している人々が私にお金を稼ぐのを助けることができることを私は知っています。しかし、これは公開されているので、これは誰かを助けるでしょう... PPS:今日のリーダーボードには興味深いパターンがあります。ログ損失が0.64xxの上位2つ、次に0.66xxの3位、そしてほとんどの予測子は0.6888xに達しています。 したがって、非常に小さなトップフィールドと適度に成功した人(私を含む)がたくさんいるようです。

3
ニューラルネットワークでの正則化方法の選択
ニューラルネットワークをトレーニングする場合、ネットワークを正規化するには少なくとも4つの方法があります。 L1正則化 L2正則化 脱落 バッチ正規化 加えて、もちろん、ウェイトシェアリングや接続数の削減など、厳密な意味での正則化ではないかもしれません。 しかし、どの正規化方法を使用するかをどのように選択するのでしょうか。「すべてを試し、何が機能するかを確認する」よりも、より原則的な方法はありますか?

1
ランダムフォレストと線形回帰による機能の重要性が異なります
ラッソを適用して機能をランク付けし、次の結果を得ました。 rank feature prob. ================================== 1 a 0.1825477951589229 2 b 0.07858498115577893 3 c 0.07041793111843796 データセットには3つのラベルがあることに注意してください。異なるラベルの機能のランキングは同じです。 次に、同じデータセットにランダムフォレストを適用しました。 rank feature score =================================== 1 b 0.17504808300002753 6 a 0.05132699243632827 8 c 0.041690685195283385 ラッソが作成したものとは非常に異なるランキングであることに注意してください。 違いをどのように解釈しますか?基礎となるモデルが本質的に非線形であることを意味しますか?

3
ユーザーがすべてのアイテムの一部しか表示できない状況での推奨エンジンは何ですか?
ドキュメント管理システムにレコメンデーション機能を追加したい。ほとんどの会社のドキュメントが保存されているサーバーです。従業員はWebインターフェイスを閲覧し、必要なドキュメントをクリックしてダウンロード(またはオンラインで読む)します。 各従業員は、すべてのドキュメントのサブセットにのみアクセスできます。 私の目標:チームメイトが最近開いたドキュメント、または開いたばかりのドキュメント、または読みたいものの付属文書として機能するスプレッドシートを従業員にお勧めします。 公開データには多くの推奨エンジンがあります(すべてのNetflixユーザーはすべての映画を見ることができます)が、ここでの状況は特別です:各従業員はすべてのドキュメントの一部のみにアクセス許可を持っていますが、Netflixではすべてのユーザーがすべての映画にアクセスできます。 例:Employee1はDocumentAを読み取ることができますが、DocumentBを読み取ることはできません。Employee2は両方を読み取ることができ、Employee3はいずれも読み取ることができません。 もちろん、私は彼女/彼女がアクセスできない文書を従業員に推薦してはなりません。さらに、ドキュメントへのアクセス権を持つ従業員のコンテキストでのみ、ドキュメントの人気を検討する必要があると思います。状況をさらに複雑にするために、従業員はプロジェクトから別のプロジェクトに移動する場合があり、アクセスできるドキュメントに影響を与えます。 この種の問題に名前はありますか? 精度/効率を損なうことなく、より一般的な種類の問題に削減できますか? そうでない場合、どのようなアプローチがこの種の問題に適していますか? 注:Netflixのような推奨エンジンでは十分ではありません。50のビューを持つドキュメントは、10人の従業員(私を含む)だけがアクセスできる場合は目立つはずですが、10万人の従業員がアクセスできる場合は目立ちません。 必要に応じて、いくつかのデータの詳細を以下に示します。平均的な会社には1000人の従業員がいて、約10000のドキュメントがあり、従業員は1日あたり約5つのドキュメントをクリックします。各プロジェクトには、平均して10人の従業員がアクセスし、約100のドキュメントがあります。各従業員は、平均5つのプロジェクトに並行して取り組んでいます。

3
機械学習アルゴリズムが説明可能性と予測の間の適切なトレードオフとして受け入れられている場合、それはどれですか。
グラディエントブースティングマシンやニューラルネットワークなどのアルゴリズムを説明する機械学習テキストでは、これらのモデルは予測に優れているとコメントすることがよくありますが、これは説明可能性または解釈可能性の損失を伴います。逆に、単一の決定木と古典的な回帰モデルは説明が得意であるというラベルが付けられていますが、ランダムフォレストやSVMなどのより洗練されたモデルと比較して、予測精度が(比較的)低くなっています。2つの間の適切なトレードオフを表すものとして一般に受け入れられている機械学習モデルはありますか?説明可能なアルゴリズムの特性を列挙した文献はありますか?(この質問は以前に相互検証で尋ねられました)

2
協調フィルタリングのベンチマークデータセット
協調フィルタリングの新しいアルゴリズムをテストしたいのですが。典型的な使用例は、特定のユーザーと同様のユーザーの好みに基づいて映画を推薦することです。 研究者がアルゴリズムのテストによく使用する一般的なベンチマークデータセットは何ですか?コンピュータービジョンでは、人々がMNISTまたはCIFARを頻繁に使用することを知っていますが、協調フィルタリングのための同様のデータセットを見つけていません。

1
SVMとヒンジ損失の関係は何ですか?
私の同僚と私は、ロジスティック回帰とSVMの違いに頭を抱えようとしています。明らかに、それらは異なる目的関数を最適化しています。SVMは、ヒンジ損失を単に最適化する判別型分類器であると言うほど簡単ですか?それともそれよりも複雑ですか?サポートベクターはどのように機能しますか?スラック変数はどうですか?シグモイドアクティベーション関数を備えたディープニューラルネットワークを構築できないのに、なぜディープSVMを構築できないのですか?

3
Scikit-LearnのRandom Forest Regressorから重み(式)をエクスポートする
Scikit Learn in Python(ランダムフォレストリグレッサー)を使用して予測モデルをトレーニングし、手動で予測するためのExcelツールを作成するために、各機能の重みを何らかの方法で抽出したいと考えています。 私が見つけた唯一のものはですがmodel.feature_importances_、それは助けにはなりません。 それを達成する方法はありますか? def performRandomForest(X_train, y_train, X_test, y_test): '''Perform Random Forest Regression''' from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor() model.fit( X_train , y_train ) #make predictions expected = y_test predicted = model.predict( X_test ) #summarize the fit of the model mse = np.mean(( predicted - expected )** …


2
ドロップアウトと他の正規化を検討する研究はありますか?
ニューラルネットワークの正則化手法の違いを、好ましくは異なるドメイン(または少なくとも異なるデータセット)で示す論文はありますか? 私は現在、ほとんどの人がコンピュータービジョンの正則化のためにドロップアウトのみを使用しているように思われるので、私は尋ねています。正則化のさまざまな方法を使用する理由(ない)があるかどうかを確認したいと思います。

2
Amazonでのユーザーの購入行動をモデル化する方法は?
データサイエンスの最後のコースプロジェクトでは、次のことを提案しました。 与えるアマゾンのレビューデータセットを、私たちは、Amazonに広告を配置するための戦略的な位置を決定するアルゴリズム(約パーソナライズページランクに基づいてthatsの)を思い付くする予定。たとえば、Amazonには何百万もの商品があります。そして、データセットは、どの製品が関連しているか、どの製品がまとめられ、一緒に表示されたかなどのアイデアを提供します(この情報も表示および購入されたこの情報を使用してグラフを作成できます)。 14年。これらすべての情報を使用して、Amazonで製品を評価/ランク付けします。あなたは、Amazonのベンダーであり、製品ページへのトラフィックを改善したいと考えています。当社のアルゴリズムは、最大のトラフィックを引き出すことができるように広告を配置できるグラフ内の戦略的位置を特定するのに役立ちます。 今、私たちの教授の質問は、実際のユーザーなしでアルゴリズムをどのように検証するのですか?私たちは言った- ユーザーの固定セットをモデル化できます。一部のユーザーは、第1ホップまたは第5ホップよりも頻繁に第3ホップをフォローalso_boughtしてalso_viewedリンクします。そこにユーザーの行動は通常分散されます。他の一部のユーザーは、最初のホップを超えて移動することはほとんどありません。この一連のユーザーの行動は指数関数的に分散されます。 私たちの教授は言った-ユーザーがどのようなディストリビューションをフォローしても、ユーザーは同様の製品のリンクを使用してナビゲートしています。また、ランク付けアルゴリズムは、類似性b / w 2製品を考慮して製品をランク付けします。そのため、この検証アルゴリズムを使用するのはちょっと簡単cheatingです。アルゴリズムに対してより現実的で直交する、他のユーザーの動作が付属しています。 ユーザーの行動をモデル化する方法に関するアイデアはありますか?アルゴについての詳細を提供させていただきます。

3
感情分析チュートリアル
私は感情分析と、どの言語(R、Pythonなど)を使用して感情分析を適用するかを理解しようとしています。私がフォローできるチュートリアルのための良い場所がインターネット上にあるかどうか知りたいのですが。私はググったが、彼らはチュートリアルではなく、より理論的なものであったので、私はあまり満足しなかった。理論と実例が欲しいです。


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