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

数値解析としても知られるNumericsは、数値計算のための方法とアルゴリズムを提供することを目的としています。


4
Andrew NgがPCAを行うために共分散行列のEIGではなくSVDを使用することを好むのはなぜですか?
Andrew NgのCourseraコースのPCAと他の資料を勉強しています。スタンフォードNLPコースcs224nの最初の課題、およびAndrew Ngの講義ビデオでは、共分散行列の固有ベクトル分解の代わりに特異値分解を行い、NgはSVDが固有分解よりも数値的に安定しているとさえ述べています。 私の理解では、PCAの場合、(m,n)サイズの共分散行列ではなく、サイズのデータ行列のSVDを行う必要があり(n,n)ます。そして、共分散行列の固有ベクトル分解。 なぜデータ行列ではなく共分散行列のSVDを行うのですか?

2
巨大なスパース行列のSVDを計算する方法は?
データが非常に少ない非常に大きな正行列(65M x 3.4M)の特異値分解(SVD)を計算する最良の方法は何ですか? 行列の0.1%未満はゼロではありません。次の方法が必要です。 メモリに収まります(オンラインメソッドが存在することを知っています) 妥当な時間で計算されます:3,4日 精度は十分に向上しますが、精度は私の主な関心事ではなく、投入するリソースの量を制御できるようにしたいと考えています。 それを実装するHaskell、Python、C#などのライブラリがあれば素晴らしいでしょう。私はmathlabやRを使用していませんが、必要に応じてRを使用できます。
26 svd  numerics 

3
ランダムデータのSVD結果における奇妙な相関。彼らは数学的な説明を持っていますか、それはLAPACKのバグですか?
ランダムデータのSVD結果に非常に奇妙な動作が見られます。これは、MatlabとRの両方で再現できます。LAPACKライ​​ブラリの数値の問題のようです。それは...ですか? 平均がゼロで、共分散がゼロの次元ガウスからサンプルを描画します:。データ行列にアセンブルします。(オプションで中央に配置するかどうかは、以下に影響しません。)次に、特異値分解(SVD)を実行してを取得します。 2つの特定の要素、たとえばと取り上げて、異なる描画間でそれらの間の相関関係をみましょう。数字があれば、K = 2 X 〜N(0 、I)1000年× 2 X X X = U S V ⊤ U U 11 U 22 X N個のR EのPn=1000n=1000n=1000k=2k=2k=2X∼N(0,I)X∼N(0,I)X\sim \mathcal N (0, \mathbf I)1000×21000×21000 \times 2XX\mathbf XXX\mathbf XX=USV⊤X=USV⊤\mathbf X=\mathbf{USV}^\topUU\mathbf UU11U11U_{11}U22U22U_{22}XX\mathbf XNrepNrepN_\mathrm{rep}描画のは適度に大きいため、このような相関はすべてゼロに近いはずです(つまり、母集団の相関はゼロでなければならず、サンプルの相関は小さくなります)。 ただし、、、、および間で、これらの要素間でのみ、いくつかの奇妙な強い相関関係(約)が観察されます。他のすべての要素のペアには、予想どおりゼロ付近の相関があります。ここではどのようにするための相関行列20の「上部」の要素Uが\ mathbf(最初のように見える10個の、最初の列の要素、最初の10秒の列の要素)。U 11 U 12 U 21 U 22±0.2±0.2\pm0.2U11U11U_{11}U12U12U_{12}U21U21U_{21}U22U22U_{22}U 10 10202020UU\mathbf U101010101010 各象限の左上隅にある奇妙に高い値に注意してください。 …

5
マトリックス分解に関する重要な論文
最近、マトリックス分解に関するSkillicornの本を読みましたが、学部の聴衆を対象としていたため、少しがっかりしました。マトリックス分解に関する重要な論文(調査だけでなく、画期的な論文)の短い参考文献を(自分や他の人のために)編集したいと思います。私が念頭に置いているのは、主にSVD / PCA(および堅牢/スパースバリアント)とNNMFに関するものです。みなさんは、何か提案/提案がありますか?私は答えを偏らせないために私のものを控えています。各回答を2〜3論文に限定してください。 PS:これら2つの分解は、データ分析で最もよく使用されるものです。もちろん数値解析では、QR、コレスキー、LU、およびポーラーが非常に重要です。しかし、それは私の質問の焦点では​​ありません。

