タグ付けされた質問 「dimensionality-reduction」

データに関する多くの情報を可能な限り保持しながら、データにまたがる多数の変数または次元を少数の次元に削減するための手法を指します。主な手法には、PCA、MDS、Isomapなどがあります。テクニックの2つの主要なサブクラス:特徴抽出と特徴選択。

3
SVDとPCAの関係。SVDを使用してPCAを実行する方法
主成分分析(PCA)は通常、共分散行列の固有分解によって説明されます。ただし、データ行列特異値分解(SVD)を介して実行することもできます。どのように機能しますか?これら2つのアプローチの関係は何ですか?SVDとPCAの関係は何ですか?XX\mathbf X または、言い換えると、データ行列のSVDを使用して次元削減を実行する方法ですか?

1
PCAを逆にし、いくつかの主成分から元の変数を再構築する方法は?
主成分分析(PCA)は、次元削減に使用できます。このような次元削減が実行された後、少数の主成分から元の変数/機能をどのように近似的に再構築できますか? あるいは、データから複数の主成分をどのように削除または破棄できますか? 言い換えれば、PCAを逆にする方法は? PCAが特異値分解(SVD)と密接に関連していることを考えると、次のように同じ質問をすることができます。SVDを逆にする方法は?

11
「次元の呪い」を子供に説明する
私は次元の呪いについて何度も聞いたが、どういうわけか私はまだアイデアを理解することができません、それはすべて霧です。 あなたが子供に説明するように、誰もがこれを最も直感的な方法で説明できますか? 編集: さて、子供が何らかの形でクラスタリングについて聞いたとしましょう(たとえば、おもちゃをクラスタ化する方法を知っています:))。次元の増加により、おもちゃをクラスタ化する仕事はどのように難しくなりますか? たとえば、かつてはおもちゃの形とおもちゃの色(1色のおもちゃ)だけを考慮していましたが、今ではおもちゃのサイズと重量も考慮する必要があります。子供が似たようなおもちゃを見つけるのが難しいのはなぜですか? 編集2 議論のために、「子供が似たようなおもちゃを見つけるのが難しいのはなぜか」によって明確にする必要があります。また、高次元の空間で距離の概念が失われるのはなぜですか。

4
PCAと分散の割合の説明
一般に、PCAのような分析における分散の割合は、最初の主成分によって説明されると言うことは何を意味しますか?誰かがこれを直感的に説明できますが、主成分分析(PCA)の観点から「分散の説明」の意味を正確に数学的に定義することもできますか?バツxx 単純な線形回帰の場合、最適な直線のr乗は常に説明された分散の割合として記述されますが、それをどうするかはわかりません。ここでの分散の割合は、最適なラインからのポイントの偏差の延長ですか?

2
ZCAホワイトニングとPCAホワイトニングの違いは何ですか?
ZCAホワイトニングと通常のホワイトニング(主成分をPCA固有値の平方根で除算して得られる)について混乱しています。私の知る限りでは、 xZCAwhite=UxPCAwhite,xZCAwhite=UxPCAwhite,\mathbf x_\mathrm{ZCAwhite} = \mathbf U \mathbf x_\mathrm{PCAwhite},ここでUU\mathbf UはPCA固有ベクトルです。 ZCAホワイトニングの用途は何ですか?通常のホワイトニングとZCAホワイトニングの違いは何ですか?

