データサイエンス

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

2
精度とNPVではなく、精度と再現率がF1スコアで使用されるのはなぜですか?
バイナリ分類の問題では、F1スコアがパフォーマンスの指標としてよく使用されるようです。私が理解している限り、アイデアは精度と再現率の間の最良のトレードオフを見つけることです。F1スコアの式は、精度と再現率が対称的です。しかし、(そして、それが私を悩ませていることですが)精度と再現率の間には非対称性があります。再現率は事前確率に依存しない分類子のプロパティですが、精度は事前確率に依存する量です。 精度と再現率の組み合わせの何がそんなに特別なのか誰にも教えてもらえますか?精度(ポジティブ予測値)とネガティブ予測値を使用しないのはなぜですか?


3
Twitter感情分析:ポジティブクラスとネガティブクラスのみのトレーニングにもかかわらず、ニュートラルツイートを検出する
機械学習に関しては、私は初心者です。Pythonのscikit-learnライブラリを使用して、さまざまな教師あり学習アルゴリズムを分析することで、実際に体験してみます。これらのさまざまなアルゴリズムを使用した感情分析には、160万のツイートのsentiment140データセットを使用しています。 ばかげた質問かどうかはわかりませんが、2つのクラス(ポジティブとネガティブ)だけをトレーニングした場合、3つのクラス(ポジティブ、ネガティブ、ニュートラル)に分類できるかどうか疑問に思いました。sentiment140トレーニングセットは、合計で1.6Mツイートの2つのクラスだけ(正と負)で構成されていますが、それは私が考えるようになったので、そのテスト・セットは、三つのクラス(正、負と中立)を超える500件のツイートで構成されています。 これは可能ですか?はいの場合、ニュートラルなツイートを特定する方法を教えてください。直感的に、各クラスのテストセットで各分類されたツイートの条件付き確率を(predict_probaを使用して)見つけ、それがポジティブクラスとネガティブクラスの両方で特定のしきい値(たとえば0.7未満)を下回っている場合はニュートラルかどうかを判断できます。これは正しい方法ですか?

1
ニューラルネットワーク:低確率のイベントを検出するための実世界のデータを準備する方法
私は実際の信用借入者のデータセット(50,000レコード)を持っています。このセットには、既婚、独身、離婚などのカテゴリと、収入、年齢などの連続データが含まれます。一部のレコードは不完全であるか、外れ値が含まれています。従属変数はDefaulted / Good(0,1)です。ニューラルネットワークをトレーニングして、トレーニングデータに基づいてデフォルトを予測しようとしています。ニューラルネットワークの経験があり、サンプルデータに使用して素晴らしい結果を得ましたが、ノイズの多い実世界のデータを正規化する必要はありませんでした。 私が心に留めておくべきことについての考え:-カテゴリを正規化する方法。インデックス番号を割り当てることはできますか?それらを層別化する必要がありますか?-欠損データの扱い方。0を割り当てますか?-デフォルトがデータセットの約5%に過ぎないという事実に対処する方法。これらの低い確率を予測するためにどの伝達関数が役立つでしょうか。-基本的に、その他の実世界のデータに関するアドバイスは非常に高く評価されています。 前もって感謝します!

2
Google DeepmindのGo再生システムであるAlphaGoの目新しさは何ですか?
最近、Google DeepMindの研究者が論文を発表しました。彼らは、現在の最高のコンピュータープログラムと人間のヨーロッパのチャンピオンを打ち負かしたGoプレイシステムについて説明しました。 その論文をざっと見たところ、以前の論文から多くの興味深いアイデアを使用しているようです。彼らがこの壮大な改善を達成することを可能にしたのは、彼らが異なって何をしたか?

