タグ付けされた質問 「loss-functions」

モデルに従って観測データと予測値の差を定量化するために使用される関数。損失関数の最小化は、モデルのパラメーターを推定する方法です。

2
合計ではなくバッチの平均損失を最小限に抑えることは一般的な方法ですか?
Tensorflowには、CIFAR-10の分類に関するサンプルチュートリアルがあります。チュートリアルでは、バッチ全体の平均クロスエントロピー損失が最小化されます。 def loss(logits, labels): """Add L2Loss to all the trainable variables. Add summary for for "Loss" and "Loss/avg". Args: logits: Logits from inference(). labels: Labels from distorted_inputs or inputs(). 1-D tensor of shape [batch_size] Returns: Loss tensor of type float. """ # Calculate the average cross entropy loss across the …

1
バイアス分散分解
Bishopのパターン認識と機械学習のセクション3.2で、彼はバイアス分散分解について説明し、損失関数の2乗について、期待損失を2乗バイアス項に分解できることを述べています(これは、平均予測が真からどれだけ離れているかを説明しています)モデル)、分散項(平均の周りの予測の広がりを表す)、およびノイズ項(データの固有のノイズを与える)。 バイアス分散分解は、2乗損失以外の損失関数で実行できますか? 特定のモデルデータセットについて、予想損失がすべてのモデルで最小となるモデルが複数ありますか?その場合、同じ最小予想損失をもたらすバイアスと分散の異なる組み合わせが存在する可能性があるということですか? モデルに正則化が含まれる場合、バイアス、分散、正則化係数間に数学的な関係がありますか?λλ\lambda 真のモデルがわからない場合、どのようにバイアスを計算できますか? 予想される損失(バイアスと分散の2乗の合計)よりも、バイアスまたは分散を最小化する方が理にかなっている状況はありますか?

1
単純ベイズ分類器が0-1損失に最適なのはなぜですか?
Naive Bayes分類器は、クラスメンバーシップの事後の最大化に基づいてアイテムバツバツxをクラス割り当て、アイテムの特徴が独立していると仮定する分類器です。P (C | x )CCCP(C| x)P(C|バツ)P(C|x) 0-1の損失は、分類ミスに「1」の損失を割り当て、正しい分類に「0」の損失を割り当てる損失です。 私はよく(1)「単純ベイズ」分類器が0-1の損失に最適であることを読みました。なぜこれが本当ですか? (1)1つの典型的なソース:ベイズ分類器とベイズエラー

2
ノイズの多いラベルによる分類?
分類のためにニューラルネットワークをトレーニングしようとしていますが、持っているラベルはかなりうるさいです(ラベルの約30%が間違っています)。 クロスエントロピー損失は確かに機能しますが、この場合により効果的な代替策はあるのでしょうか。またはクロスエントロピー損失が最適ですか? よくわかりませんが、クロスエントロピー損失をいくらか「クリッピング」して、1つのデータポイントの損失が上限を超えないようにすることを考えています。 ありがとう! 更新 Lucasの回答によれば、予測出力とソフトマックス関数zの入力の導関数は次のとおりです。だから私は本質的にそれは平滑化項を追加していると思います3yyyzzzを導関数に。Piが=0.3/N+0.7YIL=-ΣTIログ(PI)∂Lを37N37N\frac{3}{7N} pi=0.3/N+0.7yipi=0.3/N+0.7yip_i=0.3/N+0.7y_i l=−∑tilog(pi)l=−∑tilog⁡(pi)l=-\sum t_i\log(p_i) ∂L∂l∂yi=−ti∂log(pi)∂pi∂pi∂yi=−0.7tipi=−ti37N+yi∂l∂yi=−ti∂log⁡(pi)∂pi∂pi∂yi=−0.7tipi=−ti37N+yi\frac{\partial l}{\partial y_i}=-t_i\frac{\partial\log(p_i)}{\partial p_i}\frac{\partial p_i}{\partial y_i}=-0.7\frac{t_i}{p_i}=-\frac{t_i}{\frac{3}{7N}+y_i} :オリジナルクロスエントロピー損失の誘導体 ∂L∂l∂zi=0.7∑jtjpj∂yj∂zi=yi∑jtjyj37N+yj−tiyi37N+yi∂l∂zi=0.7∑jtjpj∂yj∂zi=yi∑jtjyj37N+yj−tiyi37N+yi\frac{\partial l}{\partial z_i}=0.7\sum_j\frac{t_j}{p_j}\frac{\partial y_j}{\partial z_i}=y_i\sum_jt_j\frac{y_j}{\frac{3}{7N}+y_j}-t_i\frac{y_i}{\frac{3}{7N}+y_i} ∂L∂l∂yi=−tiyi∂l∂yi=−tiyi\frac{\partial l}{\partial y_i}=-\frac{t_i}{y_i} 私が間違っている場合は私に知らせてください。ありがとう!∂l∂zi=yi−ti∂l∂zi=yi−ti\frac{\partial l}{\partial z_i}=y_i-t_i 更新ルーカスの回答と同じ式を適用するが、解釈が異なるGoogleの論文を偶然 読んだ。 セクション7では、ラベル平滑化によるモデルの正則化 ∂l/∂zk∂l/∂zk∂l/∂z_k しかし、予測に平滑化項を追加する代わりに、それをグラウンドトゥルースに追加しました。これは役立つことがわかりました。 ϵϵ\epsilon

