タグ付けされた質問 「classification」

統計的分類は、サブ母集団が既知である観測を含むデータのトレーニングセットに基づいて、サブ母集団のアイデンティティが不明な場合に、新しい観測が属するサブ母集団を識別する問題です。したがって、これらの分類は、統計学によって研究することができる変数の動作を示します。


1
GBMパッケージとGBMを使用したキャレット
私はを使用してモデルのチューニングを行ってきましたがcaret、gbmパッケージを使用してモデルを再実行しています。caretパッケージが使用gbmし、出力が同じである必要があることは私の理解です。ただし、を使用した簡単なテスト実行でdata(iris)は、評価指標としてRMSEとR ^ 2を使用したモデルで約5%の不一致が示されています。を使用して最適なモデルのパフォーマンスを見つけたいが、部分的な依存関係プロットを利用するためにcaret再実行しgbmます。再現性のために以下のコード。 私の質問は次のとおりです。 1)これらの2つのパッケージは同じであっても違いがあるのはなぜですか(確率的ですが、5%がやや大きな違いであることがわかります。特に、次のような素晴らしいデータセットを使用していない場合 iris、モデリングの) 。 2)両方のパッケージを使用する利点または欠点はありますか? 3)無関係:irisデータセットを使用した場合、最適な値interaction.depthは5ですが、読み取り値が最大値floor(sqrt(ncol(iris)))である2 を超えるはずです。これは厳密な経験則ですか、それとも非常に柔軟ですか。 library(caret) library(gbm) library(hydroGOF) library(Metrics) data(iris) # Using caret caretGrid <- expand.grid(interaction.depth=c(1, 3, 5), n.trees = (0:50)*50, shrinkage=c(0.01, 0.001), n.minobsinnode=10) metric <- "RMSE" trainControl <- trainControl(method="cv", number=10) set.seed(99) gbm.caret <- train(Sepal.Length ~ ., data=iris, distribution="gaussian", method="gbm", trControl=trainControl, verbose=FALSE, tuneGrid=caretGrid, metric=metric, bag.fraction=0.75) …

2
ロジスティック回帰はいつ適していますか?
現在、分類方法を教えています。具体的には、サポートベクターマシン、ニューラルネットワーク、ロジスティック回帰の3つの方法を検討しています。私が理解しようとしているのは、ロジスティック回帰が他の2つよりも優れたパフォーマンスを発揮する理由です。 ロジスティック回帰の私の理解から、アイデアはデータ全体にロジスティック関数を適合させることです。したがって、データがバイナリの場合、ラベル0のすべてのデータは値0(またはそれに近い)にマッピングされ、値1のすべてのデータは値1(またはそれに近い)にマッピングされる必要があります。ロジスティック関数は連続的で滑らかなので、この回帰を実行するには、すべてのデータが曲線に適合する必要があります。決定境界付近のデータポイントに適用される重要性はこれ以上なく、すべてのデータポイントが異なる量で損失に寄与します。 ただし、サポートベクターマシンとニューラルネットワークでは、決定境界付近のデータポイントのみが重要です。データポイントが決定境界の同じ側にある限り、同じ損失をもたらします。 したがって、決定の周りの難しいデータだけに焦点を合わせるのではなく、多くの重要でない(分類​​しやすい)データに曲線を当てはめようとすると「リソースを浪費する」ため、ロジスティック回帰はサポートベクターマシンまたはニューラルネットワークよりも優れています。境界?