1
行列に1つの新しい行を追加した後のSVD分解の更新
Iが密行列があるとのM × N個の SVD分解を伴う大きさ、A = U S Vを ⊤。では、次のようにSVDを計算できます。AA \textbf{A}m × nm×nm \times nA = U S V⊤。A=USV⊤.\mathbf{A}=\mathbf{USV}^\top.Rsvd(A) 新しい番目の行がAに追加された場合、SVDをゼロから再計算せずに、古いものに基づいて(つまりU、S、およびVを使用して)新しいSVD分解を計算できますか?(m + 1 )(m+1)(m+1)AA\mathbf AうんU\mathbf USS\mathbf SVV\mathbf V

1
特異値分解(SVD)を計算するための効率的なアルゴリズムとは何ですか?
主成分分析に関するウィキペディアの記事には、 マトリックスX T Xを形成することなくのSVDを計算する効率的なアルゴリズムが存在するため、SVDの計算は、少数のコンポーネントのみが必要な場合を除き、データマトリックスから主成分分析を計算する標準的な方法になりました。XXXXTXXTXX^TX 誰かがこの記事で話している効率的なアルゴリズムを教えてもらえますか?参照はありません(この計算方法を提案している記事へのURLまたは引用は良いでしょう)。
17 pca  algorithms  svd  numerics 

3
切り捨てられたSVDを計算するための高速アルゴリズムは何ですか?
おそらくトピックオフここが、いくつかの(存在する1、2すでに)関連の質問を。 文献(または切り捨てられたSVDアルゴリズムのgoogle検索)をいじくり回すと、さまざまな方法で切り捨てられたSVD を使用する多くの論文が見つかり、それを計算するための高速なアルゴリズムはあるが、誰もいないと主張しますそれらのアルゴリズムが何であるかを指しているようです。 私が見つけることができる唯一のものは、redSVDライブラリで使用される単一のランダム化アルゴリズムです。 私が見たいのは、システムがどのように動作するかを理解するのに適した、正確で不正確なアルゴリズムのセットです(もちろん実際にそれらを実装する必要はありません!)。 誰かがこの種のことの良いリファレンスを持っていますか?

1
デフォルトのlme4オプティマイザーでは、高次元のデータに対して多くの反復が必要です
TL; DR:lme4最適化は、デフォルトではモデルパラメータの数に直線的であるように思われる、とある道遅く同等以上glmのグループのためのダミー変数を持つモデル。高速化するためにできることはありますか? 私はかなり大きな階層型ロジットモデル(〜5万行、100列、50グループ)に適合させようとしています。データへの通常のロジットモデルのフィッティング(グループのダミー変数を使用)は正常に機能しますが、階層モデルはスタックしているように見えます:最初の最適化フェーズは正常に完了しますが、2番目は何も変更せずに停止せずに多くの反復を実行します。 編集:私は問題が主に非常に多くのパラメータを持っていると疑っています、maxfnより低い値に設定しようとすると警告が表示されるためです: Warning message: In commonArgs(par, fn, control, environment()) : maxfun < 10 * length(par)^2 is not recommended. ただし、最適化の過程でパラメーターの推定値はまったく変化しないため、何をすべきかについてはまだ混乱しています。maxfn(警告にもかかわらず)オプティマイザーコントロールに設定しようとしたときに、最適化が終了した後にハングしたように見えました。 ランダムデータの問題を再現するコードを次に示します。 library(lme4) set.seed(1) SIZE <- 50000 NGRP <- 50 NCOL <- 100 test.case <- data.frame(i=1:SIZE) test.case[["grouping"]] <- sample(NGRP, size=SIZE, replace=TRUE, prob=1/(1:NGRP)) test.case[["y"]] <- sample(c(0, 1), size=SIZE, replace=TRUE, prob=c(0.05, 0.95)) …

2
2つのサンプルのカルバックライブラーダイバージェンス
2つのサンプルのカルバックライブラーダイバージェンスの数値推定を実装しようとしました。実装をデバッグするには、2つの正規分布およびからサンプルを引き出します。N(0,1)N(0,1)\mathcal N (0,1)N(1,2)N(1,2)\mathcal N (1,2) 簡単な見積もりの​​ために、2つのヒストグラムを生成し、数値的に積分を近似しようとしました。ヒストグラムの1つのビンがゼロであるヒストグラムのこれらの部分を処理することに行き詰まり、最終的にゼロで除算するか、ゼロの対数で終わらせました。この問題をどのように処理しますか? 関連する質問が頭に浮かびました。2つの異なる一様分布間のKLダイバージェンスを正確に計算する方法は?統合を両方のディストリビューションのサポートの結合に制限する必要がありますか?