6
カテゴリ変数を多くのレベルで折りたたむ原理的な方法は?
統計モデルの入力(予測子)として使用するために、多くのカテゴリを少数に折りたたむ(またはプールする)ために使用できるテクニックは何ですか? 大学生(学部生が選択した専門分野)などの変数を考えてみましょう。順不同でカテゴリに分類されますが、潜在的に数十の異なるレベルを持つことができます。回帰モデルの予測子としてmajorを使用するとします。 これらのレベルをそのままモデリングに使用すると、非常に多くのレベルがあるため、あらゆる種類の問題が発生します。それらを使用するために多くの統計的精度が捨てられ、結果を解釈するのは困難です。特定の専攻に興味を持つことはめったにありません。専攻の幅広いカテゴリ(サブグループ)に興味を持つ可能性がはるかに高くなります。しかし、レベルをそのような上位レベルのカテゴリに分割する方法や、使用する上位レベルのカテゴリの数さえも必ずしも明確ではありません。 典型的なデータについては、因子分析、行列因子分解、または離散潜在モデリング手法を使用して満足です。しかし、メジャーは相互に排他的なカテゴリであるため、私はそれらの共分散をあらゆるものに活用することにheしています。 さらに、私は主要なカテゴリー自体を気にしません。回帰結果に関して一貫性のある高レベルのカテゴリを作成することに関心があります。バイナリ結果の場合、線形判別分析(LDA)のようなものが示唆され、識別パフォーマンスを最大化するより高いレベルのカテゴリを生成します。しかし、LDAは限られた手法であり、ダーティデータがdrするように感じます。さらに、継続的なソリューションを解釈するのは困難です。 一方、多重分散分析(MCA)のような共分散に基づくものは、相互排他的なダミー変数間の固有の依存性のため、この場合は疑わしいようです-それらは、複数のカテゴリ変数よりも複数のカテゴリ変数の研究に適しています同じ変数。 編集:明確にするために、これはカテゴリを折りたたむ(それらを選択しない)ことであり、カテゴリは予測変数または独立変数です。後から考えると、この問題は「すべてを正規化し、神にそれらを整理させる」適切な時期のようです。この質問を見てうれしいことは、多くの人にとって興味深いことです!

3
PCAはブール(バイナリ)データ型で機能しますか?
高次システムの次元数を減らし、できれば2次元または1次元のフィールドで共分散の大部分をキャプチャしたいと思います。これは主成分分析で行えることを理解しており、多くのシナリオでPCAを使用しています。ただし、ブールデータ型で使用したことがないため、このセットを使用してPCAを実行するのが意味があるかどうか疑問に思っていました。たとえば、定性的または記述的なメトリックを持っているふりをし、そのディメンションに対してそのメトリックが有効な場合は「1」を割​​り当て、そうでない場合は「0」を割り当てます(バイナリデータ)。たとえば、白雪姫の七人の小人を比較しようとしているふりをします。我々は持っています: Doc、Dopey、Bashful、Grumpy、Sneezy、Sleepy、Happy、そしてあなたはそれらを品質に基づいて整理したいのです。 ⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜D o cD O P E YB a s h fU LG r u m p ySN 、E 、E 、ZySL E E p yHa p p yL a c t o S E I N T O L E R A n t1011011A HO N O R R ...

2
t-SNEが誤解を招くのはいつですか?
著者の一人からの引用: t-Distributed Stochastic Neighbor Embedding(t-SNE)は、高次元データセットの視覚化に特に適した次元削減のための(受賞した)テクニックです。 とても素晴らしいように聞こえますが、それは著者が話していることです。 著者からの別の引用(再:前述の競争): このコンペティションから何を奪いましたか? データの予測子のトレーニングを開始する前に、必ず最初にデータを視覚化してください!多くの場合、私が作成したような視覚化は、どのタイプの予測モデルを試すかを決定するのに役立つデータ分布に対する洞察を提供します。 情報は 失われる必要があります1-それは結局次元削減技術です。ただし、視覚化する際に使用するのが良い手法であるため、失われた情報は強調表示された情報よりも価値がありません(2次元または3次元に縮小することで可視化/理解可能になります)。 だから私の質問は: tSNEはいつジョブの間違ったツールになりますか? どのようなデータセットが機能しないのか、 どのような質問に答えられるように見えますが、実際には答えられませんか? 上記の2番目の引用では、データセットを常に視覚化することをお勧めします。この視覚化は常にtSNEで行う必要がありますか? 私は、この質問が逆に最もよく答えられることを期待しています。すなわち、答え:tSNEはいつ仕事に適したツールですか? 下の2枚の画像のために、生成モデル、ということ、それは誤解を招くことの例だった- (差別的モデルをクラス分け)私は分類されますどのように簡単にデータを私に教えてtSNEに依存しないように警告されている2が悪化していました最初/左で視覚化されたデータ(精度53.6%)は、2番目/右で同等のデータ(精度67.2%)よりも 1 私はこれについて間違っている可能性があります、私は座って後で証明/カウンターの例を試してみるかもしれません 2 生成モデルは識別モデルと同じではありませんが、これは私が与えられた例です。

