タグ付けされた質問 「feature-construction」

特徴エンジニアリングは、データのドメイン知識を使用して機械学習モデルの特徴を作成するプロセスです。このタグは、CrossValidatedでトピックから外れる、機能エンジニアリングに関する理論的および実用的な質問を対象としています。

2
機能ハッシュについて
ウィキペディアでは、機能のハッシュについて説明するときに、次の例を提供しています。しかし、マッピングは定義された辞書と一致していないようです たとえば、辞書に従ってにto変換する必要があります3が、1代わりにエンコードされます。 説明に誤りはありますか?機能ハッシュはどのように機能しますか? テキスト: John likes to watch movies. Mary likes too. John also likes to watch football games. 辞書を使用して変換できます {"John": 1, "likes": 2, "to": 3, "watch": 4, "movies": 5, "also": 6, "football": 7, "games": 8, "Mary": 9, "too": 10} マトリックスへ [[1 2 1 1 1 0 0 0 1 …

1
非常に大きな時系列データセットを処理する
非常に大きなデータセットにアクセスできます。データは、4つのジャンルのうちの1つからの、音楽の抜粋を聞いている人々のMEGレコーディングからのものです。データは次のとおりです。 6科目 3実験の繰り返し(エポック) エポックあたり120回の試行 275 MEGチャネルから500Hz(= 4000サンプル)で試行あたり8秒のデータ したがって、ここでの各「例」はサイズ[4000x275]の行列であり、そのような例は2160あり、これは特徴抽出の前です。目標は、脳の信号に基づいてジャンルを予測することです(4クラス分類)。 明らかに、ここにはいくつかの挑戦的な問題があります。 データセットがメモリに収まりません データには強い時間的相関があり、被験者間の変動は非常に大きくなります。その結果、データを分割する方法は明らかではありません S / N比が非常に低い 分類子の正しい機能が何であるかは明らかではありません これらを順番に取ります: できることはいろいろあります。まず、ナイキスト制限を考慮しても、100Hzを超えると脳の活動が実際に発生しないため、500Hzから〜200Hzに安全にダウンサンプリングできます。一連のチャネルからサブサンプリングすることもできます(たとえば、聴覚領域の中心)が、関心のある他の領域(前頭など)でアクティビティが発生する可能性があるため、これを先験的に行うことは避けます。時間枠の一部を削除することもできます。おそらく、最初の2つだけがタスクにとって重要ですか?それは本当に知られていない。もちろん、誰もが「叫び次元削減を! "ですが、それも簡単なことではありません。最初に、トレーニング/テストの分割(2を参照)に非常に注意する必要があり、これを機能の生成前または後に行うかどうかも明確ではありません。次に、高価なもの以外相互検証、または骨の折れる目視検査では、適切な方法または適切な次元数のいずれかを選択する明白な方法はありません。もちろん、PCA、ICA、またはランダムな投影法などを使用して、最善の結果を期待できます。 これはトリッキーです。トレーニングセットに連続するサンプルがある場合、トレーニングセットにオーバーフィットする可能性があります。一方、連続するサンプルがトレーニングセットとテストセットに分割される場合、トレーニングセットにアンダーフィットする可能性がありますが、テストセットにオーバーフィットする可能性があります。ここにはさまざまなオプションがあるようです: 単一主題分類。個々の主題を自分で取り、時代に応じて分割します。私たちは脳全体を予測しようとしているわけではないので、これは最も簡単な作業です。この中で、クロス検証のために2つの残りのエポックを使用できます。完全を期すために、すべての組み合わせをローテーションする必要があります。すべての被験者の平均精度を報告します。もちろん、これらのモデルが一般化することはまったく期待できません。 被験者分類内。一緒にすべての主題を取り、時代に従って分割します。これは、トレーニング中のすべての被験者を見てきたので、実際には最も簡単な作業かもしれません。ただし、モデルが新しい主題にうまく一般化するとは思わないでしょう。この中で、クロス検証のために2つの残りのエポックを使用できます。完全を期すために、すべての組み合わせをローテーションする必要があります。 被験者間分類。「Leave-one-out」とも呼ばれ、1人の被験者がテストデータとして使用され、残りはトレーニングに使用されます。次に、すべての主題を回転させます。次に、被験者に対して交差検証が実行されます。毎回「新しい脳」を予測しようとしているので、これははるかに困難な作業になると予想します。ここでは、テストと再テストの信頼性(つまり、時間的相関によってどれだけ過剰適合が引き起こされるか)の問題がありますが、モデルはより大きな母集団にうまく一般化すると予想されます。 これは古典的な「干し草の中の針」の問題です。音楽ジャンルの認識やジャンル固有の処理に関連する実際の信号は、脳内の活動の「スープ」と比較するとごくわずかです。部分的にしか削除できない顕著なアーティファクトもあります(主に移動に関連)。データから派生した機能、およびデータの処理方法は、対象の信号の一部を破壊しないようにする必要があります。 ここでは、さまざまなことを想像できます。1つ目は、生のデータ(ベクターに連結されたもの)を特徴ベクトルとして使用することです。それがどれほど実り多いかはわかりませんが、これらのベクトルはおそらく本質的に一様にランダムであると思います。これは実際には信号処理の問題ですが、従うことができるいくつかの一般的なガイドラインがあります。1つは、スライディングウィンドウ上で標準のフーリエ解析を実行することです。ここから、コンポーネントを個別の周波数帯域(アルファ/ベータ/ガンマなど)に分割でき、これらの統計(平均、標準偏差)を機能として使用できます。または、ウェーブレットやヒルベルト変換を使用したり、混沌としたアトラクタを探したりすることもできます。もちろん、順列の数を増やすカーネル(線形、多項式、RBFなど)を選択できます。おそらく、ここで行う最善の方法は、できるだけ多くの異なる機能セットを生成し、MKLまたはブースティングメソッドを使用してそれらを組み合わせることです。 この種類のデータセットにどのように取り組みますか(特にこのデータセットでない場合)?途中で見逃したことはありますか?研究者の時間と計算リソースに限りなく費やすことなく、成功する可能性が最も高い戦略は何ですか?

1
ランダムフーリエの特徴が負ではないのはなぜですか?
ランダムフーリエ機能は、カーネル関数の近似を提供します。これらは、SVMやガウスプロセスなど、さまざまなカーネルメソッドに使用されます。 今日、TensorFlow実装を使用してみましたが、機能の半分で負の値が得られました。私の理解では、これは起こらないはずです。 それで、私は元の論文に戻りました。これは、期待したとおり、機能は[0,1]にあるはずだと述べています。しかし、その説明(以下で強調表示)は私には意味がありません。余弦関数は[-1,1]のどこでも値を生成でき、表示されるほとんどの点には負の余弦値があります。 私はおそらく明白なものを見落としているでしょうが、誰かがそれが何であるかを指摘することができればそれを感謝します。

3
ランキングのための機械学習アルゴリズム
私は、特性に従って記述できる要素セットを持っています。したがって:XXXnnn xi:{ci1,ci2,…,cin}∣xi∈Xxi:{ci1,ci2,…,cin}∣xi∈Xx_i: \{c_{i1}, c_{i2}, \ldots, c_{in}\} \mid x_i \in X ここで、は、特性による要素(数値)評価です。だから私の要素は次元空間の点として見ることができます。 i j ncijcijc_{ij}iiijjjnnn 私のリーディングによると、いくつかの要素からなる「トレーニングセット」を使用した場合、「ベイズ分類子」のようなアルゴリズムがあり、私のセットの要素に「はい」または「いいえ」タイプの回答を提供できます。私のセットの要素、およびアルゴリズムの予想される結果。そのデータに基づいて、アルゴリズムはトレーニングセットの一部ではなく、他の要素を取り、トレーニングセットのおかげで学習した内容に基づいて「はい」または「いいえ」の回答を提供できる必要があります。これは、期待すること(トレーニングセット)について何らかの考えを持っているが、その結果をもたらす特定のルールがわからない場合に最適です。 私のデータでしたいことは、「はい」または「いいえ」のタイプの回答を得ることではありませんが、要素内のランキングを紹介したいと思います。それらのいくつかは他より「より良い」です。ベイズフィルターの場合と同様に、私は何を期待しているのかについての一般的な考えを持っています。このようにして、MLAにフィードする要素のサブセットから取得した「トレーニングランキング」を生成できます。そのトレーニングに基づいて、私のセット全体をランク付けすることができます。 それを行うために、私は2つのアプローチを見ます: 各要素にはMLAによってスコアが与えられ、スコアに従って要素をランク付けします。 MLAは、2つの要素とを取り、どちらが良いかを判断できます(ペアワイズ比較)。その比較演算を使用してクイックソートを使用します。x jバツ私xix_ixjxjx_j 注:スコアに基づいてペアワイズ関数を実装するのは簡単であり、ペアワイズ関数に基づいてスコアを生成するのは簡単です。したがって、これらは同じ結果をもたらす2つのアプローチにすぎません。 スコアリング関数またはペアワイズ比較関数を提供できるMLAの例はありますか? 編集:より多くのコンテキストを追加するために:現在、私のアイテムは、計算を行うことによって各アイテムのスコア(実数)を生成するアルゴリズムに従ってランク付けされています。生成されたランキングは非常に正確ですが、アルゴリズムを変更して、何らかの方法で調整しなければならないことがよくあります。これは、期待したとおりにランク付けされていないアイテムがはっきり見えるためです。cijcijc_{ij} 現在、私の設計プロセスは次のとおりです。 完璧なランキングがどうなるかを理解する そのような項目をランク付けするアルゴリズムを(手動で)導出しようとします 結果を観察する アルゴリズムを適合させる 私のプロセスの開始点はトレーニングデータとして使用できるものであるため、MLAについて考えました。私はおそらく現在のランクを取得することから始めて、私のニーズに応じてアイテムを交換し、それを養います。

6
異常検出のための機能を準備/構築する方法(ネットワークセキュリティデータ)
私の目標は、侵入検出の目的でクラスタリング/異常検出を使用して、ネットワークログ(Apache、syslog、Active Directoryセキュリティ監査など)を分析することです。 ログから、IPアドレス、ユーザー名、ホスト名、宛先ポート、送信元ポートなどのテキストフィールドがたくさんあります(合計15〜20フィールド)。ログに攻撃があるかどうかはわかりませんが、最も疑わしいイベント(異常値)を強調表示したいと思います。 通常、異常検出は、確率/頻度が低いポイントを異常としてマークします。ただし、ログレコードの半分には、フィールドの一意の組み合わせが含まれています。したがって、データセット内のレコードの半分は、可能な限り低い頻度になります。 クラスタリングに基づく異常検出を使用する場合(たとえば、クラスタを見つけてから、すべてのクラスタの中心から離れているポイントを選択する)、異なるポイント間の距離を見つける必要があります。私は15〜20個のフィールドを持っているので、ユーザー名、ポート、IPアドレスなどの次元の多次元スペースになります。ただし、マハラノビス距離は正規分布の特徴にのみ適用できます。これは、データポイント間の距離を見つけてクラスターを構築する方法がないことを意味します... たとえば、20レコードのデータセットに、ユーザーAlice、Bob、Carol、Dave、Eve、Frankがいるとします。それらは、データベース内で次の数の発生を持つ可能性があります:2,5,2,5,1,5。ユーザー名を数字に単にマッピングする場合、例えば Alice --> 1 Bob --> 2 Carol --> 3 Dave --> 4 Eve --> 5 Frank --> 6 次に、ユーザー名の確率分布は次のようになります。 p(1)= 0.1、p(2)= 0.25、p(3)= 0.1、p(4)= 0.25、p(5)= 0.05、p(6)= 0.25 もちろん、これは正規分布ではなく、ユーザー名を別の方法でマッピングできるため、これもあまり意味がありません... したがって、ユーザー名、アクション、ポート番号、IPアドレスなどのフィールドを番号に単純にマッピングしても、何も起こりません。 したがって、教師なしの異常/外れ値の検出を可能にするために、テキストフィールドがどのように処理/機能が通常構築されるかについてお聞きしたいと思います。 編集:データ構造。 データベーステーブルに約100列あり、Active Directoryイベントからの情報が含まれています。この100列から(私の観点から)最も重要なのは、SubjectUser、TargetUser、SourceIPaddress、SourceHostName、SourcePort、Computer、DestinationIPaddress、DestinationHostName、DestinationPort、Action、Status、FilePath、EventID、WeekDay、DayTimeです。 イベントはActive Directoryイベントであり、EventIDはログに記録されたもの(たとえば、Kerberosチケットの作成、ユーザーログオン、ユーザーログオフなど)を定義します。 データサンプルは次のようになります。 + ------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -+ | ID …

3
ランダムフォレストまたはグラデーションブースティングを行うときに、機能エンジニアリングは重要ですか?
線形モデル(線形回帰、ロジスティック回帰など)の場合、モデルのパフォーマンスを向上させるために、特徴エンジニアリングは重要なステップです。私の質問は、ランダムフォレストまたは勾配ブースティングを使用しているときに機能エンジニアリングを行うかどうかに関係ありますか? これらのモデルがディープラーニングモデルではないことは間違いありません。しかし、機能エンジニアリング手法のいくつかは実際にはモデルを改善しないようです。たとえば、私は約200の特徴を含むバイナリ分類問題をやっていて、そのうちの20はカテゴリ特徴です。私は次のことをしました: ベンチマーク:ランダムフォレスト分類器を元のデータに直接実行しました。AUCは約0.93、精度、再現率、Fスコアは約0.95です(statifiedKfold検証が適用されており、結果に非常に小さなばらつきがあるため、私は言った) モデルを実行して、カイ2乗検定とANOVA f1検定を実行することにより、特徴の次元を削減しました。結果はほぼ同じです。AUCは約0.93、精度、再現率、Fスコアは約0.95です。 次に、すべてのカテゴリ機能をワンホットキーで入力し、モデルを再実行しましたが、結果はほぼ同じです。AUCは約0.93、精度、再現率、Fスコアは約0.95です。 次に、切り捨てられたSVDが適用されて機能がさらに削減され、モデルが再トレーニングされますが、結果は変わりません... ついに私は多項式項、残りの特徴のクロス項を追加しました。結果はまだ変わっていません... 何か提案してください?ありがとうございました。

2
ディープネットの基底展開はどのくらい重要ですか?
ディープニューラルネットがユニバーサル関数近似法であると考えられる場合、基底展開は本当に必要ですか?または、これはケース固有ですか?たとえば、3つの定量的X変数がある場合、交互作用、多項式などを導入することによって変数の数を拡張することで何か利点がありますか?これは、RFやSVMなどで優れたユーティリティを持っているようですが、これがニューラルネットの優れた戦略になるかどうかはわかりません。 これが広すぎるか漠然としている場合、ディープネットのコンテキストでの基底の拡張と機能エンジニアリングに関するいくつかの関連情報を誰かに教えてもらえますか?

2
最大プーリングと平均プーリングで抽出された機能
ディープラーニングで、それをコンピュータービジョンに適用すると、これらの2種類のプーリング抽出の機能の種類を知ることができますか?たとえば、最大プールがエッジを抽出すると言うことは可能ですか?平均プーリングに関して同様のことが言えますか? PSは、stackoverflowの方が適している場合は、お気軽にお勧めします。

1
カーディナリティが大きく異なる場合の高カーディナリティ(多カテゴリ)カテゴリカルフィーチャのエンコード
カテゴリ機能のエンコードに関する質問を調べてきましたが、私の問題を説明するものは見つかりませんでした。見逃した場合はお詫びします。 ほぼ同じ重要度のバイナリ変数とノミナル変数のデータセットがあるとします。 ほとんどの分類子はカテゴリ型を直接処理できないため、これらを変換する必要があります。たとえば、この回答で説明されているように、ワンホットエンコーディング(ダミー変数)を使用します。 1つのカテゴリ変数のカーディナリティが高い場合、この方法で他の(たとえばバイナリ)変数を "圧倒"してエンコードしませんか?「カーディナリティー」とは、名目変数内のカテゴリーの数を意味します。 分類子モデルが変数間の関係を認識している場合、同じ変数の導入されたバイナリダミー「コンポーネント」間の関係を不必要に見つけようとしないのではないでしょうか。 もしそうなら、これはどのように対処できますか? 私が考えることができる最良の解決策は、高カーディナリティのプロパティを論理的に「バケット」にグループ化することですが、問題となるのに十分な一意の値がある場合、手動でそれらをグループ化すると、労力もかかります。 編集:これは取るに足らないことであり、部分的にのみ問題に対処しますが、私がやったことの1つは、比較的まれなすべてのカテゴリ値を新しい「その他」のカテゴリに置き換えることです。値を「まれ」と見なす場合、しきい値を最適化するのに時間がかかる可能性がありますが、少なくともこのアプローチは自動化できます。

2
膨大なデータセットが与えられた場合、なぜ統計モデルは過剰適合しますか?
現在のプロジェクトでは、特定のグループの行動を予測するモデルを構築する必要があるかもしれません。トレーニングデータセットには6つの変数のみが含まれます(idは識別目的のみです)。 id, age, income, gender, job category, monthly spend その中で monthly spend応答変数です。ただし、トレーニングデータセットには約300万行が含まれid, age, income, gender, job category、予測されるデータセット(応答変数は含まれるが、含まれない)には100万行が含まれます。私の質問は、統計モデルにあまりにも多くの行(この場合は300万行)を投げた場合に潜在的な問題はありますか?計算コストが懸念事項の1つであることを理解していますが、他に懸念事項はありますか?データセットのサイズの問題を完全に説明している本/紙はありますか?
8 modeling  large-data  overfitting  clustering  algorithms  error  spatial  r  regression  predictive-models  linear-model  average  measurement-error  weighted-mean  error-propagation  python  standard-error  weighted-regression  hypothesis-testing  time-series  machine-learning  self-study  arima  regression  correlation  anova  statistical-significance  excel  r  regression  distributions  statistical-significance  contingency-tables  regression  optimization  measurement-error  loss-functions  image-processing  java  panel-data  probability  conditional-probability  r  lme4-nlme  model-comparison  time-series  probability  probability  conditional-probability  logistic  multiple-regression  model-selection  r  regression  model-based-clustering  svm  feature-selection  feature-construction  time-series  forecasting  stationarity  r  distributions  bootstrap  r  distributions  estimation  maximum-likelihood  garch  references  probability  conditional-probability  regression  logistic  regression-coefficients  model-comparison  confidence-interval  r  regression  r  generalized-linear-model  outliers  robust  regression  classification  categorical-data  r  association-rules  machine-learning  distributions  posterior  likelihood  r  hypothesis-testing  normality-assumption  missing-data  convergence  expectation-maximization  regression  self-study  categorical-data  regression  simulation  regression  self-study  self-study  gamma-distribution  modeling  microarray  synthetic-data 

3
Rでの機能構築
Rに機能構築(既存の予測子から候補予測子を導出する)のためのアルゴリズム(おそらく遺伝的アルゴリズム)があるかどうか疑問に思っていますか?私は、既存の変数(sin、cos、atanなど)の高次のべき、相互作用、比率、線形結合、および非線形関数をテストするルーチンを考えています。 これは、フィルターまたはラッパールーチンである可能性があります(つまり、学習アルゴリズムを使用したり、機能の適合度を定義するために使用したりしません)。 私の目標は、既存の予測子の潜在的に意味のある比率などを「発見」することです。 ありがとう!

3
統計的推論における特徴エンジニアリングの役割は何ですか?
これは馬鹿げた質問かもしれません。私は最近の大学卒業生で、予測モデリングの分野で働いており、機能エンジニアリングの実行に重点が置かれていることに気づきました。ただし、統計学に関する私の学術的トレーニングのほとんどでは、推論モデルを構築するための特徴エンジニアリングなど(離散化/ビニング予測子に対する議論以外)についてほとんど言及されていませんでした。統計的推論用のモデルを開発するのではなく、予測モデリングを行うときに機能エンジニアリングがより大きな役割を果たすのはなぜかと思いました。それで...統計的推論における特徴エンジニアリングの役割は何ですか?(予測モデリングにおける機能エンジニアリングの役割とは対照的に) 最近のコメントに基づいて: 統計的推論とは、予測子と応答変数の間の関係を評価することを主な目的とする分析を意味します。 予測モデリングとは、主な目標がYの推定または将来の値の予測であるすべての分析を意味します。(すべてのMLテクニックを含む)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.