3
「R」におけるグラフクラスタリングのアプローチと例
「r」のグラフクラスタリングを使用して、グラフ内のノードをグループ化/マージしようとしています。 ここに私の問題の驚くほどおもちゃのバリエーションがあります。 2つの「クラスター」があります。 クラスタを接続する「ブリッジ」があります これが候補ネットワークです。 接続距離「ホップカウント」を確認すると、次のマトリックスが得られます。 mymatrix <- rbind( c(1,1,2,3,3,3,2,1,1,1), c(1,1,1,2,2,2,1,1,1,1), c(2,1,1,1,1,1,1,1,2,2), c(3,2,1,1,1,1,1,2,3,3), c(3,2,1,1,1,1,1,2,3,3), c(3,2,1,1,1,1,1,2,2,2), c(2,1,1,1,1,1,1,1,2,2), c(1,1,1,2,2,2,1,1,1,1), c(1,1,2,3,3,2,2,1,1,1), c(1,1,2,3,3,2,2,1,1,1)) ここでの考え: 幸運なことに、またはおもちゃの単純さのために、マトリックスには明らかなパッチがありますが、これは(非常に大きい)マトリックスの場合には当てはまりません。ポイントと行の関係をランダム化した場合、それほどクリーンではありません。 間違っている可能性があります。タイプミスがある場合はお知らせください。 ここでのホップ数は、行iのポイントを列jのポイントに接続するための最短ホップ数です。セルフホップはまだホップなので、対角線はすべて1です。 したがって、このマトリックスでは、距離(ホップ数)が大きいほど数値が大きくなります。距離ではなく「接続性」を示す行列が必要な場合は、行列の各セルをその乗法的逆行列で置き換えるドット逆行列を実行できます。 質問: 私自身の方法を見つけるのを助けるために: それらを組み合わせることによりグラフ上のノードの数を減らすための用語は何ですか?それはクラスタリング、マージ、マンギングですか?私が使うべき言葉は何ですか? 実証済みのテクニックは何ですか?このトピックに関する教科書はありますか?あなたは論文やウェブサイトを指すことができますか? 今、私は最初にここを見てみました-それは素晴らしい「最初のチェック」スポットです。探していたものが見つかりませんでした。見逃した場合(ありそうもないことですが)、CVのトピックに関する1つまたは2つの回答済みの質問を教えていただけますか? 私が行くところに連れて行くには: ネットワーク上のノードを適切にクラスター化する「R」パッケージはありますか? これを行うためのサンプルコードを教えてもらえますか? 結果の削減されたネットワークをグラフィカルに表示する「R」パッケージはありますか? これを行うためのサンプルコードを教えてもらえますか? 前もって感謝します。

1
Softmaxオーバーフロー[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新することがありますので、話題のクロス検証済みのため。 2年前休業。 CourseraでのAndrew Ngの次のコースを待っている間に、Pythonで最後のレイヤーにsoftmax関数を使用して分類子をプログラミングし、さまざまな確率を得ようとしています。ただし、CIFAR-10データセット(入力:(3072、10000))で使用しようとすると、指数を計算するときにオーバーフローが発生します。確かに、私は5000、10000または25000のような数字を持っています。 私はすでに2つのことを試しました: 指数を計算する前に定数をマトリックスに減算しますが、数値間に大きな違いがあるため、それを行うことはできません。 行列の対数の指数を計算しますが、まだオーバーフローしています。 誰かがこの問題を回避するのを手伝ってくれる? ありがとうございました 編集:https : //github.com/Kentena/softmax/
10 softmax  numerics 

5
共分散行列の平方根を正定にする(Matlab)
動機:私は、MATLAB(無香料カルマンフィルター)で状態推定器を書いています。これは、反復ごとに(つまり、共分散行列に対して)共分散行列の(上三角)平方根の更新を要求します。、)であることは事実です。必要な計算を実行するには、MATLAB 関数を使用して、ランク1のコレスキー更新とダウンデートを行う必要があります。P P = S S TSSSPPPP= SSTP=SSTP=SS^{T}cholupdate 問題:残念ながら、反復の過程で、この行列は正定性を失う場合があります。コレスキーのダウンデートは、非PDマトリックスでは失敗します。SSS 私の質問は、MATLABで正定にする簡単で信頼できる方法はありますか?SSS (またはより一般的には、任意の共分散行列を正定にする良い方法はありますか?バツXX) 注: SSSはフルランクです 私は固有分解アプローチを試しました(これは機能しませんでした)。これは基本的に見つけ、すべての負の要素を設定し、新しいを再構築することを含み、ここでは正の要素のみをもつ行列です。 V 、D = 1 × 10 − 8 S ′ = V ′ D ′ V ′ T V ′、D ′S= VD VTS=VDVTS = VDV^{T}V、D = 1 × 10− 8V,D=1×10−8V,D = 1 \times 10^{-8}S』= V』D』V′ TS′=V′D′V′TS' …

