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

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

8
ニュートンの方法が機械学習で広く使用されていないのはなぜですか?
これはしばらくの間私を悩ませてきたものであり、満足のいく答えをオンラインで見つけることができなかったので、ここに行きます: 凸最適化に関する一連の講義をレビューした後、Newtonの方法は、勾配降下よりもはるかに優れたアルゴリズムであり、グローバルに最適なソリューションを見つけることができます。これは、Newtonの方法は、はるかに少ないステップ。ニュートン法などの2次最適化アルゴリズムが、機械学習問題で確率的勾配降下ほど広く使用されないのはなぜですか?

3
バッチ勾配降下と確率的勾配降下
トレーニングセットがます。また、トレーニングセットで何らかのタイプの教師あり学習アルゴリズムを実行するとします。仮説はます。と間の「距離」を最小化するパラメーターを見つける必要があります。ましょう(x(i),y(i))(x(i),y(i))(x_{(i)}, y_{(i)})i=1,…,mi=1,…,mi = 1, \dots, mhθ(x(i))=θ0+θ1x(i)1+⋯+θnx(i)nhθ(x(i))=θ0+θ1x(i)1+⋯+θnx(i)nh_{\theta}(x_{(i)}) = \theta_0+\theta_{1}x_{(i)1} + \cdots +\theta_{n}x_{(i)n}θθ\mathbf{\theta}y(i)y(i)y_{(i)}hθ(x(i))hθ(x(i))h_{\theta}(x_{(i)})J(θ)=12∑i=1m(y(i)−hθ(x(i))2J(θ)=12∑i=1m(y(i)−hθ(x(i))2J(\theta) = \frac{1}{2} \sum_{i=1}^{m} (y_{(i)}-h_{\theta}(x_{(i)})^{2} 次に、を最小化するを見つけます。勾配降下では、各パラメーターを初期化し、次の更新を実行します。θθ\thetaJ(θ)J(θ)J(\theta)θj:=θj−α∂∂θjJ(θ)θj:=θj−α∂∂θjJ(θ)\theta_j := \theta_j-\alpha \frac{\partial}{\partial \theta_{j}} J(\theta) バッチ勾配降下と確率的勾配降下の主な違いは何ですか? 両方とも上記の更新ルールを使用します。しかし、一方が他方より優れていますか?

6
バックプロパゲーションなしでニューラルネットワークをトレーニングすることは可能ですか?
多くのニューラルネットワークの本やチュートリアルでは、基本的に勾配を計算するツールである逆伝播アルゴリズムに多くの時間を費やしています。 〜10Kのパラメーター/ウェイトでモデルを構築していると仮定しましょう。勾配のない最適化アルゴリズムを使用して最適化を実行することはできますか? 数値勾配の計算は遅すぎると思いますが、ネルダーミード、シミュレーテッドアニーリング、遺伝的アルゴリズムなどの他の方法はどうですか? すべてのアルゴリズムは極小に苦しむでしょうが、なぜ勾配に取りつかれているのでしょうか?

2
tanh活性化機能とシグモイド活性化機能
tanhアクティベーション機能は次のとおりです。 tanh(x)=2⋅σ(2x)−1tanh(x)=2⋅σ(2x)−1tanh \left( x \right) = 2 \cdot \sigma \left( 2 x \right) - 1 ここで、シグモイド関数は、次のように定義される。。σ(x)σ(x)\sigma(x) σ(x)=ex1+exσ(x)=ex1+ex\sigma(x) = \frac{e^x}{1 + e^x} 質問: これら2つのアクティベーション関数(tanhとsigma)を使用することは本当に重要ですか? どの場合にどの機能が優れていますか?

7
確率ではなく最大対数確率を最適化する理由
最大化する必要がある確率を定式化できるほとんどの機械学習タスクでは、いくつかのパラメーター確率の代わりに、実際に対数確率最適化します。たとえば、最尤トレーニングでは、通常対数尤度です。勾配法を使用してこれを行う場合、これには要因が含まれます。ppplogplog⁡p\log pθθ\theta ∂logp∂θ=1p⋅∂p∂θ∂log⁡p∂θ=1p⋅∂p∂θ \frac{\partial \log p}{\partial \theta} = \frac{1}{p} \cdot \frac{\partial p}{\partial \theta} いくつかの例については、こちらまたはこちらをご覧ください。 もちろん、最適化は同等ですが、勾配は異なりますので、勾配ベースの方法は異なる動作をします(特に確率勾配法)。任意の正当性があることがある勾配がより良い作品勾配?logplog⁡p\log pppp

7
コスト関数の評価が遅い場合の最適化
勾配降下法や他の多くの方法は、コスト関数で局所的な最小値を見つけるのに役立ちます。それらは、数値的であろうと分析的であろうと、コスト関数が各ポイントで迅速に評価できる場合に効率的です。 異常な状況に見えるものがあります。私のコスト関数の評価はそれぞれ高価です。グラウンドトゥルースサーフェスに対して3Dサーフェスを最小化する一連のパラメーターを見つけようとしています。パラメーターを変更するたびに、サンプルコホート全体に対してアルゴリズムを実行して、その効果を測定する必要があります。勾配を計算するには、15個すべてのパラメーターを個別に変更する必要があります。つまり、すべてのサーフェスを再生成し、勾配ごとにサンプルコホート方法と比較する回数が多すぎます。 私はこの問題を回避する方法を開発し、現在評価していますが、高価なコスト関数の評価に関する文献にあまり見当たらないことに驚いています。これは、私が問題をそれよりも難しくしているのか、そしてすでに利用可能なより良い方法があるかもしれないのではないかと思うようになります。 だから私の質問は基本的にこれです:評価が遅いときに、凸関数であるかどうかにかかわらず、誰もがコスト関数を最適化する方法を知っていますか?または、アルゴリズムを再実行してサンプルコホートと何度も比較することで、そもそもばかげたことをしていますか?

5
PCAが(距離を伴う)幾何学的問題から(固有ベクトルを伴う)線形代数問題にどのように変化するかについての直感的な説明は何ですか?
私は(のような様々なチュートリアルや質問など、PCAについて多く、読んだ本1、この1、この1、およびこれを)。 PCAが最適化しようとしている幾何学的問題は、私には明らかです。PCAは、再構成(投影)エラーを最小化することで最初の主成分を見つけようとし、同時に投影データの分散を最大化します。 最初にそれを読んだとき、私はすぐに線形回帰のようなものを考えました。必要に応じて、勾配降下法を使用して解決できます。 しかし、その後、線形代数を使用して固有ベクトルと固有値を見つけることで最適化問題が解決されることを読んだとき、私の心は吹き飛ばされました。私は、この線形代数の使用がどのように作用するかを単純に理解していません。 だから私の質問は次のとおりです。PCAはどのようにして幾何学的最適化問題から線形代数問題に変わるのでしょうか?誰かが直感的な説明を提供できますか? 私のような答えを捜しているわけではない、この1と言い、「あなたはPCAの数学の問題を解決するとき、それは共分散行列の固有値と固有ベクトルを見つけることと等価なってしまいます。」固有ベクトルが主成分となる理由と、固有ベクトルが投影されるデータの分散となる理由を説明してください ちなみに、私はソフトウェアエンジニアであり、数学者ではありません。 注:上記の図は、このPCAチュートリアルから取られて変更されています。

4
運動量ベースの勾配降下とNesterovの加速勾配降下の違いは何ですか?
したがって、運動量ベースの勾配降下は次のように機能します。 v=self.momentum∗m−lr∗gv=self.momentum∗m−lr∗gv=self.momentum*m-lr*g ここで、は以前の重みの更新、はパラメーターに関する現在の勾配、は学習率、は定数です。g p l r s e l f 。M O のM E N T U Mmmmgggppplrlrlrself.momentumself.momentumself.momentum pnew=p+v=p+self.momentum∗m−lr∗gpnew=p+v=p+self.momentum∗m−lr∗gp_{new} = p + v = p + self.momentum * m - lr * g また、Nesterovの加速勾配降下は次のように機能します。 pnew=p+self.momentum∗v−lr∗gpnew=p+self.momentum∗v−lr∗gp_{new} = p + self.momentum * v - lr * g 次と同等です: pnew=p+self.momentum∗(self.momentum∗m−lr∗g)−lr∗gpnew=p+self.momentum∗(self.momentum∗m−lr∗g)−lr∗gp_{new} = p + …

1
「ほぼすべての局所的最小値は、グローバルな最適値と非常に類似した関数値を持っています」を理解する
で、最近のブログ記事:栄GEが、それはと言われていました ディープネットの学習を含む多くの問題では、ほとんどすべてのローカルミニマムはグローバル最適と非常に類似した関数値を持っているため、ローカルミニマムを見つけるだけで十分であると考えられています。 この信念はどこから来たのですか?

1
確率的勾配降下のAdamメソッドはどのように機能しますか?
ニューラルネットワークをトレーニングするための基本的な勾配降下アルゴリズムに精通しています。Adam:ADAM:A METHOD for SCHOCASTIC OPTIMIZATIONを提案している論文を読みました。 (少なくとも)確かにいくつかの洞察を持っていますが、この論文は私にとって全体的に高すぎるようです。たとえば、コスト関数は多くの異なる関数の合計であることが多いため、その値を最適化するには膨大な量の計算が必要です。確率的勾配降下-トピックを理解している限り-これらの関数のサブセットについてのみ最適化を計算します。私には、Adamがこれをどのように行い、これにより全体のトレーニングエラーが減少する理由は不明です。J(θ)J(θ)J(\theta)J(θ)J(θ)J(\theta) Adamは以前の勾配を考慮して勾配を更新すると思います。彼らはそれを勢いを利用するようなものと呼んでいますか?この勢いは正確に何ですか?論文の2ページ目のアルゴリズムによると、「通常の」勾配の1次モーメントと2次モーメントの推定値のような、ある種の移動平均ですか? 実際には、Adamを使用すると、勾配を小さくするために大きな有効ステップサイズを使用できるため、確率的近似と組み合わせてトレーニングエラーが発生すると考えられます。したがって、結果として得られる更新ベクトルは、通常の勾配降下アルゴリズムのように曲線を記述するのではなく、空間次元でさらに「ジャンプ」する必要があります。 誰かがアダムの仕組みを分かりやすく説明できますか?特にそれがどのように収束するのか、特にアダムの方法が機能する理由と正確な利点は何ですか?

1
ニューラルネットワーク:重量変化の運動量と重量減衰
Momentumは、連続した反復での重量変化の変動を小さくするために使用されます。αα\alpha Δωi(t+1)=−η∂E∂wi+αΔωi(t),Δωi(t+1)=−η∂E∂wi+αΔωi(t),\Delta\omega_i(t+1) = - \eta\frac{\partial E}{\partial w_i} + \alpha \Delta \omega_i(t), ここではエラー関数、 -重みのベクトル学習率。E(w)E(w)E({\bf w})ww{\bf w}ηη\eta 重量減衰は、重量の変化にペナルティを与えます。λλ\lambda Δωi(t+1)=−η∂E∂wi−ληωiΔωi(t+1)=−η∂E∂wi−ληωi\Delta\omega_i(t+1) =- \eta\frac{\partial E}{\partial w_i} - \lambda\eta\omega_i 問題は、逆伝播中に両方のトリックを組み合わせることが理にかなっているか、そしてそれがどのような効果をもたらすのか? Δωi(t+1)=−η∂E∂wi+αΔωi(t)−ληωiΔωi(t+1)=−η∂E∂wi+αΔωi(t)−ληωi\Delta\omega_i(t+1) = - \eta\frac{\partial E}{\partial w_i} + \alpha \Delta \omega_i(t) - \lambda\eta\omega_i

5
実用的なハイパーパラメーター最適化:ランダム検索とグリッド検索
私は現在、BengioとBergstaのハイパーパラメーター最適化のため のランダム検索[1]を行っています。著者は、ランダム検索がグリッド検索よりもほぼ同等のパフォーマンスを達成する上で効率的であると主張しています。 私の質問は次のとおりです。ここの人々はその主張に同意しますか?私の仕事では、ランダム検索を簡単に実行できるツールが不足しているため、主にグリッド検索を使用しています。 グリッド対ランダム検索を使用している人々の経験は何ですか?

1
glmerが最尤を達成しないのはなぜですか(さらに一般的な最適化を適用することにより検証されます)?
数値的に導出MLE SのGLMMは実際には、困難であると、私は知っている、我々は(使用して、例えばブルートフォース最適化を使用しないでくださいoptimシンプルな方法で)。しかし、私自身の教育目的のために、モデルを正しく理解するために試してみたいと思います(以下のコードを参照)。私はいつも矛盾した結果を得ることがわかったglmer()。 特に、MLE glmerを初期値として使用しても、記述した尤度関数に従って(negloglik)、MLEではありません(opt1$valueより小さいopt2)。次の2つの理由が考えられます。 negloglik うまく記述されていないため、数値エラーが多すぎます。 モデルの仕様が間違っています。モデル仕様の場合、対象モデルは次のとおりです。 fは二項PMFであり、Gは正常PDFです。a、 b、および sを推定しようとしています。特に、モデルの仕様が間違っているかどうか、正しい仕様は何かを知りたい。L = ∏i = 1n(∫∞- ∞f(y私| N、a 、b 、r私)g(r私| s)dr私)L=∏私=1n(∫−∞∞f(y私|N、a、b、r私)g(r私|s)dr私)\begin{equation} L=\prod_{i=1}^{n} \left(\int_{-\infty}^{\infty}f(y_i|N,a,b,r_{i})g(r_{i}|s)dr_{i}\right) \end{equation}fffgggaaabbbsss p <- function(x,a,b) exp(a+b*x)/(1+exp(a+b*x)) a <- -4 # fixed effect (intercept) b <- 1 # fixed effect (slope) s <- 1.5 # random effect (intercept) N <- 8 …

3
SVMとロジスティック回帰の比較
誰かがいつSVMまたはLRを選択するかについて直観を教えてもらえますか?私は、2つの超平面を学習する最適化基準の違いは何かという背後にある直感を理解したいと思います。それぞれの目的は次のとおりです。 SVM:最も近いサポートベクトル間のマージンを最大化してください LR:事後クラス確率を最大化する SVMとLRの両方の線形特徴空間を考えてみましょう。 私がすでに知っているいくつかの違い: SVMは決定論的ですが(確率スコアにはプラッツモデルを使用できます)、LRは確率論的です。 カーネルスペースの場合、SVMの方が高速です(サポートベクターのみが格納されます)

5
CV / Bootstrapを使用して機械学習アルゴリズムをトレーニングすることでオーバーフィットできますか?
この質問は、決定的な答えを得るにはあまりにもオープンエンドかもしれませんが、そうでないことを願っています。 SVM、GBM、ランダムフォレストなどの機械学習アルゴリズムには、一般に、いくつかの経験則を超えて、各データセットに合わせて調整する必要があるいくつかの無料のパラメーターがあります。これは、一般的に、ある種の再サンプリング手法(ブートストラップ、CVなど)で行われ、最良の一般化エラーを与えるパラメーターのセットに適合します。 私の質問は、あなたがここにすぎ行くことができるのですか?人々はグリッド検索を行うことなどについて話しますが、なぜこれを最適化問題として扱い、可能な限り最良のパラメータセットにドリルダウンしないのですか?私はこのいくつかの仕組みについて尋ね、この質問が、それは多くの注目を集めていません。質問はひどく聞かれたかもしれませんが、おそらく質問自体は人々が一般にしない悪いアプローチを表しているのでしょうか? どのような私を気にすることは正則の欠如です。再サンプリングすると、このデータセットのGBMで成長するのに最適なツリーの数は647で、相互作用の深さは4ですが、これが新しいデータに当てはまることをどのように確認できますか(新しい母集団を仮定して) )トレーニングセットと同一ですか?「縮小」する合理的な価値がない場合(または、情報を提供する事前情報がない場合)、リサンプリングは私たちができる最善の方法のようです。私はこのことについて何も話を聞いていないので、何か足りないものがあるのではないかと思います。 明らかに、多くの反復を行ってモデルの予測力の最後のビットを絞り出すことに関連する大きな計算コストがあるため、これは明らかに、最適化とすべてのビットを行うための時間/うなりを持っている場合にあなたがすることですパフォーマンスの改善は貴重です。

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