2
通常のラップトップでのディープネットのトレーニング
ディープニューラルネットワークの設計とトレーニングで「実践的な」経験を積むことに興味があるアマチュアが、その目的のために通常のラップトップを使用することは可能ですか(GPUなし)、または良い結果を得ることはできませんか?強力なコンピューター/クラスター/ GPUなしで妥当な時間? 具体的には、ラップトップのCPUはIntel Core i7 5500Uフィス世代で、8GB RAMを搭載しています。 ここで、どの問題に取り組みたいかを指定していないので、別の方法で質問を組み立てます。次の目標が達成されるように、ハードウェアで実装することをお勧めする深いアーキテクチャはどれですか:過去10年間に導入され、ディープネットの蜂起に不可欠であった手法(初期化、ドロップアウト、rmspropの理解など)をいつどのように使用するかに関する直感と知識の習得。 私はこれらの手法について読みましたが、もちろん自分で試してみなければ、これらを効果的に実装する方法と時期を正確に知ることはできませんでした。逆に、力が足りないパソコンを使ってみると、自分の学習速度が遅くなり、理解が深まったと言っても無意味でしょう。そして、これらのテクニックを浅いネットで使用しようとすると、正しい直感を構築できないでしょう。 (私の)学習のプロセスを次のように想像します。ニューラルネットを実装し、それを数時間まで練習して、得られたものを確認し、プロセスを繰り返します。これを1日に1、2回行うとしたら、たとえば6か月後に、その分野の専門家が知っておくべきことと同等の実践的な知識が得られれば幸いです。

2
決定木を正しく解釈する方法は?
オンラインで見つけた意思決定ツリーを正しく解釈しているかどうかを調べています。 このディシジョンツリーの従属変数は、BradまたはGoodの2つのクラスを持つ信用格付けです。このツリーのルートには、このデータセット内のすべての2464の観測が含まれています。 良いまたは悪い信用格付けを分類する方法を決定する最も影響力のある属性は、収入レベル属性です。 私たちのサンプルでは、​​収入が低かった人々の大半(553人中454人)の信用格付けも悪かった。プレミアムクレジットカードを無制限にローンチする場合、これらの人々は無視する必要があります。 この決定木を予測に使用して新しい観測値を分類する場合、葉のクラスの最大数が予測として使用されますか?たとえば、観察xは中程度の収入、7枚のクレジットカード、34歳です。信用格付けの予測分類=「良い」 別の新しい観察結果は、観察Yである可能性があります。これは低収入に満たないため、信用度は「悪い」です。 これは決定木を解釈する正しい方法ですか、それとも完全に間違っていますか?

1
「残差マッピング」とは何ですか?
Heらによる最近の論文。(画像認識のためのディープ残差学習、Microsoft Research、2015年)は、最大4096のレイヤー(ニューロンではない!)を使用すると主張しています。 紙を理解しようとしているのですが、「残差」という言葉に出会いました。 誰かが私にこの場合の残差の意味を説明/定義してくれませんか? 例 参照されていない関数を学習する代わりに、層の入力を参照して残差関数を学習するように、層を明示的に再構成します。 [...] いくつかの積み重ねられた各層が望ましい基本的なマッピングに直接適合することを期待する代わりに、これらの層を残余のマッピングに明示的に適合させます。正式には、望ましい基礎となるマッピングをH(x)H(バツ)\mathcal{H}(x)、積み重ねられた非線形層を別のマッピングに適合させます F(x ):= H(x )− xF(バツ):=H(バツ)−バツ\mathcal{F}(x) := \mathcal{H}(x)−x。元のマッピングはに再キャストされますF(x )+ xF(バツ)+バツ\mathcal{F}(x)+x。残余マッピングを最適化する方が、元の参照されていないマッピングを最適化するよりも簡単であると仮定します

1
正確にはどこに
私は、SVMが(カーネルトリックのない)バイナリの線形分類器であることを理解しました。彼らはトレーニングデータを持っています(xi,yi)(xi,yi)(x_i, y_i) どこ xixix_i ベクトルであり、 yi∈{−1,1}yi∈{−1,1}y_i \in \{-1, 1\}クラスです。それらはバイナリ、線形分類子なので、タスクはラベルでデータポイントを分離する超平面を見つけることです−1−1-1 ラベル付きのデータポイントから +1+1+1。 今のところ、データポイントは線形分離可能であり、スラック変数は必要ないものとします。 これで、トレーニングの問題が次の最適化問題であることがわかりました。 minw,b12∥w∥2minw,b12‖w‖2{\min_{w, b} \frac{1}{2} \|w\|^2} st yi(⟨w,xi⟩+b)≥1yi(⟨w,xi⟩+b)≥1y_i ( \langle w, x_i \rangle + b) \geq 1 私はそのminizmizingだと思うマージンを最大化手段(。しかし、私はそれが正方形がここにある理由を理解していないだろう何かの変更を1最小化しようとする場合?)。∥w∥2‖w‖2\|w\|^2∥w∥‖w‖\|w\| また、は、モデルがトレーニングデータに対して正しい必要があることを意味することも理解しました。ただし、ではなくます。どうして?yi(⟨w,xi⟩+b)≥0yi(⟨w,xi⟩+b)≥0y_i ( \langle w, x_i \rangle + b) \geq 0111000

