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

統計内で最適化を使用する場合は、このタグを使用してください。

3
最適化手法はサンプリング手法にマッピングされますか?
一般的なサンプリングアルゴリズムから、最適化アルゴリズムを導き出すことができます。 実際、任意の関数最大化するために、、それからサンプルを描画するために十分でG 〜EのF / T。Tが十分に小さい場合、これらのサンプルは関数fのグローバルな最大値(または実際にはローカルな最大値)に近くなります。f:x → f(x)f:バツ→f(バツ)f: \textbf{x} \rightarrow f(\textbf{x})g〜Ef/ Tg〜ef/Tg \sim e^{f/T}TTTfff 「サンプリング」とは、定数まで知られている対数尤度関数が与えられた分布から擬似ランダムサンプルを描画することを意味します。たとえば、MCMCサンプリング、ギブスサンプリング、ビームサンプリングなど。「最適化」とは、特定の関数の値を最大化するパラメーターを見つけることを意味します。 その逆は可能ですか?関数または組み合わせ式の最大値を見つけるためのヒューリスティックが与えられた場合、効率的なサンプリング手順を抽出できますか? たとえば、HMCは勾配情報を利用しているようです。ヘッセ行列のBFGSのような近似を利用するサンプリング手順を構築できますか?(編集:明らかにはい:http : //papers.nips.cc/paper/4464-quasi-newton-methods-for-markov-chain-monte-carlo.pdf)組み合わせの問題でMCTSを使用できます。サンプリング手順に? コンテキスト:サンプリングの難しさは、確率分布の質量のほとんどが非常に小さな領域内にあることです。そのような領域を見つけるための興味深い手法がありますが、それらはバイアスのないサンプリング手順に直接変換されません。 編集:私は今、その質問への答えは複雑度クラス#PとNPの平等性にいくらか同等であると感じており、答えを「ノー」と思われます。すべてのサンプリング手法が最適化手法を生み出す理由を説明していますが、その逆はありません。

3
Rでカスタム関数を最大化/最小化する方法はありますか?
カスタム関数を最小化しようとしています。5つのパラメーターとデータセットを受け入れ、あらゆる種類の計算を実行して、出力として単一の数値を生成する必要があります。関数の最小の出力を生成する5つの入力パラメーターの組み合わせを見つけたいです。
18 r  optimization 


1
なぜロジスティック回帰最適化にニュートンの方法を使用するのが反復再加重最小二乗と呼ばれるのですか?
なぜロジスティック回帰最適化にニュートンの方法を使用するのが反復再加重最小二乗と呼ばれるのですか? ロジスティック損失と最小二乗損失は完全に異なるため、私には明らかではないようです。


3
バッチサイズはSGDの収束にどのように影響しますか?
ミニバッチのサイズが大きくなると、SGDの収束が実際に難しく/悪化するという、多くの議論から同様の結論を見ました。たとえば、このペーパーとこの回答です。また、早い段階で小さな学習率やバッチサイズなどのトリックを使用して、大きなバッチサイズでこの問題に対処する人もいると聞きました。 ただし、ミニバッチの平均損失は、データ分布で予想される損失の近似と考えることができるため、直感に反するように見えます。 バッチサイズが大きいほど、正確になります。なぜ実際にはそうではないのですか?1|X|∑x∈Xl(x,w)≈Ex∼pdata[l(x,w)]1|X|∑x∈Xl(x,w)≈Ex∼pdata[l(x,w)]\frac{1}{|X|}\sum_{x\in X} l(x,w)\approx E_{x\sim p_{data}}[l(x,w)] 以下に、説明しようとする私の(おそらく間違った)考えをいくつか示します。 モデルのパラメーターは相互に大きく依存しています。バッチが大きくなりすぎると、一度に多くのパラメーターに影響を与え、パラメーターが安定した固有の依存関係に達するのが難しくなりますか?(バッチ正規化ペーパーで言及されている内部共変量シフト問題のように) または、ほぼすべてのパラメーターがすべての反復で責任がある場合、冗長な暗黙のパターンを学習する傾向があるため、モデルの容量が減少しますか?(つまり、数字の分類の問題については、いくつかのパターンがドット、エッジの原因となるはずですが、これが発生すると、すべてのパターンがすべての形状を担当しようとします)。 それとも、バッチサイズがトレーニングセットのスケールに近づくと、相関するミニバッチの確率が高くなるため、ミニバッチはデータ分布からiidとして認識できなくなるためですか? 更新 Benoit Sanchezの回答で指摘されているように、1つの重要な理由は、1つの更新を完了するために大きなミニバッチにより多くの計算が必要であり、ほとんどの分析が比較のために一定のトレーニングエポックを使用することです。 しかし、この論文(Wilson and Martinez、2003)は、十分な量のトレーニングエポックが与えられたとしても、バッチサイズを大きくすると依然として不利であることを示しています。一般的にそうですか?

2
ミニバッチトレーニングニューラルネット用にランダムに描画されたトレーニングサンプルは、置換せずに描画する必要がありますか?
利用可能なすべてのトレーニングサンプル全体を通過したものとしてエポックを定義し、勾配を下げるために必要な重み/バイアスの更新を見つけるために平均するサンプル数としてミニバッチサイズを定義します。 私の質問は、エポック内の各ミニバッチを生成するために、トレーニングサンプルのセットから置換せずに描画する必要があるかどうかです。エンドオブエポックの要件を満たすために実際に「すべてのサンプルを描画する」ために置換を回避する必要があると思いますが、何らかの方法で決定的な答えを見つけるのに苦労しています。 私はグーグルとChを読んでみました Nielsenのニューラルネットワークとディープラーニングの1つですが、明確な答えは見つかりませんでした。そのテキストでは、ニールセンは、ランダムサンプリングが置換なしで行われることを指定していませんが、そうであることを暗示しているようです。 エポックでのトレーニングの明確な形式化は、必要に応じてここで見つけることができます-https ://stats.stackexchange.com/a/141265/131630 編集:この質問は私に似ていましたが、期待の線形性がこの状況の独立性に無関心であるという事実をどのように適用するかは不明でした- サンプリングは置換の有無にかかわらず発生します

2
勾配降下は非凸関数に適用できますか?
私は最適化について学習しているだけで、凸最適化と非凸最適化の違いを理解するのに苦労しています。私の理解では、凸関数は「関数のグラフ上の任意の2点間の線分がグラフの上またはグラフ上にある」ものです。この場合、勾配降下アルゴリズムを使用できます。これは、単一の最小値があり、勾配によって常にその最小値に到達するためです。 ただし、この図の機能についてはどうですか: ここでは、青の線分が赤の関数の下で交差しています。ただし、この関数には最小値が1つしかないため、勾配降下法でもこの最小値に到達します。 だから私の質問は: 1)この図の関数は凸型ですか、それとも非凸型ですか? 2)非凸の場合、凸最適化法(勾配降下法)を適用できますか?

3
Rのglm関数で使用される最適化アルゴリズムはどれですか?
このようなコードを使用して、Rでロジット回帰を実行できます。 > library(MASS) > data(menarche) > glm.out = glm(cbind(Menarche, Total-Menarche) ~ Age, + family=binomial(logit), data=menarche) > coefficients(glm.out) (Intercept) Age -21.226395 1.631968 最適化アルゴリズムが収束したようです-フィッシャースコアリングアルゴリズムのステップ数に関する情報があります。 Call: glm(formula = cbind(Menarche, Total - Menarche) ~ Age, family = binomial(logit), data = menarche) Deviance Residuals: Min 1Q Median 3Q Max -2.0363 -0.9953 -0.4900 0.7780 1.3675 Coefficients: …

2
ロジスティック回帰設定で損失の二乗を使用すると、ここで何が起こっていますか?
損失の二乗を使用して、玩具データセットのバイナリ分類を試みています。 私が使用していmtcarsた透過型を予測するために、データセット、ガロンあたりの利用マイルと体重を。以下のプロットは、異なる色の2種類の透過型データと、異なる損失関数によって生成された判定境界を示しています。二乗損失がある グランドトゥルースラベル(0または1)であり、予測確率である。言い換えれば、私はロジスティック損失を分類設定の平方損失に置き換えています。他の部分は同じです。∑私(y私− p私)2∑私(y私−p私)2\sum_i (y_i-p_i)^2y私y私y_ip私p私p_ip私= ロジット− 1(βTバツ私)p私=ロジット−1(βTバツ私)p_i=\text{Logit}^{-1}(\beta^Tx_i) mtcarsデータを使用したおもちゃの例では、多くの場合、ロジスティック回帰に「類似した」モデルが得られました(ランダムシード0の次の図を参照)。 しかし、ある場合(そうする場合set.seed(1))、二乗損失はうまく機能していないようです。 ここで何が起きてるの?最適化は収束しませんか?ロジスティック損失は、二乗損失と比較して最適化が容易ですか?任意の助けをいただければ幸いです。 コード d=mtcars[,c("am","mpg","wt")] plot(d$mpg,d$wt,col=factor(d$am)) lg_fit=glm(am~.,d, family = binomial()) abline(-lg_fit$coefficients[1]/lg_fit$coefficients[3], -lg_fit$coefficients[2]/lg_fit$coefficients[3]) grid() # sq loss lossSqOnBinary<-function(x,y,w){ p=plogis(x %*% w) return(sum((y-p)^2)) } # ---------------------------------------------------------------- # note, this random seed is important for squared loss work # ---------------------------------------------------------------- set.seed(0) x0=runif(3) x=as.matrix(cbind(1,d[,2:3])) y=d$am opt=optim(x0, lossSqOnBinary, …

