現在、回帰の最小二乗(および他の)推定について学習しています。また、いくつかの適応アルゴリズムの文献でも読んでいるところから、「... and error surface isconvex ...」というフレーズが表示され、そもそも凸である理由についての深さはどこにも見当たりません。
...だから、それを正確に凸状にするのは何ですか?
私は自分のコスト関数で自分の適応アルゴリズムを設計できるようにしたいので、この繰り返しの省略はやや面倒ですが、コスト関数が凸誤差曲面を生成するかどうかわからない場合、私はすることができませんグローバルな最小値はないので、勾配降下のようなものを適用するのは遠すぎます。たぶん私は創造的になりたい-たぶん、私はエラー基準として最小二乗を使いたくないでしょう
さらに掘り下げてみると(そして私の質問はここから始まります)、凸状のエラーサーフェスがあるかどうかを判断するには、ヘッセ行列が正の半正定行列であることを確認する必要があります。対称行列の場合、このテストは簡単です-ヘッセ行列のすべての固有値が非負であることを確認してください。(行列が対称でない場合、Gramianにより、行列を独自の転置に追加して同じ固有値検定を実行することで対称にすることができますが、ここでは重要ではありません)。
ヘッセ行列とは何ですか?ヘッセ行列は、コスト関数の部分の可能なすべての組み合わせを成文化します。パーシャルはいくつありますか?フィーチャベクトル内のフィーチャの数。パーシャルの計算方法は?元のコスト関数から「手動」で偏導関数を取得します。
それがまさに私がやったことです:マトリックスXで示される x データマトリックスがあると仮定します。ここで、mは例の数を示し、nは例ごとの特徴の数を示します。(これはパーシャルの数にもなります)。私は、我々が持っていると言うことができると仮定メートルの時間サンプルおよびnは、センサからの空間サンプルを、物理的なアプリケーションは、ここではあまり重要ではありません。
さらに、サイズm x 1のベクトルもあります。(これは「ラベル」ベクトル、またはXのすべての行に対応する「答え」です)。簡単にするために、この特定の例ではm = n = 2と仮定しました。したがって、2つの「例」と2つの「機能」です。
ここで、ここで最適な「ライン」または多項式を確認したいとします。つまり、コスト関数が次のようになるように、多項式係数ベクトルに対して入力データフィーチャを投影します。
今、私たちが最初の偏微分WRTみましょうしたがって、(機能0):
次に、すべての2番目の部分音を計算します。
ヘッセ行列は次のものにすぎないことがわかります。
Now, based on how I have constructed the data matrix , (my 'features' go by columns, and my examples go by rows), the Hessian appears to be:
...which is nothing but the sample covariance matrix!
So I am not quite sure how to interpret - or I should say, I am not quite sure how generalizing I should be here. But I think I can say that:
Always true:
- The Hessian matrix always controls whether or not your error/cost surface is convex.
- If you Hessian matrix is pos-semi-def, you are convex, (and can happily use algorithms like gradient descent to converge to the optimal solution).
True for LSE only:
- The Hessian matrix for the LSE cost criterion is nothing but the original covariance matrix. (!).
- To me this means that, if I use LSE criterion, the data itself determines whether or not I have a convex surface? ... Which would then mean that the eigenvectors of my covariance matrix somehow have the capability to 'shape' the cost surface? Is this always true? Or did it just work out for the LSE criteria? It just doesnt sit right with me that the convexity of an error surface should be dependent on the data.
So putting it back in the context of the original question, how does one determine whether or not an error surfance (based on some cost function you select) is convex or not? Is this determination based on the data, or the Hessian?
Thanks
TLDR: How, exactly, and practically do I go about determining whether my cost-function and/or data-set yield a convex or non-convex error surface?