2
0-1損失関数が扱いにくいのはなぜですか?
イアン・グッドフェローのディープラーニングの本には、 場合によっては、実際に気になる損失関数(分類エラーなど)が効率的に最適化できるものではないことがあります。たとえば、線形分類子の場合でも、予想される0-1の損失を正確に最小化することは、通常、困難です(入力次元で指数関数的)。このような状況では、代わりに代理損失関数を最適化するのが一般的です。代理損失関数はプロキシとして機能しますが、利点があります。 0-1損失が扱いにくいのはなぜですか、それとも入力次元で指数関数的ですか?

2
クロスエントロピー損失関数のさまざまな定義
私は、neuralnetworksanddeeplearning dot comチュートリアルでニューラルネットワークについて学び始めました。特に第3章には、クロスエントロピー関数に関するセクションがあり、クロスエントロピー損失を次のように定義しています。 C=−1n∑x∑j(yjlnaLj+(1−yj)ln(1−aLj))C=−1n∑x∑j(yjln⁡ajL+(1−yj)ln⁡(1−ajL))C = -\frac{1}{n} \sum\limits_x \sum\limits_j (y_j \ln a^L_j + (1-y_j) \ln (1 - a^L_j)) ただし、Tensorflowの概要を読むと、クロスエントロピー損失は次のように定義されます。 C=−1n∑x∑j(yjlnaLj)C=−1n∑x∑j(yjln⁡ajL)C = -\frac{1}{n} \sum\limits_x \sum\limits_j (y_j \ln a^L_j)(上記と同じ記号を使用する場合) 次に、何が起こっているのかを探すために周りを検索すると、クロスエントロピー損失の完全に異なる定義を使用する別のメモセット(https://cs231n.github.io/linear-classify/#softmax-classifier)が見つかりました。ニューラルネットワークではなく、ソフトマックス分類器の時間。 誰かが私にここで何が起こっているのか説明できますか?なぜ矛盾があるのですか?クロスエントロピー損失はどのように定義されますか?いくつかの包括的な原則はありますか?

1
ロジスティック損失関数の勾配
これに関する質問をします。 私はここでxgboostのカスタム損失関数を書く例を見つけました: loglossobj <- function(preds, dtrain) { # dtrain is the internal format of the training data # We extract the labels from the training data labels <- getinfo(dtrain, "label") # We compute the 1st and 2nd gradient, as grad and hess preds <- 1/(1 + exp(-preds)) grad <- preds …

5
CNNの顔/非顔検出のバイナリ検出に使用する損失関数は何ですか?
ディープラーニングを使用して顔/非顔のバイナリ検出をトレーニングします。どの損失を使用する必要がありますか、それはSigmoidCrossEntropyLossまたはHinge-lossであると思います。 それは正しいですが、ソフトマックスを2つのクラスだけで使用する必要があるのでしょうか?

1
損失関数の2次近似(ディープラーニングブック、7.33)
ディープラーニングに関するGoodfellow(2016)の本で、彼はL2正則化への早期停止の同等性について話しました(https://www.deeplearningbook.org/contents/regularization.html 247ページ)。 コスト関数jjj 2次近似は、次の式で与えられます。 J^(θ)=J(w∗)+12(w−w∗)TH(w−w∗)J^(θ)=J(w∗)+12(w−w∗)TH(w−w∗)\hat{J}(\theta)=J(w^*)+\frac{1}{2}(w-w^*)^TH(w-w^*) HHHf(w+ϵ)=f(w)+f′(w)⋅ϵ+12f′′(w)⋅ϵ2f(w+ϵ)=f(w)+f′(w)⋅ϵ+12f″(w)⋅ϵ2f(w+\epsilon)=f(w)+f'(w)\cdot\epsilon+\frac{1}{2}f''(w)\cdot\epsilon^2

3
高精度または再現率の高いバイナリ分類器を取得するには、どの損失関数を使用する必要がありますか?
非常にまれにしか発生しない(画像内で)オブジェクトの検出器を作成しようとしています。スライディング/サイズ変更されたウィンドウに適用されるCNNバイナリ分類器を使用する予定です。私はバランスのとれた1:1の正と負のトレーニングとテストセットを作成しました(そのような場合にそれを行うのは正しいことですか?)、分類器はテストセットで精度の点で問題ありません。ここで、分類子の再現率/精度を制御したいので、たとえば、過半数のクラスオカレンスの多くに誤ってラベルを付けないようにします。 (私にとって)明らかな解決策は、現在使用されているのと同じロジスティック損失を使用することですが、調整可能ないくつかの定数で2つのケースのいずれかで損失を乗算することにより、タイプIとタイプIIのエラーに異なる重みを付けます。正しいですか? PS 2番目の考えでは、これは一部のトレーニングサンプルに他のサンプルよりも重みを付けることと同じです。1つのクラスを追加するだけで、同じことを実現できると思います。

1
Scikit二項偏差損失関数
これはscikit GradientBoostingの2項偏差偏差関数です。 def __call__(self, y, pred, sample_weight=None): """Compute the deviance (= 2 * negative log-likelihood). """ # logaddexp(0, v) == log(1.0 + exp(v)) pred = pred.ravel() if sample_weight is None: return -2.0 * np.mean((y * pred) - np.logaddexp(0.0, pred)) else: return (-2.0 / sample_weight.sum() * np.sum(sample_weight * ((y * pred) …

2
パーセンタイル損失関数
問題の解決策: minmE[|m−X|]minmE[|m−X|] \min_{m} \; E[|m-X|] Xの中央値として知られていますが、XXX他の百分位数の損失関数はどのように見えますか?例:Xの25パーセンタイルは、以下に対するソリューションです。 minmE[L(m,X)]minmE[L(m,X)] \min_{m} \; E[ L(m,X) ] この場合、LLLは何ですか?

3
MAPは解
これらのスライド(スライド#16および#17)は、オンラインコースの1つで見つけました。インストラクターは、最大事後推定値(MAP)が実際にどのようにソリューションであるかを説明しようとしました。ここで、は真のパラメータ。θ ∗L(θ)=I[θ≠θ∗]L(θ)=I[θ≠θ∗]L(\theta) = \mathcal{I}[\theta \ne \theta^{*}]θ∗θ∗\theta^{*} 誰かがこれがどのように続くか説明できますか? 編集:リンクが壊れた場合に備えて、スライドを追加しました。

1
seq2seq RNNモデルをスコアリングするには、どの損失関数を使用する必要がありますか?
私は、seq2seqモデリング用のエンコーダー/デコーダーアーキテクチャーを紹介したCho 2014の論文を研究しています。 この論文では、長さ入力と長さ出力の損失関数として、与えられた入力(または負の対数尤度)の確率を使用しているようです。xxxMMMyyyNNN P(y1,…,yN|x1,…,xM)=P(y1|x1,…,xm)P(y2|y1,x1,…,xm)…P(yN|y1,…,yN−1,x1,…,xm)P(y1,…,yN|x1,…,xM)=P(y1|x1,…,xm)P(y2|y1,x1,…,xm)…P(yN|y1,…,yN−1,x1,…,xm)P(y_1, …, y_N | x_1, …, x_M) = P(y_1 | x_1, …, x_m) P(y_2 | y_1, x_1, …, x_m) \dots P(y_N | y_1, …, y_N-1, x_1, …, x_m) ただし、これを損失関数として使用することにはいくつか問題があると思います。 トレーニング中に教師が強制することを想定しているようです(つまり、次の反復への入力として位置のデコーダーの推測を使用する代わりに、既知のトークンを使用します。 長いシーケンスにペナルティを課しません。確率は出力のからであるため、デコーダーがより長いシーケンスを生成した場合、最初の後のすべてが損失に影響しません。111NNNNNN モデルが初期の文字列の終わりトークンを予測する場合でも、損失関数はステップを要求します。つまり、モデルのトレーニングされていない「多様体」に基づいて出力を生成しています。それはだらしないようです。NNN これらの懸念のいずれかは有効ですか?もしそうなら、より高度な損失関数への進展はありましたか?

1
二乗バイアスと分散の加重和を最小化する推定量は、どのようにして決定理論に適合しますか?
わかりました-私の元のメッセージは応答を引き出すことができませんでした。では、別の質問をさせてください。まず、意思決定理論の観点から、私の推定の理解について説明します。私は正式なトレーニングを受けていませんし、私の考えに何らかの欠陥があるとしても、私は驚かないでしょう。 損失関数ます。予想される損失は、(頻繁な)リスクです。L(θ,θ^(x))L(θ,θ^(x))L(\theta,\hat\theta(x)) R(θ,θ^(x))=∫L(θ,θ^(x))L(θ,θ^(x))dx,R(θ,θ^(x))=∫L(θ,θ^(x))L(θ,θ^(x))dx,R(\theta,\hat\theta(x))=\int L(\theta,\hat\theta(x))\mathcal{L}(\theta,\hat\theta(x))dx, ここで、は尤度です。ベイズのリスクは予想される頻出主義のリスクです:L(θ,θ^(x))L(θ,θ^(x))\mathcal{L}(\theta,\hat\theta(x)) r(θ,θ^(x))=∫∫R(θ,θ^(x))π(θ)dxdθ,r(θ,θ^(x))=∫∫R(θ,θ^(x))π(θ)dxdθ,r(\theta,\hat\theta(x))=\int\int R(\theta,\hat\theta(x))\pi (\theta)dxd\theta, ここで、は以前のものです。π(θ)π(θ)\pi (\theta) 一般的に、を最小化するが見つかり、これはすべてうまくいきます。さらに、Fubiniの定理が適用され、を最小化する任意のが他のすべてから独立するように、統合の順序を逆にすることができます。このようにして、尤度の原則に違反することなく、ベイジアンであることなどについて気分を良くすることができます。θ^(x)θ^(x)\hat\theta(x)rrrθ^(x)θ^(x)\hat\theta(x)rrr たとえば、おなじみの二乗誤差損失、頻度リスクは平均二乗誤差または合計です二乗バイアスと分散およびベイズのリスクは、事前に与えられた二乗バイアスと分散の予想合計です。つまり、事後予測損失です。L(θ,θ^(x))=(θ−θ^(x))2,L(θ,θ^(x))=(θ−θ^(x))2,L(\theta,\hat\theta(x))=(\theta- \hat\theta(x))^2, これは今のところ私には理にかなっているようです(かなり間違っている可能性もあります)。しかし、いずれにせよ、他のいくつかの目的については、物事は私にはあまり意味がありません。たとえば、均等に重み付けされた二乗バイアスと分散の合計を最小化する代わりに、等しく重み付けされていない合計を最小化したいとします。つまり、以下を最小化するです。θ^(x)θ^(x)\hat\theta(x) (E[θ^(x)]−θ)2+kE[(θ^(x)−E[θ^(x)])2],(E[θ^(x)]−θ)2+kE[(θ^(x)−E[θ^(x)])2],(\mathbb{E}[\hat\theta(x)]-\theta)^2+k\mathbb{E}[(\hat\theta(x)-\mathbb{E}[\hat\theta(x)])^2], ここで、は正の実定数(1以外)です。kkk 私は通常、このような合計を「目的関数」と呼びますが、その用語を誤って使用している可能性もあります。私の質問は、解決策を見つける方法についてではありません- この目的関数を最小化するを見つけることは数値的に実行可能です-むしろ、私の質問は2つあります:θ^(x)θ^(x)\hat\theta(x) そのような目的関数は、決定理論のパラダイムに適合しますか?そうでない場合、それが適合する別のフレームワークはありますか?はいの場合、どのようにですか?の関数であろう関連する損失関数のように思える、、およびので期待の- -である(これ私は思う)適切ではない。θθ\thetaθ^(x)θ^(x)\hat\theta(x)E[θ^(x)]E[θ^(x)]\mathbb{E}[\hat\theta(x)] このような目的関数は、任意の推定が他のすべての推定に依存するため(仮説であっても、尤度原理に違反します。それにもかかわらず、バイアスの減少とエラー分散の増加のトレードオフが望ましい場合があります。そのような目標が与えられた場合、可能性の原則に準拠するように問題を概念化する方法はありますか?θ^(xj)θ^(xj)\hat\theta(x_{j})θ^(xi≠j)θ^(xi≠j)\hat\theta(x_{i\neq j}) 私は、意思決定理論/推定/最適化に関するいくつかの基本的な概念を理解できなかったと想定しています。答えをお寄せいただき、ありがとうございます。この分野や数学のトレーニングは一般的に受けていないため、何も知らないと想定してください。さらに、(初心者の読者のために)提案された参考文献を歓迎します。

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