18

rcond()ゼロに近い条件の悪い行列があるため、その行列の逆行列は正しくありません。使用してみpinv()ましたが、問題は解決しません。これは私が逆を取っている方法です:

X = (A)\(b);

この問題の解決策を探したところ、マトリックスを改善するためのこのリンク(最後の解決策) が見つかりました。そこでの解決策は、これを使用することを提案しています:

A_new = A_old + c*eye(size(A_old));

どこでc > 0。これまでのところ、この手法を使用すると、マトリックスAがより適切に調整され、結果として得られるソリューションの見栄えが良くなります。ただし、さまざまな の値を使用して調査しcた結果、結果の解は選択した の値に依存しますc

の値を手動で調査する以外に、最適な解を得るためcの の値を自動的に見つける方法はありますか?c

4

3 に答える 3

8

の対角線に小さな値を追加することは、最小二乗問題でAL2 ノルム正則化Ax=b項を導入することとほぼ同じです。これは、残差と追加された制約を最小化しようとするものです。

min ||Ax-b||^2 + lambda*||x||^2

ここでlamdba、制約の最小化と残差ノルムの最小化に与えられる重みを制御します。

通常、このパラメーターは、ある種の相互検証手法を使用して選択されます。

于 2013-09-12T13:52:40.443 に答える