2
n-gramが単語の代わりにテキスト言語の識別に使用されるのはなぜですか?
2つの一般的な言語識別ライブラリ、Compact Language Detector 2 for C ++および Java用の言語検出では、どちらも(文字ベースの)n-gramを使用してテキスト機能を抽出しました。ワードオブワード(単一ワード/辞書)が使用されないのはなぜですか?また、バッグオブワードとNグラムの利点と欠点は何ですか? また、テキスト分類におけるn-gramモデルの他の用途は何ですか? おっと。同様の質問があるようです: バイグラム(N-gram)モデルを使用してテキストドキュメントの特徴ベクトルを構築することについて しかし、誰かがより包括的な答えを出すことができますか?言語識別の場合、どちらが良いですか? (願わくば、n-gramとword-of-wordsの意味を正しく理解できたと思います(笑)。

2
フィッシャー基準の重みを計算する方法は?
パターン認識と機械学習を研究していますが、次の質問にぶつかりました。 等しい事前クラス確率P (D 1)= P (D 2)= 1の 2クラス分類問題を考えますP(D1)=P(D2)=12P(D1)=P(D2)=12P(D_1)=P(D_2)= \frac{1}{2} によって与えられた各クラスのインスタンスの分布 p(x|D1)=N([00],[2001]),p(x|D1)=N([00],[2001]), p(x|D_1)= {\cal N} \left( \begin{bmatrix} 0 \\0 \end{bmatrix}, \begin{bmatrix} 2 & 0 \\ 0 & 1 \end{bmatrix} \right), p(x|D2)=N([44],[1001]).p(x|D2)=N([44],[1001]). p(x|D_2)= {\cal N} \left( \begin{bmatrix} 4 \\ 4 \end{bmatrix}, \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \right). …

5
非常に多数のデータポイントで値の代入を実行する方法は?
非常に大きなデータセットがあり、約5%のランダムな値が欠落しています。これらの変数は互いに相関しています。次のRデータセットの例は、ダミーの相関データを使用した単なるおもちゃの例です。 set.seed(123) # matrix of X variable xmat <- matrix(sample(-1:1, 2000000, replace = TRUE), ncol = 10000) colnames(xmat) <- paste ("M", 1:10000, sep ="") rownames(xmat) <- paste("sample", 1:200, sep = "") #M variables are correlated N <- 2000000*0.05 # 5% random missing values inds <- round ( runif(N, 1, length(xmat)) …
12 r  random-forest  missing-data  data-imputation  multiple-imputation  large-data  definition  moving-window  self-study  categorical-data  econometrics  standard-error  regression-coefficients  normal-distribution  pdf  lognormal  regression  python  scikit-learn  interpolation  r  self-study  poisson-distribution  chi-squared  matlab  matrix  r  modeling  multinomial  mlogit  choice  monte-carlo  indicator-function  r  aic  garch  likelihood  r  regression  repeated-measures  simulation  multilevel-analysis  chi-squared  expected-value  multinomial  yates-correction  classification  regression  self-study  repeated-measures  references  residuals  confidence-interval  bootstrap  normality-assumption  resampling  entropy  cauchy  clustering  k-means  r  clustering  categorical-data  continuous-data  r  hypothesis-testing  nonparametric  probability  bayesian  pdf  distributions  exponential  repeated-measures  random-effects-model  non-independent  regression  error  regression-to-the-mean  correlation  group-differences  post-hoc  neural-networks  r  time-series  t-test  p-value  normalization  probability  moments  mgf  time-series  model  seasonality  r  anova  generalized-linear-model  proportion  percentage  nonparametric  ranks  weighted-regression  variogram  classification  neural-networks  fuzzy  variance  dimensionality-reduction  confidence-interval  proportion  z-test  r  self-study  pdf 

1
分類のためにHMMをトレーニングするにはどうすればよいですか?
したがって、分類のためにHMMをトレーニングするときの標準的なアプローチは次のとおりであることを理解しています。 データセットを各クラスのデータセットに分けます クラスごとに1つのHMMをトレーニングする テストセットで各モデルの尤度を比較して、各ウィンドウを分類します。 しかし、各クラスでHMMをトレーニングするにはどうすればよいですか?1つのクラスに関連するデータを連結するだけですか?しかし、時系列データはシーケンシャルであることを意味していませんか?そして、そうすると、いくつかのデータポイントが連続していないときに連続していると言いますか? より具体的には、96xTマトリックスであるEEGデータがあります。96個の特徴ベクトルは、異なるチャネルからの異なる周波数のパワースペクトル密度であり、Tは信号の時間の長さです(サンプリングレートで) これは、実験プロトコル(データにラベルが付けられている)からわかっているウィンドウに分割できるため、クラスごとに96 * tマトリックスのセットを収集できます。ここで、tはTより小さく、各ウィンドウのサイズを示します。 このデータでHMMをトレーニングするにはどうすればよいですか?pmtk3ツールキットを使用しようとしていますが、実際には何でも使用できます-パワースペクトル密度が離散的ではなく連続的であるため、実際の値の観測を処理できなければなりません(デフォルトのMATLABツールボックスは離散観測を使用)。 目的は、EEGデータウィンドウを、ラベル付けされたデータでトレーニングした特定の精神状態に分類できるようにすることです。これは、ベルリンのBCIコンペデータを使用したブレインコンピューターインターフェイスの問題です。

3
Naive Bayesは確率を特徴としています:単語を二重にカウントすべきですか?
私は自分のNaive Bayesのバッグo '単語モデルのプロトタイプを作成していますが、機能の確率の計算について質問がありました。 私は2つのクラスを持っているとしましょう、それは誰もが使用するものなので、私はただスパムと非スパムを使用します。そして、「バイアグラ」という言葉を例に取りましょう。トレーニングセットには10​​通のメールがあり、5通のスパムと5通の非スパムがあります。「viagra」は、5つのスパム文書すべてに表示されます。トレーニングドキュメントの1つで、3回表示されます(これが私の質問です)。これは、合計で7回表示されます。非スパムトレーニングセットでは、1回表示されます。 p(viagra | spam)を推定したい場合、それは単純です: p(viagra | spam)= 5つのスパム文書にviagraが含まれる/合計5つのスパム文書= 1 言い換えれば、1つのドキュメントが1回ではなく3回バイアグラについて言及しているという事実は本当に重要ではないのでしょうか? 編集:ここに著者が私がちょうどレイアウトしたアプローチを使用するブログ投稿があります:http: //ebiquity.umbc.edu/blogger/2010/12/07/naive-bayes-classifier-in-50-lines/ そして、ここに著者が言うブログ投稿があります:p(viagra | spam)= 7 viagra spam言及/合計8言及 http://www.nils-haldenwang.de/computer-science/machine-learning/how-to-apply -単純なベイズ分類器からドキュメント分類問題へ そして、以下の答えの1つは、それがあるべきだと言っています:p(viagra | spam)= 7 viagra言及のスパム/スパムの合計用語数 これについて意見を述べるソースに誰でもリンクできますか?

2
機能の数を増やすとパフォーマンスが低下するのはなぜですか?
機能の数を増やすとパフォーマンスが低下する理由について直観を得ようとしています。現在、特定の機能の間では二変量的に優れたパフォーマンスを発揮しますが、より多くの機能を見ると性能が低下するLDA分類器を使用しています。私の分類精度は、層化された10倍のxvalを使用して実行されます。 これらのより高い次元で何が起こっているかをある程度物理的または空間的に直感的に理解するために、分類器が二変量的よりも単変量的にうまく機能するという単純なケースはありますか?


2
PCAとランダムフォレスト
最近のKaggleコンテストでは、トレーニングセット用に10の追加機能を手動で定義しました。これらの機能は、ランダムフォレスト分類器のトレーニングに使用されます。新しい機能を備えたデータセットに対してPCAを実行し、それらが互いにどのように比較されているかを確認することにしました。分散の〜98%が最初の成分(最初の固有ベクトル)によって運ばれることがわかりました。次に、分類器を複数回トレーニングし、一度に1つの機能を追加し、交差検証とRMSエラーを使用して分類の品質を比較しました。機能を追加するごとに分類が改善され、最終結果(10個の新しい機能すべてを含む)が(たとえば)2個の機能を使用した最初の実行よりもはるかに優れていることがわかりました。 PCAが分散の〜98%がデータセットの最初のコンポーネントにあると主張したのに、なぜ分類の品質はそれほど向上したのですか? これは他の分類器にも当てはまりますか?RFは複数のコアにまたがるので、トレーニングは(たとえば)SVMよりもはるかに高速です。 データセットを「PCA」空間に変換し、変換した空間で分類器を実行した場合はどうなりますか。結果はどのように変わりますか?


1
スパーストレーニングセットはSVMに悪影響を及ぼしますか?
SVMを使用してメッセージをさまざまなカテゴリに分類しようとしています。トレーニングセットの望ましい単語/記号のリストをまとめました。 メッセージを表す各ベクトルについて1、単語が存在する場合に対応する行を設定します。 「コーパス」は次のとおりです。[メアリー、リトル、ラム、星、きらめき] 最初のメッセージ:「メアリーには小さな子羊がいた」-> [1 1 1 0 0] 2番目のメッセージ:「小さな星をきらめき」-> [0 1 0 1 1] これはSVMでかなり一般的な設定だと思いますが、私の質問は、セットに数千の単語がある場合、実際に表示されるメッセージごとに1-2単語しかない場合はどうでしょうか?トレーニングベクトルのセットの線形依存性は、アルゴリズムの収束能力に悪影響を及ぼしますか?

2
DDoSフィルタリングに機械学習を適用する
でスタンフォード大学の機械学習コースのAndrew NgがITでMLを適用述べました。しばらくして、私たちのサイトで中程度のサイズ(約2万ボット)のDDoSを取得したとき、単純なニューラルネットワーク分類子を使用してそれと戦うことにしました。 私は約30分でこのpythonスクリプトを書きました:https : //github.com/SaveTheRbtz/junk/tree/master/neural_networks_vs_ddos pyBrainを使用し、3つのnginxログを入力として受け取ります。そのうち2つはニューラルネットワークをトレーニングするために使用します。 良いクエリで 悪いものと そして分類のための1つのログ 悪いクエリから。 0.0.0.0 - - [20/Dec/2011:20:00:08 +0400] "POST /forum/index.php HTTP/1.1" 503 107 "http://www.mozilla-europe.org/" "-" ...そして、良いです... 0.0.0.0 - - [20/Dec/2011:15:00:03 +0400] "GET /forum/rss.php?topic=347425 HTTP/1.0" 200 1685 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9) Gecko/2008052906 Firefox/3.0" ...辞書を作成します: ['__UA___OS_U', '__UA_EMPTY', '__REQ___METHOD_POST', '__REQ___HTTP_VER_HTTP/1.0', '__REQ___URL___NETLOC_', …

2
複数のターゲットまたはクラスを予測しますか?
複数のイベント(たとえば、ダイスのロールとコインのトスの両方)を予測しようとする予測モデルを構築しているとします。私が精通しているほとんどのアルゴリズムは1つのターゲットのみで機能するため、この種のことに対する標準的なアプローチがあるかどうか疑問に思っています。 2つの選択肢があります。おそらく最も素朴なアプローチは、単純にそれらを2つの異なる問題として扱い、結果を結合することです。ただし、2つのターゲットが独立していない場合(および多くの場合、それらは非常に依存している可能性があります)、これには重大な欠点があります。 私にとってより賢明なアプローチは、結合されたターゲット属性を作成することです。そうダイと硬貨の場合には、我々が持っているであろうの状態((1 、H )、(1 、T )、(2 、H )、など)。ただし、これにより、複合ターゲットの状態/クラスの数がかなり大きくなることがあります(2つのサイコロがある場合など)。さらに、これは、一方の属性がカテゴリ属性でもう一方が数値属性の場合(たとえば、気温と降水量のタイプを予測する場合)、奇妙に思えます。6 ⋅ 2 = 126⋅2=126\cdot 2=12(1 、H)、(1 、T)、(2 、H)(1、H)、(1、T)、(2、H)(1, H), (1, T), (2, H) この種のことに対する標準的なアプローチはありますか?あるいは、これを処理するために特別に設計された学習アルゴリズムはありますか?

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