最小二乗(モデル当てはめ)アルゴリズム
最小二乗の定義
一般的に最小二乗は二乗和の関数を極小にするベクトルxを見ける問題です。場合によってはいくます。
A·x≤b, Aeq·x = beq, lb≤x≤ubが条件になります。
いくつかの优化工具箱™のソルバーは,さまざまなタイプのF (x)と制約に利用できます。
ソルバ
F (x)
制約
mldivide
C·x - d
なし
lsqnonneg
C·x - d
X≥0
lsqlin
C·x - d
範囲、線形
lsqnonlin
一般F(x)
範囲
lsqcurvefit
F(x, xdata) - ydata
範囲
mldivide
で使用されるアルゴリズムに加えて,优化工具箱のソルバーには5つの最小二乗法アルゴリズムがあります。
lsqlin有効制約法を除くすべてのアルゴリズムは大規模です。大規模アルゴリズムと中規模アルゴリズムを参照してください。非線形最小二乗法の一般的な調査結果にいては,丹尼斯[8]を参照してください。レ,ベンバ,グ·マルカ,ト法の詳細に,いては,Moré[28]を参照してください。
線形最小二乗法:内点法または有効制約法
lsqlin“内点”アルゴリズムは内点凸四进アルゴリズムを使用し,lsqlin“激活集”アルゴリズムはアクティブセットquadprogアルゴリズムを使用します。quadprogの問題の定義は,次の二次関数を最小化することです。
ここで線形制約と範囲制約が条件になります。関数lsqlinは,線形制約と範囲制約に従いながら,ベクトルCx - dの2乗ノルムを最小化します。言い換えれば,lsqlinは次を最小化します。
これは行列hを2c .<年代up>TC, Cベクトルを<年代pan class="inlineequation">(2 c<年代up>Td)に設定すると,quadprogフレ,ムワ,クに適合します(加法項d .<年代up>TDは,最小値の位置に影響しません)。lsqlin問題をこのように定式化した後,quadprogは解を計算します。
メモ
quadprog“interior-point-convex”アルゴリズムには2のコドパスがあります。一方はヘッセ行列Hが通常(フル)の双行列の場合に使用され,もう一方はHがスパース行列の場合に使用されます。スパスデタ型の詳細にいては,スパ,ス行列を参照してください。一般に,hを稀疏的として指定すると,アルゴリズムは,比較的非ゼロの項が少ない大規模な問題の場合により高速になります。同様に,hを完整的として指定すると,アルゴリズムは,小規模または比較的密な問題の場合により高速になります。
信頼領域反思法の最小二乗
信頼領域反思法の最小二乗アルゴリズム
优化工具箱のソルバ,で使用される多くのメソッドは,<年代pan class="emphasis">“信頼領域法”を基にしています。信頼領域法はシンプルなものですが最適化では重要な概念です。
最適化の信頼領域法のアプロ,チを理解するために制約なし最小化問題を考え,f(x)を最小化します。ここで関数はベクトル引数を取り,スカラ,を出力します。n空間の点 x を想定し、より小さい関数値へ移動して最小化を行う場合を考えてみましょう。基本的な概念は、シンプルな関数 q で f を近似することです。この関数は、点 x の近傍 N で関数 f の挙動をよく表すものです。この近傍が信頼領域です。テスト ステップ s が N における最小化 (または近似最小化) によって計算されます。信頼領域の部分問題を次に示します。
(1)
F (x + s) < F (x)の場合,現在の点がx + sに更新されます。そうでない場合は現在の点は変更されず,信頼領域Nは縮小され,テストステップの計算が繰り返されます。
f (x)を最小化するための信頼領域を決める上で重要な問題は,近似问(現在の点xで定義)の選択および計算方法,信頼領域Nの選択および変更方法,信頼領域の部分問題を解く精度です。この節では制約なしの問題に焦点をあてます。変数上に制約があるために複雑度が増す問題にいては,後節で取り扱います。
標準的な信頼領域法([48])では二次近似qは,xにおけるFのテラ近似のはじめの2項によって決められます。近傍nは球形または楕円体です。数学的に,信頼領域の部分問題は,次のように表現できます。
(2)
大規模な非線形最小二乗法
F (x)の重要で特別なケ,スは,非線形最小二乗問題です。
(5)
ここでF(x)はF<年代乌兰巴托>我(x)に等しいF(x)の要素iを使ったベクトル値関数です。この問題を解くために使われる基本的な方法は非線形最小化に対する信頼領域法に記述されている一般的な場合と同じです。しかし,非線形最小二乗問題の構造は,効率性を強調したものです。特に,近似的なガウス·ニュトンの方向,すなわ以下の解は
(6)
2次元部分空間Sを定義するのに使います(ここで,JはF(x)のヤコビアンです)。要素関数f<年代乌兰巴托>我(x)の2次導関数は使われません。
各反復で前処理付き共役勾配法は次の正規方程式を近似的に解くために使われます。
ここで,正規方程式は,明示的な形をしていません。
大規模な線形最小二乗法
この場合,解く関数f(x)は以下になります。
場合によっては線形制約に従います。アルゴリズムは、ある範囲内で局所的な解に収束する厳密に実行可能な反復を行います。各反復は大規模線形システム (n次元: n は x の長さ) の近似解を含みます。反復行列は行列 C の構造をもっています。特に前処理付き共役勾配法は、正規方程式 を、近似的に解くために使われます。
ここで,正規方程式は,明示的な形をしていません。
部分空間の信頼領域法が探索方向を決定するのに使われます。ただし,ステップを非線形最小化の場合と同じく(場合によっては)1つの反射ステップに制限する代わりに,区分的な反光直線探索が二次型の場合と同じく各反復で行われます。直線探索の詳細は[45]を参照してください。一般に,線形システムは,解の点で1次の最適性条件をもニュトンアプロチを表しています。すなわ,非常に強い局所的な収束率をもことになります。
ヤコビ乗算関数。lsqlin
は,行列Cを陽的に使用せずに線形制約付き最小二乗問題を解くことができますが,代わりにユーザーが与えたヤコビ乗算関数jmfun
W = jmfun(Jinfo,Y,flag)
を使用します。この関数は行列yに対して以下の乗算を計算しなければなりません。
标志== 0の場合,W = c '*(c * y)です。
标志> 0の場合,W = c * yです。
标志< 0の場合,W = c '* yです。
これはcが大規模な場合は有用ですが,cを陽的に作成せずにjmfunを記述できるような構造が必要になります。例にいては,線形最小二乗付きヤコビ乗算関数を参照してください。
レ,ベンバ,グ·マルカ,ト法
最小二乗問題は,二乗和である関数f(x)を最小化します。
(7)
この種の問題は,特に,非線形パラメーター推定のようにモデル関数をデータに当てはめる実用的応用でよく見られます。このような問題は,目的が出力y (x, t)をベクトルxとスカラーtの連続モデル軌跡φ(t)に乗せる制御システムでも見られます。この問題は,次のように表現されます。
(8)
参考
quadprog
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqlin
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqcurvefit
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqnonlin
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqnonneg
関連するトピック
最小二乗の定義
一般的に最小二乗は二乗和の関数を極小にするベクトルxを見ける問題です。場合によってはいくます。
A·x≤b, Aeq·x = beq, lb≤x≤ubが条件になります。
いくつかの优化工具箱™のソルバーは,さまざまなタイプのF (x)と制約に利用できます。
ソルバ
F (x)
制約
mldivide
C·x - d
なし
lsqnonneg
C·x - d
X≥0
lsqlin
C·x - d
範囲、線形
lsqnonlin
一般F(x)
範囲
lsqcurvefit
F(x, xdata) - ydata
範囲
mldivide
で使用されるアルゴリズムに加えて,优化工具箱のソルバーには5つの最小二乗法アルゴリズムがあります。
lsqlin有効制約法を除くすべてのアルゴリズムは大規模です。大規模アルゴリズムと中規模アルゴリズムを参照してください。非線形最小二乗法の一般的な調査結果にいては,丹尼斯[8]を参照してください。レ,ベンバ,グ·マルカ,ト法の詳細に,いては,Moré[28]を参照してください。
一般的に最小二乗は二乗和の関数を極小にするベクトルxを見ける問題です。場合によってはいくます。
A·x≤b, Aeq·x = beq, lb≤x≤ub いくつかの优化工具箱™のソルバーは,さまざまなタイプのF (x)と制約に利用できます。
ソルバ F (x) 制約
mldivide
C·x - d
なし
lsqnonneg
C·x - d
X≥0
lsqlin
C·x - d
範囲、線形
lsqnonlin
一般F(x) 範囲
lsqcurvefit
F(x, xdata) - ydata 範囲 mldivide
で使用されるアルゴリズムに加えて,优化工具箱のソルバーには5つの最小二乗法アルゴリズムがあります。lsqlin
線形最小二乗法:内点法または有効制約法
lsqlin“内点”アルゴリズムは内点凸四进アルゴリズムを使用し,lsqlin“激活集”アルゴリズムはアクティブセットquadprogアルゴリズムを使用します。quadprogの問題の定義は,次の二次関数を最小化することです。
ここで線形制約と範囲制約が条件になります。関数lsqlinは,線形制約と範囲制約に従いながら,ベクトルCx - dの2乗ノルムを最小化します。言い換えれば,lsqlinは次を最小化します。
これは行列hを2c .<年代up>TC, Cベクトルを<年代pan class="inlineequation">(2 c<年代up>Td)に設定すると,quadprogフレ,ムワ,クに適合します(加法項d .<年代up>TDは,最小値の位置に影響しません)。lsqlin問題をこのように定式化した後,quadprogは解を計算します。
メモ
quadprog“interior-point-convex”アルゴリズムには2のコドパスがあります。一方はヘッセ行列Hが通常(フル)の双行列の場合に使用され,もう一方はHがスパース行列の場合に使用されます。スパスデタ型の詳細にいては,スパ,ス行列を参照してください。一般に,hを稀疏的として指定すると,アルゴリズムは,比較的非ゼロの項が少ない大規模な問題の場合により高速になります。同様に,hを完整的として指定すると,アルゴリズムは,小規模または比較的密な問題の場合により高速になります。
ここで線形制約と範囲制約が条件になります。関数
これは行列hを2c .<年代up>T メモlsqlin
“内点”
“激活集”
quadprog
“interior-point-convex”
稀疏的
完整的
信頼領域反思法の最小二乗
信頼領域反思法の最小二乗アルゴリズム
优化工具箱のソルバ,で使用される多くのメソッドは,<年代pan class="emphasis">“信頼領域法”を基にしています。信頼領域法はシンプルなものですが最適化では重要な概念です。
最適化の信頼領域法のアプロ,チを理解するために制約なし最小化問題を考え,f(x)を最小化します。ここで関数はベクトル引数を取り,スカラ,を出力します。n空間の点 x を想定し、より小さい関数値へ移動して最小化を行う場合を考えてみましょう。基本的な概念は、シンプルな関数 q で f を近似することです。この関数は、点 x の近傍 N で関数 f の挙動をよく表すものです。この近傍が信頼領域です。テスト ステップ s が N における最小化 (または近似最小化) によって計算されます。信頼領域の部分問題を次に示します。
(1)
F (x + s) < F (x)の場合,現在の点がx + sに更新されます。そうでない場合は現在の点は変更されず,信頼領域Nは縮小され,テストステップの計算が繰り返されます。
f (x)を最小化するための信頼領域を決める上で重要な問題は,近似问(現在の点xで定義)の選択および計算方法,信頼領域Nの選択および変更方法,信頼領域の部分問題を解く精度です。この節では制約なしの問題に焦点をあてます。変数上に制約があるために複雑度が増す問題にいては,後節で取り扱います。
標準的な信頼領域法([48])では二次近似qは,xにおけるFのテラ近似のはじめの2項によって決められます。近傍nは球形または楕円体です。数学的に,信頼領域の部分問題は,次のように表現できます。
(2)
大規模な非線形最小二乗法
F (x)の重要で特別なケ,スは,非線形最小二乗問題です。
(5)
ここでF(x)はF<年代乌兰巴托>我(x)に等しいF(x)の要素iを使ったベクトル値関数です。この問題を解くために使われる基本的な方法は非線形最小化に対する信頼領域法に記述されている一般的な場合と同じです。しかし,非線形最小二乗問題の構造は,効率性を強調したものです。特に,近似的なガウス·ニュトンの方向,すなわ以下の解は
(6)
2次元部分空間Sを定義するのに使います(ここで,JはF(x)のヤコビアンです)。要素関数f<年代乌兰巴托>我(x)の2次導関数は使われません。
各反復で前処理付き共役勾配法は次の正規方程式を近似的に解くために使われます。
ここで,正規方程式は,明示的な形をしていません。
大規模な線形最小二乗法
この場合,解く関数f(x)は以下になります。
場合によっては線形制約に従います。アルゴリズムは、ある範囲内で局所的な解に収束する厳密に実行可能な反復を行います。各反復は大規模線形システム (n次元: n は x の長さ) の近似解を含みます。反復行列は行列 C の構造をもっています。特に前処理付き共役勾配法は、正規方程式 を、近似的に解くために使われます。
ここで,正規方程式は,明示的な形をしていません。
部分空間の信頼領域法が探索方向を決定するのに使われます。ただし,ステップを非線形最小化の場合と同じく(場合によっては)1つの反射ステップに制限する代わりに,区分的な反光直線探索が二次型の場合と同じく各反復で行われます。直線探索の詳細は[45]を参照してください。一般に,線形システムは,解の点で1次の最適性条件をもニュトンアプロチを表しています。すなわ,非常に強い局所的な収束率をもことになります。
ヤコビ乗算関数。lsqlin
は,行列Cを陽的に使用せずに線形制約付き最小二乗問題を解くことができますが,代わりにユーザーが与えたヤコビ乗算関数jmfun
W = jmfun(Jinfo,Y,flag)
を使用します。この関数は行列yに対して以下の乗算を計算しなければなりません。
标志== 0の場合,W = c '*(c * y)です。
标志> 0の場合,W = c * yです。
标志< 0の場合,W = c '* yです。
これはcが大規模な場合は有用ですが,cを陽的に作成せずにjmfunを記述できるような構造が必要になります。例にいては,線形最小二乗付きヤコビ乗算関数を参照してください。
信頼領域反思法の最小二乗アルゴリズム
优化工具箱のソルバ,で使用される多くのメソッドは,<年代pan class="emphasis">“信頼領域法”を基にしています。信頼領域法はシンプルなものですが最適化では重要な概念です。
最適化の信頼領域法のアプロ,チを理解するために制約なし最小化問題を考え,f(x)を最小化します。ここで関数はベクトル引数を取り,スカラ,を出力します。n空間の点 x を想定し、より小さい関数値へ移動して最小化を行う場合を考えてみましょう。基本的な概念は、シンプルな関数 q で f を近似することです。この関数は、点 x の近傍 N で関数 f の挙動をよく表すものです。この近傍が信頼領域です。テスト ステップ s が N における最小化 (または近似最小化) によって計算されます。信頼領域の部分問題を次に示します。
(1)
F (x + s) < F (x)の場合,現在の点がx + sに更新されます。そうでない場合は現在の点は変更されず,信頼領域Nは縮小され,テストステップの計算が繰り返されます。
f (x)を最小化するための信頼領域を決める上で重要な問題は,近似问(現在の点xで定義)の選択および計算方法,信頼領域Nの選択および変更方法,信頼領域の部分問題を解く精度です。この節では制約なしの問題に焦点をあてます。変数上に制約があるために複雑度が増す問題にいては,後節で取り扱います。
標準的な信頼領域法([48])では二次近似qは,xにおけるFのテラ近似のはじめの2項によって決められます。近傍nは球形または楕円体です。数学的に,信頼領域の部分問題は,次のように表現できます。
(2)
优化工具箱のソルバ,で使用される多くのメソッドは,<年代pan class="emphasis">“信頼領域法”を基にしています。信頼領域法はシンプルなものですが最適化では重要な概念です。 最適化の信頼領域法のアプロ,チを理解するために制約なし最小化問題を考え,f(x)を最小化します。ここで関数はベクトル引数を取り,スカラ,を出力します。n空間の点 x を想定し、より小さい関数値へ移動して最小化を行う場合を考えてみましょう。基本的な概念は、シンプルな関数 q で f を近似することです。この関数は、点 x の近傍 N で関数 f の挙動をよく表すものです。この近傍が信頼領域です。テスト ステップ s が N における最小化 (または近似最小化) によって計算されます。信頼領域の部分問題を次に示します。 F (x + s) < F (x) f (x)を最小化するための信頼領域を決める上で重要な問題は,近似问(現在の点xで定義)の選択および計算方法,信頼領域Nの選択および変更方法,信頼領域の部分問題を解く精度です。この節では制約なしの問題に焦点をあてます。変数上に制約があるために複雑度が増す問題にいては,後節で取り扱います。 標準的な信頼領域法(
(1)
(2)
大規模な非線形最小二乗法
F (x)の重要で特別なケ,スは,非線形最小二乗問題です。
(5)
ここでF(x)はF<年代乌兰巴托>我(x)に等しいF(x)の要素iを使ったベクトル値関数です。この問題を解くために使われる基本的な方法は非線形最小化に対する信頼領域法に記述されている一般的な場合と同じです。しかし,非線形最小二乗問題の構造は,効率性を強調したものです。特に,近似的なガウス·ニュトンの方向,すなわ以下の解は
(6)
2次元部分空間Sを定義するのに使います(ここで,JはF(x)のヤコビアンです)。要素関数f<年代乌兰巴托>我(x)の2次導関数は使われません。
各反復で前処理付き共役勾配法は次の正規方程式を近似的に解くために使われます。
ここで,正規方程式は,明示的な形をしていません。
F (x)の重要で特別なケ,スは,非線形最小二乗問題です。 ここでF(x)はF<年代乌兰巴托>我 2次元部分空間Sを定義するのに使います(ここで,JはF(x)のヤコビアンです)。要素関数f<年代乌兰巴托>我 各反復で前処理付き共役勾配法は次の正規方程式を近似的に解くために使われます。
ここで,正規方程式は,明示的な形をしていません。
(5)
(6)
大規模な線形最小二乗法
この場合,解く関数f(x)は以下になります。
場合によっては線形制約に従います。アルゴリズムは、ある範囲内で局所的な解に収束する厳密に実行可能な反復を行います。各反復は大規模線形システム (n次元: n は x の長さ) の近似解を含みます。反復行列は行列 C の構造をもっています。特に前処理付き共役勾配法は、正規方程式 を、近似的に解くために使われます。
ここで,正規方程式は,明示的な形をしていません。
部分空間の信頼領域法が探索方向を決定するのに使われます。ただし,ステップを非線形最小化の場合と同じく(場合によっては)1つの反射ステップに制限する代わりに,区分的な反光直線探索が二次型の場合と同じく各反復で行われます。直線探索の詳細は[45]を参照してください。一般に,線形システムは,解の点で1次の最適性条件をもニュトンアプロチを表しています。すなわ,非常に強い局所的な収束率をもことになります。
ヤコビ乗算関数。lsqlin
は,行列Cを陽的に使用せずに線形制約付き最小二乗問題を解くことができますが,代わりにユーザーが与えたヤコビ乗算関数jmfun
W = jmfun(Jinfo,Y,flag)
を使用します。この関数は行列yに対して以下の乗算を計算しなければなりません。
标志== 0の場合,W = c '*(c * y)です。
标志> 0の場合,W = c * yです。
标志< 0の場合,W = c '* yです。
これはcが大規模な場合は有用ですが,cを陽的に作成せずにjmfunを記述できるような構造が必要になります。例にいては,線形最小二乗付きヤコビ乗算関数を参照してください。
この場合,解く関数f(x)は以下になります。
場合によっては線形制約に従います。アルゴリズムは、ある範囲内で局所的な解に収束する厳密に実行可能な反復を行います。各反復は大規模線形システム (n次元: n は x の長さ) の近似解を含みます。反復行列は行列 C の構造をもっています。特に前処理付き共役勾配法は、正規方程式 を、近似的に解くために使われます。
ここで,正規方程式は,明示的な形をしていません。 部分空間の信頼領域法が探索方向を決定するのに使われます。ただし,ステップを非線形最小化の場合と同じく(場合によっては)1つの反射ステップに制限する代わりに,区分的な反光直線探索が二次型の場合と同じく各反復で行われます。直線探索の詳細は ヤコビ乗算関数。 を使用します。この関数は行列yに対して以下の乗算を計算しなければなりません。 これはcが大規模な場合は有用ですが,cを陽的に作成せずにlsqlin
は,行列Cを陽的に使用せずに線形制約付き最小二乗問題を解くことができますが,代わりにユーザーが与えたヤコビ乗算関数W = jmfun(Jinfo,Y,flag)
标志== 0
标志> 0
标志< 0
レ,ベンバ,グ·マルカ,ト法
最小二乗問題は,二乗和である関数f(x)を最小化します。
(7)
この種の問題は,特に,非線形パラメーター推定のようにモデル関数をデータに当てはめる実用的応用でよく見られます。このような問題は,目的が出力y (x, t)をベクトルxとスカラーtの連続モデル軌跡φ(t)に乗せる制御システムでも見られます。この問題は,次のように表現されます。
(8)
最小二乗問題は,二乗和である関数f(x)を最小化します。 この種の問題は,特に,非線形パラメーター推定のようにモデル関数をデータに当てはめる実用的応用でよく見られます。このような問題は,目的が出力y (x, t)をベクトルxとスカラーtの連続モデル軌跡φ(t)に乗せる制御システムでも見られます。この問題は,次のように表現されます。
(7)
(8)
参考
quadprog
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqlin
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqcurvefit
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqnonlin
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqnonneg
関連するトピック
quadprog
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqlin
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqcurvefit
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqnonlin
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqnonneg