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

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


1
「リラックスした投げ縄」が標準の投げ縄と異なるのはなぜですか?
我々は、データのセットで開始した場合、それに投げ縄を適用し、溶液得るβ Lを、我々は、データセットに再び投げ縄を適用することができる(X S、Y )、Sは非ゼロの集合であります指標β Lは、ソリューション、取得するβ RのL、いわゆる「緩和LASSO」ソリューション(私が間違っている場合は、正しい私を!)。溶液β L満足しなければならない条件Karush-キューン・タッカー(KKT)のための(X 、Y )(X,Y)(X,Y)(X,Y)βLβL\beta^L(XS,Y)(XS,Y)(X_S, Y)SSSβLβL\beta^LβRLβRL\beta^{RL}βLβL\beta^L(X,Y)(X,Y)(X,Y)しかし、のKKT条件の形式を考えると、これらも満たすのではないでしょうか?もしそうなら、もう一度LASSOを行う意味は何ですか?(XS,Y)(XS,Y)(X_S, Y) この質問は、「二重投げ縄」を行うか、投げ縄を2回実行することの利点ですか?

1
GLMの対数尤度は、グローバルな最大値への収束を保証していますか?
私の質問は: 一般化線形モデル(GLM)は、グローバルな最大値に収束することが保証されていますか?もしそうなら、なぜですか? さらに、凸性を保証するためのリンク関数にはどのような制約がありますか? GLMについての私の理解は、それらが高度に非線形な尤度関数を最大化するということです。したがって、いくつかの極大値があり、収束するパラメーターセットは最適化アルゴリズムの初期条件に依存すると想像します。しかし、いくつかの研究を行った後、複数の局所的最大値があることを示す単一の情報源は見つかりませんでした。さらに、私は最適化手法にあまり精通していませんが、ニュートンラプソン法とIRLSアルゴリズムは極大になりやすいことを知っています。 可能であれば、直感的かつ数学的に説明してください! 編集:dksahujiは私の元の質問に答えましたが、上記の追加の質問[ 2 ] を追加したいと思います。(「凸性を保証するためのリンク関数にはどのような制約がありますか?」)

2
適切な最適化アルゴリズムを選択する方法は?
関数の最小値を見つける必要があります。http://docs.scipy.org/doc/scipy/reference/optimize.htmlのドキュメントを読む同じことを行う、つまり最小値を見つけるアルゴリズムがいくつかあることがわかります。どちらを選択する必要があるかを知るにはどうすればよいですか? リストされているアルゴリズムの一部 ダウンヒルシンプレックスアルゴリズムを使用して関数を最小化します。 BFGSアルゴリズムを使用して関数を最小化します。 非線形共役勾配アルゴリズムを使用して関数を最小化します。 Newton-CG法を使用して関数fを最小化します。 修正されたPowellの方法を使用して関数を最小化します。 私の機能は線形です。次元は約232750です(これは毎回計算する必要があるさまざまな勾配の数です)。勾配とコストを計算するのに約2分かかりますので、安くはありません。制約があるとは思わない。それは決定論的で連続的です。

2
混合モデルで期待値の最大化が重要な理由
混合モデル(ガウス混合モデル、隠れマルコフモデルなど)の期待値最大化法を強調した多くの文献があります。 EMが重要な理由 EMは最適化を行うための単なる方法であり、勾配ベースの方法(勾配ディセントまたはニュートン/準ニュートン法)またはここで説明した他の勾配のない方法として広く使用されていません。さらに、EMにはまだ局所的な最小の問題があります。 それは、プロセスが直感的で、簡単にコードに変換できるからでしょうか?または他にどんな理由がありますか?

1
確率的勾配降下は、標準の勾配降下と比較して、どのように時間を節約できますか?
標準勾配降下法は、トレーニングデータセット全体の勾配を計算します。 for i in range(nb_epochs): params_grad = evaluate_gradient(loss_function, data, params) params = params - learning_rate * params_grad 事前に定義された数のエポックの場合、最初にパラメーターベクトルparamsに対するデータセット全体の損失関数の勾配ベクトルweights_gradを計算します。 対照的に、確率的勾配降下法は、各トレーニング例x(i)およびラベルy(i)のパラメーター更新を実行します。 for i in range(nb_epochs): np.random.shuffle(data) for example in data: params_grad = evaluate_gradient(loss_function, example, params) params = params - learning_rate * params_grad SGDははるかに高速であると言われています。ただし、まだすべてのデータポイントでループが発生している場合、それがはるかに高速になる方法はわかりません。GDの勾配の計算は、各データポイントのGDの計算よりもはるかに遅いですか? コードはここから来ます。

1
パーセプトロンルールと勾配降下法と確率勾配降下法の実装に関する説明
さまざまなパーセプトロンの実装を少し試し、「反復」を正しく理解しているかどうかを確認したいと思います。 ローゼンブラットの元のパーセプトロン規則 私の知る限り、Rosenblattの古典的なパーセプトロンアルゴリズムでは、すべてのトレーニング例の後に重みが同時に更新されます。 Δw(t+1)=Δw(t)+η(target−actual)xiΔw(t+1)=Δw(t)+η(target−actual)xi\Delta{w}^{(t+1)} = \Delta{w}^{(t)} + \eta(target - actual)x_i ここで、etaetaetaは学習ルールです。また、ターゲットと実際の両方にしきい値が設定されます(-1または1)。1反復= 1トレーニングサンプルのパスとして実装しましたが、各トレーニングサンプルの後に重みベクトルが更新されます。 そして、「実際の」値を次のように計算します sign(wwTxx)=sign(w0+w1x1+...+wdxd)sign(wwTxx)=sign(w0+w1x1+...+wdxd) sign ({\pmb{w}^T\pmb{x}}) = sign( w_0 + w_1 x_1 + ... + w_d x_d) 確率的勾配降下 Δw(t+1)=Δw(t)+η(target−actual)xiΔw(t+1)=Δw(t)+η(target−actual)x私\Delta{w}^{(t+1)} = \Delta{w}^{(t)} + \eta(target - actual)x_i しかし、パーセプトロンルールと同じ、targetおよびactual閾値が、実際の値がされていません。また、「反復」をトレーニングサンプルのパスとしてカウントします。 SGDと従来のパーセプトロンルールの両方が、この線形に分離可能な場合に収束しますが、勾配降下の実装に問題があります。 勾配降下 ここでは、トレーニングサンプルを調べ、トレーニングサンプルの1パスの重みの変化を合計し、その後、重みを更新しました。たとえば、 各トレーニングサンプル: Δwnew+=Δw(t)+η(target−actual)xiΔwnew+=Δw(t)+η(target−actual)xi\Delta{w_{new}} \mathrel{{+}{=}} \Delta{w}^{(t)} + \eta(target - actual)x_i ... トレーニングセットを1回通過した後: Δw+=ΔwnewΔw+=Δwnew\Delta{w} …

2
手作業によるARIMA推定
ARIMAモデリング/ Box Jenkins(BJ)でパラメーターがどのように推定されるかを理解しようとしています。残念ながら、私が遭遇した本のいずれも、対数尤度推定手順などの推定手順を詳細に説明していません。私は非常に役立つウェブサイト/教材を見つけました。以下は、上記のソースからの方程式です。 L L (θ )= − n2ログ(2 π)− n2ログ(σ2)− ∑t = 1ne2t2つのσ2LL(θ)=−n2ログ⁡(2π)−n2ログ⁡(σ2)−∑t=1net22σ2 LL(\theta)=-\frac{n}{2}\log(2\pi) - \frac{n}{2}\log(\sigma^2) - \sum\limits_{t=1}^n\frac{e_t^2}{2\sigma^2} 自分でARIMA / BJの推定を学びたいです。そこで、を使用して手作業でARMAを推定するコードを記述しました。以下は私がRでやったことです、RRRRRR ARMAをシミュレートしました(1,1) 上記の方程式を関数として書きました シミュレートされたデータと最適関数を使用して、ARおよびMAパラメーターを推定しました。 また、statsパッケージでARIMAを実行し、ARMAパラメーターを手作業で行ったものと比較しました。 以下は比較です: **以下は私の質問です: 推定変数と計算変数の間にわずかな違いがあるのはなぜですか? ARIMAはRバックキャストで機能しますか、または推定手順はコードで以下に概説されているものとは異なりますか? 観測1でe1またはエラーを0として割り当てましたが、これは正しいですか? また、最適化のヘッセ行列を使用して予測の信頼限界を推定する方法はありますか? いつものようにあなたの助けに感謝します。 コードは次のとおりです。 ## Load Packages library(stats) library(forecast) set.seed(456) ## Simulate Arima y <- arima.sim(n = 250, list(ar = …

1
CNNは勾配の消失問題をどのように回避しますか
私は畳み込みニューラルネットワークについて多くのことを読んでおり、それらが消失勾配問題をどのように回避するのか疑問に思っていました。深い信念のネットワークが単一レベルの自動エンコーダーまたは他の事前に訓練された浅いネットワークをスタックすることを知っているため、この問題を回避できますが、CNNでどのように回避されるかわかりません。 ウィキペディアによると: 「上記の「勾配の消失問題」にも関わらず、GPUの優れた処理能力により、多くの層を備えたディープフィードフォワードニューラルネットワークで単純な逆伝播が実行可能になります。 GPU処理がこの問題を解決する理由がわかりませんか?

1
なぜglmer(family = binomial)出力をGauss-Newtonアルゴリズムの手動実装と一致させられないのですか?
lmer(本当にglmer)の出力をおもちゃの二項式の例と一致させたいと思います。私はビネットを読んで、何が起こっているのか理解していると信じています。 しかし、どうやらそうではありません。立ち往生した後、私はランダム効果の観点から「真実」を修正し、修正された効果だけを評価した。以下にこのコードを含めます。それが合法であることを確認するには、コメントアウトする+ Z %*% b.kと、通常のglmの結果と一致します。私は、ランダム効果が含まれているときにlmerの出力を一致させることができない理由を理解するために、いくらかの知力を借りたいと思っています。 # Setup - hard coding simple data set df <- data.frame(x1 = rep(c(1:5), 3), subject = sort(rep(c(1:3), 5))) df$subject <- factor(df$subject) # True coefficient values beta <- matrix(c(-3.3, 1), ncol = 1) # Intercept and slope, respectively u <- matrix(c(-.5, .6, .9), ncol = 1) …

1
単一のReLUがReLUを学習できないのはなぜですか?
私のニューラルネットワークのフォローアップとして、ユークリッド距離を学習することすらできないため、さらに単純化して、単一のReLU(ランダムな重み)を単一のReLUにトレーニングしようとしました。これは最も単純なネットワークですが、収束に失敗する時間の半分です。 最初の推測がターゲットと同じ方向にある場合、すぐに学習し、正しい重み1に収束します。 最初の推測が「後方」である場合、ゼロの重みでスタックし、低損失の領域に到達することはありません。 理由がわかりません。勾配降下は、グローバルミニマムへの損失曲線に簡単に従うべきではありませんか? サンプルコード: from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, ReLU from tensorflow import keras import numpy as np import matplotlib.pyplot as plt batch = 1000 def tests(): while True: test = np.random.randn(batch) # Generate ReLU test case X = test Y = test.copy() Y[Y < 0] …

3
正規化された勾配と勾配の使用の違い
勾配降下アルゴリズムの一般的な設定では、我々はここで、X nは現在の点では、ηはステップサイズであり、G 、R 、D 、I 、E N T X Nで評価勾配であるX nが。 xn+1=xn−η∗gradientxnxn+1=xn−η∗gradientxnx_{n+1} = x_{n} - \eta * gradient_{x_n}xnxnx_nηη\etagradientxngradientxngradient_{x_n}xnxnx_n 私はいくつかのアルゴリズムで見てきた、人々が使用して正規化された勾配の代わりに、勾配を。正規化された勾配と単純な勾配を使用した場合の違いを知りたいと思いました。

1
ニューラルネットワーク以外のものに対して、適切な勾配に非一定の学習率を使用しないのはなぜですか?
ディープラーニングの文献には、勾配降下で非一定の学習率を使用する巧妙なトリックがたくさんあります。指数関数的減衰、RMSprop、Adagradなどのようなものは実装が簡単で、すべてのディープラーニングパッケージで利用できますが、ニューラルネットワークの外部には存在しないようです。これには理由がありますか?人々が単に気にしないということであれば、ニューラルネットワークの外で気にしなければならない理由はありますか?

1
完全な列ランク未満の制限付き最尤法
この質問は、線形モデルの特定のバージョンにおける制限付き最尤法(REML)の推定を扱っています。 Y=X(α)β+ϵ,ϵ∼Nn(0,Σ(α)),Y=X(α)β+ϵ,ϵ∼Nn(0,Σ(α)), Y = X(\alpha)\beta + \epsilon, \\ \epsilon\sim N_n(0, \Sigma(\alpha)), ここで、は、と同様に、でパラメーター化された()行列です。は迷惑パラメーターの未知のベクトルです。関心が推定である、私たちは持っている。最尤法によるモデルの推定は問題ありませんが、REMLを使用したいと思います。これはよく知られており、例えば、参照LaMotteを、尤度その、なるよう任意の半直交行列である書くことができます。X(α)X(α)X(\alpha)n×pn×pn \times pα∈Rkα∈Rk\alpha \in \mathbb R^kΣ(α)Σ(α)\Sigma(\alpha)ββ\betaαα\alphak≤p≪nk≤p≪nk\leq p\ll nA′YA′YA'YAAAA′X=0A′X=0A'X=0 LREML(α∣Y)∝|X′X|1/2|Σ|−1/2|X′Σ−1X|−1/2exp{−12r′Σ−1r},r=(I−X(X′Σ−1X)+X′Σ−1)Y,LREML(α∣Y)∝|X′X|1/2|Σ|−1/2|X′Σ−1X|−1/2exp⁡{−12r′Σ−1r},r=(I−X(X′Σ−1X)+X′Σ−1)Y, L_{\text{REML}}(\alpha\mid Y) \propto\vert X'X\vert^{1/2} \vert \Sigma\vert^{-1/2}\vert X'\Sigma^{-1}X\vert^{-1/2}\exp\left\{-\frac{1}{2} r'\Sigma^{-1}r \right\}, \\ r = (I - X(X'\Sigma^{-1}X)^+X'\Sigma^{-1})Y, when XXX is full column rank. My problem is that for some perfectly reasonable, and …

2
機械学習におけるエネルギー最小化とは何ですか?
私はコンピュータービジョンの不適切な問題の最適化について読んでいて、Wikipediaでの最適化に関する以下の説明に出会いました。私が理解していないのは、コンピュータービジョンでこの最適化を「エネルギー最小化」と呼ぶのはなぜですか? 最適化の問題は、次の方法で表すことができます。 指定:関数集合から実数へのf:A→Rf:A→Rf: A \to RAAA 求め:要素におけるようにすべてのためにおける ( "最小化")、またはそのすべてのためにおけるA ( "最大化") 。x0x0x_0AAAf(x0)≤f(x)f(x0)≤f(x)f(x_0) ≤ f(x)xxxAAAf(x0)≥f(x)f(x0)≥f(x)f(x_0) ≥ f(x)xxxAAA このような定式化は、最適化問題または数学的プログラミング問題(コンピュータープログラミングに直接関係しないが、たとえば線形プログラミングでまだ使用されている用語-以下の履歴を参照)と呼ばれます。この一般的なフレームワークでは、現実世界および理論上の多くの問題をモデル化できます。物理学およびコンピュータービジョンの分野でこの手法を使用して定式化された問題は、モデル化されているシステムのエネルギーを表す関数fの値といえば、手法をエネルギー最小化と呼ぶ場合がありますfff。

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