3
t-SNEがクラスタリングまたは分類の次元削減手法として使用されないのはなぜですか?
最近の割り当てでは、MNISTの数字でPCAを使用して、寸法を64(8 x 8画像)から2に減らすように言われました。その後、ガウス混合モデルを使用して数字をクラスター化する必要がありました。2つの主成分のみを使用するPCAは、明確なクラスターを生成せず、その結果、モデルは有用なグループ化を生成できません。 ただし、2つのコンポーネントを持つt-SNEを使用すると、クラスターの分離が大幅に改善されます。ガウス混合モデルは、t-SNEコンポーネントに適用すると、より明確なクラスターを生成します。 2コンポーネントのPCAと2コンポーネントのt-SNEの違いは、MNISTデータセットに変換が適用された次の画像のペアで見ることができます。 t-SNEは、この回答のように高次元データの視覚化にのみ使用されることを読んでいますが、それが生成する明確なクラスタを考えると、なぜ分類モデルに使用される次元削減手法として使用されないのですか?スタンドアロンのクラスタリング方法?

1
因子分析/ PCAで回転を行う背後にある直感的な理由と、適切な回転を選択する方法は何ですか?
私の質問 因子分析で因子(またはPCAのコンポーネント)の回転を行う背後にある直感的な理由は何ですか? 私の理解では、変数が最上位のコンポーネント(または要因)にほぼ均等にロードされる場合、コンポーネントを区別することは明らかに困難です。そのため、この場合、回転を使用してコンポーネントをより適切に区別できます。これは正しいです? 回転を行うとどうなりますか?これは何に影響しますか? 適切なローテーションを選択する方法は?直交回転と斜め回転があります。これらの選択方法と、この選択の意味は何ですか? 最小限の数式で直感的に説明してください。広範にわたる答えはほとんどありませんでしたが、私は直感的な理由と経験則でもっと探しています。

1
PCAはk-meansクラスタリング分析でどのように役立ちますか?
背景:住宅のユニット密度、人口密度、緑地面積、住宅価格、学校/保健センター/デイケアセンターの数など、社会経済的特性に基づいて都市の住宅地をグループに分類したい住宅地をいくつのグループに分けることができるか、そしてそれらのユニークな特性は何かを理解したいと思います。この情報は、都市計画を促進する可能性があります。 いくつかの例に基づいて(このブログの投稿:Delta AircraftのPCAとK-meansクラスタリングを参照)、分析を行う方法は次のとおりです。 最初にPCA分析を行います。 PCAの結果に基づいて一意のグループ(クラスター)の数を決定します(たとえば、「エルボ」法、または全分散の80〜90%を説明するコンポーネントの数を使用)。 クラスターの数を決定したら、k-meansクラスタリングを適用して分類を行います。 私の質問: PCAコンポーネントの数はクラスター分析に関係しているようです。たとえば、5つのPCAコンポーネントがすべての機能のバリエーションの90%以上を説明している場合、k-meansクラスタリングを適用して5つのクラスターを取得します。それでは、PCA分析の5つのコンポーネントに正確に対応する5つのグループでしょうか? 別の言葉で言えば、私の質問は、PCA分析とk-meansクラスタリングの関係は何ですか? 更新: Emre、xeon、およびKirillの入力に感謝します。したがって、現在の答え: クラスタリング分析の前にPCAを実行することは、特徴抽出機能としての次元削減とクラスターの視覚化/表示にも役立ちます。 クラスタリング後にPCAを実行すると、クラスタリングアルゴリズムを検証できます(参照:カーネル主成分分析)。 PCAは、クラスタリングの前にデータセットの次元を減らすために時々適用されます。ただし、Yeung&Ruzzo(2000)は、元の変数の代わりにPCを使用してクラスタリングしても、クラスターの品質が必ずしも向上しないことを示しました。特に、最初の数台のPC(データの変動の大部分を含む)は、必ずしもクラスター構造の大部分をキャプチャーするわけではありません。 Yeung、Ka Yee、およびWalter L. Ruzzo。遺伝子発現データをクラスタリングするための主成分分析に関する実証的研究。技術レポート、ワシントン大学、2000年コンピューター科学工学科(pdf) 2段階のクラスタリング分析の前に、PCAが必要と思われました。Ibes(2015)に基づき、PCAで特定された要因を使用してクラスター分析が実行されました。 Ibes、Dorothy C. 都市公園システムの多次元分類と公平性分析:新しい方法論とケーススタディアプリケーション。 景観と都市計画、第137巻、2015年5月、122〜137ページ。

