タグ付けされた質問 「machine-learning」

「経験とともに自動的に改善するコンピューターシステム」を構築する方法と原則。

4
機能の重要性に照らしてディシジョンツリーを解釈する
私は、sklearnで構築された決定木分類モデルの決定プロセスを完全に理解する方法を理解しようとしています。私が見ている2つの主な側面は、ツリーのgraphviz表現と機能の重要度のリストです。私が理解していないのは、ツリーのコンテキストで機能の重要度がどのように決定されるかです。たとえば、これは私の機能の重要性のリストです: 機能のランク:1. FeatureA(0.300237) FeatureB(0.166800) FeatureC(0.092472) FeatureD(0.075009) FeatureE(0.068310) FeatureF(0.067118) FeatureG(0.066510) FeatureH(0.043502) フィーチャーI(0.040281) FeatureJ(0.039006) FeatureK(0.032618) FeatureL(0.008136) FeatureM(0.000000) しかし、ツリーの一番上を見ると、次のようになっています。 実際、「最も重要」にランク付けされた機能の一部は、ツリーのずっと下まで表示されません。ツリーの上部は、最も低いランクの機能の1つであるFeatureJです。私の素朴な仮定は、最も重要な機能が最大の影響を与えるためにツリーの上部近くにランク付けされるということです。それが正しくない場合、機能を「重要」にするのは何ですか?

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

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

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

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

4
強化学習に関する書籍
私はかなり前から強化学習を理解しようと努めてきましたが、どういうわけかグリッド世界の問題を解決する強化学習のためのプログラムの書き方を視覚化することができません。強化学習の明確な概念を構築するのに役立つテキストブックをいくつか教えてください。


2
VC次元と自由度の関係
私は機械学習を勉強していて、VC次元の概念と自由度のより古典的な(統計的)概念の間に強い関係があると感じています。 誰かがそのようなつながりを説明できますか?

1
NERにVowpal Wabbitを使用する
Vowpal Wabbit(VW)は明らかにSEARNを介したシーケンスタグ付け機能をサポートしています。問題は、説明といくつかの例を含む詳細なパラメーターリストがどこにも見つからないことです。私が見つけた最高のものは、非常に短い例のあるジンコフのブログエントリです。メインのwikiページはかろうじてSEARNに言及しています。 チェックアウトしたソースコードで、NERサンプルデータを含むデモフォルダーを見つけました。残念ながら、すべてのテストを実行するスクリプトは、このデータで実行する方法を示していません。少なくとも、期待される形式を確認するのに十分な情報でした。エントリが空白行で区切られていることを除いて、標準のVWデータ形式とほぼ同じです(これは重要です)。 私の現在の理解は、次のコマンドを実行することです。 cat train.txt | vw -c --passes 10 --searn 25 --searn_task sequence \ --searn_passes_per_policy 2 -b 30 -f twpos.vw どこ --searn 25 -NERラベルの総数(?) --searn_task sequence -シーケンスタグ付けタスク(?) --searn_passes_per_policy 2 -何をしているのかわからない その他のパラメーターはVWの標準であり、追加の説明は必要ありません。おそらく、SEARNに固有のパラメーターが他にありますか?それらの重要性と影響は何ですか?それらを調整する方法?経験則はありますか? 例へのポインタは高く評価されます。

2
Pythonで補完的な単純ベイズを実装しますか?
問題 犯罪データのラベルが付けられたデータセットでナイーブベイを使用してみましたが、結果は非常によくありません(7%の精度)。Naive Bayesは、これまで使用してきた他のアルゴリズムよりもはるかに高速に実行されるため、スコアが非常に低い理由を調べてみました。 研究 読んだ後、ナイーブベイは頻度の高いクラスに偏りがあるため、バランスのとれたデータセットで使用する必要があることに気付きました。私のデータは不均衡なので、データスキューを処理するために特別に作成されているので、補完的な単純ベイズを使用してみました。プロセスを説明する論文では、アプリケーションはテキスト分類用ですが、この手法が他の状況で機能しない理由はわかりません。ここで私が言及している論文を見つけることができます。つまり、クラスが表示されない発生に基づいて重みを使用するという考え方です。 いくつかの調査を行った後、Javaでの実装を見つけることができましたが、残念ながらJavaを知りませんし、自分で実装するためのアルゴリズムを十分に理解していません。 質問 Pythonでの実装はどこにありますか?それが存在しない場合、自分で実装するにはどうすればよいですか?

2
次元削減とは逆の方法はありますか?
私は機械学習の分野に不慣れですが、私の信号処理を担当しました。この質問に誤ったラベルが付けられている場合はお知らせください。 少なくとも3つの変数で定義された2次元データがあり、非常に非線形なモデルではシミュレーションが複雑すぎます。 PCAやICA(PythonライブラリScikit-Learnから)などのメソッドを使用してデータから2つの主要コンポーネントを抽出するのにさまざまなレベルの成功を収めてきましたが、これらのメソッド(または少なくともメソッドの実装)は制限されているようですたとえば、2D点群から2つのコンポーネントを抽出するなど、データのディメンションと同じ数のコンポーネントを抽出します。 データをプロットするとき、3つの異なる線形傾向があることが訓練された目には明らかです。3つの色の線は方向を示します。 PCAを使用する場合、予想どおり、主成分はカラーラインの1つに揃えられ、もう1つは90°に配置されます。ICAを使用する場合、最初のコンポーネントは青の線に揃えられ、2番目のコンポーネントは赤と緑のコンポーネントの間のどこかにあります。私の信号の3つのコンポーネントすべてを再現できるツールを探しています。 編集、追加情報:私はここで、より大きな位相平面の小さなサブセットで作業しています。この小さなサブセットでは、各入力変数は平面上で線形の変化を生成しますが、この変化の方向と振幅は非線形であり、作業しているより大きな平面上の正確な場所に依存します。一部の場所では、2つの変数が縮退している可能性があります。それらは同じ方向に変化をもたらします。たとえば、モデルがX、Y、Zに依存するとします。変数Xを変更すると、青い線に沿って変化が生じます。Yは緑の線に沿って変化を引き起こします。Z、赤いものに沿って。

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

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