3
分布の分析形式が不明な場合の変位値関数の取得方法
問題は、この[0]論文の377〜379ページにあります。 連続分布と固定与えられた場合、以下を考慮してください:FFFz∈Rz∈Rz\in\mathbb{R} Lz(t)=PF(|z−Z|≤t)Lz(t)=PF(|z−Z|≤t)L_z(t)=P_F(|z-Z|\leq t) そして H(z)=L−1z(0.5)=medZ∼F|z−Z|H(z)=Lz−1(0.5)=medZ∼F|z−Z|H(z)=L^{-1}_z(0.5)=\underset{Z\sim F}{\mbox{med}}|z-Z| ここで、は正しい連続逆行列です。したがって、固定zの場合、これはすべてのZ \ sim Fからzまでの距離の中央値です 。次に、関数について考えます。zL−1z(u)=inf{t:Lz(t)>u}Lz−1(u)=inf{t:Lz(t)>u}L^{-1}_z(u)=\inf\{t:L_z(t)>u\}zzzZZ∼FZ∼FZ\sim Fzzz L(t)=PF(H(Z)≤t)L(t)=PF(H(Z)≤t)L(t)=P_F(H(Z)\leq t) 今、私はH(z)の分析式を持っていませんH(z)H(z)H(z)(実際、そのための分析式は不可能だと確信しています)が、CDF Fが与えられればFFF、ルート探索アルゴリズムを使用してH(z)H(z)H(z)任意のzzz。 このアプリケーションでは、興味があります: L−1(0.5)=medZ∼FH(Z)L−1(0.5)=medZ∼FH(Z)L^{-1}(0.5)=\underset{Z\sim F}{\mbox{med}}H(Z) これは、中央値であるH(Z)H(Z)H(Z)のために、再度、Z∼FZ∼FZ\sim F。 を取得するために、グリッド上で多くの値に対応する値をルート検索アルゴリズムを使用して上記で説明したように)計算し、これらの値の重み付き中央値を取ります推定値としての(重み付き。H (z )z H (z )f (z )L − 1(0.5 )L−1(0.5)L−1(0.5)L^{-1}(0.5)H(z)H(z)H(z)zzzH(z)H(z)H(z)f(z)f(z)f(z)L−1(0.5)L−1(0.5)L^{-1}(0.5) 私の質問は: を取得するためのより正確な方法はありますか(この論文の執筆者は、計算方法を述べていません)L − 1(0.5 )L−1(0.5)L−1(0.5)L^{-1}(0.5)L−1(0.5)L−1(0.5)L^{-1}(0.5) の値のグリッドはどのように選択する必要がありますか?zzz [0] OlaHössjer、Peter J. Rousseeuw、Christophe Croux。ロバストなスプレッド汎関数の推定量の漸近。Statistica Sinica 6(1996)、375-388。

2
統計関数でInfsを適切に処理する方法
次のような関数があるとします。 f <- function(x){ exp(x) / (1 + exp(x)) } これは、xの任意の実際の値で機能するはずですが、実際には、xが710以上の場合、NaNを返します。この問題を処理する適切な方法は何だろうと思います。1を返すだけにするのは簡単だと思いますが、統計学者の観点からは、それは良い行動ではないかもしれません。誰かコメントや提案がありますか?
8 r  function  numerics 

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