1
大規模なスパース行列の次元削減(SVDまたはPCA)
/ edit:irlba :: prcomp_irlbaを使用できるようになりました。 / edit:自分の投稿のフォローアップ。 irlba現在、「center」および「scale」引数があり、これを使用して主成分を計算できます。例: pc <- M %*% irlba(M, nv=5, nu=0, center=colMeans(M), right_only=TRUE)$v Matrix機械学習アルゴリズムで使用したい機能の大規模でまばらなものがあります。 library(Matrix) set.seed(42) rows <- 500000 cols <- 10000 i <- unlist(lapply(1:rows, function(i) rep(i, sample(1:5,1)))) j <- sample(1:cols, length(i), replace=TRUE) M <- sparseMatrix(i, j) このマトリックスには多くの列があるため、その次元を管理しやすいものに減らしたいと思います。優れたirlbaパッケージを使用してSVDを実行し、最初のn個の主要コンポーネントを返すことができます(ここに示す5つ。実際のデータセットではおそらく100または500を使用します)。 library(irlba) pc <- irlba(M, nu=5)$u ただし、PCAを実行する前に、行列を中央に配置する必要があることを読みました(各列から列の平均値を減算します)。これは私のデータセットで行うことは非常に難しく、さらにマトリックスのスパース性を破壊します。 スケーリングされていないデータに対してSVDを実行し、それを機械学習アルゴリズムに直接入力するのはどの程度「悪い」のでしょうか?マトリックスのスパース性を維持しながら、このデータをスケーリングできる効率的な方法はありますか? / edit:AはB_minerによって注目されました。「PC」は次のようになります。 ...

5
機械学習で階層/ネストされたデータを処理する方法
例で問題を説明します。いくつかの属性(年齢、性別、国、地域、都市)を与えられた個人の収入を予測するとします。あなたはそのようなトレーニングデータセットを持っています train <- data.frame(CountryID=c(1,1,1,1, 2,2,2,2, 3,3,3,3), RegionID=c(1,1,1,2, 3,3,4,4, 5,5,5,5), CityID=c(1,1,2,3, 4,5,6,6, 7,7,7,8), Age=c(23,48,62,63, 25,41,45,19, 37,41,31,50), Gender=factor(c("M","F","M","F", "M","F","M","F", "F","F","F","M")), Income=c(31,42,71,65, 50,51,101,38, 47,50,55,23)) train CountryID RegionID CityID Age Gender Income 1 1 1 1 23 M 31 2 1 1 1 48 F 42 3 1 1 2 62 M 71 4 ...
29 regression  machine-learning  multilevel-analysis  correlation  dataset  spatial  paired-comparisons  cross-correlation  clustering  aic  bic  dependent-variable  k-means  mean  standard-error  measurement-error  errors-in-variables  regression  multiple-regression  pca  linear-model  dimensionality-reduction  machine-learning  neural-networks  deep-learning  conv-neural-network  computer-vision  clustering  spss  r  weighted-data  wilcoxon-signed-rank  bayesian  hierarchical-bayesian  bugs  stan  distributions  categorical-data  variance  ecology  r  survival  regression  r-squared  descriptive-statistics  cross-section  maximum-likelihood  factor-analysis  likert  r  multiple-imputation  propensity-scores  distributions  t-test  logit  probit  z-test  confidence-interval  poisson-distribution  deep-learning  conv-neural-network  residual-networks  r  survey  wilcoxon-mann-whitney  ranking  kruskal-wallis  bias  loss-functions  frequentist  decision-theory  risk  machine-learning  distributions  normal-distribution  multivariate-analysis  inference  dataset  factor-analysis  survey  multilevel-analysis  clinical-trials 