2
optimとglmの残留標準誤差の違い
私はoptim、R関数glmまたはさらにはnlsR関数を取り付けた単純な線形回帰の結果で再現しようとします。 パラメーターの推定値は同じですが、残差分散の推定値と他のパラメーターの標準誤差は、特にサンプルサイズが小さい場合は同じではありません。これは、最大尤度アプローチと最小二乗アプローチ間での残差標準誤差の計算方法の違いによるものと思われます(nまたはn-k + 1で除算することは、以下の例を参照)。 私はウェブ上の私の読書から、最適化は簡単なタスクではないことを理解していますが、glm使用中に標準誤差の推定値を簡単な方法で再現できるかどうか疑問に思っていましたoptim。 小さなデータセットをシミュレートする set.seed(1) n = 4 # very small sample size ! b0 <- 5 b1 <- 2 sigma <- 5 x <- runif(n, 1, 100) y = b0 + b1*x + rnorm(n, 0, sigma) optimで見積もる negLL <- function(beta, y, x) { b0 <- beta[1] b1 …

1
PythonのJenks Natural Breaks:最適なブレーク数を見つける方法
私が見つかりました。このPython実装のジェンクス自然ブレークのアルゴリズムを、私はそれが私のWindows 7のマシン上で実行させることができます。それは非常に高速で、私のジオデータのサイズを考慮して、数時間で休憩を見つけます。データにこのクラスタリングアルゴリズムを使用する前に、sklearn.clustering.KMeans (ここで)アルゴリズムを使用していました。私がKMeansで抱えていた問題は、最適なK値パラメーターを見つけることでしたが、異なるK値のアルゴリズムを起動し、sklearn.metrics.silhouette_score (ここで)最適なK値を見つけるためにそれを「解決」しました。 私の質問は、Natural Breaksアルゴリズムに5つのクラス(Kとなる)を見つけるように指示した場合、これがデータに最適なクラスの数であることをどのように確認できますか?最適な数の休憩を選択していることを検証する方法は? ありがとう!

1
glmerの収束警告の意味
R glmerのlme4パッケージの関数を使用しており、bobyqaオプティマイザーを使用しています(つまり、私の場合のデフォルト)。私は警告を受けており、それが何を意味するのか興味があります。 Warning message: In optwrap(optimizer, devfun, start, rho$lower, control = control, : convergence code 3 from bobyqa: bobyqa -- a trust region step failed to reduce q 「信頼領域のステップでqを減らすことができませんでした」を検索しました。「説明のためにパウエルに相談してください」と言ったminqaパッケージで情報を見つけました。私はやりました(もし望むなら、あなたもできます!以下への参照とリンクを見てください)が、理解できません。実際、qを減らすことに関して何も見つけることができませんでした。 MJDパウエル(2007)「派生物のない制約のない最小化のためのNEWUOAの開発」、ケンブリッジ大学、応用数学および理論物理学、数値解析グループ、レポートNA2007 / 05、http: //www.damtp.cam.ac.uk/ ユーザー/ NA / NA_papers / NA2007_05.pdf。 MJDパウエル(2009)、「デリバティブを使用しないバインド制約付き最適化のためのBOBYQAアルゴリズム」、レポート番号DAMTP 2009 / NA06、英国ケンブリッジ大学数学科学センター http://www.damtp.cam.ac.uk/user/na/NA_papers/NA2009_06.pdf。 Psオプティマイザーを変更できることはわかっているので、警告やエラーなしで出力を取得できるかどうかを確認します。Ben Bolkerのコメント/回答に従って、可能な場合は勾配とヘッセ行列もチェックします。私はfrom glmer内で使用しています。ベンの答えが追加の調整なしで機能するかどうかはわかりませんが、コンピューターがそれを行っていることを完了したら、それで作業します、とにかく、私は脱線します。dredgeMuMIn 更新 以下のBolker博士のコメントに従って、私はFORTRANコードを調べ始めました(これは、ダウンロードするのではなく、見ることに興味がある人のためのコードです)コードのbobyqb.f部分に「430」が表示されます。「430」または「Qを減らす」を検索して、関連するコードを見つけます。 これはFORTRANコードとの最初の出会いですが、次の条件が満たされた場合に警告が生成されるとコードに書かれていると思います:NTRITS> …

3
大きくてスマートな賭けをする
1X2(加重)ゲームでの賭けを提案するアルゴリズムをコーディングしようとしています。 基本的に、各ゲームには試合のセットがあります(ホームvsアウェイチーム): 1:ホームウィン X:描く 2:アウェイが勝つ 各マッチとシンボル(1、Xおよび2)に対して、そのシンボルが正しいマッチ結果である可能性/可能性を表すパーセンテージを割り当てます。構造を表す配列は次のとおりです。 $game = array ( 'match #1' => array // stdev = 0.0471 ( '1' => 0.3, // 30% home wins 'X' => 0.4, // 40% draw '2' => 0.3, // 30% away wins ), 'match #2' => array // stdev = 0.4714 ( '1' …

2
GLMを適合させるときに、フィッシャーのスコアリングを使用することに大騒ぎするのはなぜですか?
なぜフィッティングGLMSが特別な最適化問題であるかのように扱う理由に興味があります。彼らは?それらは最大尤度であり、尤度を書き留めてから...最大化するように思えます!それでは、なぜ応用数学文献で開発された無数の最適化スキームの代わりにフィッシャースコアリングを使用するのでしょうか?

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