1
遺伝的アルゴリズムの最小化の簡単な例
Pythonの遺伝的アルゴリズムアプローチを使用して関数がその最小値を達成するポイントを見つける方法の例を探していました。DEAPのドキュメントを確認しましたが、その例を理解するのは非常に困難でした。例えば: def function(x,y): return x*y+3*x-x**2 xとyの両方の初期ランダム値(同じ次元からのものではない)を供給することができる遺伝的アルゴリズムを作成する方法についての参考文献を探しています。遺伝的アルゴリズムの作成と使用の経験を持つ誰かが私にこれについていくつかのガイダンスを提供できますか?

1
ニューラルネットワーク実装のトラブルシューティング
私はStandford / Coursera Machine Learningコースを受講しました。そしてそれはかなり順調に進んでいます。コースから成績を取得するよりも、トピックの理解に本当に興味があるので、私はすべてのコードをより流暢なプログラミング言語で書き込もうとしています(簡単に掘り下げることができるもの)のルーツ)。 私が最もよく学ぶ方法は、問題に取り組むことです。そのため、ニューラルネットワークを実装しましたが、機能しません。テストの例に関係なく、各クラスの確率は同じになるようです(たとえば、入力値に関係なく、クラス0の0.45、クラス1の0.55)。奇妙なことに、すべての非表示のレイヤーを削除した場合、これは当てはまりません。 ここに私がすることの簡単な概要があります。 Set all Theta's (weights) to a small random number for each training example set activation 0 on layer 0 as 1 (bias) set layer 1 activations = inputs forward propagate; Z(j+1) = Theta(j) x activation(j) [matrix operations] activation(j+1) = Sigmoid function (Z(j+1)) [element …

2
SPARK Mllib:マルチクラスロジスティック回帰、上位クラスではなくすべてのクラスの確率を取得する方法は?
LogisticRegressionWithLBFGSマルチクラス分類器のトレーニングに使用しています。 新しい目に見えないサンプルでモデルをテストするときに、すべてのクラス(最上位の候補クラスだけでなく)の確率を取得する方法はありますか? PS私は必ずしもLBFGS分類子を使用する義務があるわけではありませんが、私の問題ではロジスティック回帰を使用したいと思います。したがって、別のLR分類子タイプを使用した解決策がある場合は、それを採用します。

3
Sparkのヒープサイズを設定または取得する方法(Pythonノートブック経由)
Macbook ProでIPython NotebookのSpark(1.5.1)を使用しています。SparkとAnacondaをインストールした後、ターミナルからIPythonを起動しますIPYTHON_OPTS="notebook" pyspark。これにより、すべてのIPythonノートブックを一覧表示するWebページが開きます。それらの1つを選択して、2番目のWebページで開くことができます。SparkContext(sc)はすでに使用可能で、ノートブックの最初のコマンドはでhelp(sc)、正常に実行されます。私が抱えている問題は、対処方法がわからないJavaヒープスペースエラーが発生することです。現在のJavaヒープ設定を表示する方法と、セットアップのコンテキスト内でそれを増やす方法 次のエラーメッセージが表示されます。 Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe. : org.apache.spark.SparkException: Job aborted due to stage failure: Task 19 in stage 247.0 failed 1 times, most recent failure: Lost task 19.0 in stage 247.0 (TID 953, localhost): java.lang.OutOfMemoryError: Java heap space

3
多数の値に対する1つのホットエンコーディング
カテゴリ変数が取り得る値の数が多い場合、1つのホットエンコーディングをどのように使用しますか? 私の場合は56の値です。そのため、通常の方法のように、トレーニングデータセットに56列(56バイナリフィーチャ)を追加する必要があります。これにより、複雑さが大幅に増加し、トレーニング時間が増加します。 それでは、このような場合にどのように対処しますか?

5
ngramを指定して類似のドキュメントを検索する最良の方法
抽出したngramの約200のドキュメントのデータベースがあります。クエリドキュメントに最も類似しているドキュメントをデータベースで検索したい。つまり、クエリドキュメントと最も多くのngramを共有するデータベース内のドキュメントを見つけたいのです。現在、1つずつ調べて1つずつ比較できますが、これはO(N)時間を要し、Nが非常に大きい場合はコストがかかります。効率的な類似性検索を行うための効率的なデータ構造または方法があるかどうか疑問に思っていました。ありがとう

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