4
Rで次元削減を行う方法
私は、a(i、j)が個々のiがページjを閲覧した回数を教えてくれるマトリックスを持っています。27Kの個人と95Kのページがあります。一緒に表示されることが多いページのセットに対応するページのスペースに、いくつかの「ディメンション」または「アスペクト」を持ちたいと思います。私の最終的な目標は、次元1、次元2などに該当するページを個人がどれだけ頻繁に閲覧したかを計算できるようにすることです。 主成分分析と単一値分解に関するRのドキュメントを読んで、これらのコマンドを実行しましたが、どのように進めたらよいかわかりません。 次元削減を使用してこれを行うにはどうすればよいですか?または、これは本当にクラスタリングの問題であり、代わりにクラスタリングアルゴリズムを調べる必要がありますか? 洞察力に感謝します〜l

2
Pythonのscikit-learn LDAが正しく機能しないのはなぜですか?また、SVDを介してLDAを計算する方法
私はscikit-learn次元削減のために機械学習ライブラリ(Python)の線形判別分析(LDA)を使用していましたが、結果に少し興味がありました。私は今、LDAが何をしているのか疑問に思っていscikit-learnます。その結果、例えば、手動でのアプローチやRで行われたLDAとは異なった結果になります。 基本的に最も懸念さscikit-plotれるのは、相関0があるはずの2つの変数間の相関を示すことです。 テストでは、Irisデータセットを使用し、最初の2つの線形判別式は次のようになりました。 IMG-1 scikit-learn経由のLDA これは、私がscikit-learn ドキュメントで見つけた結果と基本的に一致しています。 今、私はLDAを段階的に通り抜けて、異なる予測を得ました。何が起こっているのかを知るために、さまざまなアプローチを試しました。 IMG-2。生データのLDA(センタリングなし、標準化なし) そして、最初にデータを標準化(zスコア正規化;単位分散)した場合のステップバイステップのアプローチになります。同じことを平均中心化のみで行いました。これにより、同じ相対投影画像が得られるはずです(実際にそうなりました)。 IMG-3。平均中心化または標準化後の段階的なLDA IMG-4。RのLDA(デフォルト設定) IMG-3のLDAは、データを中央に配置したため(推奨されるアプローチ)、RでLDAを実行した誰かが投稿で見つけたものとまったく同じに見えます。 参照用コード すべてのコードをここに貼り付けたくはありませんでしたが、LDAプロジェクションで使用したいくつかのステップ(以下を参照)に分けてIPythonノートブックとしてアップロードしました。 ステップ1:d次元平均ベクトルの計算m私= 1n私∑X ∈ D私nバツkm私=1n私∑バツ∈D私nバツk\mathbf m_i = \frac{1}{n_i} \sum\limits_{\mathbf x \in D_i}^n \; \mathbf x_k ステップ2:散布図の計算 2.1クラス内散布行列は、次の方程式によって計算されますS W = C Σ I = 1、S I = C Σ I = 1 N Σのx ∈